С развитием и широким распространением однокристальных ЭВМ, чаще именуемых микроконтроллерами (МК), появляется возможность сравнительно быстрой разработки цифровых измерительных приборов различного назначения и класса точности. Например, даже на базе самых простых моделей распространенных МК семейства AVR фирмы Atmel можно создать вольтметр со встроенным в МК 10-разрядным АЦП. Задача отображения измеряемой величины также легко решается, например, с применением распространенных знакосинтезирующих
жидкокристаллических (ЖК) дисплеев, на основе контроллера Hitachi HD44780. Многие МК имеют развитые таймеры-счетчики, с помощью которых становится также легко реализуемым низкочастотный частотомер, пригодный для учебных задач или радиолюбительской практики.
Разработка комбинированного измерительного прибора на базе МК позволит получить большой опыт по схемотехнике цифровых интерфейсов и программированию МК. Результаты разработки могут быть применены в учебном практикуме по микроконтроллерам и измерительным приборам.
Цель работы: разработка измерительного прибора на основе AVR- микроконтроллера (МК) для измерения напряжения и частоты.
Поставленная цель потребовала решения следующих задач:
1) изучить архитектуру 8-разрядных микроконтроллеров семейства AVR на примере отладочной платы Arduino Nano с МК ATmega168A;
2) изучить среду разработки CodeBlocks, компилятор avr-gcc, библиотеку языка Си avr-libc, а также средство загрузки микропрограммы avrdude;
3) разработать библиотеку для управления ЖК дисплеем по последовательному интерфейсу I2C;
4) разработать подпрограмму для измерения напряжения на основе встроенного в МК АЦП;
5) разработать подпрограмму для измерения частоты на основе встроенных в МК таймеров и счетчиков.
1. Изучена архитектура 8-разрядного AVR-микроконтроллера ATmega168A (МК), а также средства разработки: отладочная плата Arduino Nano, компилятор avr-gcc, библиотека языка Си avr-libc, средство загрузки микропрограммы avrdude, среда разработки CodeBlocks.
2. Разработана библиотека для управления жидко-кристаллическим дисплеем типа HD44780 по двухпроводному интерфейсу TWI (I2C) через адаптер PCF8574. Функции работы с модулем TWI в режиме ведущего (без использования прерываний) выделены в виде отдельной вспомогательной библиотеки.
3. Разработана подпрограмма для измерения напряжения на основе встроенного в МК аналого-цифрового преобразователя (АЦП). Диапазон измеряемого напряжения составляет 0..1000 мВ. Разрядность преобразования — 10 бит.
4. Разработана подпрограмма для измерения частоты. Для подсчета подаваемых импульсов используется счетчик таймера T1, для выдержки интервала измерения 1000 мс — таймер T2. Диапазон измеряемой частоты составляет 1..2 000 000 Гц.