Микроконтроллердің негiзгi тағайындалуы

Автор работы: Пользователь скрыл имя, 19 Марта 2013 в 18:43, реферат

Краткое описание

Транзистордың пайда болуы ЭЕМ жылдамдығын секундына он және жүз мың операцияларды орындайтын халге жеткізді. ЭЕМ элементтерінің құрамына транзистор, диодтар, резисторлар, конденсаторлар қосылды. Мұндай ЭЕМ-дер екiншi ұрпақтың машиналарына жатты. Құрамына электрондық элементтердiң үлкен санын қосатын интегралды микросұлбалар қолданысқа ене бастауы ЭЕМ-нің үшiншi және одан ары қарайғы түрлері жылдамдықтарын тағы бірнеше есе көбейтті және адамның оны басқаруына, жеңіл пайдалануына жол ашты.

Прикрепленные файлы: 1 файл

микроконтроллер .docx

— 443.56 Кб (Скачать документ)

          Бағдарлама жадысы (EPROM) құрамына тұрақты есте сақтау жүйесін қосқан және бағдарламаларды сақтауға арналған. Микросұлба түріне қарай ТЕСҚ өшірілетін және тазаланатын түрлері қолданылады.

          Мәліметтерді көрсету регистрі (DPTR) 16 разрядты адресті сыртқы жадыға немесе бағдарлама жадысына сақтауға арналған.

          Стек көрсеткіші (SP) кұрамына сегізразрядты регистрді қосқан, кез келген жады ұяшығына мәліметтерді уақытша сақтай алатын жадының ерекше аймағын қалыптастыруға арналған.

 

2-БӨЛІМ

МИКРОКОНТРОЛЛЕРЛЕРДІҢ ЖЕКЕЛЕНГЕН ТОПТАРЫ

2.1. Бiр кристалды микроконтроллер, 78K0R/LG3-M

Renesas Electronics компаниясы электр  энергиясын есептейтін бiрфазалық  статикалық электрондық есептеуiштерiнің  қызметiн жобалауға мүмкiндiк беретiн  78K0R/LG3-M 16-дәрежелiк микроконтроллерлерді  жасап шығарды. Құрамына 20 Мгц  жиiлiкпен жұмыс істейтін және 128 Кбайттық флеш жадысы бар  жоғары өнiмдi 16-биттiк ядроны біріктірген  жаңа микроконтроллерлер есептеуiштiң   барлық негiзгi функцияларын құрамына  біріктірген. 

2.1.-сурет. Бір кристалды 78K0R/LG3-M микроконтроллер

Айырмашылық ерекшелiктері:

  • Бiр фазалық электр энергиясы есептеуiштерiнiң ұлғаймалы функционалдығын қолдауы. Үлкен көлемдi флеш жадының арқасында электр энергиясының бiр фазалық есептеуiштерiндегi әр түрлi функциялардың iске асу мүмкiндiгi.
  • Кiрiстiрiлген метрологиялық iшкi жүйе. Микроконтроллерлер құрамына төрт кiрiстiрiлген 24-биттiк аналогты-цифрлық түрлендiргiш (АЦТ) кіреді. Метрологиялық қозғағыш қосымша функцияларды орындау үшiн калибрлеу функциясын және қуат есептеуiшті іске қосады. Құрылымның активті қуатты өлшеуінің жоғарғы дәлдiктерге жетуіне мүмкіндік туады (қателік шамамен 0.1% құрайды).
  • Ультратөмен энергия тұтыну. Микроконтроллерлер жұмыс қабiлеттiлiгін қорек көзінің кернеуін     1.8-3.6 В аралығында сақтайды және электр энергиясынан ажыратылған жағдайда кішкене корек көзінің арқасында өте аз энергия тұтынып құрылғының нақты уақыт сағатында жұмыс жасауына мүмкіндік туғызады.

2.2. 8-биттік микроконтроллерлер, XC82/XC83Smart

