Skip to content

Микропроцессорное устройство измерения пути и расхода топлива (ATmega8, Proteus)

Notifications You must be signed in to change notification settings

kiraping1337/coursework-microprocessors

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Микропроцессорное устройство измерения пути и расхода топлива

Описание проекта

Проект представляет собой микропроцессорное устройство, реализованное на базе микроконтроллера ATmega8 (AVR).

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

Проект разработан и протестирован в среде моделирования Proteus. Программная часть реализована на языке C в среде Microchip Studio.


Основные возможности

  • Измерение пройденного пути по импульсному сигналу (1 импульс = 1 метр)
  • Измерение расхода топлива по частотному сигналу
  • Отображение данных на ЖКИ-индикаторе 16x2 (LM016L)
  • Запись данных во внешнюю EEPROM по интерфейсу SPI
  • Обмен данными с ПК через интерфейс UART

Аппаратная часть

  • Микроконтроллер: ATmega8, 8 МГц
  • ЖКИ-индикатор: LM016L (16x2)
  • Внешняя EEPROM: 25LC256
  • Датчик пути (импульсный)
  • Датчик расхода топлива (TTL-сигнал)

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

  • SPI - работа с внешней энергонезависимой памятью
  • USART - передача данных на ПК
  • Внешнее прерывание INT0 - подсчёт пути
  • Таймер/счётчик 16 бит - измерение частоты сигнала

Структура репозитория

  • proteus/ - проект Proteus
  • firmware/ - исходный код и HEX-файл
  • screenshots/ - изображения и схемы
  • README.md

Структурная схема устройства

Структурная схема


Принципиальная схема устройства

Схема в Proteus


Работа симуляции

После запуска программы система автоматически выполняет инициализацию всех компонентов. На ЖКИ-индикаторе отображается сообщение "Init...", а после завершения инициализации в терминале UART появляется сообщение "System init OK"

Инициализация всех компонентов

После завершения инициализации, система непрерывно отображает текущие параметры на ЖКИ-индикаторе:

  • Первая строка: пройденный путь в формате "KM:[километры] M:[метры]"
  • Вторая строка: расход топлива в формате "F:[частота]Hz [расход]L/h"

LCD

Система автоматически записывает данные во внешнюю флеш-память каждые 10 км. При этом в терминал UART выводится сообщение о записи.

UART

Для контроля записи данных в память можно использовать инструмент "SPI Memory internal memory" в Proteus. После записи данных можно открыть окно просмотра памяти и убедиться в корректности сохраненных данных. В памяти будут видны записанные значения пути и расхода топлива в шестнадцатеричном формате

SPI

Через виртуальный терминал UART доступны команды управления.

Команда Описание
R Чтение данных из памяти
C Очистка памяти

READ

CLEAR

После выполнения команды очистки в окне "SPI Memory internal memory" можно наблюдать, что все занятые ячейки памяти заполняются значениями 0xFF, что подтверждает успешное удаление данных

CLEAR SPI


Запуск проекта

  1. Открыть проект Proteus (.pdsprj)
  2. Загрузить файл прошивки (.hex) в ATmega8
  3. Запустить симуляцию
  4. Наблюдать работу ЖКИ и обмен по UART

About

Микропроцессорное устройство измерения пути и расхода топлива (ATmega8, Proteus)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages