;*************DEFINE MCU*********
DCS EQU P1.4
DSK EQU P1.5
DDI EQU P1.6
DDO EQU P1.7
;********** FIRST ADRESS 010000000B,SB 1;OPCODE 10***
;*************DISPLAY DATA READ FROM 9366*******
IN_SB:clr dcs
clr DSK
setb DDI
nop
nop
setb DCS
nop
nop
setb DSK
nop
nop
clr DSK
ret
;********trans 8 bit data to 9366
;a save di 8 bit data
wr1:MOV R4, #8
clr c
W10:RLC A
MOV DDI,C
NOP
NOP
SETB DSK
NOP
NOP
CLR DSK
DJNZ R4,W10
RET
;********TRANS 3 BIT TO 9366
WR2:MOV R5,#3
clr c
W20:RRC A
MOV DDI,C
NOP
NOP
SETB DSK
NOP
NOP
CLR DSK
DJNZ R5,W20
RET
;**********READ DATA FROM DE
;*****OUT A
RD1:MOV R4, #8
R10:NOP
NOP
SETB DSK
NOP
NOP
CLR DSK
MOV C,DDO
RLC A
DJNZ R4,R10
RET
;*********8051 TRANS 8 BIT OPRATIONS (3 OP &8 ADDR)
;IN :B(2 OP & 9 ADDR A8-A0),R4:HIGH 3 BIT AN ,R1:ADDRES ,R5: 8 BIT DATA
WRITE:LCALL IN_SB ;WRITE perMISSION
MOV A, #100B
LCALL WR2
ORL A, #80H
LCALL WR1
LCALL IN_SB ;WRITE ERASE OP
MOV A, #011B
LCALL WR2
MOV A,R1
LCALL WR1
CLR DCS
nop
nop
setb dcs
WAIT1:JNB DDO,WAIT1
NOP
NOP
LCALL IN_SB ;WRITE OP
MOV A,#010B
LCALL WR2
MOV A,R1
LCALL WR1
MOV A,#23H ;8 BIT DATA
LCALL WR1
clr DCS
NOP
NOP
setb DCS
WAIT: JNB DDO,WAIT
LCALL IN_SB ;WRITE forbit OP
MOV A, #000B
LCALL WR2
ANL A, #7FH
LCALL WR1
clr DCS
RET
;8051 READ DATA
;IN:B (2 OP & 6 BIT ADDR)
;OUT:R2(8 HIGH DATA) ,R3(8 LOW DATA)
OUT_READ:LCALL IN_SB
MOV A, #001B
LCALL WR2
MOV A, r6
LCALL WR1
nop
nop
mov a, #00h
LCALL RD1
MOV R3,A
clr DCS
RET
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.

