[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Тумблер 19 апреля 2002 г. 11:53
В ответ на: Поделиться не жалко отправлено Тумблер 19 апреля 2002 г. 11:39

это процедура прерывания 250 мкс (chip at89c55-pi24):
где:
/* период PWM */
#define size_PWM 240

/* этих переменных две - для синхронности изменения значения
с периодом PWM */
extern data byte var_pwm_work;
extern data byte var_pwm;

/* текущее состояние PWM */
extern data byte count_pwm;

/* WARMERON, WARMEROFF - макрокоманды включения/ выключения
нагревателя */

/* начальная инициализация (еще до разрешения прерываний):
count_pwm=size_PWM;
var_pwm=var_pwm_work=0;
*/

interrupt void T0_int (void)
{
/* таймер перезагрузили */
TH0=wdTh;
TL0+=wdTl;

-- count_pwm;
if (var_pwm_work != 0)
{
if (var_pwm_work >= count_pwm)
{
WARMERON
}
}
if (tay_lamp == 0)
{
count_pwm = size_PWM;
if (var_pwm_work < size_PWM)
{
WARMEROFF
}
var_pwm_work = var_pwm;
}
.
.
.
}

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru