已知单片机的时钟频率fosc=12MHz,当要求定时时间为50ms和25ms时,试编写定时⼀计数器的初始化程序。

2025-03-11 15:01:01
推荐回答(1个)
回答1:

void main(void)
{ TMOD=0x11; //初始化定时器,仅由TR0,TR1置位分别启动定时器T0、T1,16位计数器
TL1=(65536-50000)%256;//50000为50ms,20000为20ms,12M晶振,定时周期为1机器周期(即 1MHz),为1us;
TH1=(65536-50000)/256;
EA=1; //开中断
ET0=1;
ET1=1;
TR1=1;
while(1) //进入主循环
{
; }}
/*******时钟计时中断*******/
void dingshi() interrupt 3 using 1
{TL1=(65536-50000)%256;
TH1=(65536-50000)/256;
}