Смекни!
smekni.com

Проект электронных весов с микропроцессорным управлением (стр. 2 из 3)

Рассмотрим индикатор LFD2110-XX, имеющий следующие характеристики (согласно [7]):

Число разрядов – 4,

Входное напряжение –1, 5..3 В

Высота цифр – 7 мм;

Данный индикатор не подходит, т.к. входное напряжение не 5 В.

Рассмотрим индикатор LFD3162-XX, имеющий следующие характеристики (согласно [7]):

Число разрядов – 4,

Входное напряжение –1, 5..3 В

Высота цифр – 9,2 мм;

Данный индикатор не подходит, т.к. входное напряжение не 5 В.

Рассмотрим индикатор LFD3164-XX, имеющий следующие характеристики (согласно [7]):

Число разрядов – 4,

Входное напряжение –1, 5..3 В

Высота цифр – 9,2 мм;

Данный индикатор не подходит, т.к. входное напряжение не 5 В.

Индикатор HD44780 не подходит, т.к. он программируемый, в данной работе не нужен весь спектр его возможностей.

Рассмотрим индикатор DE-119, имеющий следующие характеристики (согласно [8]):

Число разрядов – 4,

Входное напряжение –5 В

- Высота цифр – 12,7 мм;

Данный индикатор подходит по всем критериям. Он является жидкокристаллическим, эти индикаторы характеризуются низким энергопотреблением по сравнению со светодиодными, но у них есть и недостатки: плохая видимость пли плохом освещении, плохая работоспособность при низкой температуре. Индикатор DE-119 имеет следующий вид:


Рис. 9. Габаритные размеры индикатора DE-119

2.3 Выбор микроконтроллера

Микроконтроллер для электронных весов должен иметь встроенный десятиразрядный АЦП (Аналогово-цифровой преобразователь), четыре восьмиразрядных порта ввода/вывода, напряжение питания 5 В.

Существуют разнообразные виды управляющих микроконтроллеров (согласно [9]). Контроллеры классифицируют по разрядности:

Четырехразрядные – самые простые и дешёвые устройства, предназначенные для замены несложных схем на “жёсткой” логике в системах с невысоким быстродействием. Типичные случаи применения- часы, калькуляторы, игрушки, простые устройства управления.

Восьмиразрядные – наиболее многочисленная группа (оптимальное сочетание цены и возможностей). К этой группе относятся микроконтроллеры серии MCS-51 (Intel) и совместимые с ними: PIC (MicroChip), HC68 (Motorola), Z8 (Zilog) и др.

Шестнадцатиразрядные – MCS-96 (Intel) и др. – более высокопроизводительные, но более дорогостоящие и менее распространённые.

Тридцатидвухразрядные – обычно являющиеся модификациями универсальных микропроцессоров, например i80186 или i386EX.

Для электронных весов будем выбирать восьмиразрядный микроконтроллер семейства MCS-51, т.к. это семейство является несомненным чемпионом по количеству разновидностей и количеству компаний, выпускающих его модификации.

Рассмотрим микроконтроллер AT80C5112, имеющий следующие характеристики (согласно [10]):

ПЗУ - нет,

Напряжение питания - 2,7-5,5 В,

Порты ввода/вывода - 3,

Рабочая частота - 60 МГц,

16-разрядный таймер – 2,

АЦП – нет,

UART – нет;

Данный микроконтроллер не подходит, т.к. не обладает АЦП.

Рассмотрим микроконтроллер AT89LV52, имеющий следующие характеристики (согласно [10]):

ПЗУ – 8 Кб,

Напряжение питания - 2,7-5,5 В,

Порты ввода/вывода - 5,

Рабочая частота - 16 МГц,

16-разрядный таймер – 3

АЦП – нет,

UART – 1;

Данный микроконтроллер не подходит, т.к. не обладает АЦП.

Рассмотрим микроконтроллер 5.0.4.8XC51GB, имеющий следующие характеристики (согласно [9]):

ПЗУ – нет,

Напряжение питания - 5 В,

Порты ввода/вывода - 6,

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

16-разрядный таймер – 3

АЦП – 8-разрядов,

UART – 2;

Данный микроконтроллер не подходит, т.к. обладает 8-разрядным АЦП.

Рассмотрим микроконтроллер AT89C5AC2, имеющий следующие характеристики (согласно [11]):

ПЗУ – 32 Кб,

Напряжение питания - 3-5,5 В,

Порты ввода/вывода - 5,

Рабочая частота – 20 либо 40 МГц,

16-разрядный таймер – 3

АЦП – 10 разрядов,

UART – 1;

Рис. 10. Блок-схема микроконтроллера AT89C5AC2


Данный микроконтроллер подходит по всем критериям. Помимо вышеперечисленных характеристик AT89C5AC2 обладает:

ОЗУ 256 байт на кристалле,

PCA – Программируемый массив счётчиков,

Диапазон рабочих температур -40 – 85 °С.


3 Формирование принципиальной электрической схемы

На принципиальной электрической схеме должны быть отражены все электрические связи, т.е. датчика с микроконтроллером, микроконтроллера с индикатором, источника питания с датчиком и микроконтроллером. Также должна быть отражена кнопка “Reset”, сбрасывающая микроконтроллер.

Список выводов датчика давления:

Табл. 1. Распиновка датчика давления

Название Описание Номер
Vcc К этому выводу подключается напряжение питания (5 В) 3
+Vout Выходной сигнал 2
-Vout Выходной сигнал 4
Gnd Заземление 1

Вывод Vcc подсоединим к источнику питания, +Vout к 7 каналу АЦП, -Vout к контакту VAGND АЦП, Gnd к “земле”.

Список выводов микроконтроллера:

Табл. 2. Распиновка микроконтроллера

Название Описание Номер
Vcc Напряжение питания 42
VAREF Опорное напряжение для АЦП 2
AN0..AN7 Входы АЦП 3..10
XTAL1 Подключение кварцевого резонатора 41
XTAL2 Подключение кварцевого резонатора 40
Gnd Заземление 43
VAGND Аналоговая земля 1
P0 Порт ввода/вывода 30..37
P1 Порт ввода/вывода 3..10
P2 Порт ввода/вывода 29..22
P3 Порт ввода/вывода 12..19
P4 Порт ввода/вывода 20,21
Rst Вход сброса микроконтроллера 44

К выводу опорного напряжения VAREF (это будет максимальное значение входного напряжения, т.е. “111111111b”) подключим 5 В.

К выводу напряжения питания Vcc подключим также 5 В.

К выводам XTAL1, XTAL2 подключим кварцевый резонатор, частотой 20 МГц.

Вывод Gnd подключим к “земле”.

На схеме присутствует кнопка “Reset”, сбрасывающая микроконтроллер (выполнение программы начинается сначала), это необходимо в случае зацикливания программы или какого-нибудь другого сбоя.

К порту P0 подключим 2-й разряд индикатора (сотни), сегменты с “a” по “g” (см. рис. 5). Если на соответствующем выводе P0 “единица”, то сегмент светится, если “ноль”, то нет.

К порту P1 подключим 1-й разряд индикатора (десятки), сегменты с “a” по “g” (см. рис. 5). Если на соответствующем выводе P1 “единица”, то сегмент светится, если “ноль”, то нет.

К порту P2 подключим 0-й разряд индикатора (единицы), сегменты с “a” по “g” (см. рис. 5). Если на соответствующем выводе P2 “единица”, то сегмент светится, если “ноль”, то нет. К выводу P2.7 вход десятичной точки 0-го разряда.

К порту P3 подключим -1-й разряд индикатора (десятые), сегменты с “a” по “g” (см. рис. 5). Если на соответствующем выводе P0 “единица”, то сегмент светится, если “ноль”, то нет.


Рис. 11. Схема электрическая принципиальная

Теперь рассмотрим индикатор:

Табл. 3. Распиновка индикатора

Описание Вывод
4A 21
4B 20
4C 19
4D 18
4E 17
4F 22
4G 23
3A 25
3B 24
3C 15
3D 14
3E 13
3F 26
3G 27
2A 30
2B 29
2C 11
2D 10
2E 9
2F 31
2G 32
DP3 16
1A 35
1B 34
1C 7
1D 6
1E 5
1F 36
1G 37

4. Разработка алгоритма

Алгоритм работы электронных весов должен быть следующим:

Подготовка АЦП – настройка АЦП (номер канала AN1..AN7, режим работы: стандартный или точный, прерывания), старт преобразования.

Считывание данных с АЦП. Преобразованное число хранится в регистрах ADDH и ADDL (старший и младший байты соответственно)

Преобразование кода младшего разряда в код семисегментного индикатора. Так как по техническому заданию необходимо обеспечить точность 0,5 кг., младший разряд (десятые) будет принимать значения “0” или “5”. Код, который нужно преобразовать находится в двух младших разрядах ADDL.

Вывод младшего разряда. Выводим преобразованное число на порт P3, т.е. на -1-й разряд индикатора.

Преобразование кода остальных разрядов в двоично-десятичный код. То есть преобразование двоичного восьмиразрядного числа в двоично-десятичное (число, в котором каждая десятичная цифра представлена четырьмя битами).

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

Вывод остальных разрядов. Вывод 2-го, 1-го и 0-го разрядов на индикатор.

Переход на пункт 4.2 и повторение алгоритма.

Блок-схема алгоритма имеет следующий вид:


Рис. 12. Блок-схема алгоритма


5. Построение программы

Настройка АЦП заключается в записи данных в соответствующие регистры (согласно [11]). Регистр ADCF (конфигурация АЦП):

Табл. 4. Регистр ADCF

7 6 5 4 3 2 1 0
CH7 CH6 CH5 CH4 CH3 CH2 CH1 СH0
Номер бита Название бита Описание
7-0 CH 0:7 При установленном бите P1.x используется в качестве входа АЦП, при сброшенном бите P1.x используется в качестве стандартного порта ввода/вывода.

В данном регистре установим бит 7, т.к. будем использовать P1.7 в качестве входа АЦП.