Справка по микроконтроллеру: 7. Таксометр.

Раздел 1. Введение

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

1.1   Обзор счетчика такси

Сумма пробега, отображаемая на счетчике, зависит от пробега и цены (время ожидания обычно рассчитывается путем преобразования определенной доли пробега). Таксометры подключаются к движущимся транспортным средствам через датчики. Фактический пробег такси преобразуется в определенный тарифный пробег в счетчике посредством импульсного сигнала датчика. В настоящее время функции счетчиков такси, представленных на рынке, в основном включают функцию сброса данных, функцию переключения день/ночь, функцию вывода данных, функцию синхронизации и ценообразования и т. д. Однако счетчики такси , которые могут выполнять голосовую трансляцию информации, все еще относительно редки. В связи с этим мы разработаем многофункциональный счетчик такси. На основе исходных функций мы добавим такие функции, как вывод цены за единицу, корректировка цены за единицу, вывод расстояния, отображение текущего системного времени и информация о данных голосового вещания.

1.2   Эта задача проектирования

1.2.1 Задачи проектирования_ 

    Спроектировать счетчик такси на базе микроконтроллера AT89S51.

1.2.2 Требования к проектированию

1.Основные требования

В разных ситуациях действуют разные стандарты зарядки.

        дневное время

        ночь

        Ожидание в пути (списание начнется через 10 минут)

Цена за единицу может быть изменена вручную.

С функцией сброса данных.

Простые требования к распределению портов ввода-вывода.

        Для обнаружения расстояния используется переключатель Холла A44E.

        Переключатель зарядки день/ночь

        Переключатель очистки данных

Регулировка цены за единицу (лучше всего использовать кнопки + и -)

Вывод данных (с помощью LCM103).

        Вывод цены за единицу, 2 цифры

        Вывод расстояния 2 цифры

        Общая сумма выводится 3 цифры

кнопка:

        Переключатель времени запуска

        Сброс данных (очистка)

        преобразование день/ночь

2. Игровая роль

        Возможность сохранять цену за единицу и другие данные в случае отключения электроэнергии.

        Возможность отображения текущего системного времени.

         Информация о данных голосового вещания.

1.3   Основные функции системы

    Основными функциями счетчика такси, разработанными в этом курсе, являются: сброс данных, преобразование дня/ночи, вывод данных, установление цены по времени, вывод и корректировка цены за единицу продукции, вывод расстояния, голосовая передача информации о данных и реализация при выключении системы. Такие функции, как сохранение такой информации, как цена за единицу и системное время. На выходе используется 8-сегментный цифровой дисплей. Счетчик, разработанный в этой схеме, может не только отображать базовые цены, но и регулировать цену за единицу продукции в зависимости от дня, ночи и ожидания в середине. В то же время его также можно использовать в качестве часов для удобства водителя. когда не цены.

Раздел 2.   Проектирование аппаратного обеспечения калькулятора

        Аппаратная конструкция этой системы в основном включает в себя микроконтроллер AT89S51, компоненты отображения данных, схему датчика Холла A44E, блок хранения данных при отключении питания AT24C02, блок расчета пробега и ценообразования. В процессе проектирования аппаратного обеспечения функции каждого компонента полностью используются для создания многофункционального счетчика такси.

2.1   Аппаратный состав и функции системы

        Схема микроконтроллерного управления счетчиком представлена ​​на рисунке 1. Он состоит из следующих компонентов: микроконтроллера AT89S51, компонентов отображения общей суммы и цены за единицу, компонентов управления с клавиатуры, управления памятью при отключении питания AT24C02, блока расчета пробега, последовательной схемы управления дисплеем и т. д.

        Используйте богатые порты ввода-вывода микроконтроллера и его гибкость управления для реализации основных функций расчета пробега, регулировки цен и функций отображения часов. Он может не только реализовать необходимые функции, но и значительно расширить их, а также легко обновить систему. Конкретные схемы см. в «Общей схеме многофункционального счетчика такси».

