Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

AVR Studio — симуляция



1. После ассемблирования программы (файла с расширением .asm) необходимо переключить AVR Studio в режим отладки, для чего следует нажать кнопку . Через некоторое время откроется окно с текстом программы (если оно не было открыто), первая строка которой (rjmp Init) будет отмечена желтой стрелкой. Одновременно станут доступными некоторые кнопки на панелях инструментов, находящихся в верхней части экрана. Для пошагового выполнения программы используются три из них. Наиболее полезная из них, называется Step Into. При нажатии на эту кнопку выполняется текущая строка программы. При помощи этой кнопки (или соответствующей «горячей» клавиши F11) можно по шагам выполнить программу.

2. Чтобы получить от симуляции хоть какую-нибудь пользу, нам нужно посмотреть, каким образом изменяется состояние регистров ввода/вывода (в частности, бита 0 регистра PortB). Для этого перейдите к вкладке I/O окна Workspace и раскройте группу I/O AT90S1200. Вы увидите, что регистры ввода/вывода сгруппированы по функциональным блокам микроконтроллера. Раскрыв блок PortB, будет видно три регистра: PortB, DDRB и PinB. Также можно просмотреть содержимое рабочих регистров, выбрав в меню View пункт Register. В данном случае мы будем наблюдать за регистром R16 (temp). Еще одной полезной кнопкой является кнопка сброса (Shift+F5).

3. Продолжайте пошаговое выполнение программы. В регистре temp будет появляться число 0xFF (0bi1111111), которое затем записывается в регистры DDRB и DDRD. После этого регистр temp, а вслед за ним и регистры PortB и PortD сбрасываются в 00. Затем 0-й бит регистра PortB устанавливается в 1, что индицируется закрашиванием соответствующего квадратика в окне Workspace. Эта операция приведет также к автоматической установке на следующем шаге 0-го бита регистра PinB. Отличие между этими двумя регистрами, — регистр PortB представляет данные, которые передаются через порт, а регистр PinB представляет реальные значения напряжений на выводах порта. Например, если попытаться установить вход в состояние Высокого уровня в то время, когда он случайно замкнут на общий провод, то в регистре PortB соответствующий бит установится в 1, а в регистре PinB этот бит будет сброшен в 0, поскольку вывод подключен к шине 0В





Дата публикования: 2015-02-03; Прочитано: 557 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...