XC82x және XC83x сериялары 24 Мгц  жиiлiкте жұмыс iстейтiн 8-биттiк  Infineon микроконтроллерлерiнің топтарына  жатады. Қазіргі кезде бұл микроконтроллерлер 2-8 Кбайттық флэш жадымен шығарылады. Микроконтроллердің сыртқы көрінісі 4-суретте бейнеленген.

  Микроконтроллерлердiң ең маңызды мiнездемелерiне коммуникациялық интерфейстер, генерациялы ендік импулсті модулятор сигналы және көп каналды 10 биттiк АЦТ, сонымен бірге төмен энергия тұтынудың қауіпсіз режимін жатқызуға болады. Микроконтроллердің стандартты 8 биттiк мәлiметтердi өңдеуiн көбейту/бөлу модулі арқылы математикалық сопроцессор жылдамдатады. Бұл микроконтроллерлердiң базасында қозғалтқыштардың басқару жүйелерi үшiн тиiмдi және интеллектуалды шешiмдердi құруға мүмкiндiк бередi.

2.2-сурет. Infineon микроконтроллерлерiнің сұлбасы

Ерекшелiктері:

  • Сенсорлық басқару (ТЕСҚ-ның кеңейтілген кiтапханасымен);
  • Көбейту/бөлу блогы (өнiмдiлiктi қосымша жоғарылату және басқару мүмкiндiктерiн кеңейту үшiн);
  • 10 битті төрт каналдық АЦТ;
  • Векторлық сопроцессор (коллекторсыз қозғалтқышты векторлық басқару үшiн);
  • Тізбектелген интерфейстердің болуы;
  • Жұмыстың өшу/қосылу тәртiптері.

Микроконтроллерлердiң XC82x/XC83x топтары сенсорлық басқару интерфейсінiң  арқасында қозғалтқыштарды автоматтық басқару және автомобилдiк нарықтың жаңа құрылғылары ретінде қолданыла  бастады. Олардың әрқайсысына жекелей  тоқтала кетсек, XC82x/XC83x микроконтроллерлерінiң  негізгі қолданылу аймақтары  былай жіктеледі:

  • Қозғалтқышты басқару құралдары:
  • Желдеткiштердi, үрлегiштерді және тағы басқа құрылғыларды басқаруға арналған кеңейтілген коммуникациялық құрымдардың тұрақты тоғының коллекторсыз қозғалтқыштарында;
  • Өлшегіш аспаптардың қозғалтқышын тiкелей басқаруда.
  • Автомобилдiң сенсорлық басқару құралдары:
  • Жарық шығаруда жарық диодтарының сәуле тарату түсiн реттеу;
  • Басқару құралдары (терезе көтергiштерді, айнаны, т.б.)
  • Автокөлiктiң төбесіндегі люкті басқару;
  • Отырғыштарды басқару;
  • Орталықтандырылған басқару жүйелерi, мысалы, жылыту, желдету және ауа тазарту;
  • Аспаптық панельдерді жарықтандыруды қамтамасыз етуді басқару.

3-БӨЛІМ

МИКРОКОНТРОЛЛЕРДІҢ  КОМАНДАЛАР ЖҮЙЕСІ

Микроконтроллердің командалар жүйесі логикалық, арифметикалық операцияларды  орындауға, сондай-ақ нақты уақыт  режимінде басқарып жұмыс істеуіне улкен мүмкіндік береді.

Командалар жүйесін шартты түрде бес бөлімге бөлуге болады.

  • Арифметикалық командалар;
  • Логикалық командалар;
  • Ақпаратты беру командалары;
  • Биттік процессор командалары;
  • Басқарма берілісінің және тармақты командалар.

 

Командалар жүйесінде  қолданылатын символдар және белгілеулер               кестесі

Белгіленуі, символ

Тағайындалуы

А

Аккумулятор

Rn

Таңдалған регистор

r

Командада көрсетілген жүктелген  регистордың номері

direct

Тура адрестелген 8-биттік ішкі мәліметтердің адрес ұяшығы

@Rr 

Ішкі ЖЕСҚ мәліметтерінің адрестелетін 8-биттік ұяшығы

data8

8-биттік тікелей мәліметтер

dataH

16-биттік тікелей мәліметтердің  үлкен биттері (15-8)

dataL

16-биттік тікелей мәліметтердің  кіші биттері (7-0)

addr11

11-биттік адрес 

addrL

Тағайындалған адрестің кіші биттері

disp8 

8-биттік байт

bit

Тура адрестік бит

a15, a14...a0

Адрес биттері

(Х)[M]

Х элементінің М разряды

 

+

-

*

/

AND

OR

XOR

/X

Операциялар:

Қосу

Алу

Көбейту

Бөлу

Логикалық көбейту (және операциясы)

Логикалық қосу (немесе операциясы)

2 модулі арқылы қосу

Х элементінің инверсиясы


 

Микроконтроллерлерде  қолданылатын операндтар

Белгіленуі

Функциясы

ADC

Тасымалдаумен қосу

ADD

Тасымалдаусыз қосу

ADIW

Тікелей мағынада қосу

AND

Логикалық AND-ны орындау

ANDI

Логикалық AND-ны тіклей мағынада орындау

ASR

Арифметикалық оңға жылжыту

BCLR

Жалауды тазалау

BLD

Бит регисторына Т жалаушасын жүктеу

BRBC

Бит регистор жағдайында тазаланған жағдайда өту

BRBS

Бит регистор жағдайында орнатылған жағдайда өту 

BRCC

Тасылмалдау жалаушасы тазаланған жағдайда өту

BRCS

Тасылмалдау жалаушасы орнатылған жағдайда өту

BREQ

Тең жағдайда өту

BRGE

Тең немесе үлкен болған жағдайда өту

BRHC

Жартылай тасылмалдау  жалаушасы тазаланған жағдайда өту

BRHS

Жартылай тасылмалдау  жалаушасы орнатылған жағдайда өту 

BRID

Глобалды үзуге тыйым  салынған кезде өту

BRIE

Глобалды үзуге рұқсат етілген кезде өту

BRLO

Аз болған жағдайда өту (белгісіз)

BRLT

Аз болған жағдайда өту (белгімен)

BRMI

Минус кезде өту

BRNE

Тең емес кезде өту

BRPL

Плюс жағдайда өту

BRSH

Тең немесе үлкен болған жағдайда өту (белгісіз)

BRTC

Т жалаушасы тазаланған жағдайда өту

BRTS

Т жалаушасы орнатылған жағдайда өту

BRVC

Аса толу тазартылған кезде  өту

BRVS

Аса толу орнатылған кезде  өту

BSET

Жалаушаны орнату

BST

Т жалаушасына регистрдан битті жазу

CALL

Келесі программаны шақыруды орындау

CBI

I/O регистрінде битті өшіру

CBR

Регистрдағы битты өшіру

CLC

Тасымалдау жалаушасын тазарту

CLH

Жартылай тасымалдау жалаушасын тазарту

CLI

Глобалды  үзу жалаушасын тазарту

CLN

Теріс мағына жалаушасын тазарту

CLR

Регистрді тазалау

CLS

Белгі жалаушасын тазарту

CLT

Т жалаушасын тазарту

CLV

Аса толу жалауын тазарту

CLZ

Нольдік мағыналы жалауды  тазарту

COM

Бірлікке дейін толықтыруды  орындау

CP

салыстыру

CPC

Тасымалдау есебімен салыстыру

CPI

Константпен салыстыру

CPSE

Тең болса салыстыру және тексеру

DEC

Декрементирлеу

EOR

Шығаруды орындау

ICALL

Келесі программаны жанама шақыру

IJMP

Жанама өту

IN

I/O портынан мәліметтерді регистрге жазу

INC

Инкрементирлеу

FMUL

Бөлшекті көбейту

FMULS

Сандық бөлшекті көбейту

FMULSU

Белгілі және белгісіз (белгісі  жоқ) бөлшекті көбейту

JMP

Өту

LD Rd,X

Жанама жүктеу

LD Rd,X+

Соңынан инкреминтерлеу арқылы жанама жүктеу

LD Rd,-X

Алдын ала инкреминтерлеу арқылы жанама жүктеу

LDI

Тікелей мағынада жүктеу

LDS

Тікелей мағынада ЖЕСҚ-тан  жүктеу

LPM

Программа жадысына байтты жүктеу

LSL

Логикалық солға жылжыту

LSR

Логикалық оңға жылжыту

MOV

Регистрді көшіру

MUL

Көбейту

NEG

Екіге дейін толықтыру

NOP

Бос команданы орындау

OR

Логикалық OR-ді орындау

ORI

Логикалық OR-ді тікелей мәнмен орындау

OUT

I/O портына регистрден мәліметтерді жазу

POP

Стектен регистрді жүктеу

PUSH

Стекке регистрді орнату

RCALL

Келесі программаны қатысты  шақыру

RET

Бастапқы программаға  кайта оралу

RETI

Үзілуден қайта оралу

RJMP

Қатысты өту

ROL

Тасымалдау арқылы солға  жылжыту

ROR

Тасымалдау арқылы оңға жылжыту

SBC

Тасымалдаумен шегеру

SBCI

Тасымалдаудың тікелей мәнімен  шегеру

SBI

I/O регисторына битті орналастыру

SBIC

I/O регистрінде бит тазаланған болса өткізу

SBIS

I/O регистрінде бит орнатылған болса өткізу

SBIW

Созден тікелей мәнімен  шегеру

SBR

Регистрге битті орналастыру

SBRC

Регистрде  бит тазаланған болса өткізу

SBRS

Регистрде  бит орнатылған болса өткізу

SEC

Тасымалдау флагын орнату

SEH

Жартылай тасымалдау флагын орнату

SEI

Глобалды үзу флагын орнату

SEN

Теріс мән флагын орнату

SER

Регистрдің барлық биттерін орнату

SES

Белгі жалаушысын орнату

SET

Т жалаушасын орнату

SEV

Толу жалауын орнату

SEZ

Нолдік мәне жалауын орнату

SLEEP

SLEEP режимін орнату

ST X,Rr

Жанама жазу

ST Y,Rr

ЖЕСҚ-қа регистрден Ү индексін қолданып жазу

ST Z,Rr

ЖЕСҚ-қа регистрден Z индексін қолданып жазу

STS

Тікелей ЖЕСҚ-қа жазу

SUB

Тасымалдаусыз шегеру

SUBI

Тікелей мәнге шегеру

SWAP

Ниббл орындарын ауыстыру

TST

Нолге немесе минусқа тексеру

WDR

Таймерді түсіру (нолге  айналдыру)


 

Микроконтроллер директивалары

 

 

ДИРЕКТИВА

Мәні

Мысал

Басқару директивасы

CONSTANT

Символдық константты анықтау

constant  cnt=255

#DEFINE

Алмастыру үшiн мәтiндiк тiзбектi анықтама

#define snd portsnd, 1

END

Программа блогiнiң соңы

end

EQU

Тұрақты шаманың анықтамасы

temp    equ 0xF0 

ERROR

Қателiк туралы хабар

error "error line"

ERROR LEVEL

Листингтiң файлында қателiк түрiндегi және  файл қателерi  туралы хабар қондыру

errorlevel 1, -202

INCLUDE

Қоректендірудің басқа файлын қою

include <addmain.asm>

LIST

Егер  алдын ала тыйым салынған болса форматты (микроконтроллер типі, жолдағы символдар саны) анықтауға рұқсат етеді

list p=17c42, f=INHX32, r=DEC

MESSG

Қолданбалы хабарлама құру

messg "see here!"

NOLIST

Қорытындыға тыйым салу

nolist

ORG

Программаның бастапқы адресi орнату

org 0x100

PAGE

Листингтiң файлына беттi қыстыру

page

PROCESSOR

Микроконтроллердiң түрiн орнату

processor 16F84

RADIX

Мәлiметтерлердi бiлдiру үшiн үндемеу бойынша есептеу жүйесiн орнату

radix dec

SET

Тұрақты шаманың анықтамасы. EQU ұқсас, бiрақ кейiнiректе қайта анықтауға болады

temp   set b'00110011'

SPACE

Листингтiң файлына жаңа жолды қыстыру

space 3

SUBTITLE

Листингтiң файлына екiншi тақырыпты қыстыру

subtitle "Main Project"




 

TITLE

Листингтiң файлына тақырыпты қыстыру

title "Project Of PIC"

#UNDEFINE

Белгiлi мәтiндiк тiзбектi алып тастау

#undefine snd

VARIABLE

Нышандық айнымалының анықтамасы

variable temp=0xF0

Шарт

ELSE

(IF) баламалы шартты блокгінің басы

else

ENDIF

Шарттың блогiн аяқтау

endif

ENDW

ПОКА циклінің аяқталуы

endw

IF

Шарттың блогiн басы

if version == 100

IFDEF

Выполнить, если определено

ifdef testing

IFNDEF

Егер анықталынған болса орындау

ifndef testing

WHILE

ПОКА циклы

while i < count

Мәліметтер

CBLOCK

Тұрақты шамалардың блогiн анықтама

cblock 0x20

CONFIG

Микроконтроллердiң кескiнiнiң битiне сипаттама

config H'FFFF'

DATA

Сандық  және мәтiндiк мәлiметтерді жасау

txt   data "please", 0x30

DB

Мәлiметтерлер байтының анықтамасы

temp   db 0xFF

DE

EEPROM-де мәлiметтерлердi анықтау

temp   de 0xF0, 0xF1

DT

Кестені анықтау

temp   dt "text", 0, 0x30

DW

Мәлiметтерлер (2 байт) сөзінің анықтамасы

temp   dw 39, "text"

ENDC

Тұрақты шамалардың блогiн аяқталу

endc

FILL

Тұрақтылар облысының толтыруы

fill 0x1009, 5

IDLOCS

ID анықтау

idlocs H'FFEE'

RES

Жадтың сақтауы

buffer   res 64




 

Микроконтроллер  жадысын ұйымдастыру

 

PIC16F87X микроконтроллерлерінде  жадының үш түрі бар. Бағдарлама  жадысы мен деректер жадысының  ақпарат пен деректерінің бөлек  шиналары болады, олар жұмыстың  параллельді орындалуына мүмкіндік  береді.

Бағдарлама жадасын ұйымдастыру. PIC16F87X микроконтроллері РС командасының 13-разрядты санағышына ие, ол  бағдарлама жадысының 8К×14 сөздерін адрестей алады. PIC16F877-де 8К×14 FLASH бағдарлама жадысыны физикалық түрде іске асырылған. Физикалық орындалмаған жады бағдарламаларын шақыру орындалған жадының адрестеуіне әкеледі. Бастапқы күйге келтіру векторының адресі  – 0000h. Үзу векторының адресі – 0004h.

Деректер жадысын ұйымдастыру. Деректер жадысы жалпы және арнайы (SFR) тағайындалған регистрлері бар 4 банкке бөлінген. RP1 (STATUS<6>) және RPO (STATUS<5>) биттері ақпарат банктерін басқару үшін арналған. Төмендегі кестеде деректер жады банктерін шақыру кезіндегі басқарушы биттердің күйі көрсетілген.

                    

  5.1-кесте

RP1:RP0

Банк

00

0

01

1

10

2

11

3


 

Деректер жады банкісінің көлемі 128 байт (7Fh) болады. Банктің бас жағында арнайы тағайындалған регистрлеры, одан кейін статикалық ОЕҚ ретінде орындалған жалпы тағайындалған  регистрлеры орналасады. Барлық іске асырылған банктердің арнайы таағйындалған регистрлеры болады. Кейбір, жиі қолданылатын арнайы тағайындалған регистрлеры басқа да жады банктерінде бейнеленуі мүмкін.

 

4-БӨЛІМ

МИКРОКОНТРОЛЛЕРЛЕР АДАМ ӨМІРІНДЕ

Қазіргі заманғы техникалық  прогрестің ерекше белгісі – адамның  тіршілік әрекетінің барлық салаларында  электроника және микроэлектроника құралдарының көмегімен басқарылатын техниканың қолданылуы болып табылады. Бұл уақытта ақылды кибернетикалық машиналардың қолданылуы күнделікті іске айналды. Тұрмыста берілген бағдарламамен  жұмыс істейтін ас істейтін, ыдыс және кір жуатын машиналар басқа да адамның жұмысын жеңілдететін техникалыр пайдаланылады.

         Ғылым мен техниканың кез-келген  саласының пайда болуы және  дамуы – белгілі бір уақыт аралығында жүретін, басқа да объективтік және субъективтәк себептер мен жағдайларға тәуелді және өзара байланысты күрделі үрдіс болып табылады. Кейбір жағдайларда осы немесе басқа техникалық құрал ерте пайда болды да, осы техникамен байланысты нақты ғылыми бағыттардың пайда болуына алғы шарттар тудырды. Кейбір жағдайларда, жинақталған ғылыми білімдерімізге байланысты техниканың жаңа турін құру мүмкіндігіне ие боламыз немесе бар техниканы жетілдіреміз.

Информация о работе Микроконтроллердің негiзгi тағайындалуы