Код: Выделить всё
#define RW_READ PORTD|=1<<1
#define RW_WRITE PORTD=PORTD&0xFD;
#define RS_DATA PORTD|=1<<0
#define RS_COMAND PORTD=PORTD&0xFE;
#define DATA_BUS PORTDПочему бы не пользовать вместо этого чем-то более красивым:
Код: Выделить всё
#define LCD_PORT PORTD
#define E (1<<2)
#define RW (1<<1)
#define RS (1<<0)
#define DATA (0xF0)Примеры использования:
Код: Выделить всё
LCD_PORT |= RW; // установили бит RW в 1
LCD_PORT |= E; // установили бит E в 1
LCD_PORT &= ~E; // сбросили бит E в 0
LCD_PORT &= ~DATA; // очистили 4 бита данных
LCD_PORT |= (data & 0xF0); // отправили старшие 4 байта данных в порт
LCD_PORT &= ~DATA; // очистили 4 бита данных
LCD_PORT |= ((data << 4) & 0xF0); // отправили младшие 4 байта данных в порт
горе-специалист