?? asczh8.asm
字號:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: CLR P1.7
LCALL YS2S
LCALL YS2S
LCALL YS2S
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
DAT BIT P1.0 ; 595 定義
CLK BIT P1.1
AGREE BIT P1.2
DAT595 EQU 2FH ; 可以按位尋址
RS BIT 2FH.0
RW BIT 2FH.1
E BIT 2FH.2
CS1 BIT 2FH.3
CS2 BIT 2FH.4
RSTB BIT 2FH.5 ; LCM 液晶控制
CS29 BIT 2FH.6 ; 29C040 片選
CS64 BIT 2FH.7 ; 6264 片選
A16 BIT P1.3
A17 BIT P1.4
LCALL RESET595 ; 復位各端口以免總線沖突,讓總線懸浮高阻態
SDA0 BIT P1.6 ; 24C08定義
SCL0 BIT P1.5
MTD0 EQU 4FH
SLA0 EQU 71H
NUMBYT0 EQU 72H
MRD0 EQU 30H
SLAW0 EQU 0A0H
BEGIN: CLR EA
; CLR EX1
; MOV SCON, #50H
; MOV TMOD, #20H
; MOV TH1 , #0FDH
; MOV TL1 , #0FDH
; ANL PCON, #7FH
; SETB TR1
; GO12: CLR CS64
; SETB CS29
; LCALL WR595
; MOV R2,#256
; MOV DPTR,#0000H
; MOV A,#96H
; HAN: MOVX @DPTR,A
; INC A
; INC A
; INC DPTR
; DJNZ R2,HAN
; MOV R1,#30H
; MOV R2,#16
; MOV DPTR,#0000H
; GO: MOVX A,@DPTR
; INC DPTR
; MOV @R1,A
; INC R1
; DJNZ R2,GO
; SETB CS64
; SETB CS29
; LCALL WR595
LCALL WR29NOWR ; 取消寫保護
CLR A17
CLR A16
MOV 7EH,#00H
MOV DPTR,#0000H ; 0000開始-07ff 共2K字節
SKYWANGY: MOV 7BH,#8
SKY: MOV 78H,DPL
MOV 7AH,DPH
LCALL RD29C040 ; 32個數據放RAM 30H-4FH
LCALL MAIPRO ; 轉換結果放50-6FH 共32個字節
MOV 31H,DPH
MOV 32H,DPL
CLR CS64
SETB CS29
LCALL WR595
MOV R2,#32
MOV DPH,#00H
MOV DPL,78H
MOV R1,#50H
GOBACK: MOV A,@R1
MOVX @DPTR,A
INC DPL
INC R1
DJNZ R2,GOBACK
SETB CS64
SETB CS29
LCALL WR595
MOV DPH,31H
MOV DPL,32H
DJNZ 7BH,SKY
MOV 7CH,#256
MOV DPL,#00H
AGAINN: CLR CS64
SETB CS29
LCALL WR595
MOV DPH,#00H
MOVX A,@DPTR
MOV 45H,A
MOV DPH,7AH
SETB CS64
CLR CS29
LCALL WR595
MOV A,45H
MOVX @DPTR,A
INC DPL
DJNZ 7CH,AGAINN
LCALL YS11MS ; 等待編程周期結束
SETB CS29 ; 懸浮總線為三態
SETB CS64
LCALL WR595
MOV A,7AH
INC A
MOV DPH,A
CJNE A,#08H,SKY22
LJMP OVER
SKY22: LJMP SKYWANGY
; 07FFH,2K字節
OVER: CLR P1.7
LCALL YS1S
SETB P1.7
LCALL YS1S
LJMP OVER
MAIPRO: MOV R0,#30H
LCALL CHANGE ; 30H-20H ,31H-21H...,37H-27H
MOV R0,#50H
LCALL MOV7 ; 50H-57H
MOV R0,#38H
LCALL CHANGE ; 38H-20H,39H-21H....,3FH-27H
MOV R0,#58H
LCALL MOV7 ; 58H-5FH
MOV R0,#40H
LCALL CHANGE
MOV R0,#60H
LCALL MOV7
MOV R0,#48H
LCALL CHANGE
MOV R0,#68H
LCALL MOV7 ; 50H-6FH 放轉換結果
; MOV R0,#50H ; 串口發送出去
; MOV R2,#32
;ATWAIT: MOV SBUF,@R0
; ATT: JBC TI,WAIT
; LJMP ATT
; WAIT: INC R0
; DJNZ R2,ATWAIT
; LCALL YS1S
RET
CHANGE: MOV R2,#8
MOV R1,#20H
CHAN: MOV A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ R2,CHAN
RET
MOV7: MOV C,27H.7
RLC A
MOV C,26H.7
RLC A
MOV C,25H.7
RLC A
MOV C,24H.7
RLC A
MOV C,23H.7
RLC A
MOV C,22H.7
RLC A
MOV C,21H.7
RLC A
MOV C,20H.7
RLC A
MOV @R0,A
MOV6: MOV C,27H.6
RLC A
MOV C,26H.6
RLC A
MOV C,25H.6
RLC A
MOV C,24H.6
RLC A
MOV C,23H.6
RLC A
MOV C,22H.6
RLC A
MOV C,21H.6
RLC A
MOV C,20H.6
RLC A
INC R0
MOV @R0,A
MOV5: MOV C,27H.5
RLC A
MOV C,26H.5
RLC A
MOV C,25H.5
RLC A
MOV C,24H.5
RLC A
MOV C,23H.5
RLC A
MOV C,22H.5
RLC A
MOV C,21H.5
RLC A
MOV C,20H.5
RLC A
INC R0
MOV @R0,A
MOV4: MOV C,27H.4
RLC A
MOV C,26H.4
RLC A
MOV C,25H.4
RLC A
MOV C,24H.4
RLC A
MOV C,23H.4
RLC A
MOV C,22H.4
RLC A
MOV C,21H.4
RLC A
MOV C,20H.4
RLC A
INC R0
MOV @R0,A
MOV3: MOV C,27H.3
RLC A
MOV C,26H.3
RLC A
MOV C,25H.3
RLC A
MOV C,24H.3
RLC A
MOV C,23H.3
RLC A
MOV C,22H.3
RLC A
MOV C,21H.3
RLC A
MOV C,20H.3
RLC A
INC R0
MOV @R0,A
MOV2: MOV C,27H.2
RLC A
MOV C,26H.2
RLC A
MOV C,25H.2
RLC A
MOV C,24H.2
RLC A
MOV C,23H.2
RLC A
MOV C,22H.2
RLC A
MOV C,21H.2
RLC A
MOV C,20H.2
RLC A
INC R0
MOV @R0,A
MOV1: MOV C,27H.1
RLC A
MOV C,26H.1
RLC A
MOV C,25H.1
RLC A
MOV C,24H.1
RLC A
MOV C,23H.1
RLC A
MOV C,22H.1
RLC A
MOV C,21H.1
RLC A
MOV C,20H.1
RLC A
INC R0
MOV @R0,A
MOV0: MOV C,27H.0
RLC A
MOV C,26H.0
RLC A
MOV C,25H.0
RLC A
MOV C,24H.0
RLC A
MOV C,23H.0
RLC A
MOV C,22H.0
RLC A
MOV C,21H.0
RLC A
MOV C,20H.0
RLC A
INC R0
MOV @R0,A
RET
RDRD: MOV MTD0,#10H ; 讀24C08前9個數據,母片數據校驗,上次關機狀態
MOV SLA0,#0A0H
MOV NUMBYT0,#1
MOV B,#00H
LCALL WRNBYT0
MOV SLA0,#0A1H
MOV NUMBYT0,#16
LCALL RDNBYT0 ; 30-32(EA)\33(06)\38(機芯類別
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -