第6章定时器计数器.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章定时器计数器

实时时钟的设计 1.实现实时时钟的基本思想 最小计时单位是秒,如何获得1s的定时时间呢?定时器方式1,最大定时时间也只能131ms。可将定时器的定时时间定为100ms,中断方式进行溢出次数的累计,计满10次,即得秒计时。 片内RAM规定3个单元为秒、分、时单元: 42H:“秒”单元;41H:“分”单元;40H:“时”单元 从秒到分,从分到时是通过软件累加并比较来实现。要求每满1秒,则“秒”单元42H中的内容加1;“秒”单元满60,则“分”单元41H中的内容加1;“分”单元满60,则“时”单元40H中的内容加1;“时”单元满24,则将42H、41H、40H的内容全部清“0”。 2.程序设计 (1)主程序设计 进行定时器T0初始化,并启动T0,然后反复调用显示子程序,等待100ms中断到来。 (2)中断服务程序的设计 实现秒、分、时的计时处理。 ORG 0000H AJMP MAIN ;上电,跳向主程序 ORG 000BH ;T0的中断入口 AJMP IT0P ORG 1000H MAIN: MOV TMOD,#01H ;设T0为方式1 MOV 20H, #0AH ;装入中断次数 CLR A MOV 40H, A ;“时”单元清“0” MOV 41H, A ;“分”单元清“0” MOV 42H, A ;“秒”单元清“0” SETB ET0 ;允许T0申请中断 SETB EA ;总中断允许 MOV TH0,#3CH ;给T0装入计数初值 MOV TL0,#0B0H SETB TR0 ;启动T0 HERE: SJMP HERE ;等中断(也可调用显示子程序) IT0P: PUSH PSW ;T0中断子程序入口, 保护现场 PUSH Acc MOV TH0,#3CH ;重新装入初值 MOV TL0,#0B0H DJNZ 20H,RETURN ;1秒时间未到, 返回 MOV 20H, #0AH ;重置中断次数 MOV A, #01H ;“秒”单元增1 ADD A,42H DA A ;“秒”单元十进制调整 MOV 42H,A ;“秒”的BCD码存回“秒”单元 CJNE A,#60H,RETURN ;是否到60秒,未到则返回 MOV 42H, #00H ;计满60秒,“秒”单元清“0” MOV A, #01H ;“分”单元增1 ADD A,41H DA A ;“分”单元十进制调整 MOV 41H,A ;“分”的BCD码存回“分”单元 CJNE A,#60H,RETURN ;是否到60分,未到则返回 MOV 41H, #00H ;计满60分,“分”单元清“0” MOV A, #01H ;“时”单元增1 ADD A,40H DA A ;“时”单元十进制调整 MOV 40H,A CJNE A,#24H,RETURN ;是否到24小时,未 ;到则返回 MOV 40H, #00H ;到24小时,“时”单元清“0” RETURN:POP Acc ;恢复现场 POP PSW RETI ;中断返回 END 补充作业: 有一按钮电路如图所示,现将此电路中的A端与AT89S51单片机的引脚INT0相连。要求每按一下按钮S,单片机就将P1寄存器中的第2位、第3位数据复制到第6位、第7位上,其它位保持不变。试利用外部中断0编写实现这一功能的程序。 ? * +5V 1kΩ S A 1)计算计数初值X 机器周期?=?2?s?=?2???10?6s 设需要装入T0的初值为X,则有: (216?X)?2?10?6=1??10?3 216?X=500 X=65036 X化为十六进制数,即:?65036?=?FE0CH?。 T0的初值为TH0 =FEH,

文档评论(0)

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

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

1亿VIP精品文档

相关文档