- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11定时器计数器和中断系统课件
第五章定时器/计数器与中断系统
; 方式寄存器TMOD中的M1、M0两位的四种不同取值,形成定时器/计数器的四种不同工作方式。
其中前三种工作方式对T0和T1都是一样的,方式3对两者是不同的。可以说,只有定时器/计数器T0有方式3。; 当M1、M0=00时,定时器/计数器选择为工作方式0。
在此工作方式下,定时器/计数器T0构成一个13位寄存器,由TH0的8位与TL0的低5位组成,TL0的高3位未用。
当TL0的低5位计数溢出时,向TH0进位;TH0溢出时,则把其对应的定时器/计数器的溢出标志位TF0置位,并以此作为定时器/计数器溢出中断标志。
单片机进入中断服务程序后,由硬件自动清除该标志TF0。
定时器T0计数溢出后,从0开始重新计数,如果要求T0按原计数初值计数,在溢出后,应重新给T0赋初值。;2、 方式1 ;例:设单片机晶振频率为6MHZ,使用定时器1以方式1产生周期为10s的连续方波,并由P1.0输出。;3、程序设计:
MOV 40H ,#50 ;50次100ms
MOV TMOD,#10H ;T1方式1,定时方式
MOV TL1,#0B0H ; T0计数初值X的低8位写入TL0
MOV TH1,#3CH ; T0计数初值X的低8位写入TH0
SETB TR1 ;启动T1
LP: JBC TF1,LT ;查询T1是否计数溢出
AJMP LP
LT: MOV TH1,#0B0H ;重新设置计数初值
MOV TL1,#3CH
DJNZ 40H,LP ;未到5s,继续循环
MOV 40H ,#50
CPL P1.0 ;5s到,输出取反
SJMP LP ;重复循环;3、 方式2 ;例: 用定时器T0,方式2计数,要求每计满100次,将P1.1取反。;3、程序设计:
MOV TMOD,#06H ;T0方式2,计数
MOV TH0,#9CH ; 赋初值
MOV TL0,#9CH
SETB TR0 ;启动T0
LOOP: JBC TF0,REP ;查询计数溢出
SJMP LOOP
REP: CPL P1.1
SJMP LOOP;4、 方式3 ; TL0既可以用于计数又可以用于定时,定时器/计数器0的各控制位和引脚信号全归它使用,其功能和操作与方式0方式1完全相同。
TH0固定为定时器工作,对机器周期进行计数,并且占用定时器T1的TR1和TF1,同时占用T1的中断源。TH0的启动和停止只受TR1的控制。
一般来说,只有当系统需要增加一个额外的8位定时器时,才把定时器/计数器0设置为方式3。
当定时器/计数器0工作于方式3时,定时器/计数器1通常工作于自动重装载方式(方式2),作为串行通讯的波特率发生器使用。; 例: 利用T0门控位测试INT0引脚上出现的正脉冲宽度,已知晶振频率为12MHz,将所测得值高8位存入片内71H,低8位存入片内70H。;#09H; MOV @R0,TL0;存放计数值的低字节
INC R0
MOV @R0,TH0;存放计数值的高字节
SJMP$;中断系统; 单片机系统的运行同其他微机系统一样,CPU需要不断地与外部输入输出设备交换信息。
通常情况下,CPU与外部设备交换信息可采用以下几种方式:
程序控制方式,即无条件传送和查询方式;
直接存储器存取(DMA)方式;
中断传送方式。
1、无条件传送方式
采用这种传送方式的前提是外部设备时刻处于“准备好”状态,CPU随时可与之进行数据传送。这种传送方式的优点是硬件和软件都简单,它只适用于计算
文档评论(0)