基于mcs-单片机的可调六位数字时钟(汇编).docVIP

基于mcs-单片机的可调六位数字时钟(汇编).doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于mcs-单片机的可调六位数字时钟(汇编).doc

;本次编程时钟输出码在p0口,控制显示位为p2.7 p2.6 p2.5,共八个数码管 org 0000h ajmp main org 0003h ajmp sj0 ;外部中断0跳转到sj0 org 000bh ajmp it0p ;计时中断跳转“it0p” org 00013h ajmp sj1 ;外部中断0跳转到sj1 org 0100h main: mov tmod,#01h;设置中断0的工作方式为1 clr rs1;设置工作区0 clr rs0;设置工作区0 mov r0,#30h; 给r0设置初值30,使设置处于准备状态 mov sp,#20h;堆栈开始于20-25 mov 30h,#14h;给计时赋初次数 mov 41h,#00h;给显示位赋值,用于显示设置位用于对应 mov 42h,#20h; ~ ~ mov 43h,#40h;可删除 mov 44h,#60h; ~ ~ mov 45h,#80h; ~ ~ mov 46h,#0a0h;可删除 mov 47h,#0c0h; ~ ~ mov 48h,#0e0h; ~ ~ mov 33h,#0ah;横杠位对应输出值位置 mov 36h,#0ah;横杠位对应输出值位置 mov 31h,#00h mov 32h,#00h mov 34h,#00h mov 35h,#00h mov 37h,#00h mov 38h,#00h setb et0 ;开计时中断0 setb ex0;开外部中断0 setb px1 ;设置外部中断1优先级高,使其能中断外部中断0 setb ea ;最后将总中断开启 mov th0,#3ch ;给计时器赋初值 mov tl0,#0afh ; setb tr0 ;开始让计时器工作,计时有效 xiansj: ;计时器工作后,主程序进入显示时钟状态 mov dptr,#shuxiang ;将数码显示队列起始地址给dptr loop0: ; mov r1,#31h ;31对应秒第一位, mov r2,#00h ; p2由00对应第一位 loop1: ; jb ex1,tiao111 ;进入设置后,主程序必须只显示设置位 mov a,@r1 ;中断完毕后,跳转回来时,r1改变也无所谓 movc a,@a+dptr ;只要去r1处于31-38即可 mov p0,#0ffh mov p2,r2 ; mov p0,a inc r1;r1自加1,准备对下一个数值进行显示 mov a,#20h ;p2的显示位对应以20为间隔 add a,r2 mov r2,a ;对寄存器进行加法的步骤 mov a,r1 cjne r1,#39h,loop1;判断r1达到的值,对下一位数进行显示 ajmp loop0 ;当8位数值显示完毕,跳转回显示状态起始处 tiao111: ; acall fangfuxyw ;调用反复显示设置位程序 ajmp loop1 ;跳回loop1使设置完毕主程序后进入显示时钟状态 shuxiang:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0bfh fangfuxyw: ;反复显示设置位程序 mov a,r0 subb a,#31h mov b,#20h mul ab mov r5,a ;r5是显示位置,与r0有对应关系 mov a,@r0 movc a,@a+dptr mov p0,#0ffh mov p2,r5 mov p0,a ret sj0:clr ex0;中断0程序开始 push acc clr tr0 jingts1:mov a,#01h add a,r0 mov r0,a cjne r0,#33h,tiao3 ajmp jingts1 tiao3:cjne r0,#36h,tiao6;可以不讨论33.36两种情况,因为中断1会处理 ajmp jingts1 tiao6:cjne r0,#39h,tiao000 mov r5,38h ;判断设置是否超过24 cjne r5,#02h,panduan3 mov a,37h subb a,#03h jc panduan3; clr ex1 dec r0 mov 4bh,#0ffh; to01:mov 4ch,#0ffh; to02:acall fangfuxyw; dec r0; acall fangfuxyw; inc r0; djnz 4ch,to02; djnz 4bh,to01; mov r0,#37h; setb ex1 ajmp tiao000 ; panduan3: mov p0,#0bfh mov p2,#40h acall yanshi

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档