|
做一個(gè)51單片機(jī)設(shè)計(jì)需要同時(shí)用到定時(shí)器0和串口通信,串口通信要用到定時(shí)器1,所以在初始化時(shí)定時(shí)器0和定時(shí)器1賦值起了沖突,后初始化的有效,前者就不起作用了。請(qǐng)問有什么好的解決辦法嗎?
void TIM0init(void)//定時(shí)器0初始化
{
TMOD=0x02;//定時(shí)器0工作方式2,TH0是重裝值,TL0是初值
TH0=0x00; //重載值
TL0=0x00; //初始化值
ET0=1; //開中斷
TR0=1;
}
void UART_Init()//串口初始化/定時(shí)器1初始化
{
SCON= 0x50; //串口方式1 //REN=1; 允許接收
PCON=0x00; //SMOD=0
TMOD= 0x21; //定時(shí)器1定時(shí)方式2
TH1= 0xFD; //11.0592MHz 波特率為9600bps
TL1= 0xFD;
TR1= 1; //啟動(dòng)定時(shí)器
}
void EX0init(void)//中斷初始化
{
IT0 = 1; //指定外部中斷0下降沿觸發(fā),INT0 (P3.2)
EX0 = 1; //使能外部中斷
EA = 1; //開總中斷
}
|
|