Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Название:Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
- Автор:
- Жанр:
- Издательство:Издательский дом «ДМК-пресс»
- Год:2007
- Город:Москва
- ISBN:5-9706-0034-2
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С краткое содержание
В книге последовательно рассматриваются все этапы создания встраиваемых систем на микроконтроллерах с применением современных технологий проектирования. Задумав эту книгу, авторы поставили перед собой задачу научить читателя искусству создания реальных устройств управления на однокристальных микроконтроллерах.
Издание содержит материал, охватывающий все вопросы проектирования, включает множество заданий для самостоятельной работы, примеры программирования, примеры аппаратных решений и эксперименты по исследованию работы различных подсистем микроконтроллеров.
Данная книга является прекрасным учебным пособием для студентов старших курсов технических университетов, которые предполагают связать свою профессиональную деятельность с проектированием и внедрением встраиваемых микропроцессорных систем. Книга также будет полезна разработчикам радиоэлектронной аппаратуры на микроконтроллерах.
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
//********************************************************************
void write() {
DDRP = 0xFF;
}
//********************************************************************
//Read: Функция конфигурирует порт P как входной
//********************************************************************
void read() {
DDRP = 0x00;
}
//********************************************************************
//Status_wait: Создает соответствующие задержки между командами ЖКД
//********************************************************************
void status_wait() {
char temp = 0x00;
DDRP = 0x00;
PORTDLC = PORTDLC | 0x0F; // сбросить все
PORTDLC = PORTDLC & 0xFD; // сброс флага RD
enable();
delay(10);
while ((temp & 0x03) != 0x03) {
temp = PORTP;
}
disable();
DDRP = 0xFF;
}
//********************************************************************
//LCD_char: Функция выводит ASCII код на экран ЖКД
//********************************************************************
void LCD_char(unsigned char n) {
data(n-0x20);
command(0xC0);
}
//********************************************************************
//Clearscreen: Функция очищает экран ЖКД
//********************************************************************
void Clearscreen() {
int i,j;
Reset_cursor();
for (i=0; i < 16; i++) for (j=0; j<16; j++) LCD_char(' ');
Reset_cursor();
}
//********************************************************************
//Newline: Функция выводит пустую строку на экран ЖКД
//********************************************************************
void newline() {
int i;
for (i=0; i < 16; i++)
LCD_char(' ');
}
//********************************************************************
//Reset_cursor: Функция возвращает курсор ЖКД в начальную позицию
//********************************************************************
void Reset_cursor() {
data(0x00);
data(0x10);
command(0x24);
}
//********************************************************************
7.7.7. Некоторые комментарии
Система для игры в «15» использует пять кнопок вспомогательной клавиатуры, чтобы перемещать фишки: стрелку «Вверх», стрелку «Вниз», стрелку «Вправо», стрелку «Влево» и кнопку «Выбор». Кроме того, расположение фишки определяется номерами строки и столбца. Однажды сформированная, система может использоваться для игры взрослыми и детьми.
7.8. Программирование резидентного Flash ПЗУ микроконтроллера B32 в составе платы отладки MC68HC912B32EVB
В главе 4 мы обсуждали конфигурацию памяти МК B32 семейства 68HC12. Как было упомянуто, в состав МК B32 входит память программ типа Flash объемом 32Кб. В установленном на плате отладки MC68HC912B32EVB микроконтроллере в области Flash ПЗУ записана программа монитора D-Bug12. Если вы желаете использовать отведенный под нее объем для записи части рабочей программы, то необходимо стереть программу монитора D-Bug12. Но неплохо было бы сохранить ее, чтобы снова записать в память при необходимости.
Имеется несколько способов, с помощью которых можно перепрограммировать резидентную память МК на плате отладки MC68HC912B32EVB. Все они предполагают использование двух плат отладки, одна из которых реализует функцию интерфейса BDM для связи МК второй платы с ПК с целью программирования микроконтроллера второй платы. Подробная методика организации программирования таким способом изложена в [6].
В этом разделе мы расскажем, как программировать резидентную Flash память МК семейства 68HC12, воспользовавшись кабелем интерфейса BDM типа CABLE12 фирмы P&E Microcomputer Systems и программным обеспечением PROG12Z FLASH/EEPROM. Заметим, что, несмотря на название, CABLE12 не является лишь соединителем. В его состав входят аппаратные средства интерфейса между ПК и МК семейства 68HC12, которые позволяют осуществлять взаимодействие этих двух устройств в процессе отладки программ и для занесения программы в энергонезависимую память МК.
Конфигурация системы, использующей эти инструментальные средства, показана на рис. 7.42. Как видно из рисунка, CABLE12 связан с ведущим ПК через стандартный 25-жильный кабель параллельного порта. С другой стороны CABLE12 связан с программируемой B32 EVB шестижильным BDM кабелем.

