?? receving_wnv_07.asm
字號:
;;
MOV A, 0000H ;; *** RECE_DATA ***
MOV EE_BUF, A ;;
MOV A, 0008H ;;
MOV EE_CNT, A ;;
CALL SHIFT ;;
;;
MOV A, EE_BUF ;;
MOV EEDATA, A ;;
;;
CLR CS ;;
;;
MOV A, EEDATA ;;
MOV IAR0, A ;;
;;
INC EEADDR ;; *** FORMAT_POINT ***
INC MP0 ;;
SDZ COUNT_LOOPEE ;; *** DATA_LOOP ******
JMP READ_LOOP0 ;;
;;
CLR BP0 ;;
SET EMI ;;
;;.........................................;;
EEPROM_READ_EXIT: ;;
CLR READ_ON ;;
RET ;;
;;
;;*****************************************;;
EEPROM_WRITE: ;;
SNZ DATA_FLAG.0 ;;
JMP EEPROM_WRITE_EXIT ;;
;;.........................................;;
SET BP0 ;;
CLR EMI ;;
MOV A, 0000H ;; *** WRITE_ADDR ***
MOV EEADDR, A ;;
MOV A, 0060H ;; *** SAVE_ADDR ****
MOV MP0, A ;;
MOV A, 000AH ;; *** WRITE_LOOP=6 *
MOV COUNT_LOOPEE, A ;;
WRITE_LOOP0: ;;
;;
MOV A, IAR0 ;;
MOV EEDATA, A ;;
SET CS ;;
;;
MOV A, cWRITE ;;
MOV EE_BUF, A ;;
MOV A, 0003H ;;
MOV EE_CNT, A ;;
CALL SHIFT ;;
;;
MOV A, EEADDR ;; *** SEND_ADDR ***
RL ACC ;;
MOV EE_BUF, A ;;
MOV A, 0007H ;;
MOV EE_CNT, A ;;
CALL SHIFT ;;
;;
MOV A, EEDATA ;; *** SEND_ADDR ***
MOV EE_BUF, A ;;
MOV A, 0008H ;;
MOV EE_CNT, A ;;
CALL SHIFT ;;
;;
CLR CS ;;
CALL CHKBUSY ;;
;;
INC MP0 ;;
INC EEADDR ;;
SDZ COUNT_LOOPEE ;;
JMP WRITE_LOOP0 ;;
;;
CLR BP0 ;;
SET EMI ;;
EEPROM_WRITE_EXIT: ;;
CLR RITE_ON ;;
RET ;;
;;
;;*****************************************;;
EWEN: ;;
SNZ DATA_FLAG.2 ;;
JMP EWEN_EXIT ;;
;;.........................................;;
CLR EMI ;;
MOV A, 0001H ;;
MOV BP, A ;;
MOV A, 0040H ;;
MOV MP1, A ;;
;;
SET CS ;; *** CS=1 ***
;;
MOV A, cEWEN ;;
MOV EE_BUF, A ;;
MOV A, 0003H ;;
MOV EE_CNT, A ;;
CALL SHIFT ;;
;;
MOV A, 00C0H ;;
MOV EE_BUF, A ;;
MOV A, 7 ;;
MOV EE_CNT, A ;;
CALL SHIFT ;;
;;
CLR CS ;; *** CS=0 ***
CLR BP0 ;;
SET EMI ;;
;;
EWEN_EXIT: ;;
CLR EWEN_ON ;;
RET ;;
;;
;;*****************************************;;
EWDS: ;;
SET CS ;;
CLR EMI ;;
;;
MOV A, cEWDS ;;
MOV EE_BUF, A ;;
MOV A, 0003H ;;
MOV EE_CNT, A ;;
CALL SHIFT ;;
;;
MOV A, 0000H ;;
MOV EE_BUF, A ;;
MOV A, 0007H ;;
MOV EE_CNT, A ;;
CALL SHIFT ;;
;;
CLR CS ;;
SET EMI ;;
;;
RET ;;
;;
;;*****************************************;;
SHIFT: ;;
MOV A, 0001H ;;
SZ EE_BUF.7 ;; *** OUTPUT ***
JMP DI_HIG ;;
DI_LOW: ;;
CLR DI ;;
JMP CK_HIG ;;
DI_HIG: ;;
SET DI ;;
CK_HIG: ;;
SET SK ;;
RL EE_BUF ;;
SZ DO ;;
JMP DO_HIG ;;
DO_LOW: ;;
CLR EE_BUF.0 ;;
JMP CK_LOW ;;
DO_HIG: ;;
SET EE_BUF.0 ;;
CK_LOW: ;;
CLR SK ;;
;;
SDZ EE_CNT ;;
JMP SHIFT ;;
RET ;;
;;
;;*****************************************;;
CHKBUSY: ;;
SET CS ;; *** CS=1 ***
MOV A, 00FFH ;;
MOV COUNT_WAITEE, A ;;
CHKBUSY_WAIT: ;;
NOP ;;
NOP ;;
NOP ;;
NOP ;;
NOP ;;
NOP ;;
SET SK ;; *** CK=1 ***
NOP ;;
NOP ;;
NOP ;;
NOP ;;
NOP ;;
NOP ;;
SZ DO ;; *** DO?=1 **
JMP CHKBUSY_END ;;
NOP ;;
NOP ;;
NOP ;;
NOP ;;
NOP ;;
NOP ;;
CLR SK ;; *** SK=0 ***
SDZ COUNT_WAITEE ;;
JMP CHKBUSY_WAIT ;;
;;
CHKBUSY_END: ;;
CLR SK ;;
CLR CS ;;
RET ;;
;;
;;*****************************************;;
;; DELAY_AREA ;;
;;*****************************************;;
DELAY_50MS: ;; *** DELAY_20MS ***
MOV A, 0032H ;;
MOV DELAY_R1, A ;;
D50MS_LOOP1: ;;
MOV A, 00FAH ;;
MOV DELAY_R0, A ;;
D50MS_100P2: ;;
NOP ;;
SDZ DELAY_R0 ;;
JMP D50MS_100P2 ;;
SDZ DELAY_R1 ;;
JMP D50MS_LOOP1 ;;
NOP ;;
RET ;;
;;
;;*****************************************;;
DELAY_20MS: ;; *** DELAY_20MS ***
MOV A, 0014H ;;
MOV DELAY_R1, A ;;
D20MS_LOOP1: ;;
MOV A, 00FAH ;;
MOV DELAY_R0, A ;;
D20MS_100P2: ;;
NOP ;;
SDZ DELAY_R0 ;;
JMP D20MS_100P2 ;;
SDZ DELAY_R1 ;;
JMP D20MS_LOOP1 ;;
NOP ;;
RET ;;
;;
;;*****************************************;;
DELAY_200US: ;; *** DELAY_200US ***2F
MOV A, 002FH ;;
MOV DELAY_R0, A ;;
D200US_LOOP0: ;;
NOP ;;
SDZ DELAY_R0 ;;
JMP D200US_LOOP0 ;;
NOP ;;
RET ;;
;;
;;*****************************************;;
DELAY_50US: ;; *** DELAY_50US ***2F
MOV A, 000BH ;;
MOV DELAY_R0, A ;;
D50US_LOOP0: ;;
NOP ;;
SDZ DELAY_R0 ;;
JMP D50US_LOOP0 ;;
RET ;;
;;
;;*****************************************;;
;; 程序結束 ;;
;;*****************************************;;
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -