marți, 18 martie 2014

Реализация алгоритмов при помощи команд условного перехода.

Программирование на языке ASM (и не только на ASM) предполагает условное или безусловное решение какой-либо задачи . Для безусловного решения  мы можем реализовать , так называемый , последовательный алгоритм , который состоит из последовательных операций перехода и операций обработки:
Условное решение предполагает набор операций перехода и обработки , в зависимости от условия:
Под «набором команд» мы подразумеваем выполнение от одной команды до целого ряда сложных последовательностей(участка кода) программы.
Набор команд для архитектуры AVR предполагает 2 типа условных команд:


  •     Команды условного перехода – BR_OP LABEL.
  •      Команды игнорирования следующей инструкции – SB_OP.

Введение в программирование ASM. Стек память. Подпрограмма и подпрограмма с параметрами.


    Введение в программирование ASM

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

    Структура программы ASM

МК в любой момент времени должен выполнять команду, определённую программистом. В то время , когда МК выполняет команду определённую программистом, тогда говорят, что МК находится под контролем программы. В обратном случае, если МК выполняет команду , не определённую программистом, тогда говорят, что МК вышел из под контроля. Программа, которая управляет МК должна постоянно контролировать МК, что подразумевает собой- бесконечный цикл.

    Разделим программу на 2 основных раздела:
1) Инициализация-последовательность команд в начале программы , которая служит для инициализации МК для его дальнейшей работы.
2) Обработка-решение задач и постоянный контроль МК , при помощи бесконечного цикла.

Программа на ASM имеет следующею структуру:

init:               ; точка входа в программу
    ...
    ...
    ...             ; инициализация МК
    ...
end_init:           ; индикатор конца инициализации
main_loop:          ; начало раздела обработки 
    ...
    ...             ; тело раздела обработки
    ...             ; включённой в бесконечный цикл
    ...
end_main_loop:      ; конец раздела обработки    
    rjmp main_loop  ; переход к началу бесконечного цикла

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

miercuri, 12 martie 2014

Архитектура микроконтроллера. Распределение памяти


        Прежде , чем перейти к анализу архитектуры микроконтроллера дадим некоторые определения:
       Микроконтроллер-схема, которая может выполнять любую функцию в зависимости от программы,которая должна быть выполнена.
       Программа-это набор инструкций(команд),которые выполняются друг за другом.
       Команда(инструкция)-это действие,которое выполняет ядро микроконтроллера.
   Ядро-основная часть микроконтроллера,которая выполняет команды(инструкции) программы.
 Микроконтроллер-мини-компьютер,который содержит в себе ядро микропроцессора,память программ и периферийные модули.В общем случае МК принимает информацию от входного интерфейса,перерабатывает её и выдаёт результат на выходной интерфейс.

marți, 11 martie 2014

Курс Микропроцессорные приложения.

Курс "Микропроцессорные приложения" представляет собой дидактический материал, посвящённый любителям по микропроцессорным приложениям , как и дополнительный материал к лекционному курсу в этой области.

В качестве микроконтроллера (МК) был выбран МК серии AVR от компании Atmel , а приложения , по большей части , будут спроектированы на МК Atmega16,который имеет большинство необходимых модулей для реализации задач данного курса. И так, данный курс содержит в себе описание некоторых тем и решения некоторых типовых задач. Мы выбрали МК серии AVR , т.к. у него относительно простая архитектура , по сравнению с его основными конкурентами. Тем не менее, большей частью для его выбора послужило наличие его на рынке и низкой его цены. Материал будет представлен таким образом, чтобы быть применимым и к другим МК серии AVR.

Данный курс разделён на 2 части:

1) Архитектура ядра микроконтроллера. Программирование на ASM-в этом разделе детально анализируется структура ядра МК, способ функционирования и способ работы его компонентов посредством программирования на языке низкого уровня ASM.

2)Программирование МК на языке C. Периферийные модули-где будет описано введение в программирование МК на языке С и будет подчёркиваться программирование данного МК на этом языке,как на языке высокого уровня. Приложения будут ориентированы на работу периферии данного МК и реализацию приложений для данного МК.

В этом курсе вы также найдёте примеры решённых задач,которые могут служить в качестве основы для реализации более сложных проектов .