0
点赞
收藏
分享

微信扫一扫

C语言版数据结构习题答案

吴wuwu 2022-03-16 阅读 85

http://www.jh-tec.cn/archives/7818
以下是定时器初始化子程序

/*------------------------------------------------
                    定时器初始化子程序
------------------------------------------------*/
void Timer0_Init(void)
{
    TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
    TH0 = (65536 - 18432) / 256; //重新赋值 20ms
    TL0 = (65536 - 18432) % 256;
    EA = 1;  //总中断打开
    ET0 = 1; //定时器中断打开
    TR0 = 1; //定时器开关打开
}
/*------------------------------------------------
                定时器中断子程序
------------------------------------------------*/
void Timer0_Interrupt(void) interrupt 1
{
    static unsigned char time20ms  = 0;
    TH0 = (65536 - 18432) / 256; //重新赋值 20ms
    TL0 = (65536 - 18432) % 256;
    time20ms++;

    if (time20ms > 50)
    {
        time20ms = 0;
        readTempFlag = 1; //读标志位置1
    }

    if (time20ms % 25 == 0)
    {
        dispFlag = 1;
    }
}

void UART_Init(void)
{
//    SCON = 0x50;  // SCON: 模式 1, 8-bit UART, 使能接收
//    TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装
//    TH1 = 0xFD;   // TH1:  重装值 9600 波特率 晶振 11.0592MHz
//    TL1 = TH1;
//    TR1 = 1; // TR1:  timer 1 打开
//    EA = 1;  //打开总中断
//    ES = 1;  //打开串口中断
    SCON = 0x50;
	TH2 = 0xFF;
	TL2 = 0xFD;
	RCAP2H = 0xFF;  //(65536-(FOSC/32/BAUD))   BAUD = 115200 FOSC = 11059200
	RCAP2L = 0xFD;

	/*****************/
	TCLK = 1;
	RCLK = 1;
	C_T2 = 0;
	EXEN2 = 0;

	/*****************/
	TR2 = 1;
	ES   = 1; //打开串口中断
	EA   = 1; //打开总中断
}

举报

相关推荐

0 条评论