8051+7位数码管+74hct573(8位锁存器)问题,实在是不会啊。。。

overmind 2012-01-25 10:52:08
电路图如下:
程序就是想要自加1-99然后用数码管显示数值。
个位没有啥问题,貌似,但是十位,无论如何都写不上去,这是为什么?
代码如下:

MOV R0,#0
MOV R1,#0
ACALL SHOWR1
LOOPR1:
LOOPR0:
ACALL SHOWR0
ACALL DELAY
INC R0
CJNE R0,#10,LOOPR0
MOV R0,#0
INC R1
ACALL SHOWR1
CJNE R1,#10,LOOPR1
AJMP 0000H

SHOWR0:
SETB P2.0
MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
RET

SHOWR1:
CLR P2.0
MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
RET

DELAY:
MOV R5,#0FFH
DL1:MOV R6,#09FH
DL2: MOV R7,#005H
DL3: DJNZ R7,DL3
DJNZ R6,DL2
DJNZ R5,DL1
RET

TAB:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END


我实在是很崩溃,在proteus里面看见P1有变化了 但是就是改不了锁存器里面的数值。。。

请高手赐教!!!非常感谢!!!
...全文
219 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjtea 2012-01-26
  • 打赏
  • 举报
回复
CPU选为8051,则可以用P3.0~P3.5中一脚,代替你程序中的P2.0;
或者,你继续使用P2.0,但CPU选用87C51,或89C51。

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