标题: 51单片机汇编怎么把DS1302里的星期用数码管显示出来? [打印本页]

作者: 418854190    时间: 2020-5-22 22:21
标题: 51单片机汇编怎么把DS1302里的星期用数码管显示出来?
  单片机时钟源程序是网上找的  经过修改后年月日时分秒星期都可以在1602上显示  现在想把它换成数码管 结果星期死活显示不出来  每次启动都是0  1302读出来的数直接显示还是需要转换   用下面的程序显示不出来  不论怎么修改加减只能显示表中的第一个 0C0h  
                MOV A,WEEK
                MOV DPTR,#TAB
                MOVC A,@A+DPTR
                MOV P0,A;
                CLR P1.4
                 JB ZHOUBZ,BNGG;  设置状态向下  正常显示状态跳转
                 CLR P0.7;显示当前设置位
ZHOUAA:          CALL  SZYS;设置延时   设置状态和正常显示状态数码管亮度不同  用了两个延时
                 SETB P1.4;
                 SETB P0.7;
                LJMP DIPSHIA;   跳到时间显示
;============================================
BNGG:         LCALL  XSYS;显示延时
                   LJMP ZHOUAA



; 数据查表
;***************************************************************                                       
          TAB:           DB  0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h,0FFH,0BFH; ;共阳
                         ;                0         1          2           3        4   5        6        7         8         9         空           -





作者: man1234567    时间: 2020-5-23 09:19
如果同是汇编可以在1602上显示那么肯定在数码管上也能显示
已排除数码管连接或编程错误(可正常显示除星期外的其他时间)就从星期值的读显处着手查
作者: 418854190    时间: 2020-5-23 23:38
man1234567 发表于 2020-5-23 09:19
如果同是汇编可以在1602上显示那么肯定在数码管上也能显示
已排除数码管连接或编程错误(可正常显示除星期 ...

累死累活完成了  用EQU 定义地址不知道最大范围定义错了 改过来后对比读出的最大数别超出就行了
明天继续把不完善的地方试着优化一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1