/* * Author: Jake Goodwin * Date: 2022 * Description: Interfacing with a 1602LCD only with the uc no perifs */ #include #include #include #include #define RS_PORT PORTD #define RS_PIN PIND0 #define RS_DDR DDD0 #define RW_PORT PORTD #define RW_PIN PIND1 #define RW_DDR DDD1 #define ENA_PORT PORTD #define ENA_PIN PIND2 #define ENA_DDR DDD2 #define BIT4_PORT PORTD #define BIT4_PIN PIND3 #define BIT4_DDR DDD3 #define BIT5_PORT PORTD #define BIT5_PIN PIND4 #define BIT5_DDR DDD4 #define BIT6_PORT PORTD #define BIT6_PIN PIND5 #define BIT6_DDR DDD5 #define BIT7_PORT PORTD #define BIT7_PIN PIND6 #define BIT7_DDR DDD6 #define LED_PIN PINC0 #define LED_PORT PORTC #define LED_DDR DDC0 //LCD CONNECTIONS //PIND0 RS, H: data input L: Instruction input //PIND1 RW, H: read L: write //PIND2 ENABLE, Enable signal //PIND3 BIT4 //PIND4 BIT5 //PIND5 BIT6 //PIND6 BIT7 //############################# //FUNCTIONS //############################# void init_lcd(void) { DDRD |= (1<