- •1. Микроконтроллер дегеніміз не?
- •2. Pic микроконтроллеры
- •2 Сурет. Стек пен программаның жады картасы
- •3. Microchip Technology туралы
- •4. Микроконтроллер негізінде микропроцессорлық жүйені әзірлеу
- •5. Pic Simulator ide симулятор программасы
- •5 Сурет. «eeprom жадысымен жұмыс» орындалатын программа
- •6 Сурет. « Математикалық операция: ішкі бағдарлама көбейтіндісі» орындалатын программа
- •7 Сурет. «Мәліметтерді 7 сегментті дисплейде көрсету» орындалатын программа
- •8 Сурет. «Сигнал генераторымен және осциллографпен жұмысы» орындалатын жұмысы
2 Сурет. Стек пен программаның жады картасы
PIC микроконтроллерде екі жады блогы бар – программа жадысы және мәліметтер жадысы (микроконтроллердің гарвардтық құрылымы) ЭЕМ құрылымына (Неймен құрылымы – мәліметтер командалармен теңдей сақталады) қарағанда. Әр блоктың өзінің шинасы бар, осылайша, блоктарға қол жеткізу бір уақытта жүреді (уақыттың минимизациясы). Мәліметтер жадысы, өз кезегінде, арнайы регистрлермен және ортақ қолданымдағы регистрлермен (қолданушының ОЕСҚ) бөлінген. Арнайы регистрлер порттардың енгізу/шығару жұмысын, таймер жұмысын және контроллердің басқа периферийлі модульдерін анықтайтын биттер жағдайын сақтау үшін қолданылады. Әр арнайы регистр анығырақ сәйкесті модульді қараған кезде сипатталған. Арнайы регистрлерден басқа және мәліметтер жады кеңістігінің ОЕСҚ жазу және қайта жазуы электрлік жолмен іске асырылатын тұрақты жады EEPROM(кейбір микроконтроллерде болмайды) ұяшықтары болуы мүмкін. Жадының бұл аймағы тікелей адрестелуі мүмкін емес және оған қол жеткізуді ұяшықтың реттік нөмірі жазылатын жанама EEADR адресациялы арнайы регистр арқылы алады. Негізі EEPROM қорек көзі өшкен кезде мәні жоғалмауы керек константты сақтау үшін пайдаланады, мысалы, басқару кодтары, жеке нөмірлер және т.б. EEPROM маңызды артықшылығы ондағы мәліметтер программаларды бір рет программалатын кристаллға салғаннан кейін де өзгеруі мүмкін. Қайта іске қосуды қайта жазу цикл саны 10000.
Ескерту: Программалы айнымалыны сақтау үшін қолданушының тек ОЕСҚ пайдаланған жөн.
Мәліметтер жадысы
Мәліметтер жадысы банк деп аталатын төрт банкке бөлінген, олардың әрқайсысы 128 байтты адрестелетін кеңістігі бар. Әр банкты таңдау RP1 және RP0 (STATUS регистрінің 6 және 5 биттері).биттерді қайта қосумен жүзеге асырылады.
Әр банктің кішкентай ұяшықтары арнайы функциялы регистрлер үшін резервтелінген, кейін статистикалық жады ретінде орындалған әмбебап регистрлер орналасқан. Программаларды азайту үшін және тезірек қол жеткізу үшін бір банкте орналасқан бірнеше жиі қолданатын арнайы функциялы регистрлер басқа банкте көрсетілу мүмкін.
STATUS регистрінің жағдайы
STATUS регистрінің жағдайы АЛҚ орындаған операциялар нәтижелері, күзетуші таймер жағдайы және мәліметтер жадысының банкін таңдау биттері бар.
1-кесте
STATUS регистрінің жағдайы (03һ, 83һ,103һ, 183һ)
Бит № |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Бит аты |
IRP |
PR1 |
RP0 |
-TO |
-PD |
Z |
DC |
C |
Лақтырудан кейінгі жағдайы |
0 |
0 |
0 |
1 |
1 |
x |
x |
X |
Қол жетімділігі |
R/W |
R/W |
R/W |
R |
R |
R/W |
R/W |
R/W |
Белгіленуі: R-оқылатын разряд, W- жазылатын разряд, x- анықталмаған мән |
||||||||
Регистр жағдайы биттерінің тағайындалуы төменде келтірілген.
7 биті: IRP – банкті таңдау (жанама адресация үшін пайдаланылады)
1=Банк 2,3 (100h - 1FFh)
0= Банк 0,1 (00h - FFh)
6-5 биттері: RP1:RP0–банкті таңдау (түзу адресация үшін пайдаланылады)
11- 3 банк (180h - 1FFh)
10- 2 банк (100h - 17Fh)
01- 1 банк (80h - FFh)
00- 0 банк (00h - 7Fh)
4 биті: -TO – күзетуші таймердің шығысы (WDT) 1= қорек көзін қосу немесе CLRWDT, SLEEP командаларынан кейін
0= WDT орындалғаннан кейін
3 биті : -PD – қорек көзін қосу.
1= (POR) қорек көзін қосудан немесе CLRWDT командасынан кейін
0= SLEEP командасын орындағаннан кейін
2 биті: Z – нөлдің белгісі
1= арифметикалық немесе логикалық операцияның нәтижесі = ”0” болса
0= арифметикалық немесе логикалық операцияның нәтижесі ”0” болмаса
1 биті: DC – ADDWF, ADDLW, SUBLW, SUBWF (қарыз үшін - инверсия) командаларынан кейін қосымша ауысу/қарыз
1= нәтижелердің 4-інші кішкентай разрядынан ауысу болса
0= нәтижелердің 4-інші кішкентай разрядынан ауысу болмаса
1 биті: С – ADDWF, ADDLW, SUBLW, SUBWF командаларынан кейін ауысу/қарыз
1= нәтижелердің үлкен разрядынан ауысу бар болса
0= нәтижелердің үлкен разрядынан ауысу бар болмаса
Ескерту: Қарыздың кері мәні бар. Азайту қосумен орындалады, сонымен қатар азайтылатын қосымша кодта көрсетіледі. Ығыстыру командалары (RRF, RLF) ауысу арқылы орындалады.
STATUS регистрі кез келген командамен кез келген басқа регистр сияқты адрестей алады. Егер ол – Z, C, DC жалауымен түрленетін командалар адресаты болса, онда осы биттерге жазу орындалмайды. Олар операциялар нәтижесімен сәйкесті орнатылады. Сонымен қатар, TO және PD биттері өзгермейді. Сәйкесінше, STATUS регистрмен болатын операция нәтижесі күтілетінен өзгеше болу мүмкін.
