лер Watchdog Timer.
Включення (і перезавантаження) таймера проводиться так:
= 0x1E; = 0xE1;
Якщо даний код не виконується встановлене число машинногоциклу, то відбувається перезавантаження мікроконтролера.
Запишемо в регістр WDTPRG число 7. Тоді число машин циклів протягом яких таймер повинен перезавантажитися буде рано 221-1, що при нашій частоті (11,0592 МГц) відповідає 2.268 секундам. br/>
7. Розробка друкованої плати
Плату системи управління розробляємо на двосторонньому фольгованим склотекстоліт FR-4, товщиною 1.5 мм.
мікроконтролер програма таймер плата
В
Рис. 19 - Розташування корпусів
8. Лістинг
C51 COMPILER V9.50a STARTUP 12/27/2012 1:05:46 PAGE 1
C51 COMPILER V9.50a, COMPILATION OF MODULE STARTUPMODULE PLACED IN STARTUP.OBJINVOKED BY: C: Keil C51 BIN C51.EXE STARTUP.C LARGE BROWSE DEBUG OBJECTEXTEND TABS (2) level source
# include
2 # include // Бібліотека, що містить _nop_
# include
# include
# define E_Strobe E = 1; _nop_ (); E = 0
///----------- АЦП --------------////
sbit CS = P1 ^ 0;
sbit DCLK = P1 ^ 1;
sbit DIN = P1 ^ 2;
sbit BUSY = P1 ^ 3;
sbit DOUT = P1 ^ 4;
///----------- HART Modem --------------////
// sbit RxD = P3 ^ 0;// введення
// sbit TxD = P3 ^ 1;// висновок
// sbit OCD = P3 ^ 2;
sbit RTS = P3 ^ 3;
sbit RST = P3 ^ 6;
///----------- ЦАП --------------////
sbit CLOCK = P1 ^ 5;
sbit DATA = P1 ^ 6;
sbit LATCH = P1 ^ 7;
///----------- Індикатор --------------////
sbit RS = P2 ^ 0;
sbit RW = P2 ^ 1;
sbit E = P2 ^ 3;
sbit BUSY_I = P0 ^ 7;//!!
///----------- глобальні змінні --------------////
31 float I [4];
unsigned char txtbuf1 [10];
unsigned char txtbuf2 [10];
unsigned char txtbuf3 [10];
unsigned char txtbuf4 [10];
//// підпрограма HART
void HART () interrupt 0 using 1// від INT0 P3.2 1 банк <...