#ifdef ATMEGA16
#include <mega16.h>
// Настройка отдельных кнопок
#define OUT_PORT PORTD // Порт к которому подключены входы светодиодов
#define OUT_DDR DDRD
#define OUT_RESET 0 // Вывод порта для кнопки сброса
#define OUT_US 4 // Вывод порта для кнопки УС
#define OUT_SS 5 // Вывод порта для кнопки СС
#define OUT_RUSLAT 6 // Вывод порта для кнопки РУС/ЛАТ
// Настройка светодиодов
#define LED_PIN PIND // Порт к которому подключены входы светодиодов
#define LED_RUSLAT 1 // Вывод порта для вход индикатора РУС/ЛАТ
#define LED_TAPE 3 // Вывод порта для входа индикатора МАГНИТОФОН
// Настройка подключения клавиатуры
#define PS2_PORT PORTB // Порт к которому подключена клавиатура
#define PS2_PIN PINB
#define PS2_DDR DDRB
#define PS2_CLOCK 3 // Вывод порта для линии данных
#define PS2_DATA 4 // Вывод порта для тактового входа
// Настройка джойстика
#define JOY_PIN PINB // Порт к которому подключен джойстик
#define JOY_UP 0 // Вывод порта для кнопки вверх
#define JOY_DOWN 1 // Вывод порта для кнопки вниз
#define JOY_LEFT 5 // Вывод порта для кнопки влево
#define JOY_RIGHT 6 // Вывод порта для кнопки вправо
#define JOY_FIRE 7 // Вывод порта для кнопки выстрел
// Подключение матрицы
#define DECODE_DDR DDRC
#define DECODE PORTC = data[(unsigned char)PINA];
#endif
//---------------------------------------------------------------------------
#ifdef ATMEGA8
#include <mega8.h>
// Биты порта D
#define OUT_PORT PORTC // Порт к которому подключены перечисленные ниже кнопки
#define OUT_DDR DDRC
#define OUT_US 3 // Вывод порта для кнопки УС
#define OUT_SS 4 // Вывод порта для кнопки СС
#define OUT_RUSLAT 5 // Вывод порта для кнопки РУС/ЛАТ
// Настройка подключения клавиатуры
#define PS2_PORT PORTC // Порт к которому подключена клавиатура
#define PS2_PIN PINC
#define PS2_DDR DDRC
#define PS2_CLOCK 1 // Вывод порта для линии данных
#define PS2_DATA 2 // Вывод порта для тактового входа
// Подключение матрицы. Порт A - вход. Порт D - выход. Только линия D2 перенесена на С0.
#define DECODE_DDR DDRD
#define DECODE PORTD = data[(unsigned char)PINB]; PIND.6=0; if(PORTD.2) PINC.0 = 1; else PINC.0 = 0;
#endif
[свернуть]