Добавил:
Andrejjavd
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Примеры решения лабораторных работ / LABA1 / 1_1
.txt1. Наберите программу «Пример 1» и выполните все этапы составления
программы. Проверьте правильность исполнения программы на контроллере.
*/
#include <iom8535v.h> // включение файлов для контроллера ATmega8535
#include <macros.h>
void port_init(void) // определение функции инициализации портов вв/выв
{
PORTA = 0xFF; // включение подтягивающих резисторов порта А
DDRA = 0x00; // порт А работает на вход (DDRA=0000 0000)
PORTD = 0x00; // запись в порт D нулевого значения
DDRD = 0xFF; // порт D работает на выход (DDRD=1111 1111)
}
void init_devices(void)// инициализация всех периферийных устройств
{
CLI(); // запрет действия прерываний
port_init(); // вызов функции инициализации портов
MCUCR = 0x00;
GICR = 0x00;
TIMSK = 0x00; // нет прерываний от таймера
SEI(); // разрешение действия прерываний
}
void main(void) // определение главной функции
{
init_devices(); // вызов функции инициализации периферийных устройств
while (1) // создание бесконечного цикла работы контроллера
{
if ( (PINA&4)!=0) // если 2 бит на входе порта A отличен от нуля,
PORTD=0xF0; // то на выходе PORTD=1111 0000
else
PORTD=0x0F; // иначе PORTD=0000 1111
}
}