(精)第五章定时器计数器与中断系统2.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1-1电路及电路模型 第五章 定时器/计数器与中断系统 解:1、计算计数初值 要产生10s的方波脉冲,只需以5s为周期交替输出高低电平即可,但在方式1下,最大定时时间为130.1072ms,不能满足要求。 因而需要再设一个软件计数器,在此用片内40H单元计数,定时100ms,再计数50次,用T1定时100ms,设初值为X,则: X=216-100ms/2us=15536=3CB0H 2、 TMOD= (定时器T1定时方式,方式1) 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 ;重复循环 解:1、计算计数初值 T0工作于计数方式,外部计数脉冲由T0(P3.4)引脚引入。每跳变一次计数器加1,由程序查询TF0的状态。方式2具有初值自动重装功能,初始化不必再置初值。设初值为X,则: X=28-100=156=9CH TH0=TL0=9CH 2、TMOD= (定时器T0计数方式,方式2) 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 作业: EA: CPU中断总允许。EA=0,关中断;EA=1,每个中断源分 别由各自的允许位的置位或清除来确定开放或禁止。 ES:串行口中断允许位。ES=0,禁止CPU响应串行口中断; ES=1,允许串行口中断。 ET1:定时器T1中断允许位。ET1=0,禁止定时器T1中断; ET1=1,允许定时器T1中断。 EX1:外部中断1中断允许位。EX1=0,禁止外部中断1; EX1=1,允许外部中断1。 ET0:定时器T0中断允许位。ET0=0,禁止定时器T0中断; ET0=1,允许定时器T0中断。 EX0:外部中断0中断允许位。EX0=0,禁止外部中断0 EX0=1,允许外部中断0。 MCS-51复位后,IE清0,所有中断请求被禁止。 若使某一个中断源被允许中断,除了IE相应的位被置“1” ,还必须使EA位=1,使CPU开放中断,EA相当于中断允许的“总开关”。 改变IE的内容,可由位操作指令来实现,即: SETB bit; CLR bit 例: 若允许片内2个定时器/计数器中断,禁止其它中断源的中断请求。编写设置IE的相应程序段。 (1)用位操作指令来编写如下程序段: SETB EA ;CPU开中断 SETB ET0 ;允许定时器/计数器T0中断 SETB

文档评论(0)

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

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

1亿VIP精品文档

相关文档