网站大量收购独家精品文档,联系QQ:2885784924

单片机应用系统课程设计实例..doc

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

数字钟设计实例 利用AT89C51的定时器和6位7段数码管,设计一个电子时钟,显示格式“XX XX XX”,从左向右分别是:时、分、秒 硬件设计 软件设计 说明:定时器每1000us中断一次,在中断服务程序中,对中断次数计数,100us计数10000次就是1s,然后再对秒计数得到分和小时,并送入显示缓存。 LEDBUF EQU 30H ;显示码缓存区 HOUR EQU 40H MINUTE EQU 41H SECOND EQU 42H C100us EQU 43H TICK EQU 10000 ;置中断次数 T100us EQU 256-100 ;置定时器初始值 LJMP START ;跳转至主程序 ORG 000BH ;定时器0中断入口 T0INT: PUSH PSW ;状态保护 PUSH ACC MOV A,C100us+1 JNZ GOON ;计数值是否为0 DEC C100us GOON: DEC C100us+1 MOV A,C100us ORL A,C100us+1 JNZ EXIT MOV C100us,#HIGH(TICK) ;重置计数值 MOV C100us+1,#LOW(TICK) INC SECOND ;秒值加一 MOV A,SECOND CJNE A,#60,EXIT ;判断秒值是否为60 MOV SECOND,#0 ;秒值为60,则清0 INC MINUTE ;分值加一 MOV A,MINUTE CJNE A,#60,EXIT ;判断分值是否为60 MOV MINUTE,#0 ;分值为60,则清0 INC HOUR ;小时值加一 MOV A,HOUR CJNE A,#24,EXIT ;判断小时值是否为24 MOV HOUR,#0 ;小时值为24,则清0 EXIT: POP ACC POP PSW RETI DELAY: ;延时子程序 MOV R7,#0FFH DELAYLOOP: DJNZ R7,DELAYLOOP DJNZ R6,DELAYLOOP RET LEDMAP: DB 3FH,06H,5BH,4FH ;八段数码管显示码 DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH DB 39H,5EH,79H,71H DISPLAYLED: MOV R0,#LEDBUF MOV R1,#6 ;共6个八段管 MOV R2, ;位扫描码初值 LOOP: MOV A,#0 MOV P0,A ;关所有八段管 MOV A,@R0 MOV P0,A MOV A,R2 MOV P3,A ;显示一位八段管 MOV R6,#01H CALL DELAY MOV A,R2 ;显示下一位 RR A MOV R2,A INC R0 DJNZ R1,LOOP RET T0LED: MOV DPTR,#LEDMAP ;将字段码转换显示码 MOVC A,@A+DPTR RET START: MOV TMOD,#02H ;定时器工作方式2 MOV TH0,#T100us ;置定时器初始值 MOV TL0,#T100us MOV IE, ;EA=1,IT0=1 MOV HOUR,#0 ;显示初始值 MOV MINUTE,#0 MOV SECOND,#0 MOV C100us,#HIGH(TICK) MOV C100us+1,#LOW(TICK) SETB TR0 ;启动定时器0 MLOOP: MOV A,HOUR ;显示小时值十位 MOV B,#10 DIV AB CALL T0LED MOV LEDBUF,A ;将十位值送显示码缓存区 MOV A,B ;显示小时值个位 CALL T0LED ORL A,#80H ;显示小数点 MOV LEDBUF+1,A ;送显示码缓存区 MOV A,MINUTE ;显示分钟值十位 MOV B,#10 DIV AB CALL T0LED MOV LEDBUF+2,A ;将十位值送显示码缓存区 MOV

文档评论(0)

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

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

1亿VIP精品文档

相关文档