PIC контроллері үшін бағдарламалау құралдары



Мазмұны

Кіріспе
3
1
PIC контроллері үшін бағдарламалау құралдары

1.1
Миниатюралық PIC контроллерінің сипаттамасы
4
1.2
MPLAB IDE интеграцияланған даму ортасы
4
1.3
1.3 MATLAB SIMULINK-ты MPLAB-ке қосу
14
Қорытынды
27
Пайдаланылған әдебиеттер
28

Кіріспе

PIC-контроллері төмен тұтыну қуаты мен төмен шығынды жинақы жүйесін жасау керек жағдайларда танымал, оның басқару жөніндегі жоғары талаптар қоюға болмайды. Бұл контроллер сыртқы порталдар арқылы сыртқы құрылғылармен өзара әрекеттесетін икемді бағдарламалық құрал - жабдықтардың логикасын ауыстыруға мүмкіндік береді.
Автоматты басқару жүйелері және қарапайым басқару элементтерін миниатюралық PIC контроллерлері функцияларды жүзеге асыру үшін интерфейс түрлендіргіштер сериялық деректерді құру үшін жақсы.
Microchip бағдарлама арқылы PIC микроконтроллерлеріне екілік файлдарды жазатын еркін интеграцияланған өңдеу және күйін келтіру ортасын MPLAB-та таратуға болады.
Динамикалық жүйелердің графикалық модельдеу және талдауы нәтижесінде, өзара іс-қимыл MPLAB және Matlab Simulink арқылы PIC-контроллерлер үшін бағдарламаны әзірлеуге мүмкіндік береді. MPLAB, Matlab Simulink және PIC-KIT3 бағдарламалары PIC контроллерлер құралдарын қарастырады. Олар:
oo PIC12F629 шағын PIC контроллері сипаттамаларын;
oo MPLAB IDE интеграцияланған даму ортасы;
oo Matlab Simulink-ты немесе MPLAB-ке қосу;
oo PIC-KIT3 бағдарламашысын қосу.

1 PIC контроллері үшін бағдарламалау құралдары

1.1 Миниатюралық PIC контроллерінің сипаттамасы

PIC12xxx тобының құрамында кіріктірілген сағат генераторы бар шағын 8-істікшелі пакетте контроллер болады. Контроллерлерде RISC архитектурасы бар және процессордың нұсқауларының көпшілігі бір машина циклында орындалатынына көз жеткізуге болады.
CMOS технологиясы сағат тоқтату ішкі түйіндердің логикалық жоғалтуға әкеп соқтырмайды, онда контроллер толық статикалық жұмыс режимін қамтамасыз етеді.
PIC12F629 микроконтроллер 6-биттік енгізу порты GPIO шығысы болады. One қорытынды GP3 GPIO порт тек кіре берісте жұмыс істейді, басқа да терминалдар енгізу және шығару үшін де конфигурациялауға болады. Әрбір PIN жеке биттік GPIO тежеу ​​сигнал деңгейін өзгерту және бит ішкі pullup резистор қосу үшін рұқсат үзу отыра алады. [1]

1.2 MPLAB IDE интеграцияланған даму ортасы

MPLAB IDE PIC микроконтроллері үшін бағдарламалық жасақтама әзірлеудің еркін ортасы болып табылады, ол бағдарламаларды жасау, өңдеу, күйіне келтіру, аудару және бағдарламаларды байланыстыру, бағдарламашы арқылы микроконтроллерлерге арналған машина кодын жазу үшін құралдарды қамтиды.
MPLAB IDE жүктеу
MPLAB тегін нұсқалары (MPLAB 8.92 қоса алғанда) Microchip веб-сайтында ЖҮКТЕУШІ АРХИВ бөлімінде сақталады.
Жобаны құру
MPLAB ортасында PIC контроллерлерінің жобаларын жасаудың мысалы келесі қадамдарды қамтиды.
1. Жобаның менеджеріне қоңырау шалыңыз.

2. PIC микроконтроллерінің түрін таңдаңыз.

3. Компиляторды таңдаңыз, мысалы, Assembler үшін Microchip MPASM.

4. Жобалар каталогына (Шолу ... түймесі) жолды таңдап, жоба атауын енгізіңіз.
5. Жоба шебері -- Қадам төрт терезесінде жобаға файлдарды қосуға болмайды. Бұл кейінірек белсенді жоба аясында жасалуы мүмкін. Келесі терезе келесі терезені ашады.
6. Жобаны жасауды аяқтау (Аяқтау пернесі).
FirstPrMPLAB жобасын жасау нәтижесінде MPLAB интерфейсі суретте көрсетілген пішінді алады
.

1-Сурет. MPLAB v8.92 ортасының интерфейсі және жоба үлгісі.

Бағдарлама файлын жасау
Бағдарламаны кез-келген мәтіндік редактор арқылы жасауға болады. MPLAB жылы осындай мәтін қорғалған сөздер, тұрақты, ескертулер, пайдаланушы анықталған аттармен ерекшеленген, онда көзі мәтін, жылдам лексикалық талдау бірқатар артықшылықтары, қамтамасыз ететін кіріктірілген редакторы, бар.
MPLAB бағдарламасында келесі ретпен жасай аласыз.
1. Бағдарлама өңдеушісін ашыңыз: Мәзір -- Файл -- Жаңа. Бастапқыда бағдарлама Untitled деп аталды.
2. Бағдарламаны теріңіз немесе көшіріңіз, мысалы, ассемблерде.
3. мысалы, FirstPrMPLAB.asm, түрлі аты (Save As -- Мәзір -- Файл) бойынша бағдарламаны сақтаңыз.

2-Сурет. Максималды жиілікте GP0, GP1, GP2, GP4, GP5 контроллерінің порттары арқылы сигналдарды шығару үшін қарапайым бағдарламаның мысалы (ассемблерде).

TRISIO тіркеу битінде '1' жазу тиісті шығыс буферін 3-ші күйге аударады, бұл жағдайда GP порты тек кірісте жұмыс істей алады. TRISIO ішіндегі нөлді орнату GP портын шығару үшін теңшейді.
Ескерту: PIC12F629 сипаттамасына сәйкес, микроконтроллердің GP3 порты тек кірісте жұмыс істейді (TRISIO тіркелімінің тиісті биті қалпына келтірілмейді - бұл әрдайым '1').
TRISIO және GPIO тіркеушілері жад аймағының түрлі банктерінде болады. Банктерді STATUS тіркелімінің 5-ші биті ауыстырады.
Ассемблердегі кез-келген бағдарлама директория директивасымен басталады және директивалық соңында аяқталады. Goka Metka бағдарламасы бағдарламаның циклдік орындалуын қамтамасыз етеді.

Бағдарламада келесі белгілер қолданылады (2-суретте).
LIST директивасы - контроллер түрін тағайындау
__CONFIG директивасы - контроллердің конфигурация биттерінің мәндерін орнату
Equ директивасы сандық мәнді беру болып табылады
Org 0 директивасы 0-ден бастап бағдарламаны орындаудың басталуы
Bsf пәрмені көрсетілген тіркелімнің битін 1 мәніне орнатады
Bcf командасы - көрсетілген тіркелімнің битін 0 мәніне қайтарады
Movlw командасы W тіркелгісіне тұрақты жазады
Movwf командасы W тіркелімінің мазмұнын көрсетілген тізіліміне көшіреді
Goto командасы - жапсырмасымен жолда шарасыз секіруді қамтамасыз етеді
Директива бағдарламаның соңы
Микроконтроллердің қажетті конфигурациясын орнату
PIC12F629 микроконтроллерінің конфигурациясы __CONFIG директивасы арқылы бағдарламада көрсетілетін конфигурация сөзінің параметрлеріне байланысты (2007h).
Тікелей немесе MPLAB терезесі арқылы: Мәзір -- Конфигурация -- Конфигурация биттері:

Мұнда:
Бит 0-2- FOSC2: FOSC0. Сағат генераторын таңдау
111 - сыртқы RC генераторы. Ол GP5 штырына қосылады. GP4 CLKOUT секілді жұмыс істейді
110 - Сыртқы RC генераторы. Ол GP5 штырына қосылады. GP4 I O сияқты жұмыс істейді
101 - 4MHz ішкі RC генераторы. GP5 I O сияқты жұмыс істейді. GP4 - CLKOUT ретінде
100 - 4 МГц ішкі RC генераторы. GP5 және GP4 I O ретінде жұмыс істейді
011 - ЭК генераторы. GP4 I O сияқты жұмыс істейді. GP5 - CLKIN ретінде
010 - HC генераторы. Резонатор GP4 және GP5-ке қосылған
001 - XT генераторы. Резонатор GP4 және GP5-ке қосылған
000 - LP генераторы. Резонатор GP4 және GP5-ке қосылған
Бит 3 - WDTE: Watchdog таймерді орнату
1 - WDTE қосылған
0 - WDTE өшірулі

Watchdog таймер микроконтроллерді ілінуден қорғайды - таймер қалпына келтірілмеген болса, белгілі бір уақыт аралығында бағдарламаны қайта бастайды. Таймер кезеңі OPTION_REG тіркелімінде орнатылады. Watchdog таймері CLRWDT командасымен қалпына келтіріледі.
Бит 4 - PWRTE: Таймерді қосуды қосу:
1 - PWRT өшірілген
0 - PWRT қосылды
VDD қосылған кезде таймер микроконтроллерді қалпына келтіру күйінде ұстайды.
Бит 5 - MCLR: GP3 -MCLR шығуының жұмыс режимін таңдау
1 -MCLR сияқты жұмыс істейді
0 - GP3 I O порты ретінде жұмыс істейді
Бит 6 - BODEN: Қуат кернеуін азайтуға рұқсатты қалпына келтіру (әдетте 2.0 В)
1 - BOR қалпына келтірілді
0 - мүгедек BOR қалпына келтірілсе, таймер автоматты түрде қосылады
BOR қалпына келтіру мүмкіндігі қосылған кезде PWRT таймері қосылады
Бит 7 - .CP: Бағдарламаны жадтан қорғаудың биті бағдарламашыдан оқылады
1 Қорғау өшірулі
0 Қорғау қосылған
Қорғауды өшірген кезде барлық бағдарлама жады өшіріледі
Бит 8 - .CPD: деректер жадысының EPROM қорғау биті
1 Қорғау өшірулі
0 Қорғау қосылған
Қорғауды өшіргеннен кейін барлық ақпарат өшіріледі
Бит 9-11 - Пайдаланылмайды: '1' ретінде оқыңыз.
Бит 12-13 - BG1: BG0. Қуатты қосуды қалпына келтіруге арналған биттер
00 - төмен калибрлеу шегі
11 - калибрлеудің жоғарғы шегі
Бағдарламаға жоба қосу жобасына бағдарламаларды қосу (3 суретте) көрсетілген.

3-Сурет. БіріншіPrMPLAB.asm бағдарламасын FirstPrMPLAB.mcp жобасына қосу

Жобаның материалдарын сақтау үшін пәрменді пайдаланыңыз: мәзір -- Файл -- Жұмыс кеңістігін сақтау.
Компиляция
Микроконтроллердің микробағдарламалық жасақтамасы үшін ондық кеңейтумен екілік файлды жасау үшін, жобаны құрастыру қажет. Компиляция мәзірі -- Project -- Build All арқылы басталады. Компиляцияның нәтижесін Шығару терезесінде көруге болады (1-сурет). Егер бағдарламада қате болмаса, компилятор табысты компиляцияны хабарлайды: BUILD HUCFECTED, жүктелетін HEX файлын жұмыс каталогынан табуға болады:

Бағдарламаны түзету
MPLAB IDE ортада Программаны аппараттық эмуляторы, MPLAB REAL ICE немесе бағдарламалық тренажер MPLAB SIM пайдаланып жүзеге асырылуы мүмкін. Соңғысы күріш көрсетілгендей іске қосылады. 4.

4-Сурет. Бағдарламаны отладтау үшін MPLAB SIM симуляторына қосылу.

Терезесі отладчика шығыстынан (1-сурет) бастап кейін MPLAB ағымдағы ақпарат MPLAB отладчик көрсетеді SIM қойындысын, пайда болады. Отладчик командалары (5-сурет) іске қосылғаннан кейін белсенді болады.

5-Сурет. Жөндеу құралы пәрмендері.

Debugger командалары:
oo Run - Бағдарламаны тоқтау нүктесіне (Breakpoint), егер орнатылған болса, үздіксіз орындау.
oo Жалғастыру - ағымдағы орындау кезінде бағдарламаны тоқтатыңыз.
oo Анима - Бағдарламаны үздіксіз орындау үшін анимация.
oo Қадамға қадам - ​​қадам (қоңыраулар бір қадаммен орындалады).
oo Қадам - ​​Қоңыраулар пәрмендерін қосқанда қадамдармен орындау.
oo Қалпына келтіру - бағдарламаны бастапқы орнату. Меңзерді бірінші пәрменге жылжытыңыз.
oo Үзіліс нүктелері - тоқтау нүктелерінің тізімін көрсетеді. Тізімді өңдеу.

Бағдарлама қадамдармен орындалған кезде, ағымдағы қадам көрсеткі арқылы белгіленеді (6-сурет). бағдарламасын жалғастыра бағдарламасы тоқтау тоқтату командасы немесе қол жеткізуге тоқтатады. Тоқтау нүктесі екі рет басу арқылы бағдарлама жолында орнатылады жойылады.
Ең жоғары жылдамдығы контроллері мысалы ассемблер бағдарлама суретте көрсетілгендей порттарының күйін өзгертеді. 6 (оң жақта). Бағдарлама GPIO порты Тіркелу деректер b'10101010 және b'01010101 тасымалдайды. GPIO тіркелімі деректер беру контроллері порттары бастап барлық бит емес жұмыс, бірақ тек 0,1,2,4, және 5, GPIO мемлекеттік (сол жақ сурет 6,.) Тіркейді, түрлі құндылықтар: b'00100010 және b'00010101.

5-Сурет. Жөндеу құралы пәрмендері.

Debugger командалары:
oo Run - Бағдарламаны тоқтау нүктесіне (Breakpoint), егер орнатылған болса, үздіксіз орындау.
oo Жалғастыру - ағымдағы орындау кезінде бағдарламаны тоқтатыңыз.
oo Анима - Бағдарламаны үздіксіз орындау үшін анимация.
oo Қадамға қадам - ​​қадам (қоңыраулар бір қадаммен орындалады).
oo Қадам - ​​Қоңыраулар пәрмендерін қосқанда қадамдармен орындау.
oo Қалпына келтіру - бағдарламаны бастапқы орнату. Меңзерді бірінші пәрменге жылжытыңыз.
oo Үзіліс нүктелері - тоқтау нүктелерінің тізімін көрсетеді. Тізімді өңдеу.
Бағдарлама қадамдармен орындалған кезде, ағымдағы қадам көрсеткі арқылы белгіленеді (6-сурет). бағдарламасын жалғастыра бағдарламасы тоқтау тоқтату командасы немесе қол жеткізуге тоқтатады. Тоқтау нүктесі екі рет басу арқылы бағдарлама жолында орнатылады жойылады.
Ең жоғары жылдамдығы контроллері мысалы ассемблер бағдарлама суретте көрсетілгендей порттарының күйін өзгертеді. 6 (оң жақта). Бағдарлама GPIO порты Тіркелу деректер b'10101010 және b'01010101 тасымалдайды. GPIO тіркелімі деректер беру контроллері порттары бастап барлық бит емес жұмыс, бірақ тек 0,1,2,4, және 5, GPIO мемлекеттік (сол жақ сурет 6,.) Тіркейді, түрлі құндылықтар: b'00100010 және b'00010101.

6-Сурет. Бағдарламаны орындау кезінде арнайы функция Тіркелу бақылаушы мәртебесі (сол жақта) және бағдарламалық (оң жақта) қадамдарды орындайды.

Отладка кезінде негізгі мәзірдің Көрініс бөлімінде ашылған тиісті терезелердегі регистрлердің, айнымалылардың, жадтардың күйін бақылауға болады. отладки кезде, сіз бағдарламалық кодына өзгертулер енгізуге болады, тізілімдер мазмұны, жад, айнымалылардың мәндерін өзгерту. Кодты өзгерткеннен кейін бағдарламаны қайта құрастырыңыз. тізілімдер, жады және айнымалылардың мәндерінің мазмұнын өзгерту (бөлім қарау терезесі: Арнайы функция Тіркелу, Register, түйініне Watch Файл) компиляциясы талап етпейді.
Микроконтроллер моделінің порттарының кіріс сигналдары Debugger -- Stimulus бөлімінде көрсетілуі мүмкін. Порттың сигналдарының орнатылған күйі отладтау уақытына байланысты.
Кейде отладки режимінде бағдарламасын орындау нақты контроллер бірдей бағдарламасының орындалуы сәйкес келмейді, мысалы, нұсқаулар болмаса бағдарламалық отладчикам (6-сурет) 0x07 және movwf cmcon movlw шығымдылығы GP0 және GP1 GPIO тіркелімдер өзгерген жоқ деп көрсетеді - болып табылады нөлдік GPIO тізілімінің мазмұны кезекпен 0x14 және 0x20 тең болады. (7 суретті қараңыз ..) 0x15 және 0h22, ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Микроконтроллер – бұл әртүрлі электрондық құралдарды басқаруға арналған арнайы микросхема
RISC архитектуралы микроконтроллерлер
Микроконтроллерлардың параметрлері
Әр түрлі басқару жүйелеріндегі контроллерлер
Үзулердің сыныптарға ерекшеленуі
Заманауи мобильді қосымшалар
Геркон технологиясының бес артықшылығы
Жүйелік жад
Қате суретті таңдау
Эскалаторлардың түрлері
Пәндер