2.3.2定时器中断程序设计 (课件)-《单片机应用技术》同步教学(中国科学技术出版社)

2024-08-15
| 16页
| 90人阅读
| 8人下载
普通

内容正文:

定时器中断程序设计 更多模板请关注:https://haosc.taobao.com CONTENTS 目录 01 02 定时器的初始化 定时器中断程序设计 道艺兼修 敬业乐群 定时器的初始化 01 定时器的初始化一般包括以下四步: 1、对TMOD赋值,确定T0和T1的工作方式 2、计算初值,并将其写入TH.x和TL.x 3、使用中断方式时对IE寄存器赋值开发中断 4、使TR0或TR1置位,启动定时/计数器 3 定时器的初始化 01 1、确定T0和T1的工作方式 对TMOD中的M1和M0位赋值,可以选择T0和T1的工作方式 。 如:当TMOD=0x21时 则:T0工作在方式1 T1工作在方式2 4 定时器的初始化 01 2、计算初值 不同工作方式,初值计算稍有差别,以方式1为例。 设定时时间为t,机器周期为Tcy,则初值为: 5 定时器的初始化 01 如,当晶振为12MHz时,机器周期为1us,若T0工作在方式1,定时50ms的初始值为: TH0=0x3C; TL0=0xB0; 6 定时器的初始化 01 3、中断设置 如果定时器采用中断方式工作,则需要设置中断。 ET0=1; EA=1; 如:若需要定时器0工作在中断方式,则: 7 定时器的初始化 01 4、启动定时器 使TR0或TR1置位,即可启动定时器T0或T1。 TR0=1; 如:若要启动定时器T0,则: 8 定时器的初始化 01 如:设置定时器0工作在方式1,定时时间为50ms,工作在中断方式,则初始化如下。 TMOD=0x01 TH0=0x3C; TL0=0xB0 ET0=1; EA=1; TR0=1; 9 定时器中断程序设计 02 应用于动态显示: 20ms刷新一次显示。 10 定时器中断程序设计 02 02 (1)程序设计流程图 开始 初始化 起来干活 TH、TL初始值 动态显示一次 中断入口 记录中断次数 返回 主程序 中断程序 11 定时器中断程序设计 02 (2)程序设计 1)初始化 #include <reg51.h> unsigned char code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};//0---9,- 的字型码 sbit wei1=p2^6; //数码管位1 sbit wei1=p2^7;//数码管位2 12 定时器中断程序设计 02 2)主程序 main() { TMOD=0x01; //定时器工作方式 TH0=(65536-20000)/256;//TH0=0xB1; TL0=(65536-20000)%256;//TL0=0xE0; ET0=1; //中断允许 EA=1; // 中断总开关 TR0=1; //启动定时器 while(1);//不需要做任何事,但不能少。 } 13 定时器中断程序设计 02 void T0_IR( ) interrupt 1 { TH0=0xB1; //重新设置定时器初始值 TL0=0xe0; wei1=1;//数码管动态扫描一次 P0=duan[num/10]; delay_nms(1); wei1=0; wei2=1; P0=duan[num%10]; delay_nms(1); wei2=0; } 3)定时器中断程序 14 定时器中断程序设计 02 插入录屏视频 15 谢谢观看! Simple Gifts Jewel Lullaby 167584.05 $$

资源预览图

2.3.2定时器中断程序设计 (课件)-《单片机应用技术》同步教学(中国科学技术出版社)
1
2.3.2定时器中断程序设计 (课件)-《单片机应用技术》同步教学(中国科学技术出版社)
2
2.3.2定时器中断程序设计 (课件)-《单片机应用技术》同步教学(中国科学技术出版社)
3
2.3.2定时器中断程序设计 (课件)-《单片机应用技术》同步教学(中国科学技术出版社)
4
2.3.2定时器中断程序设计 (课件)-《单片机应用技术》同步教学(中国科学技术出版社)
5
2.3.2定时器中断程序设计 (课件)-《单片机应用技术》同步教学(中国科学技术出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。