- •Лабораторна робота №3
- •Текст програми
- •Interrupt movwf w_copy ;Сохраняем контекст
- •Incf number,f ;Подготавливаемся к воспроизведению следующей мелодии
- •Incf counter,f ;Инкрементируем счетчик номера ноты
- •Incf number,f ;Подготавливаемся к воспроизведению следующей мелодии
- •Xorwf temp3,w ;Последний светодиод был?
- •Приводимо текст нех файла:
- •Використані команди:
- •Висновки:
МІНІСТЕРСТВО ОСВІТИ І НАУКИ,МОЛОДІ ТА СПОРТУ УКРАЇНИ
ЧЕРНІВЕЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
ім. ЮРІЯ ФЕДЬКОВИЧА
ІНЖЕНЕРНО-ТЕХНІЧНИЙ ФАКУЛЬТЕТ
КАФЕДРА КОРЕЛЯЦІЙНОЇ ОПТИКИ
Лабораторна робота №3
Тема: ” Управління світловими та аудіо ефектами
Кандидат фіз.-мат. наук:
доцент
М.Т.Стринадко
Виконав:
студент 3-го курсу
314 групи
Чигура Олександр
Чернівці
2011
Завдання:
Вивчити принципи роботи з програмними продуктами MPLAB-IDE та PROTEUS.
Описати схему управління світловими та аудіо ефектами на базі мікроконтролера PIC16F628.
Відладити приведений асемблерний код програми в середовищі MPLAB-IDE та PROTEUS.
Відредагувати приведений асемблерний код програми, залишивши по одному світловому та звуковому ефекту. Відладити відредагований асемблерний код програми в середовищі MPLAB-IDE та PROTEUS.
Оформити звіт.
Інтегроване середовище програмування MPLAB-IDE
Середовище має зручний графічний інтерфейс, вбудований менеджер проектів і текстовий редактор з підтримкою виділення операторів і директив кольором, вбудований асемблер і симулятор, підтримує новітні dsPIC. Середовище дозволяє підключати компілятори Сі як виробництва Microchip, так і інших фірм. MPLAB IDE працює зі всіма налагоджувальними засобами Microchip, у тому числі і ICD2 дебаггером.
Підтримується установка точок зупину, перегляд і зміна пам'яті даних EEPROM.
Програмний симулятор MPLAB SIM
Симулятор MPLAB SIM дозволяє прослідкувати виконання програми мікроконтролером на рівні команд по крокам або в режимі анімації. На довільній команді виконання програми може бути призупинено для перевірки та зміни пам’яті. Спеціальні функції дозволяють моделювати сигнали з логічними рівнями на входах мікроконтролера.
Програмний продукт ISIS з пакета PROTEUS VSM
Програма комп’ютерного моделювання електронних пристроїв ISIS, входить до складу системи PROTEUS VSM. Особливістю даної програми є здатність моделювати пристрої не тільки на дискретних компонентах, звичайних аналогових та цифрових мікросхемах, але й на мікроконтролерах.
Схема управління світловими та аудіо ефектами на базі мікроконтролера PIC16F628
Текст програми управління світо на аудіо ефектами в середомищі MPLAB-IDE
Текст програми
LIST P=16F628
#include <P16F628.inc> ;Добавляем стандартный файл заголовка MPLAB
__CONFIG 03F30h ;WDT=off, BODEN=off, LVP = off, OSC = INTRC 4MHz
radix hex
; #define BUTTON PORTA,0 ;кнопка подключена к RA0
; --- Константы ---
SONGS EQU D'12' ; количество мелодий в памяти
CYCLES EQU D'10' ; через сколько полных циклов играть мелодию
DELAY1 EQU D'110' ; начальная скорость зажигания/гашения (больше-медленнее)
DELAY2 EQU D'104' ; начальная скорость вращения
DELAY3 EQU D'65' ; начальная скорость бегущего огня
DELAY4 EQU D'65' ; начальная скорость переливания двух светодиодов и 4-2-4
DELAY5 EQU D'240' ; начальная скорость "змейки"
; --- Макрокоманды ---
jnz MACRO Metka1 ; условный переход,
btfss STATUS,Z ; если результат операции не ноль
goto Metka1
endm
jz MACRO Metka2 ; условный переход,
btfsc STATUS,Z ; если результат операции ноль
goto Metka2
endm
jnc MACRO Metka3 ; условный переход,
btfss STATUS,C ; если нет переноса
goto Metka3
endm
jc MACRO Metka4 ; условный переход,
btfsc STATUS,C ; если перенос
goto Metka4
endm
mov MACRO DEST1,SOURCE1 ; пересылка регистр-регистр
movf SOURCE1,W
movwf DEST1
endm
mvi MACRO DEST2,CONST2 ; пересылка константы в регистр
movlw CONST2
movwf DEST2
endm
play MACRO NOTA ; проиграть 1 ноту указанной длительности и высоты
movlw NOTA
call Sound
endm
; --- ОПИСАНИЕ РЕГИСТРОВ ---
W_copy EQU 070h ;В этих регистрах будет
ST_copy EQU 071h ;сохраняться контекст
ADDRESS EQU 072h ;Хранение адреса ячейки, задающей состояние светодиодов
SPEED EQU 073h ;Темп исполнения
DURATION EQU 074h ;Длительность ноты
TONE EQU 075h ;Высота тона
NUMBER EQU 076h ;Номер мелодии
COUNTER EQU 077h ;Счетчик номера ноты при воспроизведении
LONGTIMER EQU 078h ;Счетчик номера цикла
OUT EQU 079h ;Состояние звукоизлучателя
TEMP1 EQU 07Ah ;Ячейки для врЕменного
TEMP2 EQU 07Bh ; хранения данных
TEMP3 EQU 07Ch
TEMP4 EQU 07Dh
TIME EQU 07Eh ;Время паузы между комбинациями
CHANGE EQU 07Fh ;Ускорение/замедление
BYTE00 EQU 020h ;Данные для программной организации ШИМ
BYTE01 EQU 021h
BYTE02 EQU 022h
BYTE03 EQU 023h
BYTE04 EQU 024h
BYTE05 EQU 025h
BYTE06 EQU 026h
BYTE07 EQU 027h
BYTE08 EQU 028h
BYTE09 EQU 029h
BYTE0A EQU 02Ah
BYTE0B EQU 02Bh
BYTE0C EQU 02Ch
BYTE0D EQU 02Dh
BYTE0E EQU 02Eh
BYTE0F EQU 02Fh
BYTE10 EQU 030h
BYTE11 EQU 031h
BYTE12 EQU 032h
BYTE13 EQU 033h
BYTE14 EQU 034h
BYTE15 EQU 035h
BYTE16 EQU 036h
BYTE17 EQU 037h
BYTE18 EQU 038h
BYTE19 EQU 039h
BYTE1A EQU 03Ah
BYTE1B EQU 03Bh
BYTE1C EQU 03Ch
BYTE1D EQU 03Dh
BYTE1E EQU 03Eh
BYTE1F EQU 03Fh
; --- ПУСК ---
ORG 0 ;Вектор сброса
Reset bcf STATUS,RP0 ;Обращение к банку 0
movlw B'00000111' ;Кодовая комбинация для отключения компараторов
movwf CMCON ;Пересылаем в регистр управления компараторами
goto Begin ;Обходим обработчик прерываний и подпрограммы
;--------------------------------------------------------------------------------------------------
; --- ОБРАБОТЧИК ПРЕРЫВАНИЙ ---
;--------------------------------------------------------------------------------------------------
ORG 4 ;Вектор прерываний