Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом З-49 Исправлен.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

5.2 Разработка алгоритма программы программирования

5.2.1 Алгоритм прошивки

Прошивка микроконтроллера представляет собой программу формирующую код КПТШ 5,8 и КПТШ 7,9 с кодовым циклом 1.6с и 1.86с соответственно. Сигнал КПТШ представляет собой последовательность импульсов и интервалов определенной длительности, временные параметры для каждого кода приведены в таблице №2.

Таблица №2 Временные параметры кода.

импульс

интервал

импульс

интервал

импульс

интервал

Зеленый

0,35с

0,12с

0,22с

0,12с

0,22с

0,57

Желтый

0,38с

0,12с

0,38с

0,72

Красно-желтый

0,23с

0,57с

0,23с

0,57

Так как программа разрабатывается на ассемблере, структура прошивки состоит из:

1. Шапка программы.

В шапке указывается начальная информация для компилятора.

list p=16f84 - директива;

#include<p16f84.inc>

__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_HS_OSC – установление параметров программы.

cblock 0x0C ; автоматическое присвоение адресов заданным именам

vrem1

vrem2

vrem3

vrem4

vrem5

pauza

end

ORG 0x000

clrf PORTA – обнуление содержимого регистров

clrf PORTB

bsf STATUS, RP0 ; * Выбор первого банка ОЗУ *

movlw b'00011111' ; * PORTА на вход *

movwf PORTA

movlw b'00000000' ; * PORTВ на выход *

movwf PORTB

; * Проверка входных условий порта А*

nach

btfsc PORTA,3 ;пров 0 бита ,если третий бит равен 0 то след строку пропуск

goto KPTCH58

btfsc PORTA,0 ;пров 0 бита ,если нулевой бит равен 0 то след строку пропуск

goto zela

btfsc PORTA,1 ;пров 1 бита ,если первый бит равен 0 то след строку пропуск

goto gola

btfsc PORTA,2 ;пров 2 бита ,если второй бит равен 0 то след строку пропуск

goto kga

2. Тело программы.

Здесь записываются инструкции, которые буду выполняться микроконтроллером, то есть сама прошивка.

Рассмотрим Часть прошивки соответствующей КПТШ 7,9 для кода Зеленый (З).

; Формирование непрерывного кода З зеленого КПТШ 7,9

zela

movlw b'00000001' ;установака 0 бита порта В в 1

movwf PORTB

movlw d'35';350 ; первый импульс кода З

movwf vrem3 - пересылка регистра W в регистр f

cycle1a

call mc10

decfsz vrem3, f

goto cycle1a

movlw b'00000000' ;переход 0 бита порта В в 0

movwf PORTB

movlw d'12';120 ;пауза 0,12мс импульса кода З

movwf vrem3

cycle2a

call mc10

decfsz vrem3, f

goto cycle2a

movlw b'00000001' ;переход 0 бита порта В в 1

movwf PORTB

movlw d'24' ;0,24 с второй импульс кода З

movwf vrem3

cycle3a

call mc10

decfsz vrem3, f

goto cycle3a

movlw b'00000000' ;переход 0 бита порта В в 0

movwf PORTB

movlw d'12' ; пауза 0,12 с импульса кода З

movwf vrem3

cycle4a

call mc10

decfsz vrem3, f

goto cycle4a

movlw b'00000001' ;переход 0 бита порта В в 1

movwf PORTB

movlw d'24' ; 0,24 с третий импульс кода З

movwf vrem3

cycle5a

call mc10

decfsz vrem3, f

goto cycle5a

movlw b'00000000' ;переход 0 бита порта В в 0

movwf PORTB

movlw d'79' ; пауза 0,79 с импульса кода З

movwf vrem3

cycle7a

call mc10

decfsz vrem3, f

goto cycle7a

goto nach ; переход в начало

Для остальных кодов КПТШ программа формируется по аналогичной схеме.

Листинг разработанной программы-прошивки для PIC16F84 представлен в ПРИЛОЖЕНИИ Б.