Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
26.01.2023
Размер:
1.36 Кб
Скачать
С использованием 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)
 {
 }
}
Соседние файлы в папке Примеры решения лабораторных работ