- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
項目三定时计数器和中断系统应用
项目三、定时计数器和中断系统应用 (1)静态显示 (2)动态显示 (三)相关指令学习 1、二——十进制调整指令DA A 该指令是对累加器参与BCD码运算所获得的8位结果(在累加器中)进行十进制修正,使得累加器中的内容调整为BCD码。 DA A进行二——十进制修正的具体过程如下: 当A的低4位大于9或AC=1,则低4位加6。 当A的高4位大于9或CY=1,则高4位加6。 2、数据交换指令 字节交换: 指令:XCH A,Rn XCH A,direct XCH A,@Ri 例:(A)=03H,(40H)=30H XCH A,40H 执行后(A)=30H,(40H)=03H 半字节交换: 指令:XCHD A,@Ri 例: (A)=80H,(R1)=32H,(32H)=77H 执行XCHD A,@R1后 (A)=87H,(32H)=70H 累加器自身半字节交换:—完成累加器A中高4位和低4位的交换。 SWAP A 例:(A)=84H 执行SWAP A (A)=48H (四)伪指令的学习 伪指令——告诉汇编程序如何汇编源程序的指令。 伪指令既不控制机器的操作,也不能被汇编成机器码,故称为伪指令。 1、起始地址伪指令 ORG addr16 用于规定目标程序段或数据块的起始地址,设置在程序开始处。 2、汇编结束伪指令END 告诉汇编程序,对源程序的汇编到此结束,一个程序出现一次,在末尾。 3、定时中断选择 给定时器控制寄存器TCON送命令字,控制定时/计数器的启动和停止。 (1)应用定时中断编程时,需要开启相应的定时中断控制位,否则将其设为禁止。 (2)若定时/计数器仅使用一次,则要在服务程序中把工作启动/停止控制位TR清为“0”,关闭定时/计数器,若连续使用时,则不要改变TR位。 (3)当不使用定时中断时,即用查询溢出标志编程, 无论定时/计数仅用一次还是连续使用,每次都要用指令将对应的溢出标志位清“0”。而采用中断编程时,一旦中断响应,由硬件自动将对应的溢出标志撤销。 例:产生周期为1ms的定时方波 选择T1方式0用于定时,在P1.1输出周期为1ms的方波,晶振fosc=6MHZ。根据题意,只要使P1.1每隔500us取反一次即可得到1ms方波,因而T1的定时时间为500us,因定时时间不长,取方式0即可,则M1M0=00;因是定时器方式,所以C/ =0;在此用软件启动T1,所以GATE=0.T0不用,方式字可任意设置,只要不使其进入方式3即可,一般取0,故TMOD=00H。系统复位后TMOD为0,可不对TMOD重新清“0”。 下面计算500us定时T1初始值: 机器周期T=12/fosc=12/6MHZ=2us 设初始值为X,则(213-X)×2×10-6s=500×10-6s X=7942=111110000110B=1F06H 因为在作13位计数器同时,TL1的高3位未用,应填写0,TH1占高8位,所以X的实际填写值应为X=11111000000110B=F806H,结果TH1=F8H,TL1=06H。 四、任务实施 1、硬件设计 硬件设计可采用项目一中任务2的硬件原理图。2、软件设计 (1)要二极管产生每一秒亮一次,则P1.0得每0.5s取反一次,所以定时器的定时时间为0.5s。 (2)设定工作方式寄存器TMOD。 表3-5 工作方式寄存器TMOD设置 GATE C//T M1 M2 GATE C//T M1 M2 0 0 0 1 0 0 0 0 (3)计算计数初值。 选用晶振为6MHZ,则机器周期T=12/fosc=12/6MHZ=2us,设初始值为X,则定时时间为(216-X)×2×10-6s, 当X=0,在晶振为6MHZ的情况下,采用定时/计数器1工作方式1下 ,最长的定时时间为216×2×10-6s=131ms,而125 ms×4=500 ms=0.5s,可选定时0.5s的流程图如图3-9所示,对定时器125 ms中断4次,就是0.5s。(216-X)×2×10-6s=125 ms ,X=3036=(BDC)16,所以TH1=0BH,TL1=0DCH 定时125 ms 4次到否 否 0.5s 图3-9 定时0.5s示意图 开始 置定时器1工作方式1 置定时常数 置中断记录初值R2←0 开中断允许、定时器 R2≥5? R2←00H R2≠4? R2←00H P1.0取反 是 是 否 图3-10 主程序流程图 中断返回 定时中断 恢复计数初值 中断次数加1 图3-11 定时中断服务程序流程图 (5)程序设计 ? ORG 0000H ? ? AJMP MAIN
您可能关注的文档
最近下载
- 公文规范与写作.ppt
- 二零二四年度大型音乐节主办方与演出乐队演出合同协议范本3篇.docx VIP
- 河南省驻马店市平舆县2022年人教版小升初考试数学试卷(原卷版+解析).docx VIP
- 2023年新高考数学大一轮复习(新高考)40抛物线及其性质(解析版).pdf VIP
- ISO 27002 2022 信息安全、网络安全与个人隐私保护-信息安全控制.pdf VIP
- 江浙沪皖自驾路线合集(2024.1.7更新)(3).pdf VIP
- 人教版五年级语文(上册)写字表课文同步正楷练字帖.pdf VIP
- 《肖申克的救赎》完整中英文对照剧本.docx VIP
- 《水浒传》章回概括100回本-重点归纳.pdf VIP
- 17中医养生学第十六章因人养生.pptx VIP
文档评论(0)