📄 gydirt.asm
字号:
tim1 data 30h
tim2 data 31h
tim3 data 32h
tim4 data 33h
tim5 data 34h
dtim1 data 35h
dtim2 data 36h
dtim3 data 37h
dtim4 data 38h
dtim5 data 39h
ttim data 3ah
fifty1 data 3ch
fifty2 data 3dh
SCL bit p3.1
SDA bit p3.0
;;;;fdq bit p3.2
dot bit p1.0
w1 bit p3.7
w2 bit p3.5
w3 bit p3.4
w4 bit p3.3
w5 bit p3.2
write bit 00h
wr1 bit 01h
wr2 bit 02h
wr3 bit 03h
wr4 bit 04h
wr5 bit 05h
wl5 bit 06h
wl4 bit 07h
wl3 bit 08h
org 0000h
ajmp start
org 000bh
ajmp t0int
org 0100h
start: mov tmod, #11h
mov sp ,#50h
setb ea
setb p1.0
setb et0
clr tr0
clr write
clr wr1
clr wr2
clr wr3
clr wr4
clr wr5
mov th0,#3ch
mov tl0,#0bfh ;50ms
mov fifty1,#00h
mov fifty2,#00h
mov tim1,#00h
mov tim2,#00h
mov tim3,#00h
mov tim4,#00h
mov tim5,#00h
;clr dot
;clr p1.4
jb p1.0,jx
clr p1.0
acall clreprom
jx: mov r7,#100
init2: mov r6, #100
initl: acall initdisp
nop
nop
nop
djnz r6,initl
djnz r7,init2
nop
nop
clr wr2
clr wr3
clr wr4
clr wr5
acall reeprom
setb tr0
mainlup: jnb write,directd
acall weeprom
clr wr2
clr wr3
clr wr4
clr wr5
directd: acall dispreal
ajmp mainlup
;-----display 5 led-------
dispreal: clr c
setb dot
mov a,tim5
jz setdp5
clr wl5
clr wl4
clr wl3
ajmp dpall
setdp5: setb wl5
mov a,tim4
jz setdp4
clr wl4
clr wl3
ajmp dpall
setdp4: setb wl4
mov a,tim3
jz setdp3
clr wl3
ajmp dpall
setdp3: setb wl3
dpall: mov a,tim1
mov dptr,#tab
movc a,@a+dptr
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w4
acall clryh
clr w4
clr dot
mov a,tim2
mov dptr,#tab
movc a,@a+dptr
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w2
acall clryh
clr w2
setb dot
jb wl3,exitdp
clr c
mov a,tim3
mov dptr,#tab
movc a,@a+dptr
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w3
acall clryh
clr w3
jb wl4,exitdp
clr c
mov a,tim4
mov dptr,#tab
movc a,@a+dptr
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w1
acall clryh
clr w1
setb dot
jb wl5,exitdp
clr c
mov a,tim5
mov dptr,#tab
movc a,@a+dptr
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w5
acall clryh
clr w5
exitdp: ret
;------------------------------
initdisp: mov a,#00h
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w5
acall clryh
clr w5
mov a,#00h
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w4
acall clryh
clr w4
mov a,#00h
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w3
acall clryh
clr w3
mov a,#00h
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w2
acall clryh
clr w2
mov a,#00h
rlc a
mov p1.5,c
rlc a
mov p1.4,c
rlc a
mov p1.3,c
rlc a
mov p1.2,c
rlc a
mov p1.1,c
rlc a
mov p1.7,c
rlc a
mov p1.6,c
setb w1
acall clryh
clr w1
ret
;------------------------
dispreal1: setb dot
setb w1
mov a,tim5
swap a
orl a,#08
mov p1,a
mov a,tim4
swap a
orl a,#04
mov p1,a
mov a,tim3
swap a
orl a,#02
mov p1,a
mov a,tim2
swap a
orl a,#01
mov p1,a
mov a,tim1
swap a
orl a,#00
mov p1,a
setb p1.0
ret
;--------read data from eeprom-----
reeprom : acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#01h
acall iicwbyte
nop
nop
acall iicstart
mov a,#0a1h
acall iicwbyte
acall iicrbyte
acall iicstop
nop
nop
nop
nop
cjne a,#0ffh,ql1
mov tim1,#0
ajmp qn1
ql1: mov tim1,a
acall delay10ms
;---2time
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#02h
acall iicwbyte
nop
nop
acall iicstart
mov a,#0a1h
acall iicwbyte
acall iicrbyte
acall iicstop
nop
nop
nop
nop
mov tim2,a
acall delay10ms
;3time
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#03h
acall iicwbyte
nop
nop
acall iicstart
mov a,#0a1h
acall iicwbyte
acall iicrbyte
acall iicstop
nop
nop
nop
nop
mov tim3,a
acall delay10ms
;4time
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#04h
acall iicwbyte
nop
nop
acall iicstart
mov a,#0a1h
acall iicwbyte
acall iicrbyte
acall iicstop
nop
nop
nop
nop
mov tim4,a
acall delay10ms
;5time
acall iicstart
mov a,#0a0h
acall iicwbyte
mov a,#05h
acall iicwbyte
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -