📄 iap.inc
字号:
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
nop
nop
cbi portg,lcd_cs1
cbi portg,lcd_cs2
cbi portd,lcd_cs3
cbi portd,lcd_cs4
rcall dllcdcs_IAP
pop r19
ret
;- - - - - - - - - - - - - - - - -
outd_IAP1:
sbi portg,lcd_cs1
; 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
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
nop
nop
cbi portg,lcd_cs1
rcall dllcdcs_IAP
pop r19
ret
;- - - - - - - - - - - - - - - - -
outd_IAP2:
sbi portg,lcd_cs2
; 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
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
nop
nop
;rcall dllcd_IAP
cbi portg,lcd_cs2
rcall dllcdcs_IAP
pop r19
ret
;- - - - - - - - - - - - - - - - -
outd_IAP3:
sbi portd,lcd_cs3
nop
nop
; 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
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
nop
nop
; rcall dllcd_IAP
cbi portd,lcd_cs3
rcall dllcdcs_IAP
pop r19
ret
;- - - - - - - - - - - - - - - - -
outd_IAP4:
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
nop
lds r19, PORTJ
cbr r19,1<<lcd_rw
sts PORTJ,r19
nop
nop
nop
out portc,r16
rcall dllcd_IAP
lds r19, PORTJ
cbr r19,1<<lcd_e
sts PORTJ,r19
nop
nop
;cbrm portj,lcd_e
; rcall dllcd_IAP
cbi portd,lcd_cs4
rcall dllcdcs_IAP
pop r19
ret
;- - - - - - - - - - - - - - - - -
dllcd_IAP:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
ret
;- - - - - - - - - - - - - - - - -
dllcdcs_IAP:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
ret
;- - - - - - - - - - - - - - - - -
lcdinit_IAP:
ldi r16,0x3f
rcall outi_IAP
rcall dllcd_IAP
rcall dllcd_IAP
ldi r16,0xc0
rcall outi_IAP
rcall dllcd_IAP
rcall dllcd_IAP
ldi r16,0b10111000
rcall outi_IAP
rcall dllcd_IAP
rcall dllcd_IAP
ldi r16,0b01000000
rcall outi_IAP
rcall dllcd_IAP
rcall dllcd_IAP
ret
;- - - - - - - - - - - - - - - - -
;;清屏程序
clrdi_IAP:
ldi r17,0b10111000
ldi r23,8
clrdi_IAP1:
mov r16,r17
rcall outi_IAP
ldi r16,0b01000000
rcall outi_IAP
ldi r22,64
clrdi_IAP2:
ldi r16,0x0
rcall outd_IAP
dec r22
brne clrdi_IAP2
inc r17
dec r23
brne clrdi_IAP1
ret
IO_INIT_IAP:
; cbrio MCUCR,PUD;;全体I/O上拉
in r16,MCUCR
cbr r16,1<<PUD
out MCUCR,r16
; 165clk 165pl IRC HOPC DSP_RST IRBR_C IRBL_C IRAL_C
ldi r16,(1<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
out DDRA,r16
out PORTA,r16
; MRL TFD TFC_M TFD_M MISO MOSI SCK SS
ldi r16,(0<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(1<<BIT2)|(1<<BIT1)|(1<<BIT0)
out DDRB,r16
out PORTB,r16
; DB0-DB7
ldi r16,(1<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(1<<BIT2)|(1<<BIT1)|(1<<BIT0)
out DDRC,r16
out PORTC,r16
; CS3 CS4 LCD_SWITCH MTC22 TXD1 RXD1 MRR2 MRR
ldi r16,(1<<BIT7)|(1<<BIT6)|(1<<BIT5)|(0<<BIT4)|(1<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
out DDRD,r16
out PORTD,r16
; MTC11 ENC_MAIN ENC_CT3 ENC_CT2 外显清0 IRDR_C IRDL_C IRCL_C
ldi r16,(0<<BIT7)|(0<<BIT6)|(0<<BIT5)|(0<<BIT4)|(1<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
out DDRE,r16
out PORTE,r16
; TDI TDO TMS TCK IRCR IRCL STAU_AD STAD_AD
ldi r16,(0<<BIT7)|(0<<BIT6)|(0<<BIT5)|(0<<BIT4)|(0<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
out DDRF,r16
out PORTF,r16
; IRCR_C SPD_B SPD_A 165DAT CS1 CS2
ldi r16,(0<<BIT5)|(1<<BIT4)|(1<<BIT3)|(0<<BIT2)|(1<<BIT1)|(1<<BIT0)
out DDRG,r16
ldi r16,(0<<BIT5)|(1<<BIT4)|(1<<BIT3)|(1<<BIT2)|(1<<BIT1)|(1<<BIT0)
out PORTG,r16
; TFC SW 外显计数 CT3LR CT1LR CTS TXD2 RXD2
ldi r16,(1<<BIT7)|(0<<BIT6)|(1<<BIT5)|(0<<BIT4)|(0<<BIT3)|(1<<BIT2)|(1<<BIT1)|(0<<BIT0)
sts DDRH,r16
sts PORTH,r16
; IRBR_C RS R/W E LCD_RST MRL2 TXD0 RXD0
ldi r16,(0<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(0<<BIT2)|(1<<BIT1)|(0<<BIT0)
sts DDRJ,r16
sts PORTJ,r16
; HOP_AD ADUVA IRBR IRAL IRAR IRBL IRDR IRDL
ldi r16,(0<<BIT7)|(0<<BIT6)|(0<<BIT5)|(0<<BIT4)|(0<<BIT3)|(0<<BIT2)|(0<<BIT1)|(0<<BIT0)
sts DDRK,r16
sts PORTK,r16
; SDA SCLSPD2 FM SPD1 BMC MTC1 MTC2
ldi r16,(0<<BIT7)|(1<<BIT6)|(1<<BIT5)|(1<<BIT4)|(1<<BIT3)|(1<<BIT2)|(0<<BIT1)|(0<<BIT0)
sts DDRL,r16
sts PORTL,r16
ret
CLOSED_IAP:
;sbrm PORTH,BIT7 ;TFD + =0
cli
lds r16,PORTH
sbr r16,1<<BIT7
sts PORTH,r16 ;;TFD + =0
NOP
sbi PORTB,BIT6 ;TFD - =0;断电
NOP
lds r16,PORTL
cbr r16,1<<BIT2
sts PORTL,r16 ;BMC_ON;关电机
cbi PORTB,(BIT5)
nop
cbi PORTB,(BIT4);;关进钞电机
ret
delay_IAP: push r16 ;2t
delay_IAP1: push r16 ;2t
delay_IAP2: push r16 ;2t
delay_IAP3: dec r16 ;1t
brne delay_IAP3 ;1t/2t
pop r16 ;2t
dec r16 ;1t
brne delay_IAP2 ;1t/2t
pop r16 ;2t
dec r16 ;1t
brne delay_IAP1 ;1t/2t
pop r16 ;2t
ret ;4t
;- - - - - - - - - - - - - - - - - -
tabec_IAP:
;41 'A' 00
.db 0xe0,0xf0,0x98,0x8c,0x98,0xf0,0xe0,0x00
.db 0x0f,0x0f,0x00,0x00,0x00,0x0f,0x0f,0x00
;52 'R' 01
.db 0x04,0xfc,0xfc,0x44,0xc4,0xfc,0x38,0x00
.db 0x08,0x0f,0x0f,0x00,0x00,0x0f,0x0f,0x00
;44 'D' 02
.db 0x04,0xfc,0xfc,0x04,0x0c,0xf8,0xf0,0x00
.db 0x08,0x0f,0x0f,0x08,0x0c,0x07,0x03,0x00
;45 'E' 03
.db 0x04,0xfc,0xfc,0x44,0xe4,0x0c,0x1c,0x00
.db 0x08,0x0f,0x0f,0x08,0x08,0x0c,0x0e,0x00
;47 'G' 04
.db 0xf0,0xf8,0x0c,0x84,0x84,0x8c,0x98,0x00
.db 0x03,0x07,0x0c,0x08,0x08,0x07,0x0f,0x00
;49 'I' 05
.db 0x00,0x00,0x04,0xfc,0xfc,0x04,0x00,0x00
.db 0x00,0x00,0x08,0x0f,0x0f,0x08,0x00,0x00
;4e 'N' 06
.db 0xfc,0xfc,0x38,0x70,0xe0,0xfc,0xfc,0x00
.db 0x0f,0x0f,0x00,0x00,0x00,0x0f,0x0f,0x00
;50 'P' 07
.db 0x04,0xfc,0xfc,0x44,0x44,0x7c,0x38,0x00
.db 0x08,0x0f,0x0f,0x08,0x00,0x00,0x00,0x00
;55 'U' 08
.db 0xfc,0xfc,0x00,0x00,0x00,0xfc,0xfc,0x00
.db 0x07,0x0f,0x08,0x08,0x08,0x0f,0x07,0x00
;57 'W' 09
.db 0xfc,0xfc,0x00,0xc0,0x00,0xfc,0xfc,0x00
.db 0x07,0x0f,0x0e,0x03,0x0e,0x0f,0x07,0x00
;3a ':' 0a
.db 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00
.db 0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00
;20 ' ' 0b
.db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
.db 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
UPGRADE: .db 0x08,0x07,0x04,0x01,0x00,0x02,0x03,0x0b
UPGRADING: .db 0x08,0x07,0x04,0x01,0x00,0x02,0x05,0x06,0x04,0x0b
ERR_IAP1: .db 0x03,0x01,0x01,0x0A,0x01,0x0b;ERR:R
ERR_IAP2: .db 0x03,0x01,0x01,0x0A,0x00,0x0b;ERR:A
ERR_IAP3: .db 0x03,0x01,0x01,0x0A,0x09,0x0b;ERR:W
fver:
.db 0x00,0x01,0x00,0x00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -