Модуль программы инициализации


Алгоритм процедуры инициализации приведен на рис.6.

Начало
Программирование УВВ
Ввод данных (I1)
?

M1

Нет (режим ожидания)

Да

Сохранение данных I1 в ОЗУ

Программирование УВВ
Ввод данных (U2)
?
Следующий модуль 2  
Сохранение данных U2 в ОЗУ

M2

Нет (режим ожидания)


Да

Рис.6. Блок-схема процедуры инициализации

Табл.3. Код программы инициализации

Код Комментарии Кол-во тактов
Программирование УВВ
LD A,00FEH Загрузка в аккумулятор управляющего слова FE (hex), позволяющего считывать канал A
LD HL,1008H Загрузка в регистровую пару HL адреса РУС
LD (HL),A Поместить из аккумулятора управляющее слово в РУС
Ввод данных (I1)
LD HL, (6000H) Чтение канала А в регистр HL
  LD D, 1001H Запись в регистр D адреса I1 в ОЗУ
M1: LD (D), HL Сохранение I1 в ОЗУ
  JP Z, M1 Ожидание (переход по M1 при z=1) 12 (7 при Z=0)
Программирование УВВ
LD A,00FFH Загрузка в аккумулятор управляющего слова FF (hex), позволяющего считывать канал B
LD HL,1008H Загрузка в регистровую пару HL адреса РУС
LD (HL),A Поместить из аккумулятора управляющее слово в РУС
Ввод данных (U2)
LD HL, (6000H) Чтение канала B в регистр HL
  LD D, 1002H Запись в регистр D адреса U2 в ОЗУ
M2: LD (D), HL Сохранение U2 в ОЗУ
  JP Z, M2 Ожидание (переход по M2 при z=1) 12 (7 при Z=0)

Модуль программы измерения h-параметров

Алгоритм процедуры измерения приведен на рис.7.

Вычисление h11 = U1 / I1 результат в ОЗУ
Вычисление h21 = I2 / I1 результат в ОЗУ  
Снятие входного напряжения U1 с АЦП2
Запись U1 в РОН МП
Предыдущий модуль 1  
Подача входного тока I1 на ЦАП1 (U2 =0)
Снятие выходного тока I2 с АЦП1
Запись I2 в РОН МП
Снятие входного напряжения U1 с АЦП2
Запись U1 в РОН МП
Снятие выходного тока I2 с АЦП1
Запись I2 в РОН МП
Подача выходного напряжения U2 на ЦАП2 (I1 =0)  




Вычисление h12 = U1 / U2 результат в ОЗУ

Вычисление h22 = I2 / U2 результат в ОЗУ  
Следующий модуль 3  

Рис.7. Блок-схема процедуры измерения h-параметров

Табл.4. Код программы измерения

Код Комментарии Кол-во тактов
LD A, (1001H) Загрузка из ОЗУ в аккумулятор значения I1
LD (2000H), A Подача входного тока I1 на ЦАП1
LD B,A Запись значения I1 в рег.В для выполнения с ним операции деления
LD A, (4000H) Измерение I2 с АЦП1
LD HL,A Помещение I2 в рег.HL
CALL DIV Вызов подпрограммы деления
LD (1006H),HL Запись h21 в ОЗУ
LD A, (1001H) Восстановление значения I1 в рег.В для выполнения с ним операции деления
LD B,A
LD A, (5000H) Измерение U1 с АЦП2
LD HL,A Помещение U1 в рег.HL
CALL DIV Вызов подпрограммы деления
LD (1004H),HL Запись h11 в ОЗУ
LD A, (1002H) Загрузка из ОЗУ в аккумулятор значения U2
LD (3000H), A Подача выходного напряжения U2 на ЦАП2
LD B,A Запись значения U2 в рег.В для выполнения с ним операции деления
LD A, (4000H) Измерение I2 с АЦП1
LD HL,A Помещение I2 в рег.HL
CALL DIV Вызов подпрограммы деления
LD (1007H),HL Запись h22 в ОЗУ
LD A, (1001H) Восстановление значения U2 в рег.В для выполнения с ним операции деления
LD B,A
LD A, (5000H) Измерение U1 с АЦП2
LD HL,A Помещение U1 в рег.HL
CALL DIV Вызов подпрограммы деления
LD (1005H),HL Запись h12 в ОЗУ
       
