Головна |
DSEG
PULSE EQU 2000
PAUSE EQU 8000
FLAG BIT 00h // прив'язує наступну // команду жорстко до пам'яті
CSEG
ORG 0000h
AJMP BEGIN
ORG 0033h
AJMP PCA_ISR
ORG 0100h
BEGIN: // настройка і запуск
MOV CL, # 00h;
MOV CH, # 00h;
MOV CMOD, # 00h; // WDTE = 0, // clock = fosc / 12
MOV CCAPM0, # 4Dh;
MOV CCAP0L, #LOW (PULSE)
MOV CCAP0H, #HIGH (PULSE)
SETB IE.6;
SETB IE.7;
SETB CCON.6; // Запуск PCA масиву (CR)
ORG 0200h
PCA_ISR:
CLR CCF0
PUSH ACC;
PUSH PSW;
JNB P1.3, MINUS // перевіряємо стан біта
PULSE:
MOV A, CCAP0L;
ADD A, #LOW (PULSE); // При записі молодшого байта
MOV CCAP0L, A; // Компаратор вимикається
MOV A, CCAP0H;
ADD A, #HIGH (PULSE);
MOV CCAP0H, A;
POP PSW;
POP ACC;
RETI; // Інакше наступне переривання не буде сприйнято
MINUS:
MOV A, CCAP0L;
ADD A, #LOW (PAUSE); // Кожен раз при перериванні
MOV CCAP0L, A; // Перевіряється стан
MOV A, CCAP0H; // Виведення P1.3 (програмно)
ADD A, #HIGH (PAUSE); // Якщо 1, то додаємо
MOV CCAP0H, A; // Тривалість 8 мс
POP PSW; // Якщо 0 - тривалість імпульсу 2 мс
POP ACC;
RETI;
2. Послідовний зв'язковий адаптер. Як організувати прийом і передачу даних на різних частотах одночасно?
Як організувати прийом і передачу даних на різних частотах одночасно?
T2MOD = 0x00;
PCON = 0x80; // Біт SMOD. Подвоєння швидкості обміну UART
SCON = 0x58; // Настройка UART. Режим 1 - 9-біт, дозвіл прийому, 9-й біт = 1 (0101 1000)
TH2 = RCAP2H = 0xff; // Завантаження Т2 виходячи з обраної швидкості обміну-115200
TL2 = RCAP2L = 0xfa; //
TH1 = ...
T2CON = 0x ...; // Настройка Т2. Т2-генератор, що задає UART (0011 0000), - T2CON.4 - біт синхронізації передавача. Якщо 1, то T1 не використовується. T2CON.5 - біт синхронізації приймача
RCLK | T2CON.5 | Вибір таймера / лічильника 2 для завдання швидкості роботи приймача в режимах 1 і 3. При RCLK = 1 використовується таймер / лічильник 2, при RCLK = 0 - таймер / лічильник 1 |
TCLK | Т2СОN.4 | Вибір таймера / лічильника 2 для завдання швидкості роботи передавача в режимах 1 і 2. При TCLK = 1 використовується таймер / лічильник 2, при TCLK = 0 - таймер / лічильник 1 |
TI = RI = 0; // Cброс прапорів переривання UART
TR2 = 1;
// Настройка переривань
IE = 0x90; // Загальна, UART
Послідовний зв'язковий адаптер. Розрахуйте частоту кварцового резонатора для обміну зі швидкістю 19 200 бод (для мікроконтролера з граничною частотою 12 МГц). | Порти. Зобразіть схему підключення світлодіода до висновку p1.0 мікроконтролера i80C51
РЕЖИМИ РОБОТИ. СПОСОБИ виодіт ІЗ режим зниженого енергоспоживання. | Таймери. Т2 як вимірювач тривалості періоду. | Режими роботи. Способи виходу з режиму холостого ходу. | пристрій портів | Таймери. Сторожовий таймер (апаратурне рішення). | Коли таймер Т2 в режимі генератора швидкості обміну даними | Таймери. ТО як вимірювач тривалості імпульсу | Перекласти таймер T0 в шестнадцатіразрядний режим; | Таймери. Т1 як вимірювач тривалості імпульсу | Послідовний зв'язковий адаптер. Асинхронний обмін. |