Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЕВДОКИМОВ_А.П._ЭЛЕКТРОНИКА И МПС_26 МАЯ 2014 (1).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.69 Mб
Скачать

3 Практическая часть

3.1 Порядок выполнения работы

Рисунок 12.2 – Принципиальная схема стенда

  1. Запустите среду программирования MPLAB IDE v8.14. Создайте проект PRAKTIKA, файл port-xx.asm (где под хх следует понимать номер академической группы) и присоедините файл к проекту. Включите программный симулятор.

  2. Занесите нижеследующую программу в поле редактора программ. Программа выполняет циклическое включение и выключение светодиода, подключенного к PORTB (28-й вывод микроконтроллера PIC16F873A). Вслед за директивой #include p16f873a.inc, которая подключает все необходимые файлы для программирования микроконтроллера, записывается так называемое «слово конфигурации», которое определяет режимы работы микроконтроллера. Для экономии места оно не будет приведено в других программах методических указаний, но писать его нужно каждый раз.

;************************************************************ #include p16f873a.inc

__CONFIG _CP_OFF & _DEBUG_OFF & _WRT_OFF & _CPD_OFF &

_LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF &

_HS_OSC

;************************************************************

;Описание используемых в программе регистров общего назначения:

T1 equ 020h

T2 equ 021h

T3 equ 022h

;************************************************************ ;Начало

org 000h ;Вектор сброса

;************************************************************ ;Инициализация

bsf

STATUS, RP0

;Выбор банка 1

bcf

STATUS, RP1

movlw

b'00000000'

;Настройка PORTВ на передачу

movwf

TRISB

bcf

STATUS, RP0

;Выбор банка 0

clrf

PORTB

;Очистка PORTВ

;************************************************************

;Тело программы

M

bsf

PORTB, 7

;Установка «1» в 7 бите PORTB

call

DELAY

;Вызов подпрограммы задержки

bcf

PORTB, 7

;Установка «0» в 7 бите PORTВ

call

DELAY

;Вызов подпрограммы задержки

goto

M

;Организация цикла

;************************************************************

;Подпрограмма задержки

DELAY

movlw

.100

;Запись десятичного числа 100 в регистр Т3

movwf

T3

M3 movlw

.50

;Запись десятичного числа 50 в регистр Т2

movwf

T2

M2 movlw

.25

;Запись десятичного числа 25 в регистр Т1

movwf

T1

M1 decfsz

T1, f

;Вычесть из содержимого регистра Т1 единицу

goto

M1

;если содержимое Т1 не равно нулю, перейти ;на метку М1

decfsz

T2, f

;Если содержимое Т1 равно нулю, вычесть из ;содержимого регистра Т2 единицу

goto

M2

;Если содержимое Т2 не равно нулю, перейти ;на метку М2

decfsz

T3, f

;Если содержимое Т2 равно нулю, вычесть из ;содержимого регистра Т3 единицу

goto

M3

;Если содержимое Т3 не равно нулю, перейти ;на метку М2

return

;Если содержимое Т3 равно нулю, выйти из