![]() | |
|
Главная Радио и связь бовалось примерно 500 мс для того, чтобы наступило прерывание переполнения таймера ТО, это значит, что сирена все это время молчала. Чтобы убедиться, что обработчик прерывания таймера ТО снова подает импульсц периодом 1 мс на сирену (0.5 мс импульс и 0.5 мс пауза), нажмем еще несколько раз Ctrl + F10, следя за изменением времени и состояния разряда PORTB 1, управляющего работой сирены. Все режимы работы программы проверены; прекратить работу отладчика можно, нажав клавишу F7 (ассемблирование профаммы). Ассемблирование программы приводит к автоматическому сохранению файлов проекта. 2.3. Советы в заключение главы приведено несколько рекомендаций. На первых порах кроме основного проекта удобно организовать еще один проект с пустым файлом программы. В этом проекте можно писать очень короткие программы, которые позволятпроверитьипонятьработу комавд, вызывающих затруднение или смысл которых не совсем понятен, а также разобраться с работой отладчика на более простыхи короткихпримерах. Для получения более подробной информации по командам следует воспользоваться справкой, вызвав меню Help/AVR Tools User Guide, в открывшемся окне на вкладке Поиск введите наименование интересующей вас команды и нажмите кнопку Разделы, вы получите полную информацию о команде с примерами ее использования. То же можно найти на вкладке Содержание в разделе AVR Assembler/Instructions. Справка по командам ассемблера будет полезна и для трактовки ошибок, обнаруженных при ассемблировании программы. Старайтесь расшифровывать аббревиатуры команд - это позволит вам реже обращаться к списку команд и к справочной системе. Прежде чем приступать к программированию и отладке, по техническому описанию микроконтроллера разберитесь с работой тех устройств микроконтроллера, которые вы собираетесь использовать. При отладке старайтесь пользоваться полным набором горячих клавиш и всеми средствами просмотра. Например, состояние регистров можно проверять как в окне Register, так и в окне Workspace. Постепенно вЫ определите те средства и методы, которые удобны именно вам. Сопоставьте сведения, полученные об организации стека в этой главе, с общей информацией об организации стека, приводящейся в большинстве книг по микропроцессорам (обычно в виде таблички с колонкой ячеек изображается область памяти, а рядом - указатель стека в виде стрелки)- - 66 - У 2.3. Советы Не забывайте о командах сброса сторожевого таймера, отладчик не симулирует его работу. Поэтому работающая в отладчике программа может постоянно сбрасываться, если вы забыли расставить в ней команды wdr. Если вы делаете какие-то изменения в программе с тем, чтобы облегчить или ускорить процесс отладки, не ленитесь установить метки, по которым вы сможете найти команды с исправлениями. Для этого удобно использовать метки, устанавливаемые при нажатии Ctrl + F2. Найти в программе помеченные таким способом команды можно при нажатии F2. После восстановления команды метка убирается нажатием Ctrl + F2. Еще один удобный способ - установка комментированных меток, например: ; + + + Idi tmp.l ;5 Здесь фрагмент/; + + +/отмечает исправленную на время отладки команду. В регистр tmp временно загружается единица, а значение 5, которое должно быть загружено в регистр в «боевой» программе, закомментировано, и вам не потребуется вспоминать, какой именно должна быть загружаемая величина. Сочетание /; + + +/ вводится в окно поиска, вызываемое нажатием клавиш Ctrl + F2. После восстановления команды следующая метка /; + + +/ обнаруживается при нажатии клавиши F3. Глава 3. Работа с внешним статическим ОЗУ Одна из часто встречающихся задач - временное хранение данных, однако объема внутреннего ОЗУ зачастую оказывается недостаточно и приходится использовать внещнее ОЗУ. Микроконтроллер ATmega8515 снабжен интерфейсом для подключения внещней памяти объемом до 64 Кбайт Этот микроконтроллер полностью заменяет снятый с производства микроконтроллер AT90S8515, обладая дополнительными возможностями, а программы, написанные для AT90S8515, могут быть использованы без доработки в микроконтроллере ATmega8515. Такая возможность реализована также и в микроконтроллере ATmega8535, заменившем AT90S8535, для этого перед загрузкой программы в память микроконтроллеров ATmega8515 и ATmega8535 программируется Fuse-бит совместимости со старым микроконтроллером. 3.1. Интерфейс микроконтроллера ATmega8515 для подключения внешней памяти Интерфейс включает в себя: 1. Порт А: шина младшего байта адреса/шина данных. 2. Порт С: шина старшего байта адреса. 3. Контакт ALE (Address Latch Enabled): разрешение фиксации адреса. 4. Контакты RD и WR: стробы записи и считывания. Для инициализации работы интерфейса надо установить разряд SRE (Static RAM Enable - разрешение работы с внешней памятью) регистра MCUCR (МСи Control Register - регистр управления микроконтроллера). При установленном разряде SRE возможно использование стандартных команд работы с памятью (команды LD, LDD, LDS, ST, STD и STS) для обращения к внешнему ОЗУ (для записи или считывания), а микроконтроллер сможет обращаться к ячейкам памяти, адреса которых лежат в диапазоне 0x60...OxFFFF (в десятичном виде: 96...65535). Свободно размещать данные в памяти микроконтроллера AT90S8515 можно начиная с адреса $0060. Адреса оперативной памяти 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [ 19 ] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 0.0056 |