2.2 Микроконтроллер AT89S51 и описание его выводов

        AT89S51 — это маломощный высокопроизводительный 8-разрядный КМОП-микроконтроллер, производимый корпорацией ATMEL в США. Он содержит 4 КБ системно программируемой флэш-памяти только для чтения. Устройство производится с использованием высокоплотной, не -Энергозависимая технология хранения данных, совместимая с системой инструкций и контактами стандарта 8051. Он объединяет флэш-память программ, которую можно программировать либо с помощью внутрисхемного программирования (ISP), либо традиционными методами, а также 8-битный микропроцессор общего назначения в одном кристалле, что является очень экономичным.

AT89S51 — это 40-контактная микросхема, конфигурация контактов показана на рисунке 2.

Функции 40-контактного разъема микросхемы AT89S51:

Напряжение питания VCC.

Земля заземления.

Вход сброса RST. Когда RST переходит в высокий уровень и остается высоким в течение 2 машинных циклов, микроконтроллер перезагружается. Переполнение WDT приведет к тому, что на этом выводе будет выведен высокий уровень.Установка бита DISRTO в SFR AUXR (адрес 8EH) может включить или выключить эту функцию. Бит DISKRTO по умолчанию соответствует открытому состоянию высокого уровня выхода RESET.

XTAL1 — это вход усилителя обратного генератора и вход внутренней рабочей схемы тактового генератора.

XTAL2 — выходной сигнал усилителя инвертирующего генератора.

Порт P0 представляет собой набор 8-битных двунаправленных портов ввода-вывода с открытым стоком. То есть порт мультиплексирования шины адреса/данных. При использовании в качестве выходного порта каждый бит может управлять 8 схемами логического элемента TTL. Запись «1» в порт может использоваться как входной порт с высоким импедансом. При доступе к внешней памяти данных или памяти программ эта группа линий портов разделяет во времени адрес (младшие 8 бит) и мультиплексирование шины данных, а также активирует внутренний подтягивающий резистор во время доступа. Во время программирования Flash порт P0 получает байт инструкции, а во время проверки программы байт инструкции выводится.Во время проверки требуется внешний подтягивающий резистор.

Порт P1 представляет собой 8-разрядный двунаправленный порт ввода-вывода с внутренним подтягивающим резистором.Выходной буферный каскад P1 может управлять (приемником или выходным током) 4 схемами логических элементов TTL. Запишите «1» в порт и поднимите порт на высокий уровень через внутренний подтягивающий резистор. В это время его можно использовать в качестве входного порта. При использовании в качестве входного порта, поскольку имеется внутренний подтягивающий резистор, ток (IIL) будет выдаваться, когда определенный вывод подтягивается к низкому уровню внешним сигналом. Во время программирования Flash и проверки программы P1 получает нижний 8-битный адрес. Некоторые контакты порта и функции порта P1 показаны в Таблице 1.

Порт 2 — это 8-битный двунаправленный порт ввода-вывода с внутренним подтягивающим резистором. Выходной буферный каскад P1 может управлять (приемником или источником тока) 4 логическими элементами ТТЛ. Запишите «1» в порт и поднимите порт на высокий уровень через внутренний подтягивающий резистор. В это время его можно использовать в качестве входного порта. При использовании в качестве входного порта, поскольку имеется внутренний подтягивающий резистор, ток (IIL) будет выдаваться, когда определенный вывод подтягивается к низкому уровню внешним сигналом. При доступе к внешней памяти программ или внешней памяти данных по 16-битному адресу порт P2 отправляет старшие 8-битные данные адреса. При обращении к внешней памяти данных по 8-битному адресу содержимое линии порта P2 не меняется в течение всего периода доступа. Во время программирования Flash и проверки программы P2 также получает нижний 8-битный адрес.

