Измеритель расхода топлива
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 мГц.
Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:
Поиск рефератов
Последние рефераты раздела
- Микроконтроллер системы управления
- Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов
- Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7.0
- Разработка детектора высокочастотного излучения
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Разработка микшерного пульта
- Математические основы теории систем