Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
26.01.2023
Размер:
1.31 Кб
Скачать
2.	 Измените эту программу следующим образом: входной сигнал - 0 бит
порта В, выход - порт С. В исходном состоянии при PB0=0 на выходе порта С
включены два младших светодиода, при включении бита PB0=1 включаются два
старших разряда.

*/

#include <iom8535v.h>	//	включение файлов для контроллера ATmega8535
#include <macros.h>


void port_init(void) // определение функции инициализации портов вв/выв
{
PORTB =	0xFF;	//	включение подтягивающих резисторов	порта B
DDRB =	0x00;	//	порт B	работает	на вход (DDRA=0000	0000)
PORTC =	0x00;	//	запись	в порт C	нулевого значения
DDRC =	0xFF;	//	порт C	работает	на выход (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 ( (PINB&1)!=0)	//	если 0 бит на входе порта B	отличен от нуля,
        PORTC=0xC0;	//	то на выходе PORTC=1100 0000
    else
        PORTC=0x03;	// иначе PORTD=0000 0011
    }
}
Соседние файлы в папке LABA1