#include "lcd_spi.h" #include #include #define SPI_DDR DDRB #define SPI_MOSI DDB3 #define SPI_MISO DDB4 #define SPI_SCK DDB5 #define LCD_CS DDB2 #define LCD_RESET DDB1 #define LCD_CS_1 PORTB |= (1 << LCD_CS); #define LCD_CS_0 PORTB &= ~(1 << LCD_CS); #define LCD_RESET_1 PORTB |= (1 << LCD_RESET); #define LCD_RESET_0 PORTB &= ~(1 << LCD_RESET); void lcd_init(void) { spi_masterInit(); //Reset LCD_RESET_0 _delay_us(200); LCD_RESET_1 _delay_us(5); spi_masterTransmit(0x3A); //_delay_ms(100); spi_masterTransmit(0x09); //_delay_ms(50); spi_masterTransmit(0x06); //_delay_ms(50); spi_masterTransmit(0x1E); //_delay_ms(50); spi_masterTransmit(0x39); //_delay_ms(50); spi_masterTransmit(0x1B); //_delay_ms(50); spi_masterTransmit(0x6E); //_delay_ms(50); spi_masterTransmit(0x57); //_delay_ms(50); spi_masterTransmit(0x72); //_delay_ms(50); spi_masterTransmit(0x37); //_delay_ms(50); spi_masterTransmit(0x0F); //_delay_ms(50); _delay_ms(20); // wait } void spi_masterInit(void) { //Output PINS SPI_DDR |= (1<> 4; while(!(SPSR & (1<