Рефераты. Автомобильные часы-термометр-вольтметр на базе микроконтроллера

Вот краткое описание команд управления:

·       CLOCK - вход в режим установки текущего времени

·              ALARM - вход в режим установки времени будильника

·              ALARM DISABLE - выключение будильника

·              TIMER - включение индикации значения таймера

·              TIMER CLEAR - очистка таймера

·              LIST - включение циклической смены параметров

·              LOCK - запрещение смены параметров

·              0..9 - кнопки для ввода числовых значений параметров

·              ENTER - ввод отредактированного параметра

·              ESCAPE - отказ от редактирования параметра

·              BACKSPACE - возврат на один символ при редактировании

В качестве ИК приемника использована интегральная микросхема SFH-506 фирмы Siemens. Эта микросхема весьма чувствительна к помехам по цепи питания, поэтому применен RC фильтр R15 C7.

В случае срабатывания будильника, превышения температурой установленного порога или понижения напряжения в бортовой сети формируется звуковой сигнал. Для его формирования использована малогабаритная динамическая головка HA1, которая подключена через транзисторный ключ VT1. Звуковые сигналы также формируются при нажатиях на кнопки управления.


Рис. 9. Принципиальная схема в Accel EDA.


Заключение


В данном курсовом проекте разработано устройство - электронные часы-вольтметр-термометр. Разработана схема электрическая принципиальная этого устройства и программа для микроконтроллера. В результате ассеблирования получена прошивка программы для памяти микроконтроллера. Применение микроконтроллера позволило упростить принципиальную схему и расширить функциональные возможности микроконтроллера, так как для изменения функций устройства достаточно внести изменения в программу микроконтроллера.

Список литературы


1. Белов А.В. Микроконтроллеры АVR в радиолюбительской практике - СП-б, Наука и техника, 2007 - 352с.

2. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин [ и др.]. - М.: Энергоатомиздат, 1990. - 224 с.

3. Евстифеев А.В. Микроконтроллеры Microchip: практическое руководство/А.В.Евстифеев. - М.: Горячая линия - Телеком, 2002. - 296 с.

4. Кравченко А.В. 10 практических устройств на AVR-микро-контроллерах. Книга 1 - М., Додэка -ХХ1, МК-Пресс, 2008 - 224с.

5.Трамперт В. Измерение, управление и регулирование с помощью АVR-микроконтроллеров: Пер. с нем - К., МК-Пресс, 2006 - 208с.

6. Мортон Дж. Микроконтроллеры АVR. Вводный курс /Пер. с англ. - М., Додэка -ХХ1, 2006 - 272с.

7.Техническая документация на микроконтроллеры AT89C2051 фирмы «Atmel». ООО «Микро -Чип», Москва, 2002.-184 с.


Приложение А

Листинг программы и объектный файл


; ЧАСЫ-ТЕРМОМЕТР-ВОЛЬТМЕТР ДЛЯ АВТОМОБИЛЯ.

 РАЗРАБОТАЛ ДЕРКАЧ

; ПРОГРАММА = ABTO.ASM

; ВЕРСИЯ: 20-01-07.

; АССЕМБЛЕР И ОТЛАДЧИК: MPLAB IDE, ВЕРСИЯ: 5.70.40.

LISTP=16F676

 #INCLUDE P16F676.INC

 __CONFIG 31D0H

;==============================================

; ИСПОЛЬЗУЕТСЯ КВАРЦ ЧАСТОТОЙ 32768 ГЦ.

; КОЭФФИЦИЕНТ ДЕЛЕНИЯ ПРЕДДЕЛИТЕЛЯ РАВЕН 32, ЧТО ВМЕСТЕ

; С TMR0 (256) И ЦИКЛОМ, РАВНЫМ 4 ТАКТАМ

; ДАЕТ НА ВЫХОДЕ 1 СЕКУНДУ (4х32х256=32768).

;==============================================

