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

2016-07-30СтудИзба

Описание файла

Документ из архива "Проект электронных весов с микропроцессорным управлением", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48326"

Текст 2 страницы из документа "48326"

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

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

Регистр 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

В данном регистре будем задавать 7-й аналоговый вход (SCH2=”1”, SCH1=”1”, SCH0=”1”). Далее нужно перевести контроллер в режим псевдо холостого хода PSIDLE=”1”(это необходимо для более точного преобразования, уменьшаются шумы) и начать преобразование ADSST=”1”.

После завершения преобразования сработает прерывание от АЦП и контроллер выйдет из режима холостого хода, и нужно будет переписать преобразованное число из регистров ADDH и ADDL в регистры R2 и R1.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4125
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее