Добавил:
Andrejjavd
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Примеры решения лабораторных работ / Лаб5
.txtС использованием 8-ми разрядных таймеров напишите программу «Задатчик интенсивности»: при подаче сигнала «1» на вход PA0
на выходе таймера T0 (работает в режиме ТТТИМ) линейно изменяется скважность у от 0 до 1 за время 5 с (темп нарастания
задается с помощью таймера Т2, работающего с прерыванием по переполнению). При снятии сигнала PA0 скважность
изменяется от 1 до 0 с тем же темпом.
#include <iom8535v.h>
#include <macros.h>
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x08;
DDRB = 0xFF;
}
void timer_init(void)
{
TCCR0 = 0x00;
TCNT0 = 0x00;
OCR0 = 0x00;
TCCR0 = 0x69;
}
void init_devices(void)
{
CLI();
port_init();
timer_init() ;
SEI();
}
void Delay(int i)
{
if (i==0)
{
OCR0=0XFF;
while (OCR0>0x00)
{
Del();
OCR0--;
}
}
else
{
OCR0=0X00;
while (OCR0<0xFF)
{
Del();
OCR0++;
}
}
}
void Del()
{
int tiks=920000;
while (tiks>0)
tiks--;
}
void main(void)
{
init_devices() ;
if (PORTA==0)
Delay(0);
else
Delay(1);
while(1)
{
}
}
Соседние файлы в папке Примеры решения лабораторных работ