АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. IV. Алгоритм действий командира (начальника) при увольнении военнослужащего в связи с невыполнением им условий контракта
  2. LZW-модификация алгоритма Лемпеля-Зива
  3. Zip–модификация алгоритма Лемпеля-Зива
  4. А.3.3. Алгоритм медикаментозного лікування
  5. Алгоритм
  6. Алгоритм
  7. АЛГОРИТМ
  8. Алгоритм
  9. Алгоритм 1.11. Пошук невідкладних дій (перша медична допомога) симптоматичної допомоги при гострих струєннях.
  10. Алгоритм 1.4. Діагностичний і лікувальний (перша медична допомога) пошук при гіпертонічній кризі
  11. Алгоритм 2.4. Транспортна іммобілізація
  12. Алгоритм First Come First Served (FCFS)

Прошивка микроконтроллера представляет собой программу формирующую код КПТШ 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 представлен в ПРИЛОЖЕНИИ Б.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)