00002
00000005 00003 PORTA EQU 0x05
00000006 00004 PORTB EQU 0x06
00000013 00005 MEM EQU 13
00006
0000 00007 ORG 0x000 ; processor reset vector
0000 0A02 00008 GOTO BEGIN ; go to beginning of program
0001 0000 00009 NOP
00010
0002 00011 BEGIN ; начало програмы
00012 ; ************* настройка портов в/в ************
0002 0040 00013 CLRW ; W:=0
0003 0005 00014 TRIS PORTA ; TRISA:=0 вывод по всем линиям
00015
0004 0CFF 00016 MOVLW 0xFF ; W:=FFh
0005 0006 00017 TRIS PORTB ; TRISB:=1111 1111 ввод по всем линиям
00018
0006 0066 00019 CLRF PORTB ; Clr PORTB
0007 0065 00020 CLRF PORTA ; Clr PORTA
00021
0008 00022 MAIN ;*********** Начало основной программы *********
0008 0206 00023 movf PORTB,0 ;W=98 (пересылка мз PORTB в W)
0009 0033 00024 movwf MEM ;W=MEM
00025
000A 0025 00026 movwf PORTA ;W -> PORTA (младшая тетрада)
000B 0393 00027 swapf MEM,0 ;обмен тетрад числа в МЕМ и запись в W
000C 0025 00028 movwf PORTA ;W -> PORTA (старшая тетрада)
000D 0A08 00029 GOTO MAIN
00030 END
MPASM 02.20 Released LAB_1.ASM 3-11-2004 19:59:17 PAGE 2
SYMBOL TABLE
LABEL VALUE
BEGIN 00000002
MAIN 00000008
MEM 00000013
PORTA 00000005
PORTB 00000006
__16C56 00000001
MEMORY USAGE MAP ('X' = Used, '-' = Unused)
0000 : XXXXXXXXXXXXXX-- ---------------- ---------------- ----------------
All other memory blocks unused.
Program Memory Words Used: 14
Program Memory Words Free: 1010
Errors : 0
Warnings : 0 reported, 0 suppressed
Messages : 0 reported, 0 suppressed
Відладка програми виконувалась за допомогою MPLAB Simulator Stimulus, де можна задавати послідовніст вхвдного байту. Для цоьго необхідно створити файл з розширенням .sti та підключити його перед виконанням програми (меню Debug/Simulator Stimulus/Pin Simulus/Enable). Тобто був створений файл nn.sti, який має слідуючий вигляд:
STEP RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
1 0 0 0 0 0 0 0 0
10 0 1 1 0 0 0 1 0
Для перевірки працездатності програми, її необхідно відлагодити шляхом послідовного натискання клавіши F8 та дивлячись на стан усіх використаних регістрів, який можна побачити за допомогою вікна watch (меню Window/Load Watch Window Lab_1.wat – файл,який можна створити за допомогою Window/New Watch Window та підключити необхідні регістри). Вікно Watch зображено на рис.2.
Також необхідно перевірити зміни значення вхідного байту, яке задано у файлі nn.sti, чи відповідають зміни значення вхідного байту заданому такту.
Це можна зробити за допомогою просмотру кількості тактів роботи програми у вікні Stop Watch (меню Window) (див. рис.2.)
Для того щоб зробити відладку програми необхідно виконати наступні дії:
1. Відкрити проект Lab_1.pjt.
2. Відкомпілювати його (Project/Buld All) та впевнитися, що помилок немає.
3. Підключити файл nn.sti, у якому задані значення вхідного байту.
4. Вивести на екран вікна Watch та Stop Watch
5. Для початку відлатки необхідно зробити скидання процесу (F6).
6. Почати пошагову відладку за допомогою клавіши F8 та аналізувати стан регістрів.
Після виконання всіх цих дій, а саме відладки роботи програми та аналізу стану регістрів, ми цілком впевнилися у її працездатності. Процес відладки програми показано на рис.2.
Рис.2. Процес відладки програми
Висновок: Під час виконання лабораторної роботи, вивчили на прикладі мікроконтролера PIC16C56 режими роботи портів вводу/виводу, способи й особливості їх ініціалізації. Розглянути ввід/вивід дискретних сигналів. Набули практичні уміння роботи з пакетом MPLAB, засвоїли способи задання зовнішніх впливів на виводи портів мікроконтролера.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.