📄 iap.inc
字号:
ori r16,0b01000000
sts d_dy,r16
dispcc_IAP10:
lds r16,d_dx
lds r17,d_dz
cpi r17,1
brne dispcc_IAP11
rcall outi_IAP1
rjmp dispcc_IAP20
dispcc_IAP11:
cpi r17,2
brne dispcc_IAP12
rcall outi_IAP2
rjmp dispcc_IAP20
dispcc_IAP12:
cpi r17,3
brne dispcc_IAP13
rcall outi_IAP3
rjmp dispcc_IAP20
dispcc_IAP13:
cpi r17,4
brne dispcc_IAP14
rcall outi_IAP4
rjmp dispcc_IAP20
dispcc_IAP14:
rjmp dispcc_IAP99
dispcc_IAP20:
lds r16,d_dy
lds r17,d_dz
cpi r17,1
brne dispcc_IAP21
rcall outi_IAP1
rjmp dispcc_IAP30
dispcc_IAP21:
cpi r17,2
brne dispcc_IAP22
rcall outi_IAP2
rjmp dispcc_IAP30
dispcc_IAP22:
cpi r17,3
brne dispcc_IAP23
rcall outi_IAP3
rjmp dispcc_IAP30
dispcc_IAP23:
cpi r17,4
brne dispcc_IAP24
rcall outi_IAP4
rjmp dispcc_IAP30
dispcc_IAP24:
rjmp dispcc_IAP99
dispcc_IAP30:
lds r23,d_b
dispcc_IAP31:
Elpm r16,z+
lds r17,d_c
cpi r17,1
brne dispcc_IAP32;d_c=0;正常显示
com r16
dispcc_IAP32:
lds r17,d_dz
cpi r17,1
brne dispcc_IAP33
rcall outd_IAP1
rjmp dispcc_IAP39
dispcc_IAP33:
cpi r17,2
brne dispcc_IAP34
rcall outd_IAP2
rjmp dispcc_IAP39
dispcc_IAP34:
cpi r17,3
brne dispcc_IAP35
rcall outd_IAP3
rjmp dispcc_IAP39
dispcc_IAP35:
cpi r17,4
brne dispcc_IAP39
rcall outd_IAP4
rjmp dispcc_IAP39
dispcc_IAP39:
dec r23
rcall dllcdcs_IAP
brne dispcc_IAP31
dispcc_IAP40:
lds r16,d_dx
inc r16
sts d_dx,r16
cpi r16,0b10111110
brne dispcc_IAP41
ldi r16,0b10111000
sts d_dx,r16
dispcc_IAP41:
lds r16,d_dx
lds r17,d_dz
cpi r17,1
brne dispcc_IAP42
rcall outi_IAP1
rjmp dispcc_IAP50
dispcc_IAP42:
cpi r17,2
brne dispcc_IAP43
rcall outi_IAP2
rjmp dispcc_IAP50
dispcc_IAP43:
cpi r17,3
brne dispcc_IAP44
rcall outi_IAP3
rjmp dispcc_IAP50
dispcc_IAP44:
cpi r17,4
brne dispcc_IAP45
rcall outi_IAP4
rjmp dispcc_IAP50
dispcc_IAP45:
rjmp dispcc_IAP99
dispcc_IAP50:
lds r16,d_dy
lds r17,d_dz
cpi r17,1
brne dispcc_IAP51
rcall outi_IAP1
rjmp dispcc_IAP60
dispcc_IAP51:
cpi r17,2
brne dispcc_IAP52
rcall outi_IAP2
rjmp dispcc_IAP60
dispcc_IAP52:
cpi r17,3
brne dispcc_IAP53
rcall outi_IAP3
rjmp dispcc_IAP60
dispcc_IAP53:
cpi r17,4
brne dispcc_IAP54
rcall outi_IAP4
rjmp dispcc_IAP60
dispcc_IAP54:
rjmp dispcc_IAP99
dispcc_IAP60:
lds r23,d_b
dispcc_IAP61:
Elpm r16,z+
lds r17,d_c
cpi r17,1
brne dispcc_IAP62
com r16
dispcc_IAP62:
lds r17,d_dz
cpi r17,1
brne dispcc_IAP63
rcall outd_IAP1
rjmp dispcc_IAP69
dispcc_IAP63:
cpi r17,2
brne dispcc_IAP64
rcall outd_IAP2
rjmp dispcc_IAP69
dispcc_IAP64:
cpi r17,3
brne dispcc_IAP65
rcall outd_IAP3
rjmp dispcc_IAP69
dispcc_IAP65:
cpi r17,4
brne dispcc_IAP69
rcall outd_IAP4
rjmp dispcc_IAP69
dispcc_IAP69:
dec r23
rcall dllcdcs_IAP
brne dispcc_IAP61
dispcc_IAP99:
rcall dllcdcs_IAP
ret
;lcd
;- - - - - - - - - - - - - - - - -
lcdbl_on_IAP:
cbi PORTD,BIT5
ret
;- - - - - - - - - - - - - - - - -
lcd_rst_IAP:
; sbrm PORTJ,lcd_res
push r19
; lds r16, PORTJ
; sbr r16,1<<lcd_res
; sts PORTJ,r16
rcall dllcd_IAP
rcall dllcd_IAP
rcall dllcd_IAP
rcall dllcd_IAP
lds r19, PORTJ
cbr r19,1<<lcd_res
sts PORTJ,r19
;cbrm PORTJ,lcd_res
ldi r16,40
rcall delay_IAP
lds r19, PORTJ
sbr r19,1<<lcd_res
sts PORTJ,r19
pop r19
; sbrm PORTJ,lcd_res
ret
;- - - - - - - - - - - - - - - - -
;- - - - - - - - - - - - - - - - -
outi_IAP:
sbi portg,lcd_cs1
nop
nop
sbi portg,lcd_cs2
nop
nop
sbi portd,lcd_cs3
nop
nop
sbi portd,lcd_cs4
nop
nop
push r19
lds r19, PORTJ
sbr r19,1<<lcd_e
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rs
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rw
sts PORTJ,r19
nop
nop
; sbrm portj,lcd_e
; cbrm portj,lcd_rs
; cbrm portj,lcd_rw
out portc,r16
rcall dllcd_IAP
; cbrm portj,lcd_e
lds r19, PORTJ
cbr r19,1<<lcd_e
sts PORTJ,r19
pop r19
rcall dllcd_IAP
cbi portg,lcd_cs1
nop
nop
cbi portg,lcd_cs2
nop
nop
cbi portd,lcd_cs3
nop
nop
cbi portd,lcd_cs4
rcall dllcdcs_IAP
ret
;- - - - - - - - - - - - - - - - -
outi_IAP1:
sbi portg,lcd_cs1
; sbrm portj,lcd_e
; cbrm portj,lcd_rs
; cbrm portj,lcd_rw
push r19
lds r19, PORTJ
sbr r19,1<<lcd_e
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rs
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rw
sts PORTJ,r19
nop
nop
; rcall dllcd_IAP
out portc,r16
rcall dllcd_IAP
;cbrm portj,lcd_e
lds r19, PORTJ
cbr r19,1<<lcd_e
sts PORTJ,r19
rcall dllcd_IAP
cbi portg,lcd_cs1
rcall dllcdcs_IAP
pop r19
ret
;- - - - - - - - - - - - - - - - -
outi_IAP2:
sbi portg,lcd_cs2
; sbrm portj,lcd_e
; cbrm portj,lcd_rs
; cbrm portj,lcd_rw
push r19
lds r19, PORTJ
sbr r19,1<<lcd_e
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rs
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rw
sts PORTJ,r19
nop
nop
out portc,r16
rcall dllcd_IAP
;cbrm portj,lcd_e
lds r19, PORTJ
cbr r19,1<<lcd_e
sts PORTJ,r19
rcall dllcd_IAP
cbi portg,lcd_cs2
rcall dllcdcs_IAP
pop r19
ret
;- - - - - - - - - - - - - - - - -
outi_IAP3:
sbi portd,lcd_cs3
; sbrm portj,lcd_e
; cbrm portj,lcd_rs
; cbrm portj,lcd_rw
push r19
lds r19, PORTJ
sbr r19,1<<lcd_e
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rs
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rw
sts PORTJ,r19
nop
nop
out portc,r16
rcall dllcd_IAP
; cbrm portj,lcd_e
lds r19, PORTJ
cbr r19,1<<lcd_e
sts PORTJ,r19
rcall dllcd_IAP
cbi portd,lcd_cs3
rcall dllcdcs_IAP
pop r19
ret
;- - - - - - - - - - - - - - - - -
outi_IAP4:
sbi portd,lcd_cs4
push r19
; sbrm portj,lcd_e
; cbrm portj,lcd_rs
; cbrm portj,lcd_rw
lds r19, PORTJ
sbr r19,1<<lcd_e
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rs
sts PORTJ,r19
nop
nop
lds r19, PORTJ
cbr r19,1<<lcd_rw
sts PORTJ,r19
nop
nop
out portc,r16
rcall dllcd_IAP
; cbrm portj,lcd_e
lds r19, PORTJ
cbr r19,1<<lcd_e
sts PORTJ,r19
rcall dllcd_IAP
cbi portd,lcd_cs4
rcall dllcdcs_IAP
pop r19
ret
;- - - - - - - - - - - - - - - - -
outd_IAP:
sbi portg,lcd_cs1
sbi portg,lcd_cs2
sbi portd,lcd_cs3
sbi portd,lcd_cs4
; sbrm portj,lcd_e
; sbrm portj,lcd_rs
; cbrm portj,lcd_rw
push r19
lds r19, PORTJ
sbr r19,1<<lcd_e
sts PORTJ,r19
nop
nop
lds r19, PORTJ
sbr r19,1<<lcd_rs
sts PORTJ,r19
nop
nop
lds r19, PORTJ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -