Главная  Микроконтроллеры 

[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]

Запись вида «Project New» обозначает, что надо установить указатель мышки на меню Project, расположенном в первой строке окна AVR Studio, в открывшемся окне установить указатель мышки на слове New и нажать левую клавишу мышки. Далее вместо слов «нажать левую клавишу мышки» будем употреблять слова «щелкнуть» или «выбрать»; если требуется нажатие правой клавиши мышки - будем использовать слова «щелкнуть правой клавишей мышки».

Начальная строка окна содержит его наименование (AVR Studio ...), только следующая строка доступна при работе, ее будем считать первой строкой окна.

В появившемся окне Select new project (рис. 6.21):

• введите имя проекта в строке ввода Project name (например. Memory);

• впишите вручную созданную в Windows директорию для проекта C:\Avr\Try в строку ввода Location или найдите эту директорию в дереве каталога, щелкнув по кнопке справа от строки ввода;

• выберите строку AVR Assembler для определения типа проекта в окне Project type;

• щелкните мышкой по кнопке ОК.

Select new ptoject




Теперь на экране активно окно Project: Memory (рис. 6!22).

i Pioject . Memoiy ШЫ Ш

)Tetget-Default В1р Taigel: Default

Other Files PR!5SrS5S4jgi

Cteate New File . Ctrl+N


ЯП I


Рис. 6.22. Окно Project

Создадим новый файл, который будет содержать программу на Ассемблере:

• щелкните правой клавишей мышки в окне Project: Memory;

• в появившемся окне выберите строку Create New File;

• в строку Name открывшегося окна Create new file (рис. 6.23) введите имя файла программы, например, SRAM.asm, затем щелкните по кнопке ОК.


Рис. 6.23. Окно Create new file

В появившемся окне SRAM.asm наберите следующую программу, не игнорируя знаков препинания в начале строк.

Команды лучше писать строчными буквами, тогда они вьщеля-ются цветом. В тексте программы команды и метки вьщелены про-



.INCLUDE -eSISdef.inc"

; Вставка содержимого файла 6515def.inc в нашу программу ; Файл 8515def.inc не обязательно располагать в директории ; проекта тогда следует указать и путь к нему, например: ;. include d:\Def dlr\e515def. inc"

.DEF tmp =r16 ; Регистру r16 присвоить имя tmp

; (значение переменной tmp будет храниться в ; регистре общего назначения г16)

.DEF cnt =г16 ; Переменная cnt - счетчик цикла

; Замечание: одному регистру в программе могут присваиваться

; разные имена, хотя в данном случае в зтом и не было

; необходимости, микроконтроллер имеет 32 регистра, но

: переменных в программе обычно гораздо больше

.EQU ArSize =10

; Константа ArSize=10 - используем эту константу

: для определения размера массива, записываемого в память

.ЕОи аАгВдп =$0170

; Используем константу аАгВдп как адрес начальной ячейки : для хранения массива

RESET: IN tmp.MCUCR

; Ввод содержимого регистра MCUCR в регистр tmp. Физические ; адреса регистров MCUCR,ZL,ZH и константы SRE и SRW, ; используемые в программе, определены в файле 8515def.inc ; если по директиве.include файл 6515def.inc не будет найден, ; команды с операндами MCUCR,ZL,ZH,SRE и SRW дадут ошибки

ORI tmp. (1«SRE)+( 1«SRW)

; Операция V (логическое ИЛИ) содержимого регистра и константы.

: Для работы с внешней памятью надо установить

; биты SRE и SRW в регистре MCUCR (установка SRW - если

; нужно продлить состояние ожидания

; для "медленной" микросхемы памяти),

; Открыв файл 8515def.inc. мы обнаружим, что SRE=7. SRW=6.

; значит величина, которую надо занести

; в регистр MCUCR в двоичном коде: libb bbbb,

; D - это значения битов, которые мы не должны изменять

; запись (1«SRE)+(1«SRW) равна сумме

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

: Программа SRAM.asm

; Обращение к внешней памяти



[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.001