;---------------------------------------------------------------------------------------- .equ t2313 = 0 .equ m48_88_168 = 0 .equ soft_spi = 0 .equ m8 = 1 ;---------------------------------------------------------------------------------------- .if t2313 == 1 .equ lcdato = PORTB ;Port B Daten out .equ lcdati = PINB ;Port B Daten in .equ lcdat = DDRB ;Port B Daten dir .equ lcctlo = PORTA ;Port B (Ausgabe) .equ lcctl = DDRA ;Port B Datenrichtung .equ lc_cs = $00 ;Pinbezeichner LCD-Chipselect .equ lc_rs = $01 ;Pinbezeichner LCD-Registerselect .equ lc_dat = $06 ;Pinbezeichner LCD-SPI Daten .equ lc_clk = $07 ;Pinbezeichner LCD-SPT Takt .endif .if (m48_88_168 == 1)|(m8==1) .equ lcdato = PORTB ;Port B Daten out .equ lcdat = DDRB ;Port B Daten dir .equ lcctlo = PORTB ;Port B (Ausgabe) .equ lcctl = DDRB ;Port B Datenrichtung .equ lc_cs = $00 ;Pinbezeichner LCD-Chipselect .equ lc_rs = $01 ;Pinbezeichner LCD-Registerselect .equ lc_dat = $03 ;Pinbezeichner LCD-SPI Daten .equ lc_clk = $05 ;Pinbezeichner LCD-SPT Takt .endif .if soft_spi==1 .equ lcdato = PORTB ;Port B Daten out .equ lcdat = DDRB ;Port B Daten dir .equ lcctlo = PORTB ;Port B (Ausgabe) .equ lcctl = DDRB ;Port B Datenrichtung .equ lc_cs = $00 ;Pinbezeichner LCD-Chipselect .equ lc_rs = $01 ;Pinbezeichner LCD-Registerselect .equ lc_dat = $03 ;Pinbezeichner LCD-SPI Daten .equ lc_clk = $05 ;Pinbezeichner LCD-SPT Takt .endif ;---------------------------------------------------------------------------------------- .macro set_inst cbi lcctlo,lc_rs .endmacro .macro set_data sbi lcctlo,lc_rs .endmacro .macro dog_enab cbi lcctlo,lc_cs .endmacro .macro dog_disab sbi lcctlo,lc_cs .endmacro ;---------------------------------------------------------------------------------------- lcd_init: push r17 push r18 push ZL push ZH SPI_MasterInit: sbi lcctl,lc_cs ; Outputs setzen sbi lcctl,lc_rs sbi lcdat,lc_dat sbi lcdat,lc_clk .if (m48_88_168 ==1)|(m8==1) ldi r17,(1<