Курсовая работа: Проект электронных весов с микропроцессорным управлением

Рис. 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 в качестве входа АЦП.

Регистр IEN0 (регистр прерываний):

Табл.5 Регистр IEN0

7 6 5 4 3 2 1 0
EA EC ET2 ES ET1 EX1 ET0 EX0
Номер бита Название бита Описание
7 EA Разрешение всех прерываний
6 EC Разрешение прерывания от PCA
5 ET2 Разрешение прерывания от таймера 2
4 ES Разрешение прерывания от UART
3 ET1 Разрешение прерывания от таймера 1
2 EX1 Разрешение внешнего прерывания INT1
1 ET0 Разрешение прерывания от таймера 2
0 EX0 Разрешение внешнего прерывания INT2

В данном регистре установим бит 7, разрешив этим самым все прерывания.

Регистр IEN1 (регистр прерываний):


Табл.6 Регистр IEN1

7 6 5 4 3 2 1 0
- - - - - - EADC -
Номер бита Название бита Описание
7-2 - Зарезервировано. Эти биты нельзя устанавливать
1 EADC Разрешение прерывания от АЦП
0 - Зарезервировано. Этот бит нельзя устанавливать

В данном регистре установим бит 1, разрешив этим самым прерывание от АЦП.

Регистр ADCON (регистр управления АЦП):

Табл.6 Регистр ADCON

7 6 5 4 3 2 1 0
- PSIDLE ADEN ADEOC ADSST SCH2 SCH1 SCH0
Номер бита Название бита Описание
6 PSIDLE Режим псевдо холостого хода
5 ADEN Включение АЦП
4 ADEOC Преобразование завершено
3 ADSST Старт преобразования
2 SCH2 Выбор аналогового входа
1 SCH1
0 SCH0

К-во Просмотров: 642
Бесплатно скачать Курсовая работа: Проект электронных весов с микропроцессорным управлением