Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
342
Добавлен:
21.02.2014
Размер:
387.58 Кб
Скачать

Программирование флэш-памяти Проверка флэш-памяти

Характеристики режимов программирования и проверки флеш памяти

Примечание:Параметры действительны только для режима программирования 12В.

Временные характеристики режимов программирования и проверки флэш-памяти

Предельно допустимые параметры:

Рабочая температура ....................... -55 C +125 C Температура хранения ...................... -65 C +150 C Напряжение на Любом выводе относительно земли ........................ -1.0В +7.0В Максимальное напряжение питания .................. 6.6В Выходной ток (лог 1) .............................25.0 мА

Программирование микроконтроллера АТ89С2051

Порядок создания программ для микроконтроллера AT89C2051 таков:

Сначала нужно разработать схему будущего микропроцессорного устройства. Определиться к каким портам, какие управляемые цепи будут подключаться. К каким портам и как будут подключаться различные датчики и органы управления. Нужно понимать в принципе, алгоритм процессора в данной схеме. Затем нужно спаять макет будущего устройства. Можно не делать сразу все устройство целиком. Удобнее разбить весь процесс разработки на этапы. Например, сначала можно сделать блок индикации. Затем поставьте задачу - разработать подпрограмму вывода на индикатор, дополнив ее небольшой процедуркой, выводящей на индикатор что-то осмысленное. Ну, если это цифровой семи сегментный индикатор, выведите на него какую либо цифру, отличную от 8. В общем, что угодно. Лишь бы можно было увидеть результат.

Следующий этап - написание текста программы. Перед тем как писать текст программы, нужно изучить архитектуру и систему команд микропроцессора.   Под архитектурой понимают то, какие внутренние регистры имеет процессор. Так как микроконтроллер AT89C2051 имеет внутреннее ОЗУ, совмещенное с регистрами общего назначения, нужно хорошо ориентироваться в структуре этого ОЗУ. Кроме того, в понятие архитектуры входит наличие портов ввода вывода.   Система команд - это совокупность всех команд микропроцессора. Нужно понимать, что делает и на что влияет каждая команда.

Так как микроконтроллер AT89C2051 специально разрабатывался таким образом, что бы быть максимально совместимым с микросхемой iMCS-51 фирмы Intel, то архитектура и система команд этих двух контроллеров практически во всем схожи. Поэтому для изучения микропроцессора AT89C2051 необходимо сначала прочесть описание самого контроллера (см. ссылку "Описание AT89C2051"). А затем нужно прочесть описание микроконтроллера iMCS-51.

Следующее, что нужно знать прежде, чем начинать написание программы - это то, какую программу-транслятор вы будете использовать. От этого будет зависеть текст будущей программы. Для каждого процессора существует обычно множество модификаций программ трансляторов. Они, конечно, отличаются не по набору команд (набор команд определяется процессором), а по форме написания программы. Программы для контроллера AT89C2051 пишутся обычно на языке Ассемблера. Проверенный транслятор с этого языка Ассемблера для микроконтроллера iMCS-51 вы можете скачать здесь. Именно этот транслятор удобнее всего использовать в данном случае для создания программ. Описание особенностей ассемблера вы найдете в том же архиве, что и сам транслятор.

Описанный выше транслятор работает под управлением DOS. Поэтому и текст программы удобнее писать в DOS. Для этого подойдет практически любой текстовый редактор, работающий под DOS. Автор использует для работы со всеми программами, описанными в этом разделе файловый менеджер "Dos Navigator". Можете использовать так же "Norton Commander" под DOS или "Volkov Commander". У всех этих "командеров" имеется встроенный редактор текстов, вызываемый по клавише F4.

После того, как вы напишите текст программы и запишите его на диск в виде файла с расширением asm (например, myprog.asm), приступайте к трансляции программы. Для этого поместите файл с текстом программы и файл программы транслятора (Asm51.exe) в одну директорию. Эта директория должна появиться в активной панели вашего навигатора (командера). Наберите в командной строке следующую команду:     asm51 myprog.asm и нажмите клавишу Enter. По окончании работы программы, она должна выдать сообщение о количестве найденных ошибок при трансляции. Кроме того, в той же директории появится несколько новых файлов. Файл myprog.lst - это листинг трансляции. Он содержит тот же текст программы, но справа добавлен столбец, где показаны результаты трансляции. Это коды, которыми программа заменила команды, написанные на языке ассемблера и адреса ячеек памяти программ, куда необходимо эти коды поместить. Там же содержится описание всех найденных ошибок. Пометки делаются прямо в тексте программ, и стрелочкой отмечается место, где найдена ошибка. Исправьте все ошибки и повторите трансляцию программы.

Еще один файл, который появится в результате трансляции - это myprog.hex. Это и есть исходный код программы, предназначенный для прошивки в память программ. Но не торопитесь его прошивать. Во первых формат этого файла не подходит для программатора. А во вторых, прежде чем прошивать программу в процессор, нужно опробовать ее работу в программе - отладчике. Программа отладчик имитирует работу микроконтроллера и при этом показывает на экране содержимое всех регистров и ячеек памяти процессора. Программу можно выполнять, как пошагово, так и в режиме автоматического выполнения с постановкой точек перехвата. Для каждого процессора имеется своя программа - отладчик. Хороший отладчик для микроконтроллера AT89C2051 вы можете скачать на нашем сайте в разделе Download. Когда вы скачаете архив с программой, то в нем, кроме самой программы, вы обнаружите ее описание. При помощи отладчика вылавливаются ошибки алгоритма, которые невозможно отловить в процессе трансляции. Исправьте ошибки и повторите трансляцию и отладку.

После того, как в отладчике программа заработает, так как нужно, можно приступать к прошивке программы в память программ микроконтроллера. Но перед этим нужно перевести объектный код из формата HEX в формат BIN. HEX формат - это специальный текстовый формат, в котором все байты кода программы, а так же адреса их размещения записываются в виде шестнадцатеричного кода. BIN формат - это просто набор кодов, составляющих программу. Для перевода из одного формата в другой и обратно служит пара программ: hex2bin.exe и bin2hex.exe. вы их так же можете скачать в разделе Download. Для того, что бы при помощи программы hex2bin.exe перевести файл из HEX формата в BIN формат, нужно поместить в одну директорию файл программы и исходный HEX файл и набрать в командной строке следующую команду:    hex2bin myprog.hex И нажмите клавишу Enter. В результате работы программы появится файл myprog.bin.

Теперь можно приступать к программированию. Предварительно вы должны купить или спаять программатор, предназначенный для работы с вашим микроконтроллером. Существует множество разных схем программаторов. Для микроконтроллера AT89C2051 проще всего применить программатор, схему, описание и управляющую программу которого можно скачать в Download. Сначала спаяйте схему программатора. Подключите ее к источникам стабилизированного питания 12В и 5В. При помощи соответствующего разъема, подключите программатор к LPT порту компьютера. Вставте микросхему микроконтроллера в панельку программатора. Для запуска процесса программирования поместите в одну директорию, управляющую программу bi2051.exe и ваш файл программы (myprog.bin). В командной строке наберите следующую команду   bi2051 myprog.bin И нажмите клавишу Enter. Сначала программа выдаст сообщение об авторских правах. Затем, если все нормально, начнется процесс программирования. Процесс должен быть длительный. Его продолжительность зависит от длинны программного кода, который вы пытаетесь записать. В процессе программирования на экране появится, и будет постепенно расти строка из точек. По окончании процесса программирования программа сама вернется в Dos Navigator или в ту программу, из которой вы ее запускали. Если микросхема вставлена неверно, если она просто дефектная, если, наконец, вы допустили ошибки при сборе схемы программатора, то программа выдаст соответствующую надпись (No device?) и откажется программировать.

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

ОРГАНИЗАЦИЯ ОДНОКРИСТАЛЬНЫХ МИКРОКОНТРОЛЛЕРОВ

Вводные замечания

Отдельный класс МС представляют однокристальные микроЭВМ. Интеграция всех составных частей МС (ЦП, памяти, подсистемы ВВ средств поддержки режима реального времени) привела к ряду ограничений на принципы ее организации, потребовала развития архитектуры в направлении, не свойственном для многокристальных компоновок.

Организация однокристальных микроЭВМ ориентирована на применение встраиваемых в изделие недорогих управляющих МС реального времени, рабочая программа которых расположена в ПЗУ системы. По этой причине находящаяся на кристалле физическая память микроЭВМ делится на постоянную для записи программ и оперативную для хранения различных переменных, а сами приборы называются однокристальными микроконтроллерами. Такому делению физической памяти способствовали и технологические ограничения, свойственные системам на одном кристалле.

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

Периодом становления архитектуры 8-разрядных однокристальных МК счи­тают 1977—1979гг., когда появились первые приборы этого класса: 8048 фирмы Intel, 3870 фирмы Mostek и 9940 фирмы Texas Instruments Inc. Приборы 3870, 9940 были программно совместимы с многокристальными системами и во многом дублировали их архитектурные признаки, МК 8048 имели оригинальную органи­зацию.

В течение четырех лет, начиная с 1976 г., фирмой Intel было разработано семейство 8-разрядных однокристальных МК iMCS-48 [41], получившее широкое распространение, в основе которого лежит МК 8048 (табл. 4.1). В составе семейства 12 микроЭВМ с единой базовой архитектурой, но различными функциональными возможностями, реализованными непосредственно на кристалле. Семейство вклю­чает также ряд расширителей, согласованных с базовой архитектурой микроЭВМ и содержащих те части памяти программ и данных, а также средств ВВ, которые не включены в состав основного кристалла.

Базовая вычислительная среда iMCS-48 включает до 4К байт программного ПЗУ, формируемого как внутренними, так и внешними по отношению к микроЭВМ средствами. 64/128/256 байт внутренней и 256 байт внешней памяти данных, до 27 внутренних и 16 внешних линий ВВ, 8-разрядный таймер/счетчик, а также одноуровневую систему прерываний с двумя источниками запросов. Микроконтроллер 8021 является младшей моделью семейства, в которой отсут­ствуют средства подключения внешней памяти и система прерываний. На его основе создан простой прибор 8022 [31], в котором предусмотрен 8-разрядный аналого-цифровой преобразователь (АЦП) с двумя коммутируемыми аналоговыми входами. В отличие от остальных БИС 8041 [62] имеет встроенный системный адаптер (СА) для его подключения к шине более мощных систем в качестве программно-управляемого контроллера. Становление архитектуры МК было завершено к 1980 г., когда весь набор однокристальных МК и расширителей к ним был полностью освоен промышленностью. Сегодня элементы семейства iMCS-48 рассматриваются как стандартные компоненты для проектирования микропроцес­сорных средств и систем.

В 1980 г. фирмой Intel было разработано новое семейство однокристальных МК iMCS-51 [32, 57], базовым представителем которого является прибор 8051 (см. табл. 4.1). Новое семейство обеспечивает совместимость с архитектурой iMCS-48, но обладает более обширными адресными пространствами памяти программ и данных, усовершенствованными средствами ВВ и поддержки режима реального времени. В архитектуре предусмотрено до 64К байт ПЗУ, часть которого реализуется на кристалле, 128/256 байт внутреннего ОЗУ, до 64К байт внеш­него ОЗУ, 32 линии физического ВВ, программируемый последовательный интерфейс, два или три 16-разрядных таймера/счетчика и двухуровневая система прерываний с пятью или шестью источниками запросов. Дальнейшее развитие получила система команд и способы доступа к отдельным элементам данных. В состав системы введены команды умножения и деления, реализован булев подпроцессор. Сейчас в семействе iMCS-5I более восьми однокристальных микроЭВМ с различными физическими возможностями. Развитие семейства продолжается.

В 1983г., когда появилась возможность интеграции на одном кристалле кремния более чем 100 тыс. транзисторов, фирмой Intel было предложено семейство 16-разрядных однокристальных МК iMCS-96 [57]. В основе семейства лежит БИС 8096 (см. табл. 4.1), содержащая 120 тыс. транзисторов на одном кристалле, что позволило разместить на нем 16-разрядный ЦП, 8К байт программной памяти, 232 байт памяти данных, а также подсистему аналогового и цифрового ВВ с развитыми средствами поддержки режима реального времени, включая скоростной ВВ (СВВ). Практическое освоение перспективных 16-разряд­ных МК семейства iMCS-96, ориентированных на применение в 90-х гг.. находится в начальной стадии. Областью их использования будут сложные управляющие устройства с повышенными арифметическими возможностями.

Тип прибора

Память программ, байт

Память данных

Число линий ВВ

ИРПС

 Число и разрядность таймеров

 внутренняя 

 внешняя 

 внутренняя 

 внешняя 

 внутренних 

 внешних 

iMCS-48

 8048

1К (ПЗУ)

64

256

27

16

1х 8

 8748

1К (УСППЗУ)

64

256

27

16

1x 8

 8035

64

256

27

16

1x 8

 8049

2К (ПЗУ)

128

256

27

16

1x 8

 8749

2К (УСППЗУ)

128

256

27

16

3 х 8

 8039

128

256

27

16

1x 8

 8050

4К (ПЗУ)

256

256

27

16

1x 8

 8040

256

256

27

16

1х 8

 8021

1К (ПЗУ)

64

21

16

1x 8

 8022*

2К (ПЗУ)

64

26

16

1х 8

 8041

1К (ПЗУ)

64

18 + СА

16

1х 8

 8741

1К (УСППЗУ)

64

18 + СА

16

1x 8

 8355

2К  (ПЗУ)

16

 8755

2К  (УСППЗУ)

16

 8155

256

22

1x 8

 8156

256

22

1x 8

 8243

16

iMCS-51

 8051

4К (ПЗУ)

64К

128

64К

32

1

2 x 16

 8751

4К (УСППЗУ)

64К

128

64К

32

1

2 x 16

 8031

64К

128

64К

32

1

2 x 16

 8052

8К (ПЗУ)

64К

256

64К

32

1

3 x 16

 8032

64К

256

64К

32

1

3 x 16

 8044

4К (ПЗУ)

64К

256

64К

32

1

2 х 16

 8744

4К (УСППЗУ)

64К

256

64К

32

1

2 x 16

 8344

64К

256

64К

32

1

2 х 16

iMCS-96

 8394

8К (ПЗУ)

64К

232

64К

40 + CBB

1

2 x 16

 8396

 

 

 

 

 

 

 

 

 8094

64К

232

64К

40 + СВВ

1

2 x 16

 8096

 

 

 

 

 

 

 

 

 8395*

8К (ПЗУ)

64К

232

64К

40 + СВВ

1

2 x 16

 8397*

 

 

 

 

 

 

 

 

 8095*

64К

232

64К

40 + СВВ

1

2 х 16

 8097*

 

 

 

 

 

 

 

 

* Содержит АЦП

Рис. 4.1. Обобщенная схема однокристального микроконтроллера

Микроконтроллерные БИС (рис. 4.1) отличаются друг от друга, но общим для них является 8- или 16-разрядный ЦП, ПЗУ емкостью (1—8) К байт, ОЗУ емкостью 64-256 байт, значительное число линий цифрового ВВ (18-32). Все системы имеют достаточно эффективные наборы команд, содержащие до 70 и более различных кодов, в том числе мощные средства организации вычислений в режиме реального времени.

Имеется два типа памяти программ МК, обеспечивающих гибкость при переходе от проекта к промышленному изделию. Микроконтроллеры с ультрафио­летом стираемыми программируемыми ПЗУ (УСППЗУ) очень экономичны при разработке и отладке исходной системы. Их память команд может быть запрограммирована с помощью обычных программирующих систем [15]. При необходимости память можно полностью очистить засветкой ультрафиолетом через прозрачное окошко на верхней крышке корпуса БИС и ввести в нее новую программу.

Соседние файлы в папке курсовой проект