Z 00000002
__16C71 00000001
an1 00000012
an2 00000013
analog 00000033
counter_h 00000010
counter_l 0000000C
del 0000000E
delay 0000001A
initAD 00000011
k 0000000E
k1 0000000F
k2 00000040
m1 0000001C
m2 00000028
m3 00000045
m4 00000043
m5 00000048
n1 00000038
n2 0000003D
n3 00000035
proc_B 00000025
proc_E 0000002A
start 00000002
t_32mc 0000003E
test 00000011
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0040 : XXXXXXXXX------- ---------------- ---------------- ----------------
All other memory blocks unused.
Program Memory Words Used: 73
Program Memory Words Free: 951
MPASM 02.20 Released LAB6.ASM 5-25-2004 19:46:50 PAGE 6
Errors : 0
Warnings : 0 reported, 0 suppressed
Messages : 0 reported, 0 suppressed
Методика перевірки працездатності програми:
1. Для перевірки працездатності програми необхідно її спочатку відкомпілювати та після того як всі помилки було виправлено треба запустити програму на виконання, але перед цим для моделювання роботи АЦП нам потрібно створити текстовий файл (наприклад adcres.reg) у якому будуть записані зачення результатів перетворення АЦП та підключити файл. Зміст цього файлу приведено нижче:
Зміст файлу adcres.reg:
21
25
2A
13
35
35
Для того, щоб його підключити треба відкрити вікно Register Stimulus через меню: Debug->Simulator Stimulus->Register Stimulus->Enable... та вибрати цей файл. У полі Program Memory Address вказати адресу команди в пам'яті програм, а саме “delay”, у полі Register Address вказуємо символьне ім'я регістра ADRES.
Після скидання мікроконтролера, щораз, коли значення лічильника команд PC співпаде з указаною адресою ares, у регістр ADRES буде занесене значення з файлу adcres.reg. При досягненні кінця файлу adcres.reg підстановка почнеться з початку файлу, тобто буде виконуватися циклічно.
2. Далі запостивши програму на виконання покроково перевіряємо її процездатність: а саме ввод аналогового сигналу та по результату зрівняння їх перевіряємо чи викликається відповідна підпрограма у кожному випадку результату зрівняння.
На рис.1. забражено фрагмент тестування програми та підключення файлу у якому записані зачення результатів перетворення АЦП.
Рис.1. Фрагмент тестування програми.
Результати роботи програми:
З результатів вище описаної перевірки ми бачимо, що програма, яку ми написали - дійсно вірно працює та виконує усі дії які були описані у індівідуальному завданні для виконання, а саме: виконує ввод двох аналогових сигнали та по результату їх зрівняння, якщо U1 <= U2 виконує підпрограму E – формування позитивного імпульсу тривалістю ti = 5 · tц на виводі RB0, а якщо U1 > U2 виконує підпрограму В – декремент 16-розрядного лічильника в пам'яті даних. А також на виводі RB4 мікроконтролера формує сигнал з періодом повторення T=32 мс і числом рівнів квантування N=256.
Висновок: Під час виконання лабораторної роботи вивчили принцип роботи аналого-цифрового перетворювача на прикладі мікроконтролера PIC16C71. Навчилися вводити аналогові сигнали. Розглянули способи виводу аналогових сигналів. Навчилися формувати широтно-модульовані сигнали.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.