第5章MCS-51 单片机的中断系统 及定时器.ppt

第5章MCS-51 单片机的中断系统 及定时器.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例:以T0 实现一个外部中断扩展。 则初始化程序为: MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB EA ;开全局中断 SETB ET0 ;开T0中断 SETB TR0 ;准备计数 将中断子程序放在T0中断入口处(000BH)。 T0计数器方式 T0方式2 课堂练习 P95 题6、11、13 题6—略 题11 思路: 1.1000Hz方波,即周期是1ms, 定时时间为500us, P1.1交替输出0、1 电平,即可得到该方波。 2.由定时时间知,用哪种方式都可实现500us 定时。可用方式2(自动装入时间常数), 比较简单。 第五章上机实验(1) 1.分别用2种定时方式使P1口输出信号,轮流点亮8个LED,每个LED点亮时间为50ms。 方式1:利用调用延时子程序方式; 方式2:利用定时器定时50ms,设晶振频率为12MHz;参考习题13。 2.每个LED点亮时间为2s。 参考P95~96 接口实训(一)一.定时器/计数器应用实训。 T1控制 T0控制 0 1 0 0 X X X X M0 M1 C/T GATE M0 M1 C/T GATE 控制字02H 3.题目中没有指明用T0还是T1,可任意,我 们用T0。 ①确定TMOD控制字 ② 计算计数器的计数初值; (28–X)×2×10 -6 =500×10 -6 即28–X=250 X=28-250=100H-FAH =06H 所以,初值为: TH0=06H,TL0=06H ③ 采用中断方式: 编程时打开全局中断:置位EA 局部中断:置位ET0。 ④ 置位TR0位控制定时器的启动。 程序设计 ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP INTT0 ;T0中断入口 INTT0: CPL P1.1 ;输出取反 RETI ORG 1000H MAIN:MOV TMOD, #02H ;T0为方式2 MOV TH0, #06H MOV TL0,#06H ;初值 SETB EA ;允许中断 SETB ET0 SETB TR0 ;启动定时 SJMP $ ;等待中断 主程序: 中断处理程序: 8051 P1.0 P1.7 R LED7 . . . . . R LED0 . . . . . 题13 思路: 1.通过P1.0P~1.7分别送“1”给8个灯; 2.每次持续时间20分之一秒,即50ms, 由定时器T0来定时,又知fOSC=6MHz,由例题2可知可用方式1。 T1控制 T0控制 1 0 0 0 X X X X M0 M1 C/T GATE M0 M1 C/T GATE 控制字01H ①确定TMOD控制字 ② 计算计数器的计数初值; (216–X)×2×10 -6 =50×10 -3 即216–X=25000 X=216-25000=10000H-61A8H =9E58H 所以,初值为: TH1=9EH,TL1=58H ③ 采用中断方式: 编程时打开全局中断:置位EA 局部中断:置位ET0。 ④ 置位TR0位控制定时器的启动。 程序设计 ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP INTT0 ;T0中断入口 ORG 1000H MAIN:MOV TMOD, #01H ;T0为方式1 MOV TH0, #9EH MOV TL0,#58H ;初值 SETB EA ;允许中断 SETB ET0 SETB TR0 ;启动定时 MOV A,#01H ; LED0先亮 MOV P1,A ; SJ

文档评论(0)

you-you + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档