; RA1 - РЕЖИМ - УСТАНОВКА, RA2 - РАЗРЯД - ПУСК,

; RA3 - ВЫХОД ИЗЛУЧАТЕЛЯ,

; RC5 - LOAD, RC3 - DIN,

; RC4 - DCLK

;===========================================

CBLOCK H'20'

;===========================================

; ОПРЕДЕЛЕНИЕ РЕГИСТРОВ ВРЕМЕНИ.

;===========================================

HOU;ЧАСЫ ДВОИЧНЫЕ.

CL;ЕДИНИЦЫ СЕКУНД ЧАСОВ.

CH;ДЕСЯТКИ СЕКУНД.

ML;ЕДИНИЦЫ МИНУТ.

MH;ДЕСЯТКИ МИНУТ.

HL;ЕДИНИЦЫ ЧАСОВ.

HH;ДЕСЯТКИ ЧАСОВ.

TCL;ДЛЯ ТАЙМЕРА.

TCH;

TML;

TMH;

THL;

THH;

;===============================================

; РЕГИСТРЫ ДЛЯ ОРГАНИЗАЦИИ ИНДИКАЦИИ.

;===============================================

ZPT;РЕГИСТР ЗАПЯТОЙ.

TZPT;ЗАПЯТАЯ ДЛЯ ВЫВОДА НА ИНДИКАЦИЮ.

COUZ;СЧЕТЧИК ВЫВОДА ЗАПЯТЫХ.

COU;СЧЕТЧИК ВЫВОДА БИТ.

KYPC;ВЫБОР РАЗРЯДА УСТАНОВКИ.

KYPCI;ИНДИКАЦИИ.

PEID;РЕЖИМА ИНДИКАЦИИ.

TEMP;ВРЕМЕННЫЙ.

EDI ;ДЕСЯТЫЕ НАПРЯЖЕНИЯ.

DEI ;ЕДИНИЦЫ ВОЛЬТ.

COI ;ДЕСЯТКИ ВОЛЬТ.

;================================================

; ВРЕМЕННЫЕ.

;================================================

WTEMP;БАЙТ СОХРАНЕНИЯ РЕГИСТРА W ПРИ ПРЕРЫВАНИИ.

STEMP;БАЙТ СОХРАНЕНИЯ РЕГИСТРА STATUS ПРИ ПРЕРЫВАНИИ.

FTEMP;ВРЕМЕННЫЙ ДЛЯ FSR.

TEKH;

EDA;

DEA;

YCTL;

YCTLI;

;===========================================

; ОПРЕДЕЛЕНИЕ БИТОВ СОСТОЯНИЯ ФЛАГОВ.

;===========================================

FLAG

;

;0-> ВКЛЮЧЕНИЕ СИГНАЛА.

;1-> ТЕКУЩЕЕ ВРЕМЯ.

;2-> ВКЛЮЧЕН РЕЖИМ ТАЙМЕРА.

;3-> ИНДИКАЦИЯ НАПРЯЖЕНИЯ.

;4-> НЕТ КУРСОРА.

;5-> ПУСК-СТОП.

;6-> ПРОЧЕРК В ЧАСАХ.

;7-> УСТАНОВКИ.

;=============================================

FLAG1

;

;1-> 1 СЕК ЦИКЛА.

;2-> ПЕРЕДАНА ЗАПЯТАЯ.

;4-> ЗУММЕР ВКЛЮЧЕН.

;5-> СТОРОЖОК НАПОМИНИНИЯ АВАРИИ ЧЕРЕЗ 1 ЧАС.

;===========================================

ENDC

;===========================================

; ОПРЕДЕЛЕНИЕ РЕГИСТРОВ ИНДИКАЦИИ.

;===========================================

R1EQU50H;МЛАДШИЙ РАЗРЯД.

R2EQU51H;

R3EQU52H;

R4EQU53H;

R5EQU54H;

R6EQU55H;

R7EQU56H;

