Процесс создания и программная реализация устройства электронных часов на основе микроконтроллера Attiny 2313. Разработка структурной и принципиальной схемы цифрового тахометра, сборка самого устройства, проверка и оценка его на работоспособность.
Аннотация к работе
Современный этап развития научно-технического прогресса характеризуется широким применением электроники и микроэлектроники во всех сферах жизни и деятельности человека. Важную роль при этом сыграло появление и быстрое совершенствование интегральных микросхем - основной элементной базы современной электроники. Интегральные микросхемы применяются в вычислительных машинах и комплексах, в электронных устройствах автоматики, цифровых измерительных приборах, аппаратуре связи и передачи данных, медицинской и бытовой аппаратуре, в приборах и оборудовании для научных исследований и т.д. Микрокомпьютер, в отличие от других компонентов, не обладает фиксированным набором функциональных характеристик.Техническое задание (ТЗ) на проектирование должно содержать исчерпывающую и однозначную информацию о требованиях, предъявляемых к проекту.Необходимо реализовать на микроконтроллере ATTINY2313 электронный тахометр.Сроки проектирования определяются сроками выполнения курсового проекта, включая разработку документации.При этом: - принимается решение об использовании микроконтроллера ATTINY2313, как, во-первых, отвечающего современным требованиям к элементной базе; во-вторых, имеющегося в наличии на момент разработки проекта;Рассматриваемый бесконтактный тахометр - это компактное устройство на микроконтроллере Attiny 2313 производства компании Atmel, позволяющее измерять высокие скорости вращения бесконтактным способом. Список функций выполняемых системой и интерфейс между системой и пользователем определяются требованиями, которые предъявляются к проектируемой системе потребителем или пользователем, будущих эксплуатировать устройство. Исходя из заданных данных на курсовой проект можно выделить следующие основные функциональные действия, которые должна выполнять проектируемая компьютерная система: Обеспечить измерение частоты вращения ротора двигателя, которая может изменятся от 100 до 9000 об/мин ; Стоит отметить, что микроконтроллер, для решения поставленной задачи по измерению оборотов, инициализирует два своих таймера: один (Timer 0) настраивается в режим ШИМ для управления контрастностью, другой (Timer 1) для подсчета количества оборотов. Программа для микроконтроллера написана на Си в среде AVR Studio с пользованием Си-компилятора WINAVR, исходный код снабжен подробными комментариями, что позволяет пользователям вникнуть в алгоритм работы микроконтроллера.Список примененных компонентов обозначение в схеме: IC1 Микроконтроллер Attiny 2313 X1 Кварцевый резонатор 20 МГЦ Для программирования микроконтроллера Attiny 2313 можно использовать языки программирования, ассемблер, C. Для реализации солнечного трекера был выбран язык C. Алгоритм работы данного устройства представлен на рисунке 2.3.Довольно много информации по этим индикаторам можно найти в интернете, поэтому приведу пример ассемблерных процедур, вставленных в код на С, для 4-х битного режима, как представляющий наибольший интерес для разработчиков. /* вывод старшей тетрады байта данных */ void out_nibble() {asm {movwf _lcd_data ; байт данных должен быть в W bcf PORTB, 4 btfsc _lcd_data, 4 bsf PORTB, 4 bcf PORTB, 5 btfsc _lcd_data, 5 bsf PORTB, 5 bcf PORTB, 6 btfsc _lcd_data, 6 bsf PORTB, 6 bcf PORTB, 7 btfsc _lcd_data, 7 bsf PORTB, 7 /* вывод байта в 8-ми битном режиме (требуется только для инициализации ЖКИ) */ void wr_cmd(char cmd) {asm {bcf PORTB, 2 ; RS - down, пишем в IR movfw param00_wr_cmd call _out_nibble bsf PORTB, 3 ; E - up bcf PORTB, 3 ; E - down call _delay /* вывод байта команды на ЖКИ */ void wr_cmd4(char cmd) {asm {bcf PORTB, 2 ; RS - down, пишем в IR movfw param00_wr_cmd4 call _out_nibble bsf PORTB, 3 ; E - up bcf PORTB, 3 ; E - down call _delay swapf param00_wr_cmd4, W ; меняем тетрады байта call _out_nibble bsf PORTB, 3 ; E - up bcf PORTB, 3 ; E - down call _delay /* вывод байта данных на ЖКИ */ void wr_data4(char data) {asm {bsf PORTB, 2 ; RS - up, пишем в DR movfw param00_wr_data4 call _out_nibble bsf PORTB, 3 ; E - up bcf PORTB, 3 ; E - down call _delay swapf param00_wr_data4, W ; меняем тетрады байта call _out_nibble bsf PORTB, 3 ; E - up bcf PORTB, 3 ; E - down call _delayНа данном этапе происходит описание и моделирование функций языка программирования, выбор организации проекта и принципов построения моделей и т.д. Выполняются следующие работы: составление и описание блоков на языке программирования;Осуществив все выше изложенные этапы проектирования и проанализировав эскизный проект, мы переходим к следующей стадии проектирования - технический проект, а именно к описанию проекта для ввода в микроконтроллер Attine 2313.Принципы построения модели включает методологию написания языкового кода.BYTE BYDISPLAYREFRESHCNT; // void SHOWDISPLAYDATA(void); // Вывод экранного буфера void PREPARERPMDATA(WORD WRPM); Листинг 4.4 Вывод экранного буфера на дисплей. void SHOWDISPLAYDATA(void) delay_us(LED_delay); delay_us(LED_delay); Лисинг 4.5 - Обработка прерываний от OC1 (для отсчета импульсов 0.
План
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
1.1 Назначение устройства
1.2 Требования к реализации
2 Техническое предложение
2.1 Элементная база
2.2 Схема подключения
3. ЭСКИЗНЫЙ ПРОЕКТ
3.1 Описание ЖК дисплея HD44780
4 Технический проект
4.1 Построение проекта
4.2 Описание интерфейса
4.3 Основные конструкции и процедуры, используемые для написания программы