3734|3

20

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

电子钟的数码管问题 [复制链接]

各位大侠,我仿真的电子钟的数码管不能同时显示,还望指点一下:
仿真图:

程序:
S_SET BIT  P1.0      ;数字钟秒控制位
M_SET BIT  P1.1      ;分钟控制位
H_SET BIT  P1.2      ;小时控制位
SECOND EQU  30H
MINUTE EQU  31H
HOUR EQU  32H
TCNT EQU  34H
  ORG  00H
  SJMP START
  ORG  0BH
  LJMP INT_T0
START: MOV  DPTR,#TABLE
  MOV  HOUR,#0      ;初始化
  MOV  MINUTE,#0
  MOV  SECOND,#0
  MOV  TCNT,#0
  MOV  TMOD,#01H
  MOV  TH0,#(65536-50000)/256  ;定时50毫秒
  MOV  TL0,#(65536-50000)MOD 256
  MOV  IE,#82H
  SETB TR0
;****************************************************
;判断是否有控制键按下,是哪一个键按下
A1:  LCALL DISPLAY  
  JNB  S_SET,S1
  JNB  M_SET,S2
  JNB  H_SET,S3   
  LJMP A1
S1: LCALL DELAY  ;去抖动
  JB  S_SET,A1
  
  INC  SECOND  ;秒值加1
  MOV  A,SECOND
  CJNE A,#60,J0 ;判断是否加到60秒
  MOV  SECOND,#0
  LJMP K1
S2: LCALL DELAY
  JB  M_SET,A1
  
K1: INC  MINUTE  ;分钟值加1
  MOV  A,MINUTE
  CJNE A,#60,J1 ;判断是否加到60分
  MOV  MINUTE,#0
  LJMP K2
S3: LCALL DELAY
  JB  H_SET,A1
  
K2: INC  HOUR  ;小时值加1
  MOV  A,HOUR
  CJNE A,#24,J2 ;判断是否加到24小时
  MOV  HOUR,#0
  MOV  MINUTE,#0
  MOV  SECOND,#0
  LJMP A1
;****************************************************
;等待按键抬起
J0:  JB  S_SET,A1
  LCALL DISPLAY
  SJMP J0
J1:  JB  M_SET,A1
  LCALL DISPLAY
  SJMP J1
J2:  JB  H_SET,A1
  LCALL DISPLAY
  SJMP J2
;***********************************************
;定时器中断服务程序,对秒,分钟和小时的计数
INT_T0: MOV  TH0,#(65536-50000)/256
  MOV  TL0,#(65536-50000)MOD 256  
  INC  TCNT
  MOV  A,TCNT
  CJNE A,#20,RETUNE ;计时1秒
  INC  SECOND
  MOV  TCNT,#0
  MOV  A,SECOND
  CJNE A,#60,RETUNE
  INC  MINUTE
  MOV  SECOND,#0
  MOV  A,MINUTE
  CJNE A,#60,RETUNE
  INC  HOUR
  MOV  MINUTE,#0
  MOV  A,HOUR
  CJNE A,#24,RETUNE
  MOV  HOUR,#0
  MOV  MINUTE,#0
  MOV  SECOND,#0
  MOV  TCNT,#0
RETUNE: RETI
;******************************************
;显示控制子程序
DISPLAY:MOV  A,SECOND ;显示秒
  MOV  B,#10
  DIV  AB
  CLR  P0.1
  MOVC A,@A+DPTR
  MOV  P2,A
  LCALL DELAY
  SETB P0.1
  MOV  A, B
  CLR  P0.0
  MOVC A,@A+DPTR
  MOV  P2,A
  LCALL DELAY
  SETB P0.0
  MOV  A,MINUTE ;显示分钟
  MOV  B,#10
  DIV  AB
  CLR  P0.3
  MOVC A,@A+DPTR
  MOV  P2,A
  LCALL DELAY
  SETB P0.3
  MOV  A,B
  CLR  P0.2
  MOVC A,@A+DPTR
  MOV  P2,A
  LCALL DELAY
  SETB P0.2

     MOV  A,HOUR  ;显示小时
  MOV  B,#10
  DIV  AB
  CLR  P0.5
  MOVC A,@A+DPTR
  MOV  P2,A
  LCALL DELAY
  SETB P0.5
  MOV  A,B
  CLR  P0.4
  MOVC A,@A+DPTR
  MOV  P2,A
  LCALL DELAY
  SETB P0.4
  RET

TABLE:  DB   3FH,06H,5BH,4FH,66H
  DB  6DH,7DH,07H,7FH,6FH
DELAY:   MOV R1,#150
LOOP:    MOV R6,#200
         NOP   
LOOP1:   DJNZ R6,LOOP1
         DJNZ R1,LOOP
      RET

  END
我觉得是显示程序有问题,是数码管动态显示,但不知道该怎么修改。。。
此帖出自单片机论坛

最新回复

参考一下~  详情 回复 发表于 2010-5-15 18:09
点赞 关注
 

回复
举报

75

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

Re: 电子钟的数码管问题

P0口作为普通I/O口使用时,由于漏极开路,要正常输出“1”,必须外接上拉电阻。
会不会是这个问题影响的
此帖出自单片机论坛
 
 

回复

188

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 

Re: 电子钟的数码管问题

lou zhu shou lei,
du  zhe zhou hui.
lun tan xing  wang,
shou ru wang qian.
此帖出自单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

4
 
参考一下~
此帖出自单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表