还是我啦,我觉得上次发的帖子少了很多东西,这次把原理图和PDF资料也加上了,请各位大侠看看这个编码器的程序到底为什么不能实现掉电保存功能,是不是pcon的问题呢?我试过了但是还是有问题~!
TP37 BIT 00H
TIME100 EQU 030H
BMQ256 EQU 031H
AUXR EQU 08EH
CCON EQU 0D8H
CMOD EQU 0D9H
CCAPM0 EQU 0DAH
CCAPM1 EQU 0DBH
SPSTAT EQU 0CDH
IAP_DATA EQU 0C2H
IAP_ADDRH EQU 0C3H
IAP_ADDRL EQU 0C4H
IAP_CMD EQU 0C5H
IAP_TRIG EQU 0C6H
IAP_CONTR EQU 0C7H
CMD_IDLE EQU 0
CMD_READ EQU 1
CMD_PROGRAM EQU 2
CMD_ERASE EQU 3
ENABLE_IAP EQU 082H
IAP_ADDRESS EQU 0000H
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP AINT0
ORG 000BH
LJMP T0INT
ORG 0013H
LJMP AINT1
ORG 001BH
LJMP AACT1
ORG 00A0H
MAIN: MOV A,#0
MOV 40H,#0
MOV R0,#1
MOV R1,#0BEH
CLRA: INC R0
MOV @R0,A
DJNZ R1,CLRA
MOV TIME100,#125
MOV SP,#0E0H
MA0: MOV TH1,#0FBH
MOV TL1,#33H
SETB TR1
MOV DPTR,#IAP_ADDRESS
LCALL DLY
LCALL IAP_READ
LCALL DLY
MOV P1,B
MA1: JB P3.7,XXX1
JB TP37,XXX
MOV DPTR,#IAP_ADDRESS
LCALL DLY
ACALL IAP_ERASE
LCALL DLY
MOV DPTR,#IAP_ADDRESS
LCALL DLY
MOV B,40H
LCALL DLY
LCALL IAP_PROGRAM
CLR TP37
LJMP XXX
XXX1: SETB TP37
XXX: MOV TMOD,#15H
MOV IE,#8FH
JB P3.4,MA2
MOV BMQ256,#0
MOV P1,BMQ256
MA2: SETB TR1
SETB TR0
SETB IT0
SETB IT1
LCALL DLY
LJMP MA1
DLY: MOV 6FH,#40
DLY1: DJNZ 6EH,DLY1
DJNZ 6FH,DLY1
RET
IAP_IDLE: MOV IAP_CONTR,#0
MOV IAP_CMD, #0
MOV IAP_TRIG, #0
MOV IAP_ADDRH,#00H
MOV IAP_ADDRL,#00H
RET
IAP_READ: MOV IAP_CONTR,#ENABLE_IAP
MOV IAP_CMD, #CMD_READ
MOV IAP_ADDRL,DPL
MOV IAP_ADDRH,DPH
MOV IAP_TRIG, #5AH
MOV IAP_TRIG, #0A5H
NOP
MOV B,IAP_DATA
LCALL IAP_IDLE
RET
IAP_PROGRAM: MOV IAP_CONTR,#ENABLE_IAP
MOV IAP_CMD, #CMD_PROGRAM
MOV IAP_ADDRL,DPL
MOV IAP_ADDRH,DPH
MOV IAP_DATA, B
MOV IAP_TRIG, #5AH
MOV IAP_TRIG, #0A5H
NOP
LCALL IAP_IDLE
RET
IAP_ERASE: MOV IAP_CONTR,#ENABLE_IAP
MOV IAP_CMD, #CMD_ERASE
MOV IAP_ADDRL,DPL
MOV IAP_ADDRH,DPH
MOV IAP_TRIG, #5AH
MOV IAP_TRIG, #0A5H
NOP
LCALL IAP_IDLE
RET
AACT1: PUSH PSW
PUSH ACC
MOV TH1,#0FBH
MOV TL1,#33H
TIMEB: DJNZ TIME100,CT10
MOV TIME100,#125
CT10: POP ACC
POP PSW
RETI
T0INT: PUSH ACC
PUSH PSW
PUSH DPL
PUSH DPH
MOV TL0,#0FFH
MOV TH0,#0FFH
MOV BMQ256,#0
MOV P1,#0
T0INTR: POP DPH
POP DPL
POP PSW
POP ACC
RETI
AINT0: PUSH ACC
PUSH PSW
PUSH DPL
PUSH DPH
JB P3.2,AINT0R
JB P3.5,AINT0R
DEC BMQ256
MOV A,BMQ256
MOV 40H,A
MOV P1,A
AINT0R: POP DPH
POP DPL
POP PSW
POP ACC
RETI
AINT1: PUSH ACC
PUSH PSW
PUSH DPL
PUSH DPH
JB P3.5,AINT1R
INC BMQ256
MOV DPTR,#DDBD
MOV A,BMQ256
MOVC A,@A+DPTR
MOV 40H,A
MOV P1,A
AINT1R: POP DPH
POP DPL
POP PSW
POP ACC
RETI
DDBD: DB 000H,001H,003H,002H,007H,006H,004H,005H,00FH,00EH,00CH,00DH,008H,009H,00BH,00AH ;0000
DB 01FH,01EH,01CH,01DH,018H,019H,01BH,01AH,010H,011H,013H,012H,017H,016H,014H,015H ;0001
DB 03FH,03EH,03CH,03DH,038H,039H,03BH,03AH,030H,031H,033H,032H,037H,036H,034H,035H ;0010
DB 020H,021H,023H,022H,027H,026H,024H,025H,02FH,02EH,02CH,02DH,028H,029H,02BH,02AH ;0011
DB 07FH,07EH,07CH,07DH,078H,079H,07BH,07AH,070H,071H,073H,072H,077H,076H,074H,075H ;0100
DB 060H,061H,063H,062H,067H,066H,064H,065H,06FH,06EH,06CH,06DH,068H,069H,06BH,06AH ;0101
DB 040H,041H,043H,042H,047H,046H,044H,045H,04FH,04EH,04CH,04DH,048H,049H,04BH,04AH ;0110
DB 05FH,05EH,05CH,05DH,058H,059H,05BH,05AH,050H,051H,053H,052H,057H,056H,054H,055H ;0111
DB 0FFH,0FEH,0FCH,0FDH,0F8H,0F9H,0FBH,0FAH,0F0H,0F1H,0F3H,0F2H,0F7H,0F6H,0F4H,0F5H ;1000
DB 0E0H,0E1H,0E3H,0E2H,0E7H,0E6H,0E4H,0E5H,0EFH,0EEH,0ECH,0EDH,0E8H,0E9H,0EBH,0EAH ;1001
DB 0C0H,0C1H,0C3H,0C2H,0C7H,0C6H,0C4H,0C5H,0CFH,0CEH,0CCH,0CDH,0C8H,0C9H,0CBH,0CAH ;1010
DB 0DFH,0DEH,0DCH,0DDH,0D8H,0D9H,0DBH,0DAH,0D0H,0D1H,0D3H,0D2H,0D7H,0D6H,0D4H,0D5H ;1011
DB 080H,081H,083H,082H,087H,086H,084H,085H,08FH,08EH,08CH,08DH,088H,089H,08BH,08AH ;1100
DB 09FH,09EH,09CH,09DH,098H,099H,09BH,09AH,090H,091H,093H,092H,097H,096H,094H,095H ;1101
DB 0BFH,0BEH,0BCH,0BDH,0B8H,0B9H,0BBH,0BAH,0B0H,0B1H,0B3H,0B2H,0B7H,0B6H,0B4H,0B5H ;1110
DB 0A0H,0A1H,0A3H,0A2H,0A7H,0A6H,0A4H,0A5H,0AFH,0AEH,0ACH,0ADH,0A8H,0A9H,0ABH,0AAH ;1111
END
此帖出自
小平头技术问答
一周热门 更多>