Главная » Просмотр файлов » А.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр

А.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр (1186478), страница 7

Файл №1186478 А.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр (А.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр) 7 страницаА.П.Евдокимов, Л.Л.Владимиров Программирование микроконтроллера К1986ВЕ92QI компании Миландр (1186478) страница 72020-08-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 7)

Рассчитайте частоту как величину обратную периоду.9. Напишите и испытайте программу, по которой средний уровень сигнала будет плавно уменьшаться, а затем резко возрастать.10. Напишите и испытайте программу, по которой средний уровень сигнала сначала будет плавно возрастать, а затем плавно уменьшаться.КОНТРОЛЬНЫЕ ВОПРОСЫ1. Что называют широтно-импульсной модуляцией и где онаприменяется?2.

Какой блок микроконтроллера может работать в режимеШИМ?3. Какие выводы микроконтроллера могут передавать сигналыШИМ?4. Как установить период ШИМ?5. Как установить длительность импульса в режиме ШИМ?6. Поясните логику работы программы, приведенной в даннойлабораторной работе.51ЛАБОРАТОРНАЯ РАБОТА 7.ИНДИКАЦИЯЦЕЛЬ РАБОТЫИзучить принцип действия жидкокристаллического (ЖК) модуля MT-12864J.

Научится выводить информацию на экран модуля.ТЕОРЕТИЧЕСКАЯ ЧАСТЬЖидкокристаллический модуль MT–12864J (поз. 11 на рисунке1.3) состоит из двух встроенных контроллеров управления и ЖКпанели (экрана). Каждой светящейся точке на экране соответствуетлогическая единица в ячейке оперативного запоминающего устройства (ОЗУ) модуля.00123456701234567Контроллер 112∙∙∙63Страница 0Страница 0Страница 1Страница 1∙∙∙012345670Контроллер 212∙∙∙63∙∙∙Страница 7Страница 7Рисунок 7.1 – Структура экрана ЖК-модуля MT-12864J52Экран, как и ОЗУ, имеет структуру, показанную на рисунке 7.1.Экран делится на две половины: левую, которой управляет контроллер 1, и правую, которой управляет контроллер 2.

Каждая половинаэкрана состоит из 8 страниц: страница 0, страница 1, ..., страница 7.Каждая страница содержит восемь строк (номера от 0 до 7) и 64 колонки (номера от 0 до 63). Таким образом на экране расположено 64 х2 = 128 колонок и 8 х 8 = 64 строки – всего 128 х 64 = 8192 элемента(пикселя) экрана. Такое количество элементов позволяет выводить наэкран не только знаковую информацию, но и примитивные рисунки.Для работы с ЖК-модулем компанией «Миландр» разработанабиблиотечная программа lcd.c, основные функции которой мы иизучим.Начнем с классического приветствия программистов «Привет,мир!»:#include <MDR32F9Qx_port.h>#include <MDR32F9Qx_rst_clk.h>#include "lcd.h"int main(void){LCD_Init();LCD_PutString("Привет, мир!", 3);while (1){}}Сначала подключаются файлы, необходимые для работы портов, задающего генератора и ЖК-модуля. Затем вызывается функцияLCD_Init(), позволяющая работать с экраном, и функцияLCD_PutString("Привет, мир!", 3), позволяющая вывести целуюстрочку символов.

Последняя функция имеет следующее описание:void LCD_PutString(char* string, uint8_t y);из которого нам важно понять лишь то, что вместо указателя на массив со строкой char* string следует в кавычках записать желаемыйтекст, вместо беззнаковой переменной y – номер страницы экрана от 0до 7, поскольку один символ по вертикали занимает 8 пикселей, тоесть высота символа равна высоте страницы.

Изменяя значение y,можно смещать текст на экране по вертикали. К слову сказать, по го53ризонтали один символ занимает также 8 пикселей, то есть при 128колонках на экране в одном ряду может разместится 128 : 8 = 16 символов, или знакомест.Полезными могут оказаться и другие функции.void LCD_ClearString(uint8_t y);Функция позволяет очистить страницу экрана от текста, т.е. удалитьстрочку текста с экрана. Здесь y – номер страницы от 0 до 7.// Пример использованияLCD_ClearString(3);void LCD_ScrollString(char* string, uint8_t y, uint8_t direction);Функция позволяет осуществить перемещение строчки текста («прокрутку») на одно знакоместо влево – LCD_SCROLL_LEFT и вправо –LCD_SCROLL_RIGHT.// Примеры использованияLCD_ScrollString("Привет, мир!", 3, LCD_SCROLL_LEFT);LCD_ScrollString("Привет, мир!", 3, LCD_SCROLL_RIGHT);Скорость перемещения по экрану можно регулировать, включая задержки после исполнения функции.void LCD_PutSymbol(char symbol, uint8_t x, uint8_t y);Функция служит для вывода на экран одиночного символа.

