Измеритель расхода топлива

MOV 67h, #11111000b ; Цифра 7.

MOV 68h, #10000000b ; Цифра 8.

MOV 69h, #10010000b ; Цифра 9.

; Определение выводимых на индикатор цифр (т.е. двоичных комбинаций)

MOV R0, #60h ; Номер ячейки памяти с цифрой 0.

MOV A, 44h ; Число сотен записывается в аккумулятор

OPRED: MOV 5Ah, @R0 ; Текущая цифра.

JZ OPRED1 ; Если аккумулятор равен 0, то переход на

; следующий эта

п с сохранением текущей

; цифры, показывающей число сотен.

DEC A ; Уменьшение числа сотен на 1.

INC R0 ; Изменение текущей цифры (следующая).

SJMP OPRED ; Переход в начало (метку OPRED).

OPRED1: MOV R0, #60h ; Номер ячейки памяти с цифрой 0.

MOV A, 45h ; Число десятков пишется в аккумулятор

OPR: MOV 5Bh, @R0 ; Текущая цифра.

JZ OPRED2 ; Если аккумулятор равен 0, то переход на

; следующий этап с сохранением текущей

; цифры, показывающей число десятков.

DEC A ; Уменьшение числа десятков на 1.

INC R0 ; Изменение текущей цифры (следующая).

SJMP OPR ; Переход в начало (метку OPR).

OPRED2: MOV R0, #60h ; Номер ячейки памяти с цифрой 0.

MOV A, 46h ; Число единиц пишется в аккумулятор.

OPR1: MOV 5Ch, @R0 ; Текущая цифра.

JZ INDIC ; Если аккумулятор равен 0, то переход на

; следующий этап с сохранением текущей

; цифры, показывающей число единиц.

DEC A ; Уменьшение числа единиц на 1.

INC R0 ; Изменение текущей цифры (следующая).

SJMP OPR1 ; Переход в начало (метку OPR1).

; Вывод цифр на индикатор

INDIC: MOV R0, #5Ah ; Номер ячейки памяти с нужной цифрой.

MOV R1, #0h ; Значение регистра 1 необходимое для

; перехода к нужной метке c выводом.

MOV R2, #32h ; Число повторений вывода на индикаторы

; равно 50 (около 120Гц).

MOV R3, #1h ; Значение регистра необходимое для

; перехода к метке START.

; Обработчик прерываний

SELECTOR: MOV A, R3 ; Если R3 равен 0, то переход к метке

JZ ST ; ST.

MOV B, R1 ; Если R1 равен 0, то переход к выводу

MOV A, B ; третьего разряда (числа сотен).

JZ VUVOD_1

DEC B ; Если R1 равен 1, то переход к выводу

MOV A, B ; второго разряда (числа десятков).

JZ VUVOD_2

DEC B ; Если R1 равен 2, то переход к выводу

MOV A, B ; первого разряда (числа единиц).

JZ VUVOD_3

DEC B ; Если R1 равен 3, то переход к метке

MOV A, B ; BIG_ZADERG.

JZ BIG_ZADERG

ST: JMP START ; Переход к метке START.

VUVOD_1: MOV P2, @R0 ; Передача цифры на порт 2 (число сотен).

SETB P0.4 ; Разрешение работы дешифратора.

CLR P0.2 ; Вывод на первый индикатор.

CLR P0.5

SETB P0.3 ; Строб записи в регистр.

CLR P0.3

INC R0 ; Переход к следующей нужной цифре.

INC R1 ; Увеличение регистра перехода к

; следующей метке вывода.

MOV TH1, #0F8h ; Задается значение таймера для задержки

MOV TL1, #02Fh ; на 2мс.

RETI ; Возврат из прерывания.

VUVOD_2: MOV P2, @R0 ; Вывод на второй индикатор числа

SETB P0.4 ; десятков.

SETB P0.2

CLR P0.5