R8EQU57H;СТАРШИЙ РАЗРЯД.

TEKLEQU58H;

;===========================================

; ОПРЕДЕЛЕНИЕ БИТ ПОРТОВ ВВОДА/ВЫВОДА.

;===========================================

YCEQU1;РЕЖИМ/УСТАНОВКА.

KYEQU2;ПУСК/КУРСОР.

LOADEQU5;ЗАГРУЗКА.

DINEQU3;ДАННЫЕ.

DCLKEQU4;СИНХРОИМПУЛЬСЫ.

;===========================================

; 1. ПУСК.

;===========================================

ORG0

GOTOINIT

ORG4

GOTOPRER

;===========================================

; 2. ИНИЦИАЛИЗАЦИЯ.

;===========================================

INIT

BSFSTATUS,5;ПЕРЕХОДИМ В БАНК 1.

MOVLW0FFH;

MOVWFADCON1^80H ;ТАКТ АЦП ОТ ВНУТРЕННЕГО ГЕНЕРАТОРА 500 кГц.

MOVLWB'00000100';К=32.

MOVWFOPTION_REG^80H ;РЕЗИСТОРЫ ВКЛЮЧЕНЫ.

MOVLWB'10100000' ;РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ ОТ TMR0.

MOVWFINTCON ;

CLRFPIE1^80H ;ЗАПРЕЩЕНЫ ВСЕ ПЕРИФЕРИЙНЫЕ ПРЕРЫВАНИЯ.

MOVLWB'00001111' ;ВСЕ ВЫХОДЫ. 0 - ВХОД АЦП.

MOVWFTRISA^80H ;

CLRFTRISC^80H ;ВСЕ ВЫХОДЫ.

CLRFVRCON^80H ;ИОН ОТКЛЮЧЕН.

CLRFPCON^80H ;ПРЕРЫВАНИЯ ПО ПИТАНИЮ ЗАПРЕЩЕНЫ.

MOVLWB'00000110' ;

MOVWFWPUA^80H ;ПОДТЯГИВАЮЩИЕ РЕЗИСТОРЫ ВКЛЮЧЕНЫ.

 CLRFIOCA^80H ;ПРЕРЫВАНИЯ ЗАПРЕЩЕНЫ.

MOVLW.1

MOVWFANSEL^80H ;ВЫБРАН АНАЛОГОВЫЙ ВХОД RA0/AN0.

BCFSTATUS,5 ;ПЕРЕХОДИМ В БАНК 0.

CLRFPORTC ;ВЫХОД И СВЕТОДИОД ВЫКЛЮЧЕНЫ.

CLRFT1CON ;ТАЙМЕР 1 ОТКЛЮЧЕН.

MOVLW.7

MOVWFCMCON ;КОМПАРАТОР ВЫКЛЮЧЕН.

CLRFFLAG ;ВСЕ ОБНУЛЯЕМ И УСТАНАВЛИВАЕМ.

CLRFFLAG1

CLRFEDI

CLRFDEI

CLRFCOI

CLRFCL

CLRFCH

CLRFML

CLRFMH

CLRFHL

CLRFHH

CLRFTCL

CLRFTCH

CLRFTML

CLRFTMH

CLRFTHL

CLRFTHH

CLRFPEID

CLRFZPT

CLRFCOUZ

CLRFCOU

CLRFHOU

MOVLW96H

MOVWFYCTL;УСТАНОВКА МАКСИМУМА = 15,0 B.

MOVLW78H

MOVWFYCTLI;УСТАНОВКА МИНИМУМА = 12,0 B.

CLRFKYPC

BSFFLAG,4

 GOTOPAC

;==========================================

; 3. ТАБЛИЦА СЕГМЕНТОВ.

;==========================================

SEG

;D E G F A B C K

ADDWFPCL,1;

RETLWB'11011110';0

RETLWB'00000110';1

RETLWB'11101100';2

RETLWB'10101110';3

RETLWB'00110110';4