Подпрограмма деления HL на B, результат деления в HL
DIV: XOR A Исключающее Или, результат в A
LD DE,1 1→ DE
DIV1: SLA L Cдвиг L влево (L x 2)
RL H Циклический сдвиг H влево
RLA Циклический сдвиг рег. A влево
CP B  
JR C,ZR Переход по метке, если бит переноса С=1 12(7 при С=0)
SUB B A - B→ A
SLI E Сдвиг E
RL D Циклический сдвиг рег. D влево
JR NC,DIV1 Переход по метке, если бит переноса С=0 127 (при С=1)
EX DE,HL Обмен данными между DE и HL
RET Возврат из подпрограммы
ZR: SLA E Cдвиг E влево (E x 2)
RL D Циклический сдвиг рег. D влево
JR NC,DIV1 Переход по метке, если бит переноса С=0 12(7 при С=1)
EX DE,HL Обмен данными между DE и HL
RET Возврат из подпрограммы

Модуль программы вывода результатов

Алгоритм процедуры вывода приведен на рис.8.

Предыдущий модуль 2  

Вывод на канал A входного тока I1
M3

Вывод на канал B выходного напряжения U2
Вывод на канал C h11
Вывод на канал D h12  
Вывод на канал E h21
Вывод на канал F h22  


Рис.8. Блок-схема процедуры циклического вывода результатов

Табл.5. Код программы вывода

Код Комментарии Кол-во тактов
Программирование УВВ
M3: LD A,0000H Загрузка в аккумулятор управляющего слова 00 (hex), позволяющего делать вывод на канал A, C, E
LD HL,1008H Загрузка в регистровую пару HL адреса РУС
LD (HL),A Поместить из аккумулятора управляющее слово в РУС
Вывод I1
LD HL, (1001H) Чтение I1 в регистр HL
LD (6000H), HL Вывод I1 на канал A
  Вывод h11
LD HL, (1004H) Чтение h11 в регистр HL
LD (7000H), HL Вывод h11 на канал C
  Вывод h21
LD HL, (1006H) Чтение h21 в регистр HL
LD (8000H), HL Вывод h21 на канал E
Программирование УВВ
LD A,0001H Загрузка в аккумулятор управляющего слова 01 (hex), позволяющего считывать канал B, D, F
LD HL,1008H Загрузка в регистровую пару HL адреса РУС
LD (HL),A Поместить из аккумулятора управляющее слово в РУС
Вывод U2
LD HL, (1002H) Чтение канала U2 в регистр HL
LD (6000H), HL Вывод U2 на канал B
Вывод h12
LD HL, (1005H) Чтение канала h12 в регистр HL
LD (7000H), HL Вывод h12 на канал D
  Вывод h22
LD HL, (1007H) Чтение канала h22 в регистр HL
LD (8000H), HL Вывод h22 на канал F
JP M3 Зацикливание
 

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

Тактовая частота МП fтакт=10 МГц, время выполнения программы Tвып будет вычисляться как отношение числа тактов к частоте Nтакт / fтакт .

а) Для модуля инициализации: Nтакт1 = 2 x 73 = 146, Tвып1 = 14,6мкс;

б) Для модуля измерений: Nтакт2 = 2 x 147 + 4 x 127 (из расчета минимального количества циклов в подпрограмме деления) = 802, Tвып 2= 80,2 мкс;

в) Для модуля вывода: Nтакт3 = 2 x 40 + 6 x 26 + 10 = 246, Tвып3 = 24,6 мкс;

