Чтение онлайн

на главную - закладки

Жанры

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Пак Дэниэл Дж.

Шрифт:

 unsigned int avg_bin_voltage;

 unsigned int int_voltage;

 unsigned int tens_int;

 unsigned int ones_int;

 unsigned int tenths_int;

 unsigned int hundredths_int;

 double voltage, abs_voltage;

 char tens;

 char ones;

 char tenths;

 char hundredths;

 ATDCTL5 = 0x06; /*проводится 4
преобразования, канал 6 */

 while((ATDSTAT & 0x8000)!= 0x8000) {

/*Подождите окончания преобразования */

 }

 /*усреднение по четырем результатам */

 sumadr = ADR0H + ADR1H + ADR2H + ADR3H;

 avg_bin_voltage = sumadr/4;

 /* преобразование результата в напряжение, лежащее в диапазоне от */

 /* 0.00 до 5.00 В */

 voltage = (avg_bin_voltage/256)*5;

 /*приведение напряжения к диапазону от -10.00 до +10.00 В */

 /*обращение процесса, выполняемого аналоговым интерфейсом */

 abs_voltage = (fabs)((voltage - 2.5) * 4);

 /*преобразование результата в целое число в диапазоне от -1000 */

 /* до +1000 */

 int_voltage = (100*voltage);

 /*Выделение и преобразование наибольшей значащей цифры в */

 /* ASCII код десятичного значения, прибавление 48, */

 /* результат дает ASCII код */

 tens_int = int_voltage/1000;

 tens = (char)(tens_int + 48);

 /*Выделение и преобразование следующей наибольшей значащей цифры в */

 /* ASCII код десятичного значения, прибавление 48, */

 /* результат дает ASCII код*/

 ones_int = int_voltage/100;

 ones = (char)(ones_int + 48);

 /*Выделение и преобразование следующей наибольшей значащей цифры в */

 /* ASCII код десятичного значения, прибавление 48, */

 /* результат дает ASCII код */

 tenths_int = (int_voltage - ones_int*100)/10;

 tenths = (char)(tenths_int + 48);

 /*Выделение и преобразование следующей наибольшей значащей цифры в */

 /* ASCII код десятичного значения, прибавление 48, */

 /* результат дает ASCII код */

 hundredths_int = (int_voltage - ones_int*100 - tenths_int*10)/1;

 hundredths = (char)(hundredths_int + 48);

 /*Вывод результата на ЖКД */

 if (voltage < 0) putchars('-'); /*Вывести
отрицательный знак*/

 else putchars('+'); /*Вывести положительный знак*/

 putchars(tens);

 putchars(ones);

 putchars('.');

 putchars(tenths);

 putchars(hundredths);

 putchars(' ');

 putchars('V');

}

/********************************************************************/

/********************************************************************/

/*задержка в 100 мкс, на базе таймера с частотой 8 МГц */

/********************************************************************/

void delay_100us(void) {

 int i;

 for (i=0; i<50; i++) {

asm("nop");

 }

}

/********************************************************************/

/*задержка в 5 мс, на базе таймера с частотой 8 МГц */

/********************************************************************/

void delay_5ms(void) {

 int i;

 for (i=0; i<50; i++) {

delay_100us;

 }

}

/********************************************************************/

/*Функции инициализации посылают на ЖКД необходимую стартовую */

/* последовательность. Формируется последовательность команд инициали-*/

/* зации соответствующих техническим данным производителя дисплея. */

/********************************************************************/

void initialize_lcd(void) {

 delay_5ms;

 delay_5ms;

 delay_5ms; /*задержка на 15 мс перед включением ЖКД */

 putcommands(0x38); /*установочный интерфейс */

 delay_5ms;

 putcommands(0x38);

 delay_100us;

 putcommands(0x38);

 putcommands(0x38);

 putcommands(0x0C);

 putcommands(0x01); /*Очистить дисплей */

Поделиться:
Популярные книги

Свадьба по приказу, или Моя непокорная княжна

Чернованова Валерия Михайловна
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Свадьба по приказу, или Моя непокорная княжна

Сборник коротких эротических рассказов

Коллектив авторов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Сборник коротких эротических рассказов

Отец моего жениха

Салах Алайна
Любовные романы:
современные любовные романы
7.79
рейтинг книги
Отец моего жениха

Вадбольский

Никитин Юрий Александрович
1. Вадбольский
Фантастика:
попаданцы
5.00
рейтинг книги
Вадбольский

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Повелитель механического легиона. Том VIII

Лисицин Евгений
8. Повелитель механического легиона
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том VIII

В зоне особого внимания

Иванов Дмитрий
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
В зоне особого внимания

Таня Гроттер и магический контрабас

Емец Дмитрий Александрович
1. Таня Гроттер
Фантастика:
фэнтези
8.52
рейтинг книги
Таня Гроттер и магический контрабас

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Кодекс Крови. Книга ХI

Борзых М.
11. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХI

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9

Потусторонний. Книга 1

Погуляй Юрий Александрович
1. Господин Артемьев
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Потусторонний. Книга 1