Лабораторная работа 6 На тему " Таймеры микроконтроллера км1816Е51 " Выполнил студент гр. 3755 Сидорович Е. М проверил преподаватель
Скачать 15.27 Kb.
|
ПРАВИТЕЛЬСТВО САНКТ-ПЕТЕРБУРГА КОМИТЕТ ПО НАУКЕ И ВЫСШЕЙ ШКОЛЕ СПб ГБОУ СПО “Петровский колледж” Лабораторная работа №6 На тему: “Таймеры микроконтроллера КМ1816Е51” Выполнил студент гр. 3755 Сидорович Е.М Проверил преподаватель: Рудаков А.В. Санкт-Петербург 2021 Цель работы: Изучение организации службы времени МК КМ1816ВЕ51, а также приобретение навыков программирования временных задержек в кодах микроконтроллера с использованием службы времени. Задание: Написать систему программ, которая выполняет следующие функции: Обработчик прерывания от таймера 0 инкрементирует содержимое ячейки ADRT и загружает начальное состояние в регистр TL0. Первая программа выполняет циклический анализ содержимого ADRT и вызывает подпрограмму вывода массива кодов в порт. Программа располагается в CSEG, начиная с адреса ADR0. Программа должна состоять из двух частей. Первая часть – инициализация системы, вторая – анализ содержимого ADRT и вызов подпрограммы. Вторая программа – должна располагаться в памяти CSEG, начиная с адреса ADR1. Она должна при каждом обращении передавать в порт P1 массив кодов длиной N, расположенный в CSEG, начиная с адреса ADR2. Начальный код в таймере и константа сравнения должны быть выбраны так, чтобы вызов подпрограммы выполнялся каждые 1 мкс. Считаем, что частота OSC/12 = 1 Мгц. Вход в систему программ по команде LJMP ADR0, расположенной в CSEG по адресу 0000H Массив кодов должен соответствовать массиву программы 2 из лабораторной работы номер 5.
Код лабораторной работы ORG 0000H LJMP M1 ORG 000BH MOV T10, #9BH INC 35H RETI ORG 02BEH M1: MOV DPTR, #0782H MOV TL0, 9BH MOV TMOD, #02H MOV IE, #82H MOV TCON, #10H NOP M2: MOV A, 35H CJNE A, #0FH, M2 MOV 35H, #00H LCALL prog SJMP M2 NOP ORG 04BEH prog: SETB PSW.3 SETB PSW.4 MOV R0, #00H M3: MOV A, R0 MOVC A, A+DPTR INC R0 MOV P1, A CJNE R0, #0DH, M3 RET ORG 0782H DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,10H,11H,12H Вывод: в ходе выполнения данной лабораторной работы я приобрел навыки программирования временных задержек в кодах микроконтроллера с использованием службы времени, а также произвел проверку кода на правильность в специальном компиляторе FD51 |