27,374
社区成员
发帖
与我相关
我的任务
分享
TMOD &= 0x0f;//选择T1工作模式
TMOD |= 0x20;
SCON = 0x50;
PCON |= 0x80; CKCON |= 0x10;TH1 = 256 - SYSCLK / UART0BAUDTATE / 16;TR1 = 1;
TI = 1;
//配置系统时钟
void SysClkInit(void)
{
int n = 0;
OSCXCN = 0x67;
for (n = 0; n < 255; n++) ;
while ( (OSCXCN & 0x80) == 0 );
// OSCICN &= ~0xFF;
OSCICN = 0x0C;
}
//系统配置
void SystemInit(void)
{
WDTCN = 0xDE; // 关闭 WDT
WDTCN = 0xAD;
}
//端口配置
void PortInit(void)
{
//交叉开关配置
XBR0 = 0x04;
XBR1 = 0x00;
XBR2 = 0x40;
// P0 口分配状况
// P0.0 = UART0 TX
// P0.1 = UART0 RX
PRT0CF = 0xE0;//P0.2-3-4按键输入
PRT1CF = 0x00;
PRT2CF = 0xFF;//P2.6按键输出
PRT3CF = 0xFF;//P3.6\P3.7按键输出
P0=0x1F;
P1=0;
P2=0;
P3=0;
}
void UartInit(void)//UART初始化
{
TMOD &= 0x0f;//选择T1工作模式
TMOD |= 0x20;
SCON = 0x50;
//PCON |= 0x80; // SMOD = 1
TH1 = 256 - SYSCLK / UART0BAUDTATE / 32 / 12;
TR1 = 1;
TI = 1;
}