永发信息网

这是单片机8051设计电子时钟的问题,谁能把它改成8031的程序,急用a

答案:1  悬赏:80  手机版
解决时间 2021-05-25 19:58
HOUR EQU 40H ;存放时信息的单元
MINUTE EQU 41H ;存放分信息的单元
SECOND EQU 42H ;存放秒信息的单元
NUM EQU 43H ;存放T0溢出次数的单元
ORG 0000H ;程序入口
AJMP MAIN
ORG 0030H ;主程序入口
MAIN:MOV SP,#60H ;指定堆栈栈底
MOV HOUR,#00H
MOV MINUTE,#00H
MOV SECOND,#00H ;将时、分、秒分别清零
MOV NUM,#0
MOV TMOD,#01H ;设T0工作于方式1,用于定时
MOV TH0,#4CH ;设置T0的初始值
MOV TL0,#00H
MOV IE,#00H ;关中断
SETB TR0 ;开启定时器T0
LOOP:NOP
NOP
ACALL DISPLAY ;调用显示子程序
NOP
NOP
LOOP1:JB TF0,TIME ;等待定时溢出
LJMP LOOP1
TIME:CLR TR0 ;关闭定时器
PUSH DPL ;保护现场
PUSH DPH
PUSH ACC
MOV TH0,#4CH ;重新设置T0的值
MOV TL0,#00H
SETB TR0 ;开启T0
MOV A,NUM
INC A ;溢出次数+1
MOV NUM,A
CJNE A,#0AH,TT1 ;检测键盘
MOV P1,#0FH ;设键盘初值
MOV R0,#04H ;延时消抖
LCALL DELAY
JNB P1.0,T0C1 ;为0表示P1.0按下,转T0C1调整秒
JNB P1.1,T0C2 ;为0表示P1.1按下,转T0C2调整分
JNB P1.2,T0C3 ;为0表示P1.2按下,转T0C3调整时
TT1: CJNE A,#140,RR4
MOV NUM,#00H
T0C1:MOV A,SECOND
INC A ;秒单元内容加1
DA A ;调整为BCD码
MOV SECOND,A
CJNE A,#60H,RR4 ;不为60秒继续等待
setb flag:
clr flag
RR1: MOV SECOND,#00H ;为60秒将秒单元清零
T0C2:MOV A,MINUTE
INC A ;分单元内容加1
DA A ;调整为BCD码
MOV MINUTE,A
CJNE A,#60H,RR4 ;不为60分继续等待
RR2: MOV MINUTE,#00H ;为60分,分单元清零
T0C3:MOV P1,#0F0H ; 1小时闪一次
LCALL DELAY ;延时
MOV P1,#0FH
MOV A,HOUR
INC A ;时单元内容加1
DA A ;调整为BCD码
MOV HOUR,A
CJNE A,#24H,RR4 ;不为24小时继续等待
RR3: MOV HOUR,#00H ;为24小时,时单元清零
RR4: POP ACC ;恢复现场
POP DPH
POP DPL
LJMP LOOP
DELAY:MOV R1,#10H ;延时子程序
DELAY1:MOV R2,#20H
DJNZ R2,$
DJNZ R1,DELAY1
DJNZ R0,DELAY
RET
DISPLAY:MOV DPTR,#TAB ;送表头基地址
MOV A,HOUR
ANL A,#0FH ;屏蔽时高位
MOVC A,@A+DPTR ;查时高位
MOV P0,A
CLR P2.6 ;开显示
MOV R0,#1 ;延时消除鬼影
LCALL DELAY
SETB P2.6 ;关显示
MOV A,HOUR
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV P0,A
CLR P2.7
MOV R0,#1
LCALL DELAY
SETB P2.7
MOV A,MINUTE
ANL A,#0FH
MOVC A,@A+DPTR
MOV P0,A
CLR P2.4
MOV R0,#1
LCALL DELAY
SETB P2.4
MOV A,MINUTE
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV P0,A
CLR P2.5
MOV R0,#1
LCALL DELAY
SETB P2.5
MOV A,SECOND
ANL A,#0FH
MOVC A,@A+DPTR
MOV P0,A
CLR P2.2
MOV R0,#1
LCALL DELAY
SETB P2.2
MOV A,SECOND
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV P0,A
CLR P2.3
MOV R0,#1
LCALL DELAY
SETB P2.3
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
最佳答案
程序是一样的。8051和8031的区别是8051内部有一个4K(好像)的ROM,而8031内部没有。所以你用8031就要外部扩展程序存储器,这是硬件问题和软件没关系。外扩的问题就比较复杂,主要是看你们怎么调试,要是试验箱可能别人就已经设计好了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
送礼物给朋友,被她误会该怎办
5年动植物观察日记,600字.
卧龙区南阳隆泰大药房(建西店)怎么去啊,谁知
我今天没开罐为什么不能开了
初二该如何努力
云贵路/文笔路(路口)怎么去啊,有知道地址的
襄城区襄樊卧龙假日酒店我想知道这个在什么地
艾诺V8000hdb 里面的样子
n95 8g能升级s60第五版吗
当循环语句For i=1 To 11 Step 5执行完毕(结
岳阳楼区岳阳市公安局奇家岭警务站哪位知道具
是爱情重要还是金钱重要?
尚志市哈尔滨海燕理发地址在哪里啊
猫为什么一吃饱就犯困,为什么吃饱饭会犯困?
尚思味骨汤麻辣烫地址在哪,我要去那里办事
推荐资讯
灵宝市三门峡大脑club狼人杀俱乐部地址是什么
吕梁到太原大巴多少钱,太原西客站有到平遥的
社旗县南阳中国联通(城区手机通讯)这个地址在
泌阳县驻马店百世快递(泌阳县农业局东)在什么
兰州什么地方能做除痘疤,痘痘的手术?便宜点
淇县鹤壁九州旅社这个地址怎么能查询到,着急
喜欢钻进沙土地,挖成纵横地道网,破坏小苗害
急!我的诺基亚6630开机需要调时间和日期,怎
索爱C702c能下载2009手机QQ吗?
穿什么衣服的颜色会影响我们的体温吗?
急求09年大众软件的一篇文章,名字是《永无黎
请问中国移动wap服营厅的网址是多少啊?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?