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

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

Жанры

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

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

Шрифт:

 putcommands(0x06); /*Установить режим увеличения адреса на единицу*/

 putcommands(0x0E); /*Включить дисплей,вывести мигающий курсор */

 putcommands(0x02); /*Возврат */

}

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

/* Функция вывода инициализирует порт данных, создает сигналы RS и */

/* разрешения и посылает их на соответствующий порт */

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

void putchars(unsigned char c) {

 DDRP = 0xFF; /*установить Port P
как выходной */

 DDRDLC = DDRDLC | 0x0C; * установить PORTDLC[3:2] как выходной */

 PORTP = c; /* присвоить знак С порту данных */

 PORTDLC= PORTDLC|0x08 /* установить RS в 1 для данных */

 PORTDLC= PORTDLC|0x04 /* установить E в 1 ( PORTDLC[5] = 1) */

 PORTDLC = 0; /* установить E и RS в 0 */

 delay_5ms; /* подождать 5мс */

}

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

/*Функция putcommand пересылает данные в контроллер на ЖК дисплея */

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

void putcommands(unsigned char d) {

 DDRP = 0xFF; /*установить порт PORTP в качестве выходного */

 DDRDLC = DDRDLC|0x0C; /*установить выводы PORTDLC[3:2] */

/* в качестве выходных */

 PORTDLC = PORTDLC & 0xF7; /* команда RS = 0 */

 PORTP = d; /*передача команды на на ЖКД */

 PORTDLC = PORTDLC|0x04; /*E = 1 */

 PORTDLC =0; /*E = 0 */

 delay_5ms; /*пауза 5 мс */

}

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

/*Функция lcd_print посылает строку на ЖК дисплей */

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

void lcd_print(char *string) {

 putcommands(0x02); /*установка курсора на первую строку */

/*putcommand для выделения строки */

 while(*(string) != '\0') {

putchars(*string);

string++;

 }

}

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

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

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

void delay_5ms(void) {

 int i;

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

delay_100us;

 }

}

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

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

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

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

void delay_100us(void) {

 int i;

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

asm("nop");

 }

}

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

7.3.6. Измерение неэлектрических величин

В представляемых примерах функция вольтметра состоит просто в измерении напряжения с выхода датчика некоторого внешнего физического параметра. 

Датчик температуры. Например, мы можем подключить к МК 68HC12 градуированный по шкале Фаренгейта прецизионный датчик температуры LM34, выпускаемый компанией National Semiconductor. Этот датчик имеет постоянный коэффициент преобразования в +10 мВ на градус Фаренгейта, в диапазоне от –50 до +300 Ф. Схема подключения LM34 приведена на рис. 7.14. Она состоит из собственно датчика LM34 и цепи фильтра, образованной резистором и конденсатором. Такая схема обеспечивает прямое преобразование измеряемой температуры. Например, при 70 Ф, LM34 создает выходной сигнал в 700 мВ. Это напряжение умножается на 100, чтобы обеспечить прямое преобразование напряжения в вольтах в температуру, выраженную в градусах Фаренгейта для вывода на дисплей. Это значение должно затем быть преобразовано в ASCII код для вывода на ЖК дисплей.

Рис. 7.14. Интерфейс для прецизионного датчика температуры по шкале Фаренгейта LM34 компании National Semiconductor

Датчик влажности. Фирма Honeywell производит ряд датчиков влажности (Humidity/Moisture) HIH-3610 [5]. Эти датчики калиброваны при питающем напряжении 5 В. Датчики обеспечивают линейный выход постоянного напряжения от 0,8 к 4,07 В при относительной влажности, изменяющейся от 0 до 100%, соответственно. Эти датчики могут быть связаны со встроенным АЦП МК 68HC12 непосредственно без согласующей схемы.

7.4. Стабилизация скорости вращения двигателя с использованием оптического тахометра 

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

Целью этого проекта является стабилизация скорости вращения электродвигателя.

Чтобы осуществить такую стабилизацию, используем управление с обратной связью. Мы будем постоянно контролировать скорость вращения двигателя в рабочем режиме и корректировать ее, изменяя напряжение питания, подводимое к двигателю. Мы также будем показывать текущую скорость вращения двигателя, выраженную в оборотах в минуту, на ЖК индикаторе.

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

Неудержимый. Книга VIII

Боярский Андрей
8. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
6.00
рейтинг книги
Неудержимый. Книга VIII

Законы Рода. Том 6

Flow Ascold
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6

Восход. Солнцев. Книга I

Скабер Артемий
1. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга I

Попаданка

Ахминеева Нина
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Попаданка

Возлюби болезнь свою

Синельников Валерий Владимирович
Научно-образовательная:
психология
7.71
рейтинг книги
Возлюби болезнь свою

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

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

Ротмистр Гордеев 2

Дашко Дмитрий
2. Ротмистр Гордеев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ротмистр Гордеев 2

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

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

Адвокат Империи 3

Карелин Сергей Витальевич
3. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Адвокат Империи 3

Жребий некроманта 3

Решетов Евгений Валерьевич
3. Жребий некроманта
Фантастика:
боевая фантастика
5.56
рейтинг книги
Жребий некроманта 3

Город драконов

Звездная Елена
1. Город драконов
Фантастика:
фэнтези
6.80
рейтинг книги
Город драконов

Убивать, чтобы жить

Бор Жорж
1. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать, чтобы жить

Инквизитор Тьмы 2

Шмаков Алексей Семенович
2. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Инквизитор Тьмы 2

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец