Основы программирования микроконтроллеров ATMega128 и 68hc908. Китаев Ю.В. - 93 стр.

UptoLike

Составители: 

При завершении преобразования напряжения в код АЦП генерирует
прерывание и микроконтроллер переходит по адресу FFDE, где размещается
обработчик прерывания ADC_int(). Следует учесть, что так как запуск АЦП
мы сделали однократным (бит ADCO регистра ADSCR равен 0), то для
повторных измерениий требуется новая запись номера канала АЦП, что
приводит приводит к очередному запуску АЦП, очередному обращению к
обработчику прерывания и т.д..
Далее, в основной программе main() необходимо произвести
следующие изменения (рис. 2.41): (ВНИМАНИЕ: не забудьте
закомментировать или убрать указанные две строки: первая уже не нужна, а
вот вторая просто заблокирует работу АЦП!)
Рис. 2.41. Отображение напряжения и соответствующего кода
Функция sprintf() принимает 2 аргументачисло с плавающей точкой
(float) – расчетное значение напряжения и целое числокод ad. Первый
аргумент отображается с одной цифрой до запятой (точки) и двумя цифрами
после запятой. Второму целому аргументу также отводятся три цифры, но
при необходимости слева дописываются нули. Преобразованные в
соответствии со спецификацией аргументы записываются в кодировке ASCII
в строку sa. Следующий оператор выводит на дисплей эту строку.
Снова откомпилируйте программу кнопкой
, далее откройте
программатор
и затем отладчик (см. п. 10.2.3). Запустите программу
на выполнение
и вращая ручку датчика убедитесь в смене кодов.
Покажите результат преподавателю (примерно такой, как на рис. 2.42).
93