Порт P3 — это 8-битный двунаправленный порт ввода-вывода с внутренним подтягивающим резистором. Выходной буферный каскад P3 может управлять (приемником или источником тока) четырьмя логическими вентилями TTL. Когда в порт P3 записывается «1», внутренний подтягивающий резистор повышает их мощность и может использоваться в качестве входного порта. При использовании в качестве входного порта порт P3, который внешне подключен к низкому уровню, будет использовать подтягивающий резистор для выходного тока (IIL). Помимо того, что порт P3 является общей линией порта ввода-вывода, он более важен для своей второстепенной функции, как показано в таблице 2. Порт P3 также принимает некоторые управляющие сигналы, используемые во время программирования флэш-памяти и проверки программы.

Выход разрешения сохранения программы PSEN/ является сигналом первого прохода чтения внешней памяти программ.Когда AT89S51 извлекает инструкции (или данные) из внешней памяти программ, PSEN/действителен дважды за машинный цикл, то есть выводятся два импульса. При доступе к внешней памяти данных сигнал PSEN/ недействителен дважды.

Внешний доступ EA/VPP разрешен. Чтобы ЦП имел доступ только к внешней памяти программ, на клемме EA должен оставаться низкий уровень.Следует отметить, что если запрограммирован бит шифрования LB1, состояние клеммы EA будет фиксироваться внутри во время сброса. При программировании флэш-памяти к этому выводу добавляется напряжение программирования +12 В VPP.

2.3 Схема контактов AT24C02 и ее функции контактов  

Конфигурация выводов микросхемы AT24C02 показана на рисунке 3.

Микросхема AT24C02 имеет корпус DIP и имеет в общей сложности 8 контактов, в том числе:

Адресные контакты A2~A0;

SDA, интерфейс шины SCL I2C;

Вывод защиты от записи WP.Когда WP подключен к VSS, запись на адреса старшего порядка запрещена.Когда WP подключен к VDD, запись на любой адрес разрешена;

Силовой терминал VCC

Клемма заземления GND

2.4   Конструкция блока памяти AT24C02 с отключением питания

Функция запоминающего устройства при отключении питания заключается в сохранении текущей установленной информации о цене за единицу при отключении питания. AT24C02 - это электрически стираемая микросхема памяти размером 2 КБ от ATMEL. Для связи с микроконтроллером она использует двухпроводную последовательную шину. Напряжение может составлять всего 2,5 В, номинальный ток - 1 мА, ток покоя - 10 Ua (5,5 В). Данные могут храниться более 40 лет при выключенном питании, они упакованы в 8-контактный DIP-разъем, что упрощает их использование. Схема показана на рисунке 4.

На рисунке R8 и R10 являются подтягивающими резисторами.Их функция заключается в уменьшении статического энергопотребления AT24C02.Поскольку линии данных и адресные линии AT24C02 мультиплексированы и данные передаются через последовательный порт, только две линии SCL (сдвиг) используются импульс) и SDA (данные/адрес) для передачи данных с микроконтроллера.

Всякий раз, когда цена за единицу установлена, система автоматически вызывает программу хранения и сохраняет информацию о цене за единицу в чипе; когда система снова включается, она автоматически вызывает программу чтения из памяти, чтобы прочитать цену за единицу и другую информацию в памяти. в блок кэша для использования основной программой.

2.5   Разработка блока расчета и ценообразования миль

    Расчет пробега основан на сигнале, обнаруженном датчиком Холла A44E, установленном на колесе, который поступает в микроконтроллер, обрабатывается и рассчитывается и отправляется на блок индикации. Принцип показан на рисунке 5.

Поскольку A44E является переключающим устройством Холла, его диапазон рабочего напряжения относительно широк (4,5 ~ 18 В), его выходной сигнал соответствует стандарту уровня TTL и может быть напрямую подключен к порту ввода-вывода микроконтроллера, а его максимальная частота обнаружения может достигать 1 МГц.

Интегрированный переключатель Холла A44E состоит из пяти основных частей: регулятора напряжения A, генератора потенциала Холла (т.е. кремниевого чипа Холла) B, дифференциального усилителя C, триггера Шмитта D и выхода затвора OC E.

Введите напряжение CC V на входной конец , а затем добавьте его к обоим концам генератора потенциала Холла после стабилизации регулятором напряжения. Согласно принципу эффекта Холла, когда деталь Холла находится в магнитном поле, a напряжение проходит через него в направлении, перпендикулярном магнитному полю.Ток, разность потенциалов Холла, выходное напряжение высокого напряжениябудет генерироваться в направлении, перпендикулярном двум.Сигналвысокого напряжения и отправляется на триггер Шмитта для формирования, поэтому что он становится прямоугольной волной и отправляется на выход затвора OC . Когда приложенное магнитное поле достигает «рабочей точки» (т.е. OP B ), триггер выдает высокое напряжение (относительно потенциала земли), вызывая проводимость транзистора. В это время выходная клемма затвора OC выдает сигнал низкое напряжение.Это состояние обычно называют «открытым». Когда приложенное магнитное поле достигает «точки освобождения» (т.е. rP B ), триггер выдает низкое напряжение, и транзистор выключается, в результате чего затвор OC выдает высокое напряжение. Это состояние «выключено». Такие два преобразования напряжения позволяют переключателю Холла завершить коммутационное действие.

Мы выбрали порт P3.2 в качестве входного сигнала и использовали внутреннее прерывание 0 (это может уменьшить сложность программирования).Каждый раз, когда колесо вращается (мы предполагаем, что окружность колеса составляет 1 метр), переключатель Холла обнаруживает И выведите сигнал, заставляя микроконтроллер прерывать и считать импульсы.Когда счет достигнет 1000 раз, что составляет 1 километр, микроконтроллер будет контролировать количество для автоматического увеличения.Формула расчета: текущая цена за единицу × количество километров = количество.

2.6   Конструкция блока отображения данных

В связи с конструктивными требованиями к отображению цены за единицу (2 цифры), расстояния (2 цифры) и общей суммы (3 цифры), мы также расширили отображение часов (включая отображение часов, минут и секунд), используя ЖК-дисплей. отображение сегментного кода на расстоянии Данные не могут быть четко видны с экрана на расстоянии 1 метра, что не соответствует требованиям, а его контрастность не может соответствовать требованиям в течение дня. Поэтому мы используем разделенный экран на 6 цифр. Светодиодные цифровые трубки, как показано на рисунке 6:

Отображение данных на разделенном экране переключается нажатием S1, как показано на рисунке 7.

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

Выходной сигнал последовательного порта микроконтроллера сначала отправляется в левый сдвиговый регистр (74HC164), где под действием импульса сдвига данные смещаются вправо для достижения цели отображения. Драйвером цифровой трубки также служит сдвиговый регистр 74HC164. Вилка 1 (разъем 1) подключается к источнику питания, а вилка 2 (разъем 2) подключается к клеммам вывода данных и импульсов. Функция трех выпрямителей D1~D3 в схеме заключается в снижении рабочего напряжения цифровой лампы и увеличении ее срока службы.

Раздел 3 Проектирование системного программного обеспечения

Программное обеспечение этой системы можно в основном разделить на шесть модулей: основной программный модуль, программа прерывания подсчета времени, сервисная программа прерывания подсчета пробега, сервисная программа прерывания ожидания, сервисная программа подпрограммы дисплея и сервисная программа клавиатуры. Ниже представлено введение в каждый модуль.

3.1 Дизайн основной программы системы

В основном программном модуле необходимо выполнить инициализацию каждого чипа интерфейса, инициализацию стартовой цены и цены за единицу такси, проектирование векторов прерываний, работу по разрешению прерываний и циклическому ожиданию. Кроме того, в основном программном модуле необходимо установить и инициализировать регистр флагов запуска/очистки, регистр пробега и регистр цен. Затем основная программа выполнит различные операции, такие как запуск, очистка, измерение и ценообразование, в зависимости от содержимого каждого регистра флагов. Основная блок-схема программы показана на рисунке 9. При нажатии S1 запускается ценообразование, и вопрос о том, превысил ли пробег начальную цену в километрах, будет рассчитан и оценен на основе содержимого регистра пробега. Если оно превышено, текущая совокупная цена рассчитывается на основе стоимости километража, цены за километр и начальной цены, а результат сохраняется в регистре цен, а затем на дисплей выводится время и текущая накопительная цена. схема для дисплея. По прибытии в пункт назначения, поскольку переключатель Холла не посылает импульсный сигнал, ценообразование прекращается и отображается текущая сумма, подлежащая оплате, и соответствующая цена за единицу. При следующем запуске ценообразования система автоматически очистит отобразить и начать заново процесс инициализации.

3.2 Процедура обслуживания запланированных прерываний

В программе обслуживания запланированных прерываний прерывание генерируется каждые 100 мс. Когда генерируются 10 прерываний, это составляет одну секунду. Данные отправляются в соответствующий блок буфера дисплея, и подпрограмма дисплея вызывается для отображения в реальном времени. Ход программы показан на рисунке 10.

3.3   Сервисная программа прерывания подсчета пробега

Всякий раз, когда датчик Холла выдает сигнал низкого уровня, микроконтроллер один раз прерывается.Когда счетчик пробега считает импульсы пробега 1000 раз, микрокомпьютер входит в сервисную программу прерывания подсчета пробега. В данной программе необходимо выполнить операцию накопления текущего пробега и общей суммы и сохранить результаты в регистрах пробега и общей суммы.

3.4 Ожидание процедуры обслуживания прерывания

Когда переключатель Холла не выдает сигнал в состоянии подсчета, запускается встроенный таймер Т1. Всякий раз, когда таймер достигает 10 минут, цена за единицу промежуточного ожидания добавляется к текущей сумме, и промежуточное ожидание автоматически После этого каждые десять минут добавляется цена за единицу. Когда период ожидания закончится, он автоматически переключится на обычные цены.

3.5 Индикация подпрограммы сервисной программы

Поскольку данные отображаются на разделенном экране, используются четыре подпрограммы отображения, а именно: подпрограмма отображения часов, минут и секунд (HMS_DIS), подпрограмма отображения цены за единицу суммы (CP_DIS), подпрограмма отображения цены за единицу расстояния (DP_DIS), корректировка цены за единицу. Подпрограмма (PA_DIS).

3.6  Сервисная программа клавиатуры

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

Раздел 4. Отладка системы и анализ результатов тестирования.

Согласно плану проектирования системы отладка данной системы разделена на три части: отладка аппаратного обеспечения, отладка программного обеспечения и совместная отладка программного и аппаратного обеспечения. Тест включает в себя тест на определение стоимости пробега и тест на хранение при выключенном питании.

4.1 Используемые инструменты  

Цифровой мультиметр DT9203

Эмулятор микроконтроллера WAVE6000

Программатор GF2100

Двойной источник питания со стабилизацией напряжения и тока DH1718E-5

Цифровой осциллограф TDS1002

4.2 Отладка системы

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

4.3 Результаты испытаний

    немного.

4.4 Анализ результатов испытаний

    немного.

Заключение

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

        Благодаря этому курсу я узнал много знаний, которые невозможно получить в книгах, а также глубоко осознал широкие области применения однокристальной микрокомпьютерной технологии.Я не только закрепил знания об однокристальном микрокомпьютере, но и Стал больше интересоваться курсом микроконтроллера.

        В процессе разработки этого курса я научился находить в Интернете ресурсы для различного аппаратного обеспечения, связанного с этим проектом, в том числе: микроконтроллер AT89S51 и описание его выводов, схему выводов AT24C02 и его функции выводов и т. д. Проектирование предоставляет определенную информацию. Поскольку мы редко занимаемся курсовым дизайном, с форматом отчетов по курсовому дизайну мы познакомились лишь недавно, и после этих двух проектов мы заложили определенный фундамент для производства наших дипломных проектов в будущем.

Supongo que te gusta

Origin blog.csdn.net/m0_49968063/article/details/132921732
Recomendado
Clasificación