#lgt8f328p, #GPIO
Измените F_CPU в файле lgt8f328p_misc.h в соответствии с вашими настройками.
#ifndef F_CPU
#define F_CPU 16000000UL
#endif
Отредактируйте тактирование в файле main.c
sysClockSource(EXT_OSC); // для внешнего высокоскоростного кварца
sysClockPrescale(SYSCLK_DIV_0); //выбрать предделитель
Настройте порты. Макросы можно подсмотреть в файле lgt8f328p_gpp.h, они там подробно комментированы
gppEnableInput(GPPE, P1); // PE1 вход
gppEnablePullup(GPPE, P1); // внутренний подтягивающий резистор
gppEnableOutput(GPPB, P5); // PB5 выход
gppSetHigh(GPPB, P5); //на выходе (PB5) логическая 1
gppSetLow(GPPB, P5); // на выходе логический 0
gppToggle(LedPort,LedPin); // изменить состояние на противоположное
if(!gppReadSingle(GPPE,P1)) // если на входе (PE1) логический 0
if(gppReadSingle(GPPE,P1)) // если на входе (PE1) логическая 1
Плата изготовлена методом ЛУТ. Микроконтроллер припаян на плату переходника smd-dip. Под платой переходника, на основной плате, спрятались кварцевый резонатор, конденсаторы и резисторы. Семисегментный индикатор с общим катодом.
На основе данной платы можно изготовить часы, термометр, вольтметр.
Разъем для подключения программатора служит одновременно и разъемом питания. Для кнопок необходимо подключить внутренние подтягивающие резисторы микроконтроллера.
Кнопка S1 переключает меню
1 - Установка времени. S2 - часы. S3 - минуты.
2 - Установка будильника. S2 - часы. S3 - минуты.
3 - Статус будильника. S2 - включен. S3 - выключен.
Проект собирается в CodeBlocks + AVR-GCC. Пины можно переназначить в файле lgt8f328p_conf.h.
Полностью проект по ссылке ниже