#define __AVR_ATmega328P__ #include #define F_CPU 16000000UL #include typedef enum { false, true } bool; typedef enum { INSTRUCTION, DATA = 2 } regselect; typedef enum { WRITE, READ } readwrite; static void setregrw(regselect reg, readwrite rw){ PORTC = (PORTC & ~3) | reg | rw; } #define enablepin(val) val ? (PORTC |= 4) : (PORTC &= ~4); static void wdata(uint8_t data){ DDRD |= 0xF0; enablepin(true); PORTD = data; __asm__ ("nop;"); enablepin(false); } int main(){ DDRC = 0x07; DDRD = 0x08; //PORTD = 0x08; _delay_ms(10000); return 0; }