📄 gydirt.asm
字号:
nop
nop
acall delay10ms
acall iicstart
mov a,#0a1h
acall iicwbyte
acall iicrbyte
acall iicstop
nop
nop
nop
nop
acall delay10ms
mov tim5,a
acall dispreal
ret
qn1: mov tim2,#0
mov tim3,#0
mov tim4,#0
mov tim5,#0
ret
;----------------------------------
;------------------------
clreprom : clr write
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#01h
acall iicwbyte
mov a,#00
acall iicwbyte
acall iicstop
nop
nop
nop
nop
; acall clryh
; acall dispreal
acall delay10ms
acall delay10ms
;;;;;2time
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#02h
acall iicwbyte
mov a,#00h
acall iicwbyte
acall iicstop
nop
nop
nop
nop
acall delay10ms
acall delay10ms
acall delay10ms
; acall clryh
; acall dispreal
;;;;3time
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#03h
acall iicwbyte
mov a,#00h
acall iicwbyte
acall iicstop
nop
nop
nop
nop
acall delay10ms
acall delay10ms
acall delay10ms
; acall clryh
; acall clryh
; acall dispreal
;4time
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#04h
acall iicwbyte
mov a,#00h
acall iicwbyte
acall iicstop
nop
nop
nop
nop
acall delay10ms
acall delay10ms
acall delay10ms
; acall clryh
; acall clryh
; acall dispreal
;5time
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#05h
acall iicwbyte
mov a,#00h
acall iicwbyte
acall iicstop
nop
nop
nop
nop
acall delay10ms
acall delay10ms
acall delay10ms
; acall clryh
; acall clryh
; acall dispreal
ret
;-----------write data to eeprom---
weeprom : clr tr0
clr write
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#01h
acall iicwbyte
mov a,tim1
acall iicwbyte
acall iicstop
nop
nop
nop
nop
setb tr0
; acall clryh
; acall dispreal
acall delay10ms
acall delay10ms
acall dispreal
;;;;;2time
jnb wr2,eepw3
clr tr0
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#02h
acall iicwbyte
mov a,tim2
acall iicwbyte
acall iicstop
nop
nop
nop
nop
setb tr0
acall delay10ms
acall delay10ms
acall dispreal
; acall clryh
; acall dispreal
;;;;3time
eepw3: jnb wr3,eepw4
clr tr0
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#03h
acall iicwbyte
mov a,tim3
acall iicwbyte
acall iicstop
nop
nop
nop
nop
setb tr0
acall delay10ms
acall delay10ms
acall dispreal
; acall clryh
; acall clryh
; acall dispreal
;4time
eepw4: jnb wr4,eepw5
clr tr0
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#04h
acall iicwbyte
mov a,tim4
acall iicwbyte
acall iicstop
nop
nop
nop
nop
setb tr0
acall delay10ms
acall delay10ms
acall dispreal
; acall clryh
; acall clryh
; acall dispreal
;5time
eepw5: jnb wr5,eepwed
clr tr0
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#05h
acall iicwbyte
mov a,tim5
acall iicwbyte
acall iicstop
nop
nop
nop
nop
acall delay10ms
acall delay10ms
acall dispreal
; acall clryh
; acall clryh
; acall dispreal
setb tr0
eepwed: ret
;--------------------------------
iicstart: clr SCL
NOP
nop
setb SDA
NOP
nop
setb SCL
nop
nop
clr SDA
nop
nop
clr SCL
nop
nop
;nop
;setb SDA
ret
;/----------停止IIC总线--------/
iicstop: clr SCL
NOP
nop
clr SDA
NOP
nop
setb SCL
nop
nop
setb SDA
nop
nop
clr SCL
ret
;/--------向IIC总线写8bit数据--------/
iicwbyte: nop
mov r7,#8
clr c
wnextbit: clr SCL
NOP
NOP
rlc a
mov SDA,c
nop
nop
setb SCL
nop
nop
djnz r7,wnextbit
nop
nop
moreack: clr SCL
nop
nop
nop
setb Scl
nop
nop
; acall clryh
; acall clryh
nop
nop
ggk: ; acall dispreal
jb sda,ggk
nop
nop
clr SCL
nop
nop
ret
;/------从IIC总线上读8bit数据子程序----/
iicrbyte: ;mov a,#00h
nop
mov r7,#8
rnextbit: clr scl
nop
nop
nop
setb SCL
nop
nop
nop
mov c,SDA
rlc a
nop
nop
djnz r7,rnextbit
nop
clr SCL
nop
nop
setb SDA
nop
nop
setb SCL
nop
nop
nop
ret
;---------counter subgram---
t0int: push psw
push acc
clr tr0
mov th0,#3ch
mov tl0,#0bfh ;50ms
setb tr0
inc fifty1
mov a,fifty1
cjne a,#100,t0end
mov fifty1,#00h
inc fifty2
mov a,fifty2
cjne a,#72,t0end
mov fifty2,#00h
setb write
inc tim1
mov a,tim1
cjne a,#10,t0end
mov tim1,#00h
setb wr2
inc tim2
mov a,tim2
cjne a,#10,t0end
mov tim2,#00h
setb wr3
inc tim3
mov a,tim3
cjne a,#10,t0end
mov tim3,#00h
setb wr4
inc tim4
mov a,tim4
cjne a,#10,t0end
mov tim4,#00h
setb wr5
inc tim5
mov a,tim5
cjne a,#10,t0end
mov tim5,#00h
t0end: pop acc
pop psw
reti
;------------------------
delay2s: mov r3,#50
d3: mov r2,#100
d2: mov r4,#70
d1: nop
djnz r4,d1
djnz r2,d2
djnz r3,d3
ret
clryh: nop
NOP
nop
nop
nop
nop
nop
nop
nop
nop
NOP
nop
nop
nop
nop
nop
nop
nop
ret
delay10ms: mov r3,#10
dd2: mov r4,#20
dd1: nop
djnz r4,dd1
djnz r3,dd2
ret
tab: db 03h,9fh,25h,0dh,99h,49h,41h,1fh,01h,09h
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -