переміщень по пам'яті даних (переміщення по осередках пам'яті всередині сторінок і між сторінками пам'яті).
Розглянемо методику виконання процесу тестування на прикладі тесту на правильне функціонування команд мікроконтролера.
Всі тести були розроблені в середовищі моделювання MPLab IDE, яка є спеціалізованим емулятором роботи мікроконтролерів.
Код розробленого тесту на асемблері представлений нижче.
LIST P=16F877A
# include lt; P16F877A.INC gt;
ORG 0x00STATUS, RP0; вибір нульового банку регістрів
BCF STATUS, RP1
; Команда ADDWF0x050x200xAA0x20,00x210xAA0x20,1
; Команда ADDLW0xAA0x010x22
; Команда SUBWF0xFB0x230xAA0x23,00x240xAA0x23,1
; Команда SUBLW0xAA0x970x25
; Команда DECF0xAA0x260x26,00x270x26,1
; Команда DECFSZ + MOVF0x020x280x290x28,00x300x28,10x28,00xEE0x29
; Команда INCF0xCD0x310x31,00x320x31,1
; Команда INCFSZ0xFE0x330x340x33,10x33,00xEE0x34
; Команда ANDWF0xC40x350xAA0x35,00x360xAA0x35,1
; Команда ANDLW0xAA0xD70x37
; Команда IORWF0xC50x380xAA0x38,00x390xAA0x38,1
; Команда IORLW0xAA0xD80x40
; Команда XORWF0x630x410xAA0x41,00x420xAA0x41,1
; Команда XORLW0xAA0xF10x43
; Команда CLRF0xA70x440x44
; Команда CLRW0xA70x450x45
; Команда COMF0xA70x460x46,00x470x46,1
; Команда RLF0xA70x480x48,0
MOVWF 0x490x48,1
; Команда RRF
BCF STATUS, C0x48,00x510x48,00x500x50,1
; Команда SWAPF0xA70x520x52,00x530x52,1NOPsled
; Команда GOTO0xA70x54M1
GOTO nach
Приклад виконання цього тесту в середовищі MPLab показаний на малюнку 3.1.
Тест побудований на такому принципі: в регістр-акумулятор записується встановлена ??константа, з цією константою виконується одна з команд мікроконтролера, результат записується в вільну комірку пам'яті даних. Таким чином, в тесті виконуються практично всі команди, що утворюють систему команд мікроконтролерів PIC. Після завершення роботи програми отримані результати, записані в осередках, копіюємо в файл. Потім дані з файлу порівнюються з результатами, отриманими при роботі з програмою комплексу КІІБ.
Виконання програми тесту комплексом КІІБ представлено на малюнку 3.2.
Після порівняльного аналізу отриманих результатів було прийнято рішення про те, що розроблена в комплексі КІІБ система команд реалізована правильно у відповідність з документацією на сімейство мікроконтролерів PIC.
3.2 Тестування периферійних пристроїв
Основною метою проведення даного тестування була перевірка правильності реалізації та функціонування периферійних пристроїв моделі мікроконтролера.
Тестування проводилося для наступних периферійних пристроїв:
· таймер TMR0 (робота в режимі таймера і режимі асинхронного лічильника);
· таймер TMR1 (робота в режимі таймера, режимах асинхронного й синхронного лічильників);
· таймер TMR2 (робота в режимі таймера).
Розглянемо методику виконання процесу тестування на прикладі тесту на правильне функціонування таймера TMR2.
Всі тести були розроблені в середовищі моделювання MPLab IDE, яка є спеціалізованим емулятором роботи мікроконтролерів.
Код розробленого тесту на асемблері представлений нижче.
LIST P=16F877A
# include lt;P16F877A.INCgt;0x00main0x04PIR1,TMR2IFmain0x330x50PIR1,TMR2IFm10x1000xC0INTCONSTATUS,RP0PIE1,TMR2IESTATUS,RP00x04T2CONMOVLW 0xF0TMR20x40,1 $ - 1
end
Приклад виконання цього тесту в середовищі MPLab показаний на малюнку 3.3.
Тест побудований таким чином: за адресою 0х04 (див. директиву ORG 0x04) розміщена підпрограма обробки переривання від таймера TMR2. У головній програмі, розміщеної за адресою 0х100, TMR2 налаштовується в режим таймера без предделителя, в його значущий регістр записується константа.
Після здійснення даної настройки на кожному такті роботи значущий регістр таймера інкрементується, поки не виникне його переповнення. Післ...