51_LanQiaoBei/模板/蓝桥杯全模块测试例程/串口模块/Driver/Uart.c

20 lines
534 B
C
Raw Permalink Normal View History

2025-04-13 01:02:19 +08:00
#include "Uart.h"
void Uart1_Init(void) // 9600bps@12MHz
{
SCON = 0x50; // 8λ<38><CEBB><EFBFBD><EFBFBD>,<2C>ɱ䲨<C9B1><E4B2A8><EFBFBD><EFBFBD>
AUXR |= 0x01; // <20><><EFBFBD><EFBFBD>1ѡ<31><D1A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><32><CEAA><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD>
AUXR |= 0x04; // <20><>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1>1Tģʽ
T2L = 0xC7; // <20><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1>ʼֵ
T2H = 0xFE; // <20><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1>ʼֵ
AUXR |= 0x10; // <20><>ʱ<EFBFBD><CAB1>2<EFBFBD><32>ʼ<EFBFBD><CABC>ʱ
ES = 1; // <20>򿪴<EFBFBD><F2BFAAB4><EFBFBD><EFBFBD>ж<EFBFBD>
EA = 1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
}
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;
}