51_LanQiaoBei/题目/真题/10 第十届国赛_左岚/第十届国赛/Driver/Uart.c

21 lines
582 B
C
Raw Permalink Normal View History

2025-04-13 01:02:19 +08:00
#include "Uart.h"
void Uart1_Init(void) // 4800bps@12.000MHz
{
SCON = 0x50; // 8λ<38><CEBB><EFBFBD><EFBFBD>,<2C>ɱ䲨<C9B1><E4B2A8><EFBFBD><EFBFBD>
AUXR &= 0xBF; // <20><>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1>12Tģʽ
AUXR &= 0xFE; // <20><><EFBFBD><EFBFBD>1ѡ<31><D1A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><31><CEAA><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD>
TMOD &= 0x0F; // <20><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1>ģʽ
TL1 = 0xCC; // <20><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1>ʼֵ
TH1 = 0xFF; // <20><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1>ʼֵ
ET1 = 0; // <20><>ֹ<EFBFBD><D6B9>ʱ<EFBFBD><CAB1><EFBFBD>ж<EFBFBD>
TR1 = 1; // <20><>ʱ<EFBFBD><CAB1>1<EFBFBD><31>ʼ<EFBFBD><CABC>ʱ
ES = 1; // ʹ<>ܴ<EFBFBD><DCB4><EFBFBD>1<EFBFBD>ж<EFBFBD>
EA = 1;
}
extern char putchar(char ch) {
SBUF = ch; // <20><>chд<68><D0B4>SBUF<55><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
while (TI == 0); // <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TI = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־
return ch;
}