Микроконтроллеры для систем автоматики - часть 29

 

  Главная      Учебники - Производство     

 

поиск по сайту           правообладателям

 

 

 

 

 

 

 

 

 

содержание   ..  27  28  29  30   ..

 

 

Микроконтроллеры для систем автоматики - часть 29

 

 

 

115 

 

Рис. 15.10. Окно редактирования программы на языке ассемблера 

Далее  осуществляется  трансляции  программы  и  проверка  правильности  её 

написания. Выбирается пункт Assemble в меню Project. Открывшееся окно Project Output 
содержит  сообщения  ассемблера.  В  окне  (рис.  15.11)  сообщается  о  количестве  слов 
программы и данных, о наличии ошибок. 

 

Рис. 15.11. Окно результатов трансляции программы 

Для  запуска  созданной  и  откомпилированной  программы  используется  команда 

Trace into в меню Debug. На экране появляется диалоговое окно выбора опций симулятора 
(Simulator Options) (рис. 15.12).  

 

116 

 

Рис. 15.12. Диалоговое окно выбора опций симулятора 

В    диалоговом  окне  из  списка  выбирается  нужный  микроконтроллер  (Device), 

например ATmega163, и тактовая частота процессорного ядра (Frequency). Опции Memory и 
Architecture при выборе стандартного устройства в окне не используются.  

После  выбора  опций  симулятора  в  левом  поле  окна  ассемблерной  программы 

появляется  желтая  стрелка,  указывающая  на  позицию  программного  счетчика 
микроконтроллера (рис. 15.13).  

 

Рис. 15.13. Установка программного счетчика в тексте программы 

В AVR Studio для  отладки  программы  предусмотрены  две  команды  шагового 

режима:  Step Over и Trace into.  Разница  между  ними  в  том,  что  команда  Step Over  не 
работает в подпрограммах. С помощью команд шагового режима в окне IO Window можно 
проследить изменения в регистрах устройств ввода/вывода. При этом регистры, в которых 
происходят изменения, отмечаются красным цветом. 

 

117 

Помимо шагового режима возможна отладка программы в режиме непрерывном. В 

этом  случае  для  просмотра  содержимого  регистров  и  ячеек  памяти  в AVR Studio 

предусматриваются  контрольные  точки  (Breakpoints).  Командой  Go  или  кнопкой 
запускается  исполнение  программы.  Программа  будет  выполняться  до  остановки 
пользователем или до обнаружения в ней контрольной точки. Для установки контрольной 
точки  в  программе  предусмотрен  пункт  Toggle Breakpoint в  меню  Breakpoints. 
Контрольная точка ставится в строке, отмеченной курсором (рис. 15.14). 

 

Рис. 15.14. Установка контрольной точки в программе 

Красная  площадка  в  левом  поле  исходного  окна  программы  показывает 

установленную контрольную точку.  

Команда  Break  останавливает  выполнение  программы.  Когда  выполнение 

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

При  отладке  программы  также  можно  воспользоваться  командой  Run To Cursor 

меню Debug. Эта  же  команда  может  быть  запущена  кнопкой

.  При  таком  запуске 

программы  она  выполняется  до  достижения  команды,  обозначенной  курсором.  Если 
программа  сталкивается  с  контрольной  точкой  пользователя,  выполнение  не 
приостанавливается.  Если  команда,  обозначенная  курсором,  не  достигается,  программа 
выполняется до остановки пользователем. После выполнения команды вся информация во 
всех окнах модифицируется. Поскольку команда Run To Cursor зависит от позиции курсора, 
она доступна только в активном окне Source. 

Команда Reset  в меню Debug и кнопка 

 выполняют сброс микроконтроллера. 

Если программа при этом выполняется, то исполнение будет остановлено. После сброса 
вся информация во всех окнах модифицирована.  

Для наблюдения за работой программы можно открыть диалоговое окно устройств 

ввода/вывода.  Окно  открывается  нажатием  кнопки 

  (IO Window) на  панели 

инструментов.  

В диалоговом окне отражаются все функциональные блоки микроконтроллера. При 

этом любой блок может быть раскрыт нажатием на его значок. При раскрытии блока в окне 
отражаются  все  его  регистры  и  отдельные,  доступные  программе,  биты.  Каждый  бит  в 
регистрах представлен переключателем. Его нулевое состояние представлено значком с 

номером бита: 

, а единичное - отмеченным переключателем: 

. (рис. 15.16).  

В окне также отражаются адреса всех регистров и отдельных битов, участвующих в 

работе раскрытого устройства ввода/вывода.  

 

118 

 

Рис. 15.15. Диалоговое окно устройств ввода вывода 

 

Рис. 15.16. Развернутый порт PORTB в окне устройств ввода/вывода 

Переключатели,  отражающие  состояние  отдельных  битов  могут  изменяться  в 

процессе  работы  программы.  Они  отражают  текущее  состояние  каждого  бита. 
Пользователь, в процессе отладки программы, может также устанавливать и очищать эти 
биты, нажимая на соответствующий переключатель в любое время во время выполнения 
программы.  

Для  наблюдения  за  изменениями  переменных  можно  использовать  окно Watch. 

Окно  открывается  нажатием  на  значок 

.  Переменные,  определенные  в  программе 

директивой .def, могут быть выделены в тексте программы и перетащены в открывшееся 
окно. В процессе выполнения программы эта временная переменная будет изменяться, и 
все её изменения можно наблюдать в открытом окне Watch (рис. 15.17).  

Для  просмотра  программного  счетчика,  указателя  стека,  содержимого  регистра 

статуса SREG и  индексных  регистров X,E и Z в  процессе  отладки  программы  можно 
воспользоваться  окном Processor (рис.  15.18).  Для  открытия  окна  предназначена  кнопка 

Processor View 

 на панели инструментов AVR Studio. 

 

 

 

 

 

 

 

содержание   ..  27  28  29  30   ..