Лекция: 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В

еще рефераты
Еще работы по информатике