RETLWB'10111010';5

RETLWB'11111010';6

RETLWB'00001110';7

RETLWB'11111110';8

RETLWB'10111110';9

RETLWB'00000000';10-> ПУСТО.

RETLWB'00100000';11-> ПРОЧЕРК.

RETLWB'10000000';12-> ПРОЧЕРК.

;=================================================

; 4. ТАБЛИЦА ПЕРЕКОДИРОВКИ КУРСОРА.

;=================================================

KYPCY

MOVFWKYPC;

ADDWFPCL,1;

RETURN;НЕТ КУРСОРА.

RETLWB'00000100';3

RETLWB'00001000';4

RETLWB'00010000';5

RETLWB'00100000';6

RETLWB'01000000';7

;===================================================

; 5. ВЫБОР РЕЖИМА ИНДИКАЦИИ.

;===================================================

VUBOR

MOVFWPEID;ИЗМЕНЯЕМ РЕЖИМ ИНДИКАЦИИ.

ADDWFPCL,1;

GOTOINDH;ИНДИКАЦИЯ ЧАСОВ.

GOTOINDT;ТАЙМЕРА.

GOTOINDU;НАПРЯЖЕНИЯ.

;======================================================

; 6. ВЫБОР РАЗРЯДА УСТАНОВКИ.

;======================================================

YCT

BTFSCPORTA,YC;ЕСЛИ КНОПКА "РЕЖИМ" НАЖАТА,

RETURN

MOVFWKYPC;ТО ПО КУРСОРУ

ADDWFPCL,1;ВЫБИРАЕМ РАЗРЯД УСТАНОВКИ.

RETURN;НЕТ КУРСОРА.

GOTOYC0;МИНУТЫ.

GOTOYC1;ДЕСЯТКИ МИНУТ.

GOTOYCE;ОБНУЛЕНИЕ.

GOTOYC2;ЧАСЫ.

GOTOYC3;ДЕСЯТКИ ЧАСОВ.

;=====================================================

; 7. ТАБЛИЦЫ ПЕРЕВОДА ДЕСЯТКОВ В ДВОИЧНОЕ ЧИСЛО.

;=====================================================

DEBIN

ADDWFPCL,1;

RETLW.0

RETLW.10

RETLW.20

RETLW.30

RETLW.40

RETLW.50

RETLW.60

RETLW.70

RETLW.80

RETLW.90

;======================================================

; 8. ПРОВЕРКА НАЖАТЫХ КНОПОК УСТАНОВКИ.

;======================================================

KHOP

BTFSSFLAG,1;ЕСЛИ НЕТ РЕЖИМА ЧАСОВ,

GOTO$+5;ТО КУРСОР НЕ МЕНЯЕТСЯ.

BTFSSPORTA,KY;ПРИ НАЖАТОЙ КНОПКЕ

CALLKYPCOP;ИДЕМ НА УСТАНОВКУ КУРСОРА.

BTFSCFLAG,7;ЕСЛИ ИДЕТ УСТАНОВКА,

GOTOVUBOR;ТО РЕЖИМ НЕ МЕНЯЕТСЯ.

BTFSCPORTA,YC;ЕСЛИ КНОПКА "РЕЖИМ" НАЖАТА,

GOTOVUBOR;ИЛИ ИДЕМ НА ВЫБОР РЕЖИМА ИНДИКАЦИИ.

INCFPEID,1;ИЗМЕНЕНИЕ РЕЖИМА ИНДИКАЦИИ.

MOVLW.3;3 РЕЖИМОВ ИНДИКАЦИИ.

SUBWFPEID,0;ЕСЛИ БОЛЬШЕ,

BTFSSSTATUS,2;ТО ПОЙДЕМ НА СБРОС.

GOTOVUBOR;НА ЗАПИСЬ В РЕГИСТРЫ ИНДИКАЦИИ.

CLRFPEID;СБРОС РЕЖИМА.

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.