《电子电脑》显示文章详细内容: [展开] [回复] [网址] [举报] [屏蔽]
chuckliu
chuckliu目前处于离线状态
等    级:资深长老
经 验 值:74945
魅 力 值:11525
龙    币:346239
积    分:139612.2
注册日期:2000-09-01
 
  查看chuckliu个人资料   给chuckliu发悄悄话   将chuckliu加入好友   搜索chuckliu所有发表过的文章   给chuckliu发送电子邮件      

望山等单片机高手帮我看看程序是否有问题,为什么在仿真器上工作一切正常,烧到芯片里却显示混乱(其他都正常)
PORT EQU 1B30H
SND EQU 53H
HOUR EQU 52H
MIN EQU 51H
SEC EQU 50H
HOURC4 EQU 49H
MINC4 EQU 48H
SECC4 EQU 47H
HOURC3 EQU 46H
MINC3 EQU 45H
SECC3 EQU 44H
HOURC2 EQU 43H
MINC2 EQU 42H
SECC2 EQU 41H
HOURC1 EQU 40H
MINC1 EQU 39H
SECC1 EQU 38H
HOURO4 EQU 37H
MINO4 EQU 36H
SECO4 EQU 35H
HOURO3 EQU 34H
MINO3 EQU 33H
SECO3 EQU 32H
HOURO2 EQU 31H
MINO2 EQU 30H
SECO2 EQU 29H
HOURO1 EQU 28H
MINO1 EQU 27H
SECO1 EQU 26H
FUNC EQU 25H
TEMP EQU 24H
DISPH EQU 23H
DISPM EQU 22H
DISPS EQU 21H
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP CLOCK
ORG 0013H
LJMP KEY
ORG 0200H
MAIN: MOV DPTR,#PORT+1;
MOV A,#0D1H;
MOVX @DPTR,A
MOV A,#43H;
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
MOV IP,#02H
MOV P1,#00H
MOV TMOD,#01H;置定时器的工作方式为方式一
MOV TL0,#0F0H;置T0的初始值,50ms中断一次
MOV TH0,#0FFH
MOV TEMP,#20H
MOV HOUR,#00H
MOV MIN,#00H
MOV SEC,#00H
MOV FUNC,#00H
MOV SECO1,#00H
MOV MINO1,#00H
MOV HOURO1,#00H
MOV SECO2,#00H
MOV MINO2,#00H
MOV HOURO2,#00H
MOV SECO3,#00H
MOV MINO3,#00H
MOV HOURO3,#00H
MOV SECO4,#00H
MOV MINO4,#00H
MOV HOURO4,#00H
MOV SECC1,#00H
MOV MINC1,#00H
MOV HOURC1,#00H
MOV SECC2,#00H
MOV MINC2,#00H
MOV HOURC2,#00H
MOV SECC3,#00H
MOV MINC3,#00H
MOV HOURC3,#00H
MOV SECC4,#00H
MOV MINC4,#00H
MOV HOURC4,#00H
MOV DISPS,#00H
MOV DISPM,#00H
MOV DISPH,#00H
MOV SND,#00H
MOV R5,#0FFH
MOV R6,#0FH
CLR C
SETB ET0
SETB EA
SETB EX1
SETB IT1
SETB TR0
LOOP: MOV DPTR,#PORT+1;
MOV A,#90H
MOVX @DPTR,A
MOV R7,#04H
MOV R1,#21H
MOV DPTR,#PORT
DLO: MOV A,@R1
MOV R2,A
ANL A,#0FH
ACALL TABLE
ORL A,#80H
MOVX @DPTR,A
MOV A,R2
SWAP A
ANL A,#0FH
ACALL TABLE
MOVX @DPTR,A
INC R1
DJNZ R7,DLO
LJMP LOOP
TABLE: INC A
MOVC A,@A+PC
RET
DB 03FH,06H,5BH
DB 04FH,066H,0EDH
DB 0FDH,87H,0FFH,0EFH,0F3H,79H,39H,38H,63H
CLOCK: MOV TL0,#0FDH
MOV TH0,#0FEH
PUSH ACC
PUSH PSW
LCALL SOUND
DJNZ R5,JEND
JR6: DJNZ R6,JEND
AJMP JE
JEND: LJMP ENDT
JE: MOV R6,#0FH
MOV R5,#0FFH
MOV A,SEC
INC A
DA A
MOV SEC,A
MOV R3,FUNC
CJNE R3,#00H,JMPF1
AJMP JF1
JMPF1: LJMP F1
JF1: MOV DISPS,SEC
CPL P1.5
XRL SND,#01H
CJNE A,#60H,ADJ
MOV A,#00H
ADJ: CJNE A,#55H,SO1;到59分55秒时打开收音机
MOV A,MIN
CJNE A,#59H,SO1
MOV TEMP,#55H
SETB P1.4
SO1: MOV A,SEC
CJNE A,SECO1,SC1
MOV A,MIN
CJNE A,MINO1,SC1
MOV A,HOUR
CJNE A,HOURO1,SC1
MOV TEMP,#01H
SETB P1.0
SC1: MOV A,SEC
CJNE A,SECC1,SO2
MOV A,MIN
CJNE A,MINC1,SO2
MOV A,HOUR
CJNE A,HOURC1,SO2
MOV TEMP,#0C1H
CLR P1.0
SO2: MOV A,SEC
CJNE A,SECO2,SC2
MOV A,MIN
CJNE A,MINO2,SC2
MOV A,HOUR
CJNE A,HOURO2,SC2
MOV TEMP,#02H
SETB P1.1
SC2: MOV A,SEC
CJNE A,SECC2,SO3
MOV A,MIN
CJNE A,MINC2,SO3
MOV A,HOUR
CJNE A,HOURC2,SO3
MOV TEMP,#0C2H
CLR P1.1
SO3: MOV A,SEC
CJNE A,SECO3,SC3
MOV A,MIN
CJNE A,MINO3,SC3
MOV A,HOUR
CJNE A,HOURO3,SC3
MOV TEMP,#03H
SETB P1.2
SC3: MOV A,SEC
CJNE A,SECC3,SO4
MOV A,MIN
CJNE A,MINC3,SO4
MOV A,HOUR
CJNE A,HOURC3,SO4
MOV TEMP,#0C3H
CLR P1.2
SO4: MOV A,SEC
CJNE A,SECO4,SC4
MOV A,MIN
CJNE A,MINO4,SC4
MOV A,HOUR
CJNE A,HOURO4,SC4
MOV TEMP,#04H
SETB P1.3
SC4: MOV A,SEC
CJNE A,SECC4,F1
MOV A,MIN
CJNE A,MINC4,F1
MOV A,HOUR
CJNE A,HOURC4,F1
MOV TEMP,#0C4H
CLR P1.3
F1: MOV A,SEC
CJNE A,#60H,JME
AJMP JMEE
JME: LJMP ENDT
JMEE: MOV SEC,#00H
MOV R3,FUNC
CJNE R3,#00H,F2
MOV DISPS,SEC
F2: MOV A,MIN
INC A
DA A
MOV MIN,A
MOV R3,FUNC
CJNE R3,#00H,JF3
AJMP JMF3
JF3: LJMP F3
JMF3: MOV DISPM,MIN
SFO1: MOV A,SEC
CJNE A,SECO1,SFC1
MOV A,MIN
CJNE A,MINO1,SFC1
MOV A,HOUR
CJNE A,HOURO1,SFC1
MOV TEMP,#01H
SETB P1.0
SFC1: MOV A,SEC
CJNE A,SECC1,SFO2
MOV A,MIN
CJNE A,MINC1,SFO2
MOV A,HOUR
CJNE A,HOURC1,SFO2
MOV TEMP,#0C1H
CLR P1.0
SFO2: MOV A,SEC
CJNE A,SECO2,SFC2
MOV A,MIN
CJNE A,MINO2,SFC2
MOV A,HOUR
CJNE A,HOURO2,SFC2
MOV TEMP,#02H
SETB P1.1
SFC2: MOV A,SEC
CJNE A,SECC2,SFO3
MOV A,MIN
CJNE A,MINC2,SFO3
MOV A,HOUR
CJNE A,HOURC2,SFO3
MOV TEMP,#0C2H
CLR P1.1
SFO3: MOV A,SEC
CJNE A,SECO3,SFC3
MOV A,MIN
CJNE A,MINO3,SFC3
MOV A,HOUR
CJNE A,HOURO3,SFC3
MOV TEMP,#03H
SETB P1.2
SFC3: MOV A,SEC
CJNE A,SECC3,SFO4
MOV A,MIN
CJNE A,MINC3,SFO4
MOV A,HOUR
CJNE A,HOURC3,SFO4
MOV TEMP,#0C3H
CLR P1.2
SFO4: MOV A,SEC
CJNE A,SECO4,SFC4
MOV A,MIN
CJNE A,MINO4,SFC4
MOV A,HOUR
CJNE A,HOURO4,SFC4
MOV TEMP,#04H
SETB P1.3
SFC4: MOV A,SEC
CJNE A,SECC4,F3
MOV A,MIN
CJNE A,MINC4,F3
MOV A,HOUR
CJNE A,HOURC4,F3
MOV TEMP,#0C4H
CLR P1.3
F3: CJNE A,#60H,JMHE
AJMP JHE
JMHE: LJMP ENDT
JHE: MOV MIN,#00H
MOV R3,FUNC
CJNE R3,#00H,F4
MOV DISPM,MIN
F4: MOV A,HOUR
INC A
DA A
MOV HOUR,A
MOV R3,FUNC
CJNE R3,#00H,JMF5
AJMP JF5
JMF5: LJMP F5
JF5: MOV DISPH,HOUR
SHO1: MOV A,SEC
CJNE A,SECO1,SHC1
MOV A,MIN
CJNE A,MINO1,SHC1
MOV A,HOUR
CJNE A,HOURO1,SHC1
MOV TEMP,#01H
SETB P1.0
SHC1: MOV A,SEC
CJNE A,SECC1,SHO2
MOV A,MIN
CJNE A,MINC1,SHO2
MOV A,HOUR
CJNE A,HOURC1,SHO2
MOV TEMP,#0C1H
CLR P1.0
SHO2: MOV A,SEC
CJNE A,SECO2,SHC2
MOV A,MIN
CJNE A,MINO2,SHC2
MOV A,HOUR
CJNE A,HOURO2,SHC2
MOV TEMP,#02H
SETB P1.1
SHC2: MOV A,SEC
CJNE A,SECC2,SHO3
MOV A,MIN
CJNE A,MINC2,SHO3
MOV A,HOUR
CJNE A,HOURC2,SHO3
MOV TEMP,#0C2H
CLR P1.1
SHO3: MOV A,SEC
CJNE A,SECO3,SHC3
MOV A,MIN
CJNE A,MINO3,SHC3
MOV A,HOUR
CJNE A,HOURO3,SHC3
MOV TEMP,#03H
SETB P1.2
SHC3: MOV A,SEC
CJNE A,SECC3,SHO4
MOV A,MIN
CJNE A,MINC3,SHO4
MOV A,HOUR
CJNE A,HOURC3,SHO4
MOV TEMP,#0C3H
CLR P1.2
SHO4: MOV A,SEC
CJNE A,SECO4,SHC4
MOV A,MIN
CJNE A,MINO4,SHC4
MOV A,HOUR
CJNE A,HOURO4,SHC4
MOV TEMP,#04H
SETB P1.3
SHC4: MOV A,SEC
CJNE A,SECC4,F5
MOV A,MIN
CJNE A,MINC4,F5
MOV A,HOUR
CJNE A,HOURC4,F5
MOV TEMP,#0C4H
CLR P1.3
F5: CJNE A,#24H,ENDT
MOV HOUR,#00H
MOV R3,FUNC
CJNE R3,#00H,ENDT
MOV DISPH,HOUR
ENDT: POP PSW
POP ACC
RETI
KEY: PUSH ACC
PUSH PSW
CLR P1.5
L1: MOV DPTR,#PORT
MOVX A,@DPTR
MOV R4,A
CJNE R4,#00H,JK0;K0功能选择键
AJMP JK
JK0: LJMP KEY1
JK: MOV A,FUNC
INC A
DA A
MOV FUNC,A
CJNE A,#9H,FC
MOV FUNC,#00H;返回时钟状态
FC: MOV A,FUNC
CJNE A,#00H,KK0
MOV DISPH,HOUR
MOV DISPM,MIN
MOV DISPS,SEC
KK0: CJNE A,#01H,KK1;送控制开关1开时间数据
MOV DISPH,HOURO1
MOV DISPM,MINO1
MOV DISPS,SECO1
KK1: CJNE A,#02H,KK2;送控制开关1关时间数据
MOV DISPH,HOURC1
MOV DISPM,MINC1
MOV DISPS,SECC1
KK2: CJNE A,#03H,KK3;送控制开关2开时间数据
MOV DISPH,HOURO2
MOV DISPM,MINO2
MOV DISPS,SECO2
KK3: CJNE A,#04H,KK4;送控制开关2关时间数据
MOV DISPH,HOURC2
MOV DISPM,MINC2
MOV DISPS,SECC2
KK4: CJNE A,#05H,KK5;送控制开关3开时间数据
MOV DISPH,HOURO3
MOV DISPM,MINO3
MOV DISPS,SECO3
KK5: CJNE A,#06H,KK6;送控制开关3关时间数据
MOV DISPH,HOURC3
MOV DISPM,MINC3
MOV DISPS,SECC3
KK6: CJNE A,#07H,KK7;送控制开关4开时间数据
MOV DISPH,HOURO4
MOV DISPM,MINO4
MOV DISPS,SECO4
KK7: CJNE A,#08H,KK8;送控制开关4关时间数据
MOV DISPH,HOURC4
MOV DISPM,MINC4
MOV DISPS,SECC4
KK8: LCALL TABLE1
MOV TEMP,A
LJMP ENDKEY
KEY1: CJNE R4,#01H,JK2;处理键1开始
AJMP JK1
JK2: LJMP KEY2
JK1: MOV R3,FUNC
CJNE R3,#00H,FUNC1
FUNC0: MOV A,HOUR
INC A
DA A
MOV HOUR,A
MOV DISPH,A
CJNE A,#24H,LL1
MOV HOUR,#00H
MOV DISPH,#00H
LL1: LJMP ENDKEY
FUNC1: CJNE R3,#01H,FUNC2
MOV A,HOURO1
INC A
DA A
MOV HOURO1,A
MOV DISPH,HOURO1
CJNE A,#24H,LL2
MOV HOURO1,#00H
MOV DISPH,#00H
LL2: LJMP ENDKEY
FUNC2: CJNE R3,#02H,FUNC3
MOV A,HOURC1
INC A
DA A
MOV HOURC1,A
MOV DISPH,HOURC1
CJNE A,#24H,LL3
MOV HOURC1,#00H
MOV DISPH,#00H
LL3: LJMP ENDKEY
FUNC3: CJNE R3,#03H,FUNC4
MOV A,HOURO2
INC A
DA A
MOV HOURO2,A
MOV DISPH,HOURO2
CJNE A,#24H,LL4
MOV HOURO2,#00H
MOV DISPH,#00H
LL4: LJMP ENDKEY
FUNC4: CJNE R3,#04H,FUNC5
MOV A,HOURC2
INC A
DA A
MOV HOURC2,A
MOV DISPH,HOURC2
CJNE A,#24H,LL5
MOV HOURC2,#00H
MOV DISPH,#00H
LL5: LJMP ENDKEY
FUNC5: CJNE R3,#05H,FUNC6
MOV A,HOURO3
INC A
DA A
MOV HOURO3,A
MOV DISPH,HOURO3
CJNE A,#24H,LL6
MOV HOURO3,#00H
MOV DISPH,#00H
LL6: LJMP ENDKEY
FUNC6: CJNE R3,#06H,FUNC7
MOV A,HOURC3
INC A
DA A
MOV HOURC3,A
MOV DISPH,HOURC3
CJNE A,#24H,LL7
MOV HOURC3,#00H
MOV DISPH,#00H
LL7: LJMP ENDKEY
FUNC7: CJNE R3,#07H,FUNC8
MOV A,HOURO4
INC A
DA A
MOV HOURO4,A
MOV DISPH,HOURO4
CJNE A,#24H,LL8
MOV HOURO4,#00H
MOV DISPH,#00H
LL8: LJMP ENDKEY
FUNC8: CJNE R3,#08H,LL9
MOV A,HOURC4
INC A
DA A
MOV HOURC4,A
MOV DISPH,HOURC4
CJNE A,#24H,LL9
MOV HOURC4,#00H
MOV DISPH,#00H
LL9: LJMP ENDKEY
KEY2: CJNE R4,#02H,JK3;处理键2开始
AJMP J2
JK3: LJMP KEY3
J2: MOV R3,FUNC;
CJNE R3,#00H,FUN1
FUN0: MOV A,MIN
INC A
DA A
MOV MIN,A
MOV DISPM,A
CJNE A,#60H,LLL1
MOV MIN,#00H
MOV DISPM,#00H
LLL1: LJMP ENDKEY
FUN1: CJNE R3,#01H,FUN2
MOV A,MINO1
INC A
DA A
MOV MINO1,A
MOV DISPM,MINO1
CJNE A,#60H,LLL2
MOV MINO1,#00H
MOV DISPM,#00H
LLL2: LJMP ENDKEY
FUN2: CJNE R3,#02H,FUN3
MOV A,MINC1
INC A
DA A
MOV MINC1,A
MOV DISPM,MINC1
CJNE A,#60H,LLL3
MOV MINC1,#00H
MOV DISPM,#00H
LLL3: LJMP ENDKEY
FUN3: CJNE R3,#03H,FUN4
MOV A,MINO2
INC A
DA A
MOV MINO2,A
MOV DISPM,MINO2
CJNE A,#60H,LLL4
MOV MINO2,#00H
MOV DISPM,#00H
LLL4: LJMP ENDKEY
FUN4: CJNE R3,#04H,FUN5
MOV A,MINC2
INC A
DA A
MOV MINC2,A
MOV DISPM,MINC2
CJNE A,#60H,LLL5
MOV MINC2,#00H
MOV DISPH,#00H
LLL5: LJMP ENDKEY
FUN5: CJNE R3,#05H,FUN6
MOV A,MINO3
INC A
DA A
MOV MINO3,A
MOV DISPM,MINO3
CJNE A,#60H,LLL6
MOV MINO3,#00H
MOV DISPM,#00H
LLL6: LJMP ENDKEY
FUN6: CJNE R3,#06H,FUN7
MOV A,MINC3
INC A
DA A
MOV MINC3,A
MOV DISPM,MINC3
CJNE A,#60H,LLL7
MOV MINC3,#00H
MOV DISPM,#00H
LLL7: LJMP ENDKEY
FUN7: CJNE R3,#07H,FUN8
MOV A,MINO4
INC A
DA A
MOV MINO4,A
MOV DISPM,MINO4
CJNE A,#60H,LLL8
MOV MINO4,#00H
MOV DISPM,#00H
LLL8: LJMP ENDKEY
FUN8: CJNE R3,#08H,LLL9
MOV A,MINC4
INC A
DA A
MOV MINC4,A
MOV DISPM,MINC4
CJNE A,#60H,LLL9
MOV MINC4,#00H
MOV DISPM,#00H
LLL9: LJMP ENDKEY
KEY3: CJNE R4,#03H,JK4;处理键3开始
AJMP J3
JK4: LJMP ENDKEY
J3: MOV R3,FUNC;
CJNE R3,#00H,FU1
FU0: MOV A,SEC
INC A
DA A
MOV SEC,A
MOV DISPS,A
CJNE A,#60H,LLLL1
MOV SEC,#00H
MOV DISPS,#00H
LLLL1: LJMP ENDKEY
FU1: CJNE R3,#01H,FU2
MOV A,SECO1
INC A
DA A
MOV SECO1,A
MOV DISPS,SECO1
CJNE A,#60H,LLLL2
MOV SECO1,#00H
MOV DISPS,#00H
LLLL2: LJMP ENDKEY
FU2: CJNE R3,#02H,FU3
MOV A,SECC1
INC A
DA A
MOV SECC1,A
MOV DISPS,SECC1
CJNE A,#60H,LLLL3
MOV SECC1,#00H
MOV DISPS,#00H
LLLL3: LJMP ENDKEY
FU3: CJNE R3,#03H,FU4
MOV A,SECO2
INC A
DA A
MOV SECO2,A
MOV DISPS,SECO2
CJNE A,#60H,LLLL4
MOV SECO2,#00H
MOV DISPS,#00H
LLLL4: LJMP ENDKEY
FU4: CJNE R3,#04H,FU5
MOV A,SECC2
INC A
DA A
MOV SECC2,A
MOV DISPS,SECC2
CJNE A,#60H,LLLL5
MOV SECC2,#00H
MOV DISPS,#00H
LLLL5: LJMP ENDKEY
FU5: CJNE R3,#05H,FU6
MOV A,SECO3
INC A
DA A
MOV SECO3,A
MOV DISPS,SECO3
CJNE A,#60H,LLLL6
MOV SECO3,#00H
MOV DISPS,#00H
LLLL6: LJMP ENDKEY
FU6: CJNE R3,#06H,FU7
MOV A,SECC3
INC A
DA A
MOV SECC3,A
MOV DISPS,SECC3
CJNE A,#60H,LLLL7
MOV SECC3,#00H
MOV DISPS,#00H
LLLL7: LJMP ENDKEY
FU7: CJNE R3,#07H,FU8
MOV A,SECO4
INC A
DA A
MOV SECO4,A
MOV DISPS,SECO4
CJNE A,#60H,LLLL8
MOV SECO4,#00H
MOV DISPS,#00H
LLLL8: LJMP ENDKEY
FU8: CJNE R3,#08H,LLLL9
MOV A,SECC4
INC A
DA A
MOV SECC4,A
MOV DISPS,SECC4
CJNE A,#60H,LLLL9
MOV SECC4,#00H
MOV DISPS,#00H
LLLL9: LJMP ENDKEY
ENDKEY: POP PSW
POP ACC
RETI
TABLE1: INC A
MOVC A,@A+PC
RET
DB 05BH,001H,0C1H,002H,0C2H
DB 003H,0C3H,004H,0C4H,005H,0C5H
SOUND: ANL SND,#01H
DJNZ SND,NS
CPL P1.4
NS: RET
END

--
hello
2002-04-28 13:27:51   此文章已经被查看706次   
 相关文章: [回复]  [顶端] 



  您必须登录论坛才可以发表文章:
 
用户名:   密码:   记住密码:    (忘记密码 注册




版权所有 回龙观社区网 经营许可证编号:京B2-20201639 昌公网安备1101140035号

举报电话:010-86468600-5 举报邮箱: