Скачиваний:
81
Добавлен:
19.06.2015
Размер:
439.3 Кб
Скачать

Лабораторная работа № 1.

Цель работы – освоение современного микропроцессора серии MCS-51,

приобретение навыков программирования, работа с портами ввода-вывода.

    1. Общие сведения.

Микропроцессор DS89C420 Dallas Semiconductor является представителем серии восьмиразрядных однокристальных микропроцессоров, предназначенных для построения вычислительных и управляющих устройств. В отличие от родоначальника 51 серии Intel 8051, у процессора DS89C420 существует ряд существенных преимуществ:

- выполнение команды до 12 раз быстрее (выполнение машинного цикла за 1 такт работы процессора)

- работа на тактовой частоте до 33 МГц

- наличие внутренней Flash-памяти до 64 кб., и возможность внутрисхемного программирования

Схема расположения выводов показана на рисунке:

Рисунок 1

Здесь порт Р0 – двунаправленный порт ввода вывода и мультиплексированная шина адрес/данные (AD0 – AD7) для доступа к внешней памяти. Порт Р2, так же двунаправленный порт ввода – вывода, и старшие 8 разрядов шины адреса (A8 – A15). EA – разрешает выбор внешней или внутренней памяти программ. ALE – разрешение фиксации адреса(PROG – используется для реализации режима параллельного программирования). PSEN – память программ доступна. Порт Р3 и Р1 – двунаправленные порты ввода-вывода. WR- управление записью, RD - управление чтением. Т2 – внешний вход/выход для таймера/счетчика2, RXD1 – прием данных по последовательному порту2, TXD1 – передача данных по последовательному порту2, INT2, INT3, INT4, INT5 – внешние прерывания. RST – внешний сброс, RXD0 – прием данных по последовательному порту0, TXD0 – передача данных по последовательному порту0, INT0 и INT1 – входы внешних прерываний, T0 – внешний вход таймера0, T1 – внешний вход таймера1. WR – стробирующий импульс записи во внешнюю память, RD – стробирующий импульс чтения из внешней памяти.

    1. Описание лабораторного стенда

Схема платы представлена на рисунке 2

Микропроцессорный стенд включает в себя БИС процессора типа DS89C420(DD3), 10-ти разрядный быстродействующий АЦП AD7813, сопрягаемый с МП по шине D0…D7 Интерфейс RS232 и RS485 выполнены на микросхемах SP202EEP и SP485CX(DD1 и DD4). Переключение процессора в режим программирования и обратно осуществляется через COM-порт и 3-х стабильный буфер DD2.

Схема стенда приведена на рисунке:

Рисунок 3

Для программирования процессора через COM-порт компьютера используется программа Loader 420,окно работы с которой представлено на рисунке 4.

Рисунок 4

Программа находится на компьютере по следующему адресу: D:\TMP\LOADER\Loader420.exe. С помощью команд Load, Verify, Erase можно соответственно записывать, проверять и стирать программу из Flash памяти микропроцессора. В пункте меню Ports можно выбирать порт и скорость обмена между микропроцессором и ЭВМ. Для начала работы нажать OPEN, затем Loader . Программатор работает с программами в виде стандартных HEX-файлов, которые можно подготовить с помощью любой системы ассемблер для процессоров MSC-51.

Для создания hex-файла необходимо сделать следующие действия:

1. Написать программу в блокноте, пользуясь списком команд, и сохранить ее с расширением *.asm.

  1. После подготовки программы на ассемблере *.asm ее нужно пропустить через программу rem-filtr.exe, который находится в папке D:\Lab. Для этого нужно ввести в командную строку следующую запись: [rem-filtr.exe name.asm].

  2. После этого запустить созданный ею файл asm.bat в результате создается объектный файл с расширением obj. Запускается программа rl51.exe с объектным файлом в качестве параметра (через командную строку). Создается окончательный объектный файл без расширения.

  3. Для преобразования его в hex формат запускается программа objhex.com с последним созданным файлом (через командную строку).

После в программе Loader стирается старая программа из памяти микропроцессора и записывается новая.

Пример программы иллюстрирующий сложение двух цифр и отображение суммы на светодиодах:

mov P1, #07h % сохраняет и выводит на светодиоды число 7 в двоичной системе, т. е. 11100000, 1-значит лампочка не горит;

mov A, #12 % сохраняет число 12 в аккумуляторе;

Add A, P2 % складывает 2 числа и сохраняет сумму в аккумуляторе;

n: % метка

mov P1, A % помещает значение из аккумулятора на светодиоды, т. е. 11001000;

sjmp n % прыгает на метку;

end

При непосредственном выведении числа на светодиоды необходимо знать некоторые особенности:

  1. Числа выводятся в виде двух цифр в шестнадцатеричной системе, соответствующие двум полубайтам. Например, горит первая лампочка при mov P1, #01h, горит 01110101 при mov P1, #57h.

  2. Перед гласными должен стоять 0. Например, горят все лампочки - mov P1, #0ffh.