movwf PORTA ; Вивід старшої частини у порт А з регістру W
nop
; Секція завершення:
End
Скорочений вміст файлу лістінгу програми:
MPASM 02.20 Released 1.INC 2-11-2004 15:59:58 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00000005 00001 PORTA EQU 0x05
00000006 00002 PORTB EQU 0X06
00000025 00003 MEM EQU 0x9
...
Warning[203]: Found opcode in column 1. (movlw)
0000 0C0F 00007 movlw b'0000'
Warning[203]: Found opcode in column 1. (tris)
0001 0006 00008 tris PORTА
...
Warning[203]: Found opcode in column 1. (movlw)
0002 0C03 00011 movlw b'1011001'
Warning[203]: Found opcode in column 1. (tris)
0003 0005 00012 tris PORTВ
...
Warning[203]: Found opcode in column 1. (movf)
0004 0206 00015 movf PORTB, 0
Warning[203]: Found opcode in column 1. (movwf)
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0005 0025 000161 movwf MEM
...
Warning[203]: Found opcode in column 1. (movwf)
0006 0025 00019 movwf PORTA
...
Warning[203]: Found opcode in column 1. (swapf)
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0007 0385 00022 swapf MEM, 0
Warning[203]: Found opcode in column 1. (movwf)
0008 0025 00023 movwf PORTA
00024 end
MPASM 02.20 Released 1.INC 2-11-2004 15:59:58 PAGE 2
SYMBOL TABLE
LABEL VALUE
MEM 00000009
PORTA 00000005
PORTB 00000006
__16C56 00000001
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
0000 : XXXXXXXXX------- ---------------- ---------------- ----------------
All other memory blocks unused.
Program Memory Words Used: 9
Program Memory Words Free: 1015
Errors : 0
Warnings : 9 reported, 0 suppressed
Messages : 2 reported, 0 suppressed
Послідовність дій при тестуванні:
1. Запускаю пакет MPLAB.
2.Створюю нове вікно, набираю текст програми, зберігаю його.(Vika2.asm, Vika2_2.asm).
3. Захожу в опції та обираю тип мікро контролера: Options –> Development Mode – вибір типу мікроконтролера (PIC16F84) і режиму (Simulator).
4. Компілюю мою програму: Project –> Build Node.
5. Якщо є помилки , то вони зберігаються у файлі лістінгу або у файлі помилок (lst, err). Виправляю помилки.
6. Debug –> Simulator Stimulus –> Clock Stimulus ... – задаю зовнішні сигнали на входи портів вводу/виводу.
7. Window –> Special Function Registers – відкриття вікна регістрів спеціального призначення.
В ході програми я можу спостерігати за станом регістрів спеціального призначення за допомогою цього вікна.
8. Debug –> Run –> Reset – скидання мікроконтролера.
9. Debug –> Run –> Step – покрокове виконання програми.
10. File –> Exit – вихід із програми.
Методика тестування:
В ході лабораторної роботи я повинна увести через порт В число М = 89, записати його в комірку пам`яті , потім вивести це число через порт А.
Після написання тексту програми та його компіляції я можу спостерігати покроково за роботою програми за допомогою вікна Special Function Registers:
Рис. 3 Вікно Special Function Registers.
Після декількох кроків виконання (Debug –> Run –> Step) я можу побачити наступне:
тобто: порт А сконфігуровано на вивід, а в потр В введено число 89.
Після чергового кроку ми можемо спостерігати як інформація з порту В переписується в регістр W:
В кінці роботи програми вікно Special Function Registers має наступний вигляд:
Рис. 4 Вікно Special Function Registers після виконання програми.
Результати виконання програми:
В результаті виконання програми відбувся запис поданого числа у порт В. Потім це число було переписане у задану комірку пам`яті (№ 9). Потім в ході програми це ж число потетрадно (спочатку - молодша, потім - старша) через робочий регістр W було надіслане у порт А (на вивід).
Висновки: В результаті лабораторної роботи я ознайомилася зі структурою портів
вводу/виводу, навчилася програмувати порти на ввод, вивід, також навчилася
записувати у порт подане число.
Також у ході лабораторної роботи я навчилася деяким навичка програмування мікро контролерів серії microchip. Я вивчила такі операції : конфігурування, пересилання, обміну.
В результаті роботи я дізналася, що пересилання виконується не напряму, а через робочий регістр W.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.