SETB P0.3 ; Строб записи

CLR P0.3

INC R0 ; Переход к следующей нужной цифре.

INC R1 ; Увеличение регистра перехода к

; следующей метке вывода.

MOV TH1, #0F8h ; Задается значение таймера для задержки

MOV TL1, #02Fh ; на 2мс.

RETI ; Возврат из прерывания.

VUVOD_3: MOV P2, @R0 ; Вывод на третий индикатор числа

SETB P0.4 ; единиц.

CLR P0.2

SETB P0.5

SETB P0.3 ; Строб записи.

CLR P0.3

INC R0

INC R1 ; Увеличение регистра перехода к

; следующей метке вывода.

MOV TH1, #0F8h ; Задается значение таймера для задержки

MOV TL1, #02Fh ; на 2мс.

RETI ; Возврат из прерывания.

BIG_ZADERG: DEC R2 ; Уменьшение числа повторений вывода

; на индикаторы на 1.

MOV A, #0h ; Проверка числа повторений на

MOV B, R2 ; равенство 0.

CJNE A, B, D1

D1: MOV R0, #5Ah ; Возврат регистра 0 к первоначальному

; значению 5А.

MOV R1, #0h ; Возврат регистра 1 к первоначальному

; значению 0.

JC D2 ; Если число повторений не равно 0, то

JNC D3 ; вывод на индикатор повторяется.

; В противном случае переход в

D2: MOV TH1, #0FFh ; бесконечный цикл и ожидание

MOV TL1, #0FFh ; прерывания (все повторяется заново).

RETI ; Возврат из прерывания.

D3: MOV R3, #0h

MOV TH1, #0FFh

MOV TL1, #0FFh

RETI ; Возврат из прерывания.

END

4. Разработка принципиальной электрической схемы

4.1 Выбор элементов

Базовым элементом схемы является микроконтроллер. Выберем его исходя из следующих параметров: четыре двунаправленных побитно настраиваемых восьмиразрядных порта ввода-вывода, наличие таймеров/счетчиков, возможность перепрограммирования ПЗУ. Данным требованиям удовлетворяет микроконтроллер АТ89C51 фирмы Atmel. Его основные параметры:

- 4K , Flash ПЗУ;

- ОЗУ 128 байт;

- 2 таймера/счетчика;

- Корпус PDIP40;

- Рабочее напряжение 5,0 В;

- Рабочая частота 12 МГц.

Для преобразования аналоговых сигналов, несущих информацию о скорости и расходе топлива, используются АЦП. Воспользуемся АЦП AD7819 фирмы Analog Devices. AD7819 является быстродействующим, микропроцессорно-совместимым, 8-ми разрядным АЦП с максимальной производительностью 200 К выборок/с. Преобразователь питается от однополярного источника с напряжением от 2.7 В до 5.5 В и содержит АЦП последовательного приближения с временем преобразования 4.5 мкс, встроенную систему выборки/хранения, встроенный тактовый генератор и 8-ми разрядный параллельный интерфейс. Параллельный интерфейс предназначен для удобства согласования с микропроцессорами. АЦП выпускается в малогабаритном, пластиковом корпусе типа 16-lead DIP (ширина 0.3 дюйма), а также в корпусах 16-lead SOIC и 16-lead TSSOP.

На рисунке 3 приведена временная диаграмма работы АЦП, согласно которой на АЦП подаются сигналы начала преобразования (), разрешения работы () и чтения () от микроконтроллера, а затем принимаются данные обработки.

Рисунок 3 - Временная диаграмма работы АЦП

Все эти сигналы были реализованы при разработке программы.

В качестве регистра для передачи данных к индикаторам используем регистр К555ИР27, его параметры:

Для активации встроенного тактового генератора микроконтроллера к его выводам BQ1 и BQ2 подключим кварцевый резонатор РК169МА с тактовой частотой 12 мГц.

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


Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы