Главная страница  Комбинированное использование портов 

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

Когда писалась книга, этот продукт существовал в двух версиях:

♦ PICSTART-16В1 - позволяет осуществлять разработку приложений на основе PIC 1бС5х, 16С61,16С71И16С84;

♦ PICSTART-16C - поддерживает микроконтроллеры 16С64, 16Сб5,16С73и1бС74.

Эти системы отличаются только перечнем поддерживаемых микросхем, общие же их характеристики идентичны.

Несмотря на низкую цену, возможности PICSTART-16 способны удовлетворить самого требовательного пользователя. Обе системы включают:

♦ макроассемблер MPALC* для микроконтроллеров подсемейства PIC16СХХ;

♦ симулятор для указанных микросхем;

♦ плату программатора с соответствующим программным обеспечением;

♦ сетевой источник питания и кабель для подключения программатора к последовательному порту компьютера;

♦ образцы Р1С-контроллеров подсемейства 16СХХ (количество и типы меняются согласно комплекту и дате приобретения).

Все программное обеспечение может работать на любом IBM совместимом ПК и не очень требовательно к его ресурсам: достаточно 640 Кб оперативной памяти и операционной системы DOS версии 3.3 или выше.

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

Что касается инструкций по применению макроассемблера и си-мулятора, вам надо будет их распечатать на принтере, так как они находятся в текстовом файле на прилагаемом диске.

Программное обеспечение разработки

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

По каталогу фирмы Microchip данный макроассемблер называется MPASM. - Прим. ред.

дссемблер MPALC

Данный ассемблер - продукт очень высокого уровня, и это компли-1дент ие новичка, поскольку автор практикует микропроцессорную технику уже более 15 лет! Помимо классических возможностей любого ассемблера MPALC поддерживает ряд макрокоманд и директив, например условное ассем£лировтше.

Б ассемблере заложены модели всех микросхем серии PIC 16СХХ, а также традиционные имена регистров, констант, переменных величии и т.д. Цифровые данные могут быть выражены во всех классических представлениях: бинарном, десятичном, восьмеричном, ше-стнадцатеричном и символьном (ASCII).

Он разрешает запись арифметических и логических выражений над данными и адресами, а также позволяет записывать операции отношения, сдвига вправо и влево.

Файлы с программами могут быть написаны в любом текстовом редакторе, единственное требование - они должны быть представлены в текстовом формате ASCII.

Используемый в MPALC синтаксис - классический для ассемблера, и даже менее консервативный, чем у аналогов. Допускается форматировать исходный текст с помощью табуляции. Идентификаторы способны включать до 32 знаков, причем различаются прописные и строчные буквы, но по желанию эту опцию можно отключить.

На выходе ассемблер создает различные файлы: файл для программирования микроконтроллера, файл листинга, файл сообщений об ошибках и предупреждений и, наконец, файл для симулятора.

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

Вазможности ассемблера расширяет поддержка макрокоманд. Что такое макрокоманда? Это выбранная вами часть программы, которая выполняет обычно одну часто используемую и хорошо отлаженную функцию, определенная как макрокоманда, названная оригинальным именем и включающая переменные величины. Однажды определенная, эта макрокоманда может быть помещена в любое место программы и интерпретирована ассемблером.

Наконец, условное ассемблирование позволяет, в зависимости от значения некоторых определенных вами параметров, откомпилировать ту или иную часть программы. Это очень интересная функция, хотя и недооцененная многими программистами. Благодаря



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

Листинги некоторьгх программ, которые вы найдете в главах 3 и4 бьгтш написаны именно для компоновки с помощью ассемблера MPALC

Симулятор MPSIM

Симулятор помогает проверить на IBM совместимом ПК поведение вашей программы. Он имитирует работу выбранного микро контроллера подсемейства PIC 16СХХ и позволяет моделировать состояние его памяти, уттравляющих регистров и портов ввода/вывода в процессе выполнения микропрограммы.

Несмотря на то, что MPSIM работает в среде DOS и информация, которую он представляет разработчику в текстовой форме (рис. 2.3), выглядит малопривлекательно по сравнению с документами Windows, эффективность симулятора сомнений не вызывает. В верхней части окна, выводится текущее содержимое регистровой памяти микроконтроллера, в том числе управляющих регистров. Эти данные можно редактировать.

Идентификация регистров осуществляется либо по их адресам, либо по именам, которые задаются в тексте программы. Последнее значительно упрощает отладку программы, поскольку определить назначение регистра проще по его имени, чем по обезличенном) адресу. Можно отображать не только состояние регистров, но и отдельных битов. В рассматриваемом примере это показано для порта Б, представленного бит за битом с RB7 по RBO. Более того, отдельные биты регистров могут идентифицироваться по именам.

Содержимое регистров будет меняться по мере трассировки имитируемой программы.

Нижняя часть экрана - это рабочее окно, где отображается листинг трассируемой (то есть выполняемой в пошаговом режиме) программы. Здесь же пользователь может набирать команды, необходимые для управления процессом отладки, и наблюдать их выполнение. Пример работы в режиме трассировки представлен рис. 2.4. В правом верхнем углу экрана показывается теоретическое время выполнения программы и номер шага.

SAMPLE

HADIX=X KPSIN 4.14

16с54 Т1МЕ=0.00м О

lulcnd: 00 niulplr: 00 H byte: 00 В6:1 ЙВБ: 1 R84: 1 йВЗ; 1 RB2:

L bytB: 00 count: 1 RBI: 1 ПВО: 1

00 portb: FF RB7: 1

.AD (niilplr AD H bytc 1% AD L byte ij( AD count .J AD portb S AD RB7,B,1 % AD RB6.B.1 % AD RBS.B. ! X AD RB4,B,1 % AD RB3, Б, 1 i AD RB2,fi,1 i AD RB1,B.1 % AD RBO.B, % RS

-processor ir-sz-l 382304 bytes шет.пгу free

Рис. 2.3..............

Вид диалогового окна симулятора MPSIM фирмы Microchip

SAHPLE

RAuiXX HPSIi. 4.14 16c54 TIHt=32.00fl14

RUlcnd: C9 rnulplr; H yte: 00 l byte: 00 count: OB portb: 05 B87: 0 RB6: 0 m.: 0 Ш: 0 RB3; 0 RB2 1 ilB1; 0 RBO: 1

:3;В2304 bytes nieincry free Xc OE :01FF OAOF :OO0E 0040 start OOOF 0002 oOlO 0206 main l0011 0030 0012 0206 ;0013 002S 0014 0900 csll =0000 0072 i!ipy s

0001 0073

0002 occa

0003 0034

0004 0203

0005 0403 Л

goto

start

4.00

clrw

6.00

2

W:0 F3:1C

option

S.OO

OPT:CO

portb,w

10.00

K:FF F3:ie

tnovwf

inijiplr

: (tt 12.00

F10:FF F3:18

iiiOVf

portb.w

14.00

W:9 F3:18

nwvwf

miilcnd

16.00

F9:9 F3:ie

call

inpy s

: T 20.00

[15,0]

clrf

H byte

22.00

F12:0 F3:1C

clrf

L byte

24.00

F13:C F3:1C

movlw

26,00

movwf

count

26,00

F14:8 F3:1C

movf

mulcnd.w

30.00

W:9 F3:18

STATUS, CARRY

: с 32.00

STATUS:18

c. 2.4

экрана симулятора MPSIM в режиме трассировки программы



Симулятор MPSIM включает все функции, обычные для таких устройств: запуск симулируемой программы, трассировку программы с заданным шагом, установку точек прерывания, выполнение программ в режиме трассировки с прерываниями по условию, отображение содержимого памяти и управляющих регистров и т.д.

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

Симулятор имитирует внешние сигналы, подаваемые на входы микроконтроллера. Осутцествляется это с помощью специального файла, где хранится информация о том, какие сигналы должны подаваться на различные входы и в какие моменты времени. Данный файл можно сформировать во время работы сим)шятора. MPSIM поддерживает командный файл, в котором содержатся различные функции (команды) управления процессом симулирования, начальные условия, адреса точек прерываний и т.п. Наличие командного файла избавляет пользователя от необходимости при каждом новом цикле отладки программы повторно набирать все команды и условия. Вместо этого достаточно просто обратиться к командному файлу, и все загрузится автоматически. Напомним, что все файлы, с которыми работает симулятор, - стандартные текстовые файлы формата ASCII, и они могут быть прочитаны и отредактированы с помощью команд DOS или любого текстового редактора.

В заключение добавим, что результаты моделирования можно выводить в файл или на печать, можно вести журнал симулирования, дезассемблировать код, вести поиск данных в памяти и т.д.

Надеемся, что несмотря на краткость обзора возможностей сим)-лятора MPSIM, вы убедились в его эффективности и целесообразности использования при отладке программного обеспечения.

Программатор

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

Он обладает набором типичных /ухя всех микроконтроллерных программаторов функций: выбор типа программируемой микросхемы, тест микросхемы на чистоту , программирование, считывание и некоторые другие менее важные функции.

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

PicStart RIe Windows Options Device Transfer Config P16C54 21:22:37

-C:\WICCHfP\SAMPLE.OBJ

0000: 072 073 C08 034 209 403 330 603 0008: 1F2 332 333 2F4 A06 800 040 002 0010: 206 030 206 029 900 A10 FF FFF 0018: FFF FFF FFF FFF FF FF FFF FF 0020: FF FFF FFF FF FFF FFF FF FF 0028: FF FFF FFF FF FFF FFF FF FFF 0030: FF FF FFF FF FFF FFF FFF FFF 0038: FF FFF FF FF FF FF FF FF 0040: FF FF FFF FF FF FFF FFF FF 0048: FF FF FFF FF FF FFF FF FFF 0050: FF FF FF FFF FFF FF FFF FF 0058: FF FFF FFF FF FFF FFF FF FFF 0060: FF FF FFF FF PFF FF FFF FF 0068: FF FFF FFF FF FF FFF FF FFF 0070: FF FFF FFF FF FFF FFF FF FF

rs.4..0.

.23...®.

.0.)....

;[*] Fuses= Osc:RC WDT: On CP: Off ID: FFFF CkSum: F98C

ID Edit

Fuse Edit I

FIHelp Alt-XExit FlEdit F5 Program F6 Verify F7 Blank FSRead

Рис. 2.5

Экран программатора фирмы Microchip

Работа данного программатора не требует особых комментариев. Отметим лишь, что он не предназначен для массового тиражирования микроконтроллеров.

СИНТАКСИС АССЕМБЛЕРАМРА1С

Синтаксис, используемый ассемблером MPALC, достаточно традиционный и не должен вызывать трудностей у пользователей, уже работавших с машинным языком. Но, чтобы вы могли легко читать листинги, приведенные в следующих главах, ниже даются основные сведения об этом ассемблере. Детальное описание языка вы найдете вучебникепоМРАЬС.

Как и большинство ассемблеров, MPALC нечувствителен к управляющему СИМВОЛ) табуляция , и поэтому листинги можно табулир овать Вам нравится. Ассемблер не различает прописные и строчные



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

© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.