- •1. Операторы выбора языка c51: if и switch.
- •2. Операторы цикла языка с51: while, do…while, for.
- •3. Операторы перехода языка с51: break, continue, goto.
- •4. Программирование параллельным вводом/выводом в с51: операторы управления портами и отдельными разрядами портов. Примеры программ управления светодиодами и опроса контактов переключателей.
- •/* Программа управления светодиодом vd1 от кнопки sb1 */
- •5. Программирование таймеров микроконтроллеров mcs-51 на языке с51.
- •6. Программирование системы прерываний микроконтроллеров mcs-51 на языке с51.
- •7. Программирование последовательного ввода/вывода микроконтроллеров mcs-51 на языке с51.
- •8. Микроконтроллеры pic18: общая характеристика, особенности архитектуры и системы команд.
- •9. Язык с18 для pic-микроконтроллеров: структура программы, директивы препроцессора, ключевые слова.
- •10. Представление информации в языке с18: типы данных, переменные и константы.
- •11. Операции арифметические, поразрядные логические, логические и отношения в языке с18.
- •12. Операторы управления вычислительным процессом в языке с18.
- •13. Функции в языке с18: определение функции, прототип, библиотечные функции.
- •14. Функции формирования временных задержек в языке с18.
- •15. Программирование на языке с18 типовых функций управления и контроля: вывод информации в порт, управление отдельными разрядами портов, опрос переключателя.
- •16. Подключение жк-дисплея к pic-микроконтроллеру: структура жк-дисплея, функции управления дисплеем.
- •17. Аналого-цифровое преобразование в pic-микроконтроллерах: структура внутреннего ацп, функции управления ацп на языке с18.
- •18. Реализация широтно-импульсной модуляции в pic-микроконтроллерах: параметры шим, функции управления шим на языке с18.
- •Void ClosePwm1(void);
- •Void OpenPwm1(char period);
- •Void SetDcpwm1(unsigned int dutycycle);
- •19. Прерывания в pic18: источники прерываний, управляющие биты, программирование прерываний на языке с18.
- •20. Динамическое управление линейным дисплеем на семисегментных индикаторах в pic-микроконтроллерах.
- •21. Интерфейсы мпс: понятие и характеристики. Стандартные интерфейсы мпс.
- •22. Внешние интерфейсы мпс: основные параметры, последовательные и параллельные, синхронные и асинхронные, способы соединения устройств.
- •23. Интерфейс rs-232: назначение, основные технические характеристики, принципы передачи данных.
- •24. Интерфейс ирпс: назначение, основные технические характеристики, принципы передачи данных.
- •25. Интерфейсы rs-422 и rs-485: назначение, основные технические характеристики, принципы передачи данных.
- •26. Интерфейс spi: назначение, основные технические характеристики, принципы передачи данных.
- •27. Интерфейс i2c: назначение, основные технические характеристики, принципы передачи
- •28. Интерфейс can: общее описание и основные параметры, виды и форматы сообщений в can.
- •29. Интерфейс can: арбитраж, обнаружение и обработка ошибок, скорость передачи и длина сети.
/* Программа управления светодиодом vd1 от кнопки sb1 */
#include<reg51.h>
sbit P1_0 = P1^0;
sbit P2_0 = P2^0;
void main(void)
{
bit bit1_0;
while( 1 )
{
while(( bit1_0 = P1_0) == 1); // ожидание замыкания контакта SB1
P2_0 = 0; // зажечь светодиод
while(( bit1_0 = P1_0) == 0); // ожидание размыкания контакта SB1
P2_0 = 1; // погасить светодиод
}
}
5. Программирование таймеров микроконтроллеров mcs-51 на языке с51.
В микроконтроллерах семейства MCS-51 серии 8051 имеются два программируемых 16-битных таймера/счетчика (T/C0 и T/C1), которые могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое T/C инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резонатора. При работе в качестве счетчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий вывод МК (Т0 или Т1).
Для управления режимами работы T/C и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций TMOD – регистр режима и TCON – регистр управления.
Регистры самих таймеров/счетчиков являются также регистрами специальных функций и обозначаются
для T/C0 : TL0 – младший, TH0 – старший
для T/C1: TL1 – младший , TH1 – старший.
Формат регистра режима таймера /счетчика TMOD:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Разряды |
GATE |
C/ T |
M1 |
M0 |
GATE |
C/ T |
M1 |
M0 |
|
--------------------------------- -------------------------------------
T/C1 T/C0
GATE – управление внешней блокировкой T/C, при установке разрешает внешнему входу блокировать счетT/C, при этом единичное значение входа разрешает счёт, нулевое – запрещает;
С/– выбор режима работы Т/С: 0 – таймер, 1 – счетчик;
М1, М0 – выбор одного из четырех режимов работы Т/С:
00 – режим 0, 01 – режим 1, 10 – режим 2, 11 – режим 3.
Формат регистра управления/состояния таймера/счетчика TCON:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Разряды |
TF1 |
TR1 |
TF0 |
TR0 |
IE1 |
IT1 |
IE0 |
IT0 |
|
TF1, TF0 – флаги переполнения Т/С1, Т/С0, устанавливаются при переполнении Т/С, сбрасываются при входе в подпрограмму обслуживания прерывания;
TR1, TR0 – управление пуском/остановом Т/С1 и Т/С0: 1 – счет, 0 – останов;
IE1, IE0 – флаг внешнего прерывания, устанавливается при переходе сигнала из 1 в 0 на входах и, сбрасывается при выходе из подпрограммы обслуживания прерывания;
IT1, IT0 – управление типом прерывания, прерывание фиксируется: 1 – по спаду, 0 – по нулю на входах и.
Наиболее часто в программах управления и контроля таймеры/счетчики используются в режиме 1, т.е. как 16-разрядные, регистры THx и TLx включены последовательно. В этом режиме таймер может считать от 0 до 65535, т.е. от 0000H до FFFFH. При переходе из состояния «все единицы» в состояние «все нули» устанавливается флаг переполнения TFx, одновременно вырабатывается запрос прерывания. Разрешение и запрещение прерываний от таймеров/счетчиков выполняется битами регистра разрешения прерываний IE.