Всего тактов до зацикливания на выводе: Nтакт = 1194;

Полное время выполнения до зацикливания на выводе: Tвып = 119,4 мкс.

Заключение

В данной работе была разработана микропроцессорная система на основе микропроцессора Zilog Z80C. Число использоавнных команд = 15, коэффициент использования команд 8%. Коэффициент использования аппаратных средств очень мал, так как ПЗУ и ОЗУ изначально выбирались избыточными, но это было оправдано стоимостью микросхем. На сегодняшний день микропроцессорами в основном пользуются при разработке сложных систем, а для простых МПС широко используются микроконтроллеры, которые имеют в своем составе много встроенной периферии (АЦП, ЦАП, порты ввода/вывода и др.). В нашем случае при решении задачи на микроконтроллере затраты на аппаратные средства снизились бы в десятки раз.

Таблица спецификации элементов схемы

Табл.6. Спецификация элементов

Резисторы
Наименование Рассчитанное значение Номинальное значение с учетом допусков (согласно ГОСТ 2865-67 и ГОСТ 10318-74 по ряду Е24, допуск ±5%)
R1, R2 1 кОм (1± 0,05) кОм
R4 1 Ом (1± 0,05) Ом
R3 100 кОм (100± 5) кОм
Операционные усилители
DA2, DA3 Операционный усилитель LM310 компании National Semiconductor Corporation, специально предназначенный для использования в качестве повторителя, обладающий улучшенными высоким быстродействием  
DA1 Малошумящая микросхема ADA4899-1 компании Analog devices, содержащая в себе один ОУ.  
Переключатели
SW1 Кнопка HB-15CKS2
Линейные интегральные схемы
DD3 Микросхема 74154 - дешифратора 4x16
DD6 Микросхема AD7302, преобразующая цифровой 8 битный сигнал в напряжение (ЦАП)
DD7 Микросхема DAC0830, преобразующая цифровой 8 битный сигнал в ток (ЦАП)
DD10, DD11 Микросхема ADC0820, преобразующая входное напряжение в цифровой 8 битный сигнал (АЦП)
Цифровые интегральные схемы
DD2 Микропроцессор Z84C0010 CMOS 8-bit, производитель Zilog, семейство Z80C.
DD4 Микросхема M27C256B - EPROM 256K (32K x 8-bit) - перепрограммируемое ПЗУ
DD5 Микросхема IDT71256SA - CMOS STATIC RAM 256K (32K x 8-bit) – статическое ОЗУ
DD8 – DD12 Порт параллельного ввода/вывода PIO Z84C2010, семейства Z80C
Генераторы
DD1 Кварцевый генератор IQXO-350C на 10 МГц фирмы IQD

Литература

1) Уильямс Г.Б. «Отладка микропроцессорных систем»,Москва, Энергоатомиздат , 1988.

2) Каталог «ELFA» №57 2009. Каталог компонентов и комплектующих, приборов и инструмента для разработки, производства, сервиса современной электронной техники.

3) Интернет порталы с документацией по микросхемам http://www.alldatasheet.com/ , http://search.datasheetcatalog.net/ . Последнее обращение 1.12.2010.

4) «Расчет усилительного каскада на биполярном транзисторе: Учебно-методическое пособие: Для студентов заочного и очного обучения»,
Сост. С.Г.Прохоров, В.Г.Трусенев. / Казань: Изд-во Казан. гос. техн. ун-та, 2001.

Содержание

Введение. 2

Функциональное проектирование. 2

Структурное проектирование. 2

Проектирование аппаратной части МПС.. 2

Программирование. 2

Адресное пространство. 2

Модуль программы инициализации. 2

Модуль программы измерения h-параметров. 2

Модуль программы вывода результатов. 2

Расчетное задание: время выполнения программы.. 2

Заключение. 2

Таблица спецификации элементов схемы.. 2

Литература. 2

Наши рекомендации