Рис. 7.42.Схема соединения компонентов для программирования резидентной энергонезависимой памяти МК семейства 68HC12/HCS12
Этот кабель подключается к разъему W9 отладочной платы MC68HC912B32EVB. Красный провод кабеля соответствует штырьку 1 на колодке W9.
Программируемый МК B32 EVB связан также с ведущим ПК через последовательный порт связи. Он должен, кроме того, иметь обычные кабели подключения питания (+5 В, земля). Дополнительно, в процессе программирования должны быть поданы напряжение +12 В (Vpp) и земля на колодку W8. Будьте внимательны, не перепутайте полярность при подключении этого питания. Кроме того, колодка W7 должна быть конфигурирована для Vpp.
Как только аппаратные средства cконфигурированы, можно программировать флеш-память EEPROM в следующей последовательности:
1. Подать питание на B32 (+5 В и +12 В).
2. Найти программное обеспечение PROG12Z на вашем компьютере (c:\pemicro\Prog12z\prog12z).
3. Дважды щелкнуть на prog12z.
4. Появляется окно Connect Assistant, которое поможет установить связь с переходная приставка CABLE12 BDM интерфейс.
• Проверьте параметры настройки окна, затем нажмите OK.
• В окне состояния должно появиться сообщение о появлении связи программы prog12z с интерфейсом CABLE12 BDM.
• Если связь ПК с интерфейсом CABLE12 отсутствует, на экране ПК появится информация для поиска неисправностей.
5. Должно появиться всплывающее меню Specify Programming Algorithm to Use!
• Выберите правильный программный модуль с расширением ' *.12P
' P&E, чтобы использовать необходимый драйвер программирования. Например, чтобы программировать Flash память объемом 32Кб, входящую в состав МК B32, выберите 912B32_32K.12Р
.
• Окно состояния показывает, что выбранный драйвер программирования загружен.
6. Затем появляется окно Base Address.
• Вы должны определить базовый адрес программируемой Flash памяти.
• Информация о базовом адресе обеспечивается в карте памяти программируемого МК, которая, в том числе, приводится в Руководстве пользователя отладочной платы MС68HC912B32EVB (68HC12 M68EVB912B32 Evaluation Board User's Manual, Таблица 3–5, страницы 3–55)
• Адрес начала блока Flash памяти равен $8000.
• Введите это значение в ПК и нажмите OK.
7. Щелкните SM Show Module, чтобы отобразить текущее содержание модуля Flash памяти в МК.
8. Выполните операцию стирания текущего модуля перед программированием нового модуля во Flash память.
Предостережение: программа монитора D-BUG12 пока еще во Flash-памяти, это и есть текущий модуль в памяти МК B32. Как только вы сотрете модуль, код монитора отладки D-BUG12 будет потерян.
Сотрите модуль.
9. Выберите SS Specify Record и затем *.S19 для загрузки в буфер программы программатора на ПК модуля, подлежащего программирования в МК.
Читать дальшеИнтервал:
Закладка: