- •Вариант 1
- •1. Идентификаторы типа данных передаваемые через порт p0. Данный ответ совсем не понятен, гадайте сами, что авторы имели ввиду
- •2. Механизм прерываний. Прерывания по уровню (организация, обработка, применение).
- •3. Таймеры. Т0 как таймер.
- •4. Режимы работы, orl pcon,#02h
- •Вариант 5
- •2. Механизм прерываний. Способы уменьшения числа прерываний при обмене
- •3. Таймер т2 как генератор сигналов
- •4. Режимы работы. Способы выода из режима пониженного энергопотребления.
- •Билет 6
- •Вариант 7
- •1 Порты Устройство портов
- •2 Механизм прерываний. Как можно увеличить число внешних прерываний за счет таймера то?
- •3 Таймеры. Сторожевой таймер (аппаратурное решение).
- •4 Система команд. Как изменится состояние psw после команды orl a,#01h?
- •Билет 8
- •Вариант 9
- •1 Порты. Какое состояние выводов имеет порт ро микроконтроллера i80c5l по включению питания?
- •2 Механизм прерываний. Как можно увеличить число внешних прерываний за счет таймера т2?
- •3 Таймеры. То как измеритель длительности импульса
- •4 Система команд. Как изменится состояние асс после команды xrl a,#01h?
- •Билет 10
- •Билет 11
- •Билет 12
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •4.Порты. Откуда поступает старший байт адреса на выводы порта р2 при выполнении команды movx @r0,a?
- •Вариант 17
- •Режим захвата.
- •Режим 16-разрядного программируемого таймера.
- •Режим скоростного вывода.
- •Вариант18
- •4.Режимы работы. Once
- •Вариант19
- •Билет 20
- •Вариант 2i
- •1. Порты. Напишите программу формирования одиночного импульса на выводе p1.0
- •Вариант 22
- •Билет 31
Вариант 14
Модуль РСА как сторожевой таймер
Сторожевой таймер - это схема, которая автоматически сбрасывает микроконтроллер, если не получает от управляемой системы сигнала, который подтверждает, что не произошло никакого сбоя. Такое устройство используется в системах, (где есть электрические помехи или сбои по питанию и, где нужно обеспечить большую надежность.) В режиме сторожевого таймера может работать только четвертый модуль. Сигнал сброса срабатывает всякий раз, когда происходит совпадение значения РСА таймера-счетчика со значением регистров ССАР4Н, CCAP4L (см. рисунок). Бит WDTE в регистре CMOD устанавливает этот режим. При этом четвертый модуль должен находиться или в режиме программируемого таймера, или скоростного вывода. Имеет наименьший приоритет, запускается программно
[CMOD]=40h, [CCAPM4]=48h.
MOV CL, #00h;
MOV CH, #00h;
MOV CCAP4L, #00h;
MOV CCAP4H, #00h;
MOV CCAPM4, #48h; (01001000b)
MOVCMOD, #40h; (01000000b)
CLR IE.7; (IE.7 – бит снятия блокировки прерываний(0 – запрет всех прерываний))
MOV CCAP4L, #00h;
MOV CCAP4H, CH;
SETB IE.7;
Последовательный связной адаптер. Рассчитайте частоту кварцевого резонатора для обмена со скоростью 19 200 бод (для микроконтроллера с предельной частотой 12 МГц).
A: Fv=( fосц/12)*(2/64)*(1/(256-TH1))
Если говорить о 51-ом, то такую скорость не получить, т.к. если используется Т1 при такой частоте тактового генератора контроллера, то нет такого значения TH1.
2/32*(12МГц/(12*(256-TH1)))=BaudRate
1/16*(1000000/(256-TH1))=BaudRate
16*BaudRate=1000000/(256-TH1)
16*19200=1000000/(256-TH1)
256-TH1=1000000/(16*19200)=3,255
TH1=256-3.255=252.745
Ближайшее целое это 253, при этом скорость будет уже не 19200, а 20833 и работа, например, с компьютером без специальных средств невозможна (нестандартная частота).
А вообще если 19200, то частота будет 10/8*19200=24кГц (т.к. в простом случае боды это скорость передачи данных, а у нас на каждые 8 бит приходится еще 2 бита служебных стоп-старт битов, значит передаем 10, значит частота выше в 10/8 раза)
Память. Способы доступа к внутренней памяти с адреса 80h по FFh
Ячейки с адресами 80h-FFh – 1 байт в области регистров специальных функций SFR. Допускают байтовую и побитовую адресацию. Используется лишь прямая адресация при обращении. Те ячейки памяти, которые не заняты регистрами, физически отсутствуют на кристаллах МК семейства 8051 при обращении к ним можно прочитать лишь команды возврата, косвенная в верхней области ОЗУ. Т.е. эти 2 области занимают одно и то же адресное пространство, хотя и разделены физически. В итоге к SFR прямая, а к памяти только косвенная!
Порты. Напишите программу формирования одиночного импульса на выводе р1.0
CLR P1.0 // Сброс бита в 0
SETB P1.0 // Установка бита в 1
CLR P1.0
Вариант 15
Модуль РСА как генератор сигналов.
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;
Последовательный связной адаптер. Как организовать прием и передачу данных на разных частотах одновременно?
Как организовать прием и передачу данных на разных частотах одновременно?
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
Память. Способы доступа к внешней памяти данных
Обратиться можно 2-мя способами:
1) через указатель: MOVX A, @DPTR –с использованием двухбайтового адреса, обмен идёт только через аккумулятор.
2) косвенно, через MOVX A, @Ri – с использованием однобайтового адреса, где Ri (i=0,1) – регистры R0,R1.
Обмен идёт только через аккумулятор. При использовании DPTR: старший байт в P2, младший в P0.
Порты. Изобразите схему подключения светодиода к выводу p1.0 микроконтроллера i80C51
К порту более предпочтительный ид подключения, т.к. порт имеет малый выходной ток.
От порта