Здесь char– символьный тип данных, x – номер знакоместа по горизонтали (от 0до 15), y – номер знакоместа по вертикали, или, что тоже самое, номерстраницы экрана, или номер строчки текста (от 0 до 7).// Примеры использованияLCD_PutSymbol('2', 0, 0);LCD_PutSymbol('2', 15, 0);LCD_PutSymbol('2', 0, 7);LCD_PutSymbol('2', 15, 7);////////////////Символ 2 отображаетсяв левом верхнем углуСимвол 2 отображаетсяв правом верхнем углуСимвол 2 отображаетсяв левом нижнем углуСимвол 2 отображаетсяв правом нижнем углуСимвол ' находится на нижнем регистре клавиши «Э» при английскойраскладке клавиатуры.54Символ можно также записать с помощью таблицы кодировкиASCII, в которой, например, цифре 2 присвоено шестнадцатеричноезначение 0x32.

В этом случае символ 2 можно записать в левом нижнем углу так:LCD_PutSymbol(0x32, 0, 7);Обратите внимание: никаких кавычек нет.Рассмотрим еще один способ вывода текста на экран.Целочисленной переменной a присвоим значение, например, 5:int32_t a = 5;Зарезервируем память для строки. 16 знакомест + 1 элемент для указателя конца строки – всего 17 элементов:char stroka[17];Отформатируем строку.

Массив – stroka, размер массива – 17, вывести результат в формате десятичного знакового числа – "%d", вывестизначение переменной a:snprintf (stroka, 17, "%d", a);Вывести строку на четвертой странице экрана слева:LCD_PutString(stroka, 4);Заметим, что таким образом могут быть выведены значения нетолько одной переменной, но и целых выражений. Например, еслипредварительно задать значения переменных a = 1, b = 2, c = 3, товыражениеsnprintf(stroka, 17, "%d + %d + %d = %d", a, b, c, a + b + c);LCD_PutString(stroka, 4);выведет на экран:1 + 2 + 3 = 6Кроме десятичного знакового формата %d нам может потребоватьсячисло с плавающей запятой (точкой). Такой формат указывается так:%f, при этом после децимальной точки будет 6 знаков.

Если количество знаков нужно уменьшить, например, до трех, то следует записать%.3f:55snprintf (stroka, 17, "%.3f ", a);Разумеется, предварительно необходимо задать тип переменной a и еезначение, например:float a = 5;При этом полный текст программы имеет следующий вид.// Вывод числа с плавающей точкой на экран// Подключение файла инициализации портов#include <MDR32F9Qx_port.h>//Подключение файла инициализации тактового генератора#include <MDR32F9Qx_rst_clk.h>// Подключение файла инициализации ЖК-модуля#include "lcd.h"char stroka[17]; // Установка размера массива для строкиfloat a = 5;// a – число с плавающей запятой (точкой)// Объявление главной функцииint main(){// Вызов функции инициализации ЖК-модуляLCD_Init();// Форматирование символа на экранеsnprintf(stroka, 17, "%.3f", a);// Расположение символа на 4-й строчке текста// (или 4-й странице экрана)LCD_PutString(stroka, 4);while (1) // Пустой цикл{}}ПРАКТИЧЕСКАЯ ЧАСТЬ1.

Подключите отладочную плату к компьютеру.2. Подайте питание на плату.3. Запустите среду программирования Keil μVision.4. С помощью программатора занесите в микроконтроллер программу вывода числа с плавающей точкой на экран. Наблюдайте результат на экране ЖК-модуля. Измените число значащих цифр послезапятой числа на экране.5. Выведите на экран текст «Студент» на странице 6 экрана.6. Заставьте перемещаться текст «Студент» по экрану ЖКмодуля. Измените скорость перемещения.567. Выведите символ «9» в левой части, в правой части, в центрестраницы 5 экрана.8.

Используя ASCII-код выведите символ «8» в левой части, вправой части, в центре страницы 7 экрана.КОНТРОЛЬНЫЕ ВОПРОСЫ1. Что представляет собой жидкокристаллический модуль MT–12864J?2. Как вывести строку текста на экран ЖК-модуля?3. Как удалить строку текста с экрана ЖК-модуля?4. Как осуществить перемещение строчки текста по экрану ЖКмодуля?5. Как вывести одиночный символ на экран ЖК-модуля?6. Как вывести число с плавающей запятой на экран ЖКмодуля?57ЛАБОРАТОРНАЯ РАБОТА 8.НАСТРОЙКА МОДУЛЯ АЦПЦЕЛЬ РАБОТЫИзучить работу модуля АЦП и научиться его настраивать.ТЕОРЕТИЧЕСКАЯ ЧАСТЬАналоговым называют сигнал, который может принимать любоезначение в заданном диапазоне.

Аналого-цифровой преобразователь(АЦП) – устройство, преобразующее входной аналоговый сигнал вцифровой код (цифровой сигнал).Для того чтобы преобразовать аналоговый сигнал в цифровой,необходимо выполнить три операции: дискретизацию, квантование икодирование.Дискретизация – представление непрерывного аналогового сигнала последовательностью его значений (отсчетов). Эти отсчеты берутся в моменты времени , отделенные друг от друга интервалом ∆,который называется интервалом дискретизации (рисунок 8.1).

Характеристики

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее