Проект представляет собой микропроцессорное устройство, реализованное на базе микроконтроллера 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
После запуска программы система автоматически выполняет инициализацию всех компонентов. На ЖКИ-индикаторе отображается сообщение "Init...", а после завершения инициализации в терминале UART появляется сообщение "System init OK"
После завершения инициализации, система непрерывно отображает текущие параметры на ЖКИ-индикаторе:
- Первая строка: пройденный путь в формате "KM:[километры] M:[метры]"
- Вторая строка: расход топлива в формате "F:[частота]Hz [расход]L/h"
Система автоматически записывает данные во внешнюю флеш-память каждые 10 км. При этом в терминал UART выводится сообщение о записи.
Для контроля записи данных в память можно использовать инструмент "SPI Memory internal memory" в Proteus. После записи данных можно открыть окно просмотра памяти и убедиться в корректности сохраненных данных. В памяти будут видны записанные значения пути и расхода топлива в шестнадцатеричном формате
Через виртуальный терминал UART доступны команды управления.
| Команда | Описание |
|---|---|
R |
Чтение данных из памяти |
C |
Очистка памяти |
После выполнения команды очистки в окне "SPI Memory internal memory" можно наблюдать, что все занятые ячейки памяти заполняются значениями 0xFF, что подтверждает успешное удаление данных
- Открыть проект Proteus (
.pdsprj) - Загрузить файл прошивки (
.hex) в ATmega8 - Запустить симуляцию
- Наблюдать работу ЖКИ и обмен по UART








