找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4971|回复: 2
打印 上一主题 下一主题
收起左侧

[分享]已解决

[复制链接]
跳转到指定楼层
楼主
ID:10802 发表于 2009-4-6 20:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

那个时钟显示的程序已经显示成功了,感谢大家对我这个单片机新手的帮助。所以把自己的这个程序贡献出来和大家一起分享一下。还请大家多多指教。先谢过了。。。
42h----秒,41h-----分,40h----时
BUF_LED0  送给秒的个位
BUF_LED1  送给秒的十位
BUF_LED2  送给分的个位
BUF_LED3 送给秒的十位
BUF_LED4  送给秒的个位
BUF_LED5  送给秒的十位
一共用了六个数码管进行显示

LED0 BIT P2.0
LED1 BIT P2.1
LED2 BIT P2.2
LED3 BIT P2.3
LED4 BIT P2.4
LED5 BIT P2.5

BUF_LED0  EQU   60H
BUF_LED1  EQU   61H
BUF_LED2  EQU   62H
BUF_LED3  EQU   63H
BUF_LED4  EQU   64H
BUF_LED5  EQU   65H
ORG  00H
AJMP MAIN
ORG  0BH
AJMP IT0P
MAIN: MOV P2,#0FFH
      MOV P0,#0FFH
      MOV BUF_LED0,#0C0H           ;设初值
      MOV BUF_LED1,#0C0H
      MOV BUF_LED2,#0C0H
      MOV BUF_LED3,#0C0H
      MOV BUF_LED4,#0C0H
      MOV BUF_LED5,#0C0H
      MOV DPTR,#TABLE
      MOV TMOD,#01H                   ;设定工作方式
      MOV 21H,#100
      CLR A
      MOV 42H,#00
      MOV 41H,#00
      MOV 40H,#00H
      MOV TH0,#0D8H
      MOV TL0,#0F0H
      SETB TR0
      MOV IE,#82H
HERE: CALL XIANSHI       ;等待中断
      SJMP HERE
IT0P: PUSH Acc
      PUSH PSW
      MOV TH0,#0D8H
      MOV TL0,#0F0H
      DJNZ 21H,RETURN
      MOV 21H,#100
      MOV A,#01H
      ADD A,42H
      MOV 42H,A
      MOV B,#10
      DIV AB
      MOVC A,@A+DPTR
      MOV BUF_LED1,A
      MOV A,B
      MOVC A,@A+DPTR
      MOV BUF_LED0,A
      ;CALL LED_L0
      MOV R2,42H
      CJNE R2,#60,RETURN
      MOV 42H,#00
      MOV A,#01H
      ADD A,41H
      MOV 41H,A
      MOV R3,A
      MOV B,#10
      DIV AB
      MOVC A,@A+DPTR
      MOV BUF_LED3,A
      MOV A,B
      MOVC A,@A+DPTR
      MOV BUF_LED2,A
      ;CALL LED_L2
      CJNE R3,#60,RETURN
      MOV 41H,#00
      MOV A,#01H
      ADD A,40H
      ;DA A
      MOV 40H,A
      MOV R4,A
      MOV B,#0AH
      DIV AB
      MOVC A,@A+DPTR
      MOV BUF_LED5,A
      MOV A,B
      MOVC A,@A+DPTR
      MOV BUF_LED4,A
      ;CALL LED_L4
      CJNE R4,#24,RETURN
      MOV 40H,#00
RETURN:POP PSW
       POP Acc
       RETI
XIANSHI:
LED_L0:
       MOV P2,#11111110B
       MOV P0,BUF_LED0
       CALL DELAY
LED_L1:MOV P2,#11111101B
       MOV P0,BUF_LED1
       CALL DELAY
LED_L2:MOV P2,#11111011B
       MOV P0,BUF_LED2
       CALL DELAY
LED_L3:MOV P2,#11110111B
       MOV P0,BUF_LED3
       CALL DELAY
LED_L4:MOV P2,#11101111B
       MOV P0,BUF_LED4
       CALL DELAY
LED_L5:MOV P2,#11011111B
       MOV P0,BUF_LED5
       CALL DELAY
       RET
DELAY:MOV R5,#5         ;延时
   D2:MOV R6,#248
   D1:DJNZ R6,D1
      DJNZ R5,D2
      RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
      END

游客,如果您要查看本帖隐藏内容请回复
游客,如果您要查看本帖隐藏内容请回复
[此贴子已经被作者于2009-4-9 16:20:00编辑过]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:9960 发表于 2009-4-6 22:30 | 只看该作者
1,加上注释会好看点。 2,MOV P2,11111110B 类似的这几句好像少了个#号, 3,我也是新手,所以目前只看出这几点。
回复

使用道具 举报

板凳
ID:10802 发表于 2009-4-8 11:20 | 只看该作者

谢谢啊,你说得很对.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表