Аппараттық және бағдарламалық қамтамасыз етуді орнату

MCS-51 микроконтроллерлері: программалық модель, құрылымы, командалары. mcs51 отбасылық микроконтроллерлері Жұмыс бағдарламасы mcs 51 микроконтроллерлері

OMEVM командалық жүйесі деректерді өңдеудің үлкен мүмкіндіктерін қамтамасыз етеді, логикалық, арифметикалық операцияларды жүзеге асыруды, сонымен қатар нақты уақыт режимінде басқаруды қамтамасыз етеді. Битті, тетрадты (4 бит), байт (8 бит) және 16 биттік деректерді өңдеу жүзеге асырылды.

LSI отбасы MCS-51 - 8-биттік OMEVM: ROM, RAM, арнайы мақсаттағы регистрлер, ALU және сыртқы шиналар байт ұйымына ие. Екі байтты деректерді тек көрсеткіш регистрі (DPTR) және бағдарлама есептегіші (ДК) пайдаланады. Деректер көрсеткішінің регистрін екі байтты DPTR регистрі ретінде немесе DPH және DPL бір байтты арнайы мақсаттағы екі регистр ретінде пайдалануға болатынын атап өткен жөн. Бағдарлама есептегіші әрқашан екі байт регистр ретінде пайдаланылады.

OMEVM пәрмендер жинағында осы жүйенің 33 функциясын көрсетуге арналған 42 пәрмендік мнемоника бар.

Ассемблер тілінің нұсқауларының көпшілігінің синтаксисі адрестеу әдістері мен деректер түрлерін көрсететін операндтардан кейінгі мнемоникалық функциядан тұрады. Әртүрлі деректер түрлері немесе адрестеу режимдері мнемоникалық белгілердің өзгеруімен емес, орнатылған операндтармен анықталады.

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

Бастапқы операндты адрестеудің келесі түрлері бар:

  • Базалық және индекстік регистрлердің қосындысы бойынша жанама регистрді адрестеу

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

Белгі, таңба Мақсат
БІРАҚ Батарея
Rn Ағымдағы таңдалған тізілім банкінің регистрлері
r Пәрменде көрсетілген жүктелген регистрдің нөмірі
тікелей Ішкі деректер RAM орны (0-127) немесе SFR (128-255) болуы мүмкін тікелей адрестелетін 8-биттік ішкі деректер орнының мекенжайы
@rr Жанама адрестелетін 8-биттік ішкі деректер ЖЖҚ орны
деректер8 КҚК енгізілген 8 биттік жедел деректер
деректерH Жедел 16-биттік деректердің MSBs (15-8).
деректерЛ Жедел 16-биттік деректердің төмен биттері (7-0).
addr11 11 биттік тағайындау мекенжайы
addrL Тағайындалған мекенжайдың ең аз маңызды биттері
дисп 8 8-биттік офсеттік байт
бит Тікелей адрестелетін бит, оның мекенжайында ішкі деректердің жедел жадында немесе SFR-де орналасқан CPC бар
a15, a14...a0 Тағайындалған мекенжай биттері
(X) X элементінің мазмұны
((X)) X элементінде сақталған мекенжайдағы мазмұн
(X)[M] М элемент X разряды

+
-
*
ЖӘНЕ
НЕМЕСЕ
XOR
/X
Операциялар:
толықтырулар
алу
көбейту
бөлу
логикалық көбейту (ЖӘНЕ операциясы)
логикалық қосу (НЕМЕСЕ операциясы)
қосымша модуль 2 (XOR)
X элементінің инверсиясы

Функциялық мнемотехника адрестеу әдістері мен деректер түрлерінің арнайы комбинацияларымен бірегей түрде байланысты. Командалар жүйесінде барлығы 111 осындай комбинация мүмкін. Кестеде алфавит бойынша сұрыпталған пәрмендер тізімі көрсетілген.

Мнемотехника Функция Жалаулар
ACALL командасы Абсолютті қосалқы бағдарлама шақыруы
Қосу AC, C, OV
Тасымалдау арқылы қосу AC, C, OV
AJMP командасы Абсолютті ауысу
Логика «ЖӘНЕ»
Айнымалы разрядтар үшін логикалық «ЖӘНЕ». C
Салыстыру және тең болмаса секіру C
CLR командасы А Батареяны қалпына келтіру
CLR командасы Битті қалпына келтіру C, бит
CPL командасы А Батареяның инверсиясы
CPL командасы Битті инверсия C, бит
ДА командасы А Қосу үшін аккумуляторлық ондық түзету AC, C
DEC командасы<байт> Азайту
DIV AB командасы Бөлім C, OV
DJNZ командасы<байт>, <смещение> Азайту және нөлге тең болмаса, секіру
I.N.C командасы<байт> Көбейту
INC DPTR командасы Деректер көрсеткішінің өсімі
Команда J.B. , Бит орнатылған болса, секіріңіз
JBC командасы , Бит орнатылған болса, тармақтаңыз және осы битті қалпына келтіріңіз
Команда J.C. Тасымалдау орнатылған болса, секіріңіз
JMP @A+DPTR пәрмені Жанама ауысу
JNB командасы , Бит орнатылмаған болса, секіріңіз
JNC командасы Тасымалдау орнатылмаса, секіріңіз
JNZ командасы Аккумулятордың мазмұны нөлге тең болмаса, секіріңіз
JZ командасы Аккумулятордың мазмұны 0 болса, секіріңіз
LCALL командасы ұзақ қоңырау
LJMP командасы ұзақ ауысу
Айнымалы-байтты бағыттау
Деректер бит жіберу C
MOV DPTR пәрмені,#деректер16 16 биттік тұрақты деректер көрсеткішін жүктеңіз
MOVC нұсқауы A,@A+( ) Байтты бағдарлама жадынан жылжыту
Келесіге бағыттау сыртқы жады(сыртқы жадтан) деректер
OMEVM командалық жүйесі деректерді өңдеудің үлкен мүмкіндіктерін қамтамасыз етеді, логикалық, арифметикалық операцияларды жүзеге асыруды, сонымен қатар нақты уақыт режимінде басқаруды қамтамасыз етеді. Битті, тетрадты (4 бит), байт (8 бит) және 16 биттік деректерді өңдеу жүзеге асырылды. LSI отбасы MCS-51 - 8-биттік OMEVM: ROM, RAM, арнайы мақсаттағы регистрлер, ALU және сыртқы шиналар байт ұйымына ие. Екі байтты деректерді тек көрсеткіш регистрі (DPTR) және бағдарлама есептегіші (ДК) пайдаланады. Деректер көрсеткішінің регистрін екі байтты DPTR регистрі ретінде немесе DPH және DPL бір байтты арнайы мақсаттағы екі регистр ретінде пайдалануға болатынын атап өткен жөн. Бағдарлама есептегіші әрқашан екі байт регистр ретінде пайдаланылады. OMEVM пәрмендер жинағында осы жүйенің 33 функциясын көрсетуге арналған 42 пәрмендік мнемоника бар. Ассемблер тілінің нұсқауларының көпшілігінің синтаксисі адрестеу әдістері мен деректер түрлерін көрсететін операндтардан кейінгі мнемоникалық функциядан тұрады. Әртүрлі деректер түрлері немесе адрестеу режимдері мнемоникалық белгілердің өзгеруімен емес, орнатылған операндтармен анықталады. Командалар жүйесін шартты түрде бес топқа бөлуге болады:
  • Арифметикалық командалар;
  • Логикалық командалар;
  • Мәліметтерді тасымалдау командалары;
  • Биттік процессор командалары;
  • Тармақтау және тасымалдау командалары.
Бастапқы операндты адрестеудің келесі түрлері бар:
  • Адресті тіркеу
  • Тікелей адрестеу
  • Жанама адресацияны тіркеңіз
  • Тікелей адрестеу
  • Базалық және индекстік регистрлердің қосындысы бойынша жанама регистрді адрестеу
Арифметикалық нұсқаулар Нұсқаулар жинағы мыналарды қамтиды арифметикалық амалдар : Қосу, Тасымалдау жалауымен қосу, Қарыз арқылы азайту, арттыру, азайту, салыстыру, ондық түзету, көбейту және бөлу. ALU таңбасыз бүтін сандармен жұмыс істейді. Екі операндты операцияларда: қосу (ADD), қосу және тасымалдау (ADDC) және алу-қарызға алу (SUBB) аккумулятор бірінші операнд болып табылады және операцияның нәтижесін алады. Екінші операнд жұмыс регистрлерінің таңдалған банкінің жұмыс регистрі, регистр-жанама және тікелей ішкі деректер жадысының регистрі немесе жедел деректер байты болуы мүмкін. Бұл әрекеттер процессор күй сөзіндегі (PSW) толып кетуге, тасымалдауға, тасымалдауға және паритет жалауларына әсер етеді. Тасымалдау битін пайдалану қосу (ADDC) және алу (SUBB) операцияларының дәлдігін көбейтуге мүмкіндік береді. Белгіге сезімтал қосу және алу операцияларын PSW регистріндегі толып кету (OV) жалауын бағдарламалық басқару арқылы орындауға болады. Аралық тасымалдау жалауы (AC) арифметикалық амалдардың екілік кодталған ондық кодта орындалуын қамтамасыз етеді. Көбейту және азайту әрекеттері жалаушаларға әсер етпейді. Салыстыру операциялары тағайындалған операндқа да, бастапқы операндқа да әсер етпейді, бірақ тасымалдау жалаушаларына әсер етеді. Аккумуляторда ғана орындалатын үш арифметикалық амал бар: аккумулятордың A (JZ, JNZ) мазмұнын тексеруге арналған екі нұсқау және BCD кодтарын қосу үшін ондық түзету нұсқауы. Көбейту операциясы кезінде А аккумуляторының мазмұны В регистрінің мазмұнына көбейтіледі және нәтиже келесі түрде орналасады: төменгі байт В регистрінде, жоғары байт А регистрінде. Бөлу операциясы кезінде, Бөлуден алынған бүтін сан А аккумуляторында, бөлінудің қалған бөлігі В регистрінде орналастырылады. Байт айнымалылары бар логикалық командалар Командалар жүйесі логикалық операцияларды орындауға мүмкіндік береді: «ЖӘНЕ», «НЕМЕСЕ», «ЭКСКЛЮЗИВ НЕМЕСЕ» аккумулятор регистрі (A) және бастапқы байты. Екінші операнд (бастапқы байт) бұл жағдайда жұмыс регистрлерінің таңдалған банкіндегі жұмыс регистрі болуы мүмкін; регистр-жанама адрестеу арқылы адрестелген ішкі жедел жады регистрі; тікелей адрестелетін ішкі жедел жад ұяшықтары мен арнайы мақсаттағы регистрлер; дереу мән. Бұл логикалық операцияларды кез келген тікелей адрестелетін ішкі жедел жады регистрінде немесе арнайы мақсаттағы регистрде A аккумуляторының мазмұнын немесе екінші операнд ретінде жедел деректерді пайдалана отырып орындауға болады. Тек аккумуляторда орындалатын логикалық операциялар бар: А-ның барлық сегіз биттерін қалпына келтіру және инверсиялау; циклдік ығысу солға және оңға; тасымалдау жалауын ескере отырып, циклдік солға және оңға жылжу; аккумулятор ішіндегі аға және кіші тетрадалардың (нибблдердің) орындарының алмасуы. Деректерді тасымалдау пәрмендері Бағдарламаның ROM жадысында сақталған таңбалар кестелерін (кодтарын) жанама адрестеу көмегімен деректерді тасымалдау командалары арқылы таңдауға болады. Тұрақты байтты аккумуляторға негізгі регистрдің (ДК немесе DPTR) және индекстік регистрдің (контент А) қосындысы арқылы адрестелген бағдарлама жады орнынан беруге болады. Бұл, мысалы, ASCII кодын жеті сегментті кодқа түрлендіру алгоритмін жүзеге асырудың ыңғайлы құралын қамтамасыз етеді. 256 байт сыртқы деректер ЖЖҚ блогының кез келген ұяшығын R0 немесе R1 көрсеткіш регистрлері (жұмыс регистрлерінің таңдалған банкі) арқылы жанама адрестеу регистрінің көмегімен таңдауға болады. 64 КБ сыртқы ЖЖҚ мекенжай кеңістігіндегі ұяшықты DPTR деректер көрсеткішінің тізілімі арқылы жанама адрестеу тізілімінің көмегімен де таңдауға болады. Тікелей адрестелетін регистрлер арасында тасымалдау нұсқаулары жұмыс регистрлерін немесе аккумуляторды пайдаланбай порттан ішкі жедел жад ұяшығына мәнді енгізуге мүмкіндік береді. Логикалық процессорда кез келген тура бит тасымалдау битіне орналастырылуы мүмкін және керісінше. Аккумулятордың мазмұнын жұмыс регистрлерінің мазмұнымен (таңдалған банктің) және регистрдің жанама адресациясының көмегімен адрестелген ішкі ЖЖҚ ұяшықтарының мазмұнымен, сондай-ақ тікелей адрестелген ішкі жедел жад ұяшықтарының мазмұнымен және арнайы мақсаттағы регистрлердің мазмұны. Аккумулятор мазмұнының төмен тістеуін (3-0 бит) регистрді жанамалау арқылы таңдалған ішкі ЖЖҚ ұяшықтары мазмұнының төмен тістеуімен алмастыруға болады. Биттік процессордың нұсқаулары Биттік процессор микроконтроллерлердің MCS51 тобының архитектурасының бөлігі болып табылады және оны тәуелсіз разрядтық процессор ретінде қарастыруға болады. Биттік процессор жасайды нұсқаулар жинағы , өзінің бит адрестік оперативті жады және өзінің енгізу/шығару мүмкіндігі бар. Биттік нұсқаулар 128 биттік (0-127) он алты ішкі жедел жад орнында (20H-2FH орындары) тікелей адрестеуді және адрестері сегізге еселік болатын арнайы мақсаттағы регистрлердің тікелей биттік адресациясын қамтамасыз етеді. Жеке адрестелетін биттердің әрқайсысын «1» күйіне орнатуға, «0» мәніне қалпына келтіруге, инверттеуге, сынауға болады. Өтулерді жүзеге асыруға болады: егер бит орнатылған болса; егер бит орнатылмаған болса; тармақ, егер разряд орнатылған болса, осы биттің ысыруымен; битті тасымалдау битіне (ден) қайта жазуға болады. Кез келген тікелей адрестелетін бит пен тасымалдау жалауының арасында нәтиже тасымалдау жалауының битіне енгізілетін «ЖӘНЕ», «НЕМЕСЕ» логикалық операцияларын орындауға болады. Биттік өңдеу нұсқаулары күрделі комбинаторлық логикалық функцияларды жүзеге асыруды және пайдаланушы бағдарламаларын оңтайландыруды қамтамасыз етеді. Тармақтау және басқару тасымалдау командалары Бағдарлама жадының адрестік кеңістігінде бет нөмірін қайта жүктеусіз (өзгертусіз) адрестік кеңістік ішінде бағдарлама фрагменттерін еркін жылжытуға мүмкіндік беретін бетті ұйымдастыру жоқ. Бағдарламаның жеке фрагменттерінің орнын ауыстыру орны ауыстырылатын бағдарлама модульдерінің әртүрлі бағдарламалармен қолданылуын қамтамасыз етеді. 16-биттік секіру және қосалқы бағдарламаны шақыру нұсқаулары 64 Кбайт бағдарлама жады мекенжай кеңістігінің кез келген нүктесіне өтуге мүмкіндік береді. 11-биттік секіру және қосымша бағдарламаны шақыру нұсқаулары 2K бағдарлама блогында секіруді қамтамасыз етеді. Командалар жүйесінде (RS)-128-ден (3С)+127-ге дейінгі келесі бағдарламаның бастапқы мекенжайына қатысты шартты және шартсыз секірулер командалары бар. Бір разрядты тексеру пәрмендері шартты секірулерді алға биттердің «0» немесе «1» күйіне келтіруге мүмкіндік береді. Аккумулятордың мазмұнын тексеру нұсқаулары (нөлдік/нөлдік емес үшін) А мазмұнына шартты секіруге мүмкіндік береді. Нұсқаулар жүйесіндегі жанама регистрлік секірулер базалық регистрге (DPTR немесе ДК мазмұны) қатысты тармақталуды қамтамасыз етеді. аккумуляторда орналасқан офсет А. Регистрлік адрестеу Регистрлік адрестеу жұмыс регистрлерінің таңдалған банкінің сегіз жұмыс регистрлеріне қол жеткізу үшін қолданылады (бұл регистрлерді ішкі деректер ЖЖҚ қалыпты ұяшықтары ретінде тікелей адрестеу және жанама-регистрлік адрестеу арқылы таңдауға болады). Регистрді адрестеу A, B, AB регистрлеріне (қос регистр), DPTR және тасымалдау жалаушасына қол жеткізу үшін қолданылады. Регистрлік адрестеуді пайдалану үш байттық тікелей адрестеу командаларының екі байт эквивалентін алуға мүмкіндік береді. Тікелей адрестеу Тікелей байт адрестеу ішкі деректер жады (RAM) орындарына (0-127) және арнайы мақсаттағы регистрлерге қол жеткізу үшін қолданылады. Биттік тікелей адрестеу 20H-2FH орындарында орналасқан жеке адрестелетін 128 биттерге және арнайы регистрлердегі бөлек адрестелетін биттерге қол жеткізу үшін қолданылады. Тікелей адрестік код байтының жоғары биті жедел жадта немесе арнайы мақсаттағы регистрлерде орналасқан жеке адрестелетін биттердің екі тобының бірін таңдайды. 0-127 (00H-7FH) адрестері бар тікелей адрестелетін разрядтар 20H-2FH адрестері бар 16 ішкі жедел жады ұяшықтарының блогында орналасқан. Бұл ұяшықтар ең аз маңызды байттың ең аз маңызды битінен ең маңызды байттың ең маңызды битіне дейін ретпен нөмірленеді. Арнайы мақсаттағы регистрлердегі бөлек адрестелетін разрядтар келесідей нөмірленеді: адрестің ең маңызды бес разряды регистрдің өзінің адресінің ең маңызды бес битімен сәйкес келеді, ал ең аз маңызды үш бит жеке ibt-тің орнын анықтайды. тіркелім. Тіркеу Жанама адрестеу Тіркелу жанама адрестеу ішкі деректер ЖЖҚ ұяшықтарына қол жеткізу үшін қолданылады. Көрсеткіш регистрлер ретінде таңдалған регистрлер банкінің R10, R1 регистрлері қолданылады. PUSH және POP пәрмендері стек көрсеткішінің (SP) мазмұнын пайдаланады. Регистрдің жанама адресациясы сыртқы деректер жадына қол жеткізу үшін де қолданылады. Бұл жағдайда R0 және R1 көрсеткіш регистрлерінің көмегімен (жұмыс регистрлерінің таңдалған банкі) сыртқы деректер жадысының 256 байт блогынан ұяшық таңдалады. Блок нөмірі P2 портының мазмұнымен алдын ала анықталады. 16 биттік деректер көрсеткішін (DPTR) 64 Кбайтқа дейінгі сыртқы деректер жадысының мекенжай кеңістігіндегі кез келген орынға қол жеткізу үшін пайдалануға болады. Тікелей адрестеу Тікелей адрестеу программа жадысының адрестік кеңістігінен нұсқауда нақты көрсетілген тұрақтыларды таңдауға мүмкіндік береді. Базалық және индекстік регистрлердің қосындысы бойынша жанама регистрді адрестеу Қосынды бойынша жанама регистрді адрестеу: базалық регистр плюс индекстік регистр (А аккумуляторының мазмұны) бағдарлама жадында сақталған кестелерді қарауды жеңілдетеді. Кестедегі кез келген байтты DPTR немесе ДК мазмұны мен А мазмұнының қосындысымен анықталатын мекенжай бойынша таңдауға болады. Командалар жүйесінде қолданылатын белгілер мен белгілер кестесі.
Белгі, таңба Мақсат
БІРАҚ Батарея
Rn Ағымдағы таңдалған тізілім банкінің регистрлері
r Пәрменде көрсетілген жүктелген регистрдің нөмірі
тікелей Ішкі деректер RAM орны (0-127) немесе SFR (128-255) болуы мүмкін тікелей адрестелетін 8-биттік ішкі деректер орнының мекенжайы
@rr Жанама адрестелетін 8-биттік ішкі деректер ЖЖҚ орны
деректер8 8-биттік жедел деректер CPC-ге жіберіледі
деректерH Жедел 16-биттік деректердің MSBs (15-8).
деректерЛ Жедел 16-биттік деректердің төмен биттері (7-0).
addr11 11 биттік тағайындау мекенжайы
addrL Тағайындалған мекенжайдың ең аз маңызды биттері
дисп 8 8-биттік офсеттік байт m
бит Тікелей адрестелетін бит, оның мекенжайында ішкі деректердің жедел жадында немесе SFR-де орналасқан CPC бар
a15, a14...a0 Тағайындалған мекенжай биттері
(X) X элементінің мазмұны
((X)) X элементінде сақталған мекенжайдағы мазмұн
(X)[M] М элемент X разряды
+ - * / ЖӘНЕ НЕМЕСЕ XOR /X Амалдар: қосу алуды көбейту бөлу логикалық көбейту (ЖӘНЕ операциясы) логикалық қосу (НЕМЕСЕ операциясы) модулі 2 X элементін қосу (ерекше НЕМЕСЕ) инверсия

Функциялық мнемотехника адрестеу әдістері мен деректер түрлерінің арнайы комбинацияларымен бірегей түрде байланысты. Командалар жүйесінде барлығы 111 осындай комбинация мүмкін. Кестеде алфавит бойынша сұрыпталған пәрмендер тізімі көрсетілген.

Мнемотехника Функция Жалаулар
ACALL командасы Абсолютті қосалқы бағдарлама шақыруы
ADD A командасы,<байт-источник> Қосу AC, C, OV
ADDC A командасы,<байт-источник> Тасымалдау арқылы қосу AC, C, OV
AJMP командасы Абсолютті ауысу
ANL командасы<байт-назначения>, <байт-источникa> Логика «ЖӘНЕ»
ANL C командасы,<байт-источникa> Айнымалы разрядтар үшін логикалық «ЖӘНЕ».
CJNE командасы<байт-назначения>, <байт-источник>, <смещение> Салыстыру және тең болмаса секіру C
CLR командасы А Батареяны қалпына келтіру
CLR командасы Битті қалпына келтіру C, бит
CPL командасы А Ақ умула ора инверсия
CPL командасы Битті инверсия C, бит
ДА командасы А Өтірік үшін аккумулятордың ондық түзетуі AC, C
DEC командасы<байт> Азайту
DIV AB командасы Бөлім C, OV
DJNZ командасы<байт>, <смещение> Азайту және нөлге тең болмаса, секіру
I.N.C командасы<байт> Көбейту
INC DPTR командасы Деректер көрсеткішінің өсімі
Команда J.B. , Бит орнатылған болса, секіріңіз
JBC командасы , Бит орнатылған болса, тармақтаңыз және осы битті қалпына келтіріңіз
Команда J.C. Тасымалдау орнатылған болса, секіріңіз
JMP @A+DPTR пәрмені Жанама ауысу
JNB командасы , Бит орнатылмаған болса, секіріңіз
JNC командасы Тасымалдау орнатылмаған болса, секіріңіз
JNZ командасы Аккумулятордың мазмұны нөлге тең болмаса, секіріңіз
JZ командасы Аккумулятордың мазмұны 0 болса, секіріңіз
LCALL командасы ұзақ қоңырау
LJMP командасы ұзақ ауысу
MOV командасы<байт-назначения>, <байт-источника> Айнымалы-байтты бағыттау
MOV командасы<бит-назначения>, <бит-источника> Деректер бит жіберу C
MOV DPTR пәрмені,#деректер16 16 биттік тұрақты деректер көрсеткішін жүктеңіз
MOVC нұсқауы A,@A+( ) Байтты бағдарлама жадынан жылжыту
MOVX командасы<байт приемника>, <байт источника> Сыртқы жадқа (сыртқы жадтан) деректерді жіберу
MUL AB командасы Көбейту C, OV
NOP командасы Операция жоқ ДК
ORL командасы<байт-назначения>, <байт-источникa> Айнымалы байттар үшін логикалық «НЕМЕСЕ».
ORL C командасы,<бит источникa> Айнымалы разрядтар үшін логикалық «НЕМЕСЕ». C
POP командасы Стектен оқу
PUSH пәрмені Стекке жазу
RET командасы Ішкі бағдарламадан оралу
RETI командасы Үзілістен қайту
RL командасы А Аккумулятордың мазмұнын солға жылжытыңыз
RLC командасы А Аккумулятордың мазмұнын тасымалдау жалаушасы арқылы солға жылжытыңыз
RR A командасы Аккумулятордың мазмұнын оңға жылжытыңыз
RRC командасы А Аккумулятордың мазмұнын тасымалдау жалаушасы арқылы оңға жылжытыңыз C
SETB командасы Соққыны орнатыңыз C
SJMP командасы<метка> Қысқа ауысу
SUBB A командасы,<байт источника> Несие арқылы алу AC, C, OV
SWAP тобы А Аккумулятор ішінде дәптер алмасу
XCH A командасы,<байт> Аккумулятордың мазмұнын байт айнымалысымен ауыстыру
XCHD A,@R1 командасы Ноутбук алмасу
XRL командасы<байт-назначения>, <байт-источникa> Айнымалы байттар үшін логикалық XOR

Ресей Федерациясының Жалпы және кәсіптік білім беру министрлігі Новосибирск мемлекеттік техникалық университеті В.Н. Веприк, В.А. Афанасьев, А.И. Дружинин, А.А. Земсков, А.Р. Исаев, О.В. Малявко MCS-51 ОТБАСЫ МИКРОБАҚЫЛАУШЫЛАРЫ «Микропроцессорлық жүйелер» және «Микропроцессорлық жүйелерді жобалау» курстары бойынша оқу құралы автоматтандыру және есептеу техникасы факультетінің жоғары курс студенттеріне арналған білім берудің барлық нысандары Новосибирск 1997 В.Н. Веприк, В.А. Афанасьев, А.И. Дружинин, А.А. Земсков, А.Р. Исаев, О.В. Малявко. MCS-51 тобының микроконтроллерлері: Оқулық. - Новосібір. Назарларыңызға ұсынылған оқу құралында INTEL компаниясы шығарған MCS-51 бір чипті микроконтроллерлер (енгізілген микроконтроллерлер) отбасының архитектурасы, функционалдығы және командалық жүйесінің жалпы сипаттамасы берілген. Нұсқаулықтың екінші бөлімінде студенттерге зертханалық жұмыс циклін орындау кезінде зерттеу объектісі ретінде ұсынылатын UMPC-51 оқу микропроцессорлық контроллері сипатталған. Нұсқаулық материалы курстық және дипломдық жобалауда пайдаланылуы мүмкін, сондай-ақ электронды жабдықты әзірлеу және пайдаланумен айналысатын инженер-конструкторларға пайдалы болуы мүмкін. Авторлар INTEL компаниясының ресми дистрибьюторы «Жаңа технологиялар» ЖАҚ-на осы жұмысты орындауға негіз болған материалдарды ұсынғаны үшін шексіз алғысын білдіреді. 15-кесте, ауру 25, жарықтандырылған тізім. 12 атау Рецензенттер: E.D. Баран, Г.Г. Матушкин. Жұмыс Новосибирск мемлекеттік техникалық университетінің «Компьютерлік инженерия» кафедрасында дайындалған 2 КІРІСПЕ. 8-разрядты бір чипті микроконтроллерлер MCS-51 отбасы әлемдік нарықта сексенінші жылдардың басында пайда болды. Кристалдардың алғашқы модификациялары (шамамен 7) жоғары сапалы n-MOS (HMOS) технологиясын қолдану арқылы жасалды және функционалды түрде аяқталған Гарвард архитектурасының бір чипті микрокомпьютерлері болды, олардың негізгі принциптерінің бірі бағдарлама мен деректерді логикалық бөлу болып табылады. жадтың адрестік кеңістіктері. Жартылай өткізгіштік технологияның дамуымен MCS-51 микросұлбаларының кейінгі нұсқалары анағұрлым жетілдірілген және аз қуатты CMOS (CHMOS) технологиясын қолдану арқылы шығарыла бастады (белсенді режимде кристалдардың тұтынуы 1050 мА дейін өсті). Әртүрлі цифрлық басқару алгоритмдерін жүзеге асыруға бағытталған MCS-51 командалық жүйесі алдыңғы MCS-48 тобының командалық жүйесімен кейбір сыртқы ұқсастығын сақтай отырып, сапалы түрде кеңейді, онда іргелі жаңалықтар пайда болды: биттік-бағдарланған операциялар және деректер жадында адрестелген биттік өрістер, бұл чипте биттік процессорды жүзеге асыру туралы айтуға мүмкіндік берді; көбейту, бөлу және азайту командаларының орындалуын жүзеге асырды; стекпен жұмысты жақсарту; басқаруды беру командаларының тобы кеңейтілді; Командалық жүйе симметриялы болып көріне бастады, яғни аккумулятор арқылы деректерді тасымалдауға аз тәуелді. Кірістірілген перифериялық құрылғылардың функционалдығы келесілерді енгізу арқылы кеңейтілді: екі 16-биттік таймер-санауыш; жабдықтың сериялық дуплексті порты; екі деңгейлі үзу жүйесі; төрт 8 биттік енгізу/шығару порты. Процессордың уақыт циклінің құрылымындағы түбегейлі өзгерістер сыртқы бағдарламамен және деректер жадымен жұмысты жылдамдатуға, сондай-ақ сыртқы және ішкі үзулерге жауап беруге әкелді. Сыртқы бағдарламаның адрестік кеңістігінің және деректер жадысының жалпы көлемі 128 Кбайтқа дейін өсті. Бағдарлама есептегішінің (Program Counter) және деректер көрсеткішінің (Data Pointer) 16 разрядты регистрлері адрестердің барлық ауқымына тікелей қол жеткізуге мүмкіндік берді, бұл әзірлеушілерге үлкен деректер массивтерін жылдам өңдеу алгоритмдерін енгізу мүмкіндігін берді. Микроконтроллердің бағдарламалық қамтамасыз ету үшін қол жетімді барлық түйіндері деректер жадының арнайы аймағына (Арнайы функция тізілімі) қысқартылды, бұл оларға резиденттік жедел жадының қарапайым ұяшықтары сияқты дерлік қол жеткізуге мүмкіндік берді. Кристалдардың кейінгі модификацияларында жақсарту бағдарламалық жасақтаманың бұрынғы нұсқаларымен толық үйлесімділігін сақтай отырып, қосымша функционалдылықты арттыру жолымен жүрді. MCS-51 тобының микроконтроллерлерінің соңғы модификацияларының ерекшеліктері мыналар болып табылады: толығымен статикалық конструкция; Кристалдардың 3 және 5 вольтты нұсқалары; кірістірілген перифериялық құрылғылардың кең ауқымы; максималды тактілік жиілік - 24 МГц; кристалдардың жеке топтары үшін - 33 МГц. Қазіргі уақытта MCS-51 кристалдардың 60-қа жуық нұсқасын қамтиды, сонымен қатар егжей-тегжейлі меншікті құжаттама бар және қол жетімді (өкінішке орай, ол әлі орыс тіліне аударылған жоқ). MCS-51 микроконтроллерлері үшін бағдарламалық жасақтаманы дайындау үшін негізінен ASM-51, C тілдері қолданылады, олар үшін көптеген жақсы дәлелденген компиляторлар, стандартты ішкі бағдарламалардың кітапханалары және әртүрлі шетелдік және отандық компаниялар шығарған бағдарламалық эмуляторлар бар. . 3 Отбасының жеткілікті «көнелігіне» (15 жылдан астам) және әлемдік нарықта соңғы жылдары жоғары өнімділік пен жақсартылған архитектуралық бір чипті микроконтроллерлердің пайда болуына қарамастан - MCS-51, MCS-251, MCS-96, MCS-51 контроллерлері ұзақ уақыт бойы кеңінен қолданылады, салыстырмалы түрде қарапайым енгізілген басқару жүйелерінде қолданылады. 4 1. INTEL КОМПОНЕНТІН ТАҢДАУ ЖҮЙЕСІ ЖӘНЕ MCS-51 ЖАНҰЯСЫНЫҢ ФУНКЦИЯЛЫҚ ҚҰРАМЫ Микрочиптерді таңбалау үшін INTEL бірнеше өрістерден тұратын белгілеу жүйесін пайдаланады: , кеңейтілген температура диапазонына арналған автомобиль нұсқасы (-40 / +125 C) M (Әскери) , әскери стандарттарға сәйкес нұсқасы (-55 / +125 C) Q немесе C (Коммерциялық), «коммерциялық» температура диапазоны (0 / +70 C ) бар (160 8) - сағаттық динамикалық термиялық дайындық; L немесе E (кеңейтілген), (160 8) сағаттық динамикалық термиялық жаттығумен «кеңейтілген» температура диапазоны (-40/+85 C); T (Ұзартылған), «кеңейтілген» температура диапазоны (-40/+85 С) термиялық дайындықсыз; I (Өнеркәсіптік), өнеркәсіптік стандарттарға сәйкес орындау. Екінші өрісте чиптің бума түрін көрсететін бір немесе екі әріпті префикс бар (Package Type). Бүгінгі таңда микросұлба пакеттерінің бірнеше ондаған әртүрлі түрлері бар, сондықтан мысал ретінде біз тек кейбір белгілерді береміз: Керамикалық түйреуіш тор массиві, (PGA); C Ceramic Dual In-Line Package, (CDIP); K Ceramic Quad Flatpack Package, (QFP); KD Plastic Quad Flatpack Package, Fine Pitch, Die Down, (PQFP); KU Plastic Quad Flatpack Package, Fine Pitch, Die Up, (PQFP); N Пластикалық қорғасынды чип тасымалдаушы, (PLCC); P Plastic Dual In-Line Package, (PDIP); SM Single In-Line Leadless Memory Module, (SIMM); U Plastic Dual In-Line Package, Shrink Dip, (PDIPS); Z Zigzag In-Line Package, (ZIP). Үшінші өрісте чипте орналасқан нақты құрылғының түрін көрсететін 15-ке дейін сандық және алфавиттік таңба болуы мүмкін. Төртінші өріс микросұлбалардың әртүрлі мүмкіндіктері мен нұсқаларын көрсететін алтыға дейін сандық және алфавиттік таңбаларды қамтуы мүмкін. Корпустардың түрлері және олардың дизайны туралы қосымша ақпаратты кітаптан табуға болады: Қаптамаға тапсырыс нөмірі 240800. MCS-51 отбасының сипатталған микроконтроллерлеріне қатысты үшінші өрістің бірінші таңбасы дәстүрлі түрде (Intel үшін) тең «8». Үшінші өрістің екінші таңбасы әдетте кірістірілген ROM түрін көрсетеді: 0 бағдарлама маскасы ROM; ROM емес кристал (кристалдардың кейінгі нұсқалары үшін); 1 маска ROM бағдарламалары (Стандартты ROM коды, микробағдарлама); 3 маска ROM (кристалдардың кейінгі нұсқалары үшін), (Реттеуге болатын ROM коды); 7 UFPROM немесе бір реттік бағдарламаланатын ROM (EPROM немесе OTP ROM); 8 EEPROM (Flash - микросхемадағы жад) Әрі қарай, өндірістің технологиялық ерекшеліктерін көрсететін әріп болуы мүмкін: әріпсіз HMOS технологиясы, 5В қуат көзі; CHMOS технологиясымен, 5В қуат көзі; l CHMOS технологиясы, 3В қуат көзі; 5 MCS-51 тобының микроконтроллерлері үшін үшінші өрістің келесі таңбалары чиптердің функционалдық ерекшеліктерін көрсететін сандар (мысалы, 31,32,51,54,58,152) және бірден төртке дейінгі әріптер болып табылады (мысалы, ROM көлемі, микросхемалар тобының ерекшеліктері, бағдарламалық жадының рұқсатсыз кіруден жүйелік қорғанысының болуы, «Жылдам импульс» неғұрлым жетілдірілген бағдарламалау алгоритмін пайдалану мүмкіндігі және т.б.). Intel компаниясының түпнұсқалық техникалық құжаттамасында MCS-51 отбасының барлық микроконтроллерлері топтарға топтастырылған («Өнім желісі»), олардың әрқайсысы өздерінің функционалдығы мен электрлік параметрлері бойынша кристалдардың ең жақын нұсқаларын біріктіреді. Бір топтың микросұлбаларының атаулары аздап ерекшеленетіндіктен, әрбір жеке топты белгілеу үшін ерекше микросұлбаларды таңбалаудан, әртүрлі белгілерді «Х» белгісіне ауыстыру арқылы қалыптасқан жалпылама символика қолданылады. Осылайша, микроконтроллерлердің келесі топтарын бөлуге болады. 1. 8X5X тобы (8051 өнім желісі және 8052 өнім желісі): 8031AN, 8051AN, 8751H, 8051AHP, 8751H-8, 8751VN, 8032AN, 8052AN, 8752VN. 2. 8ХС51 тобы (80С51 өнім желісі): 80С31ВН, 80С51ВН, 87С51. 3. 8ХС5Х (8ХС52/54/58) тобы: 80С32, 80С52, 87С52, 80С54, 87С54, 80С58, 87С58. 4. 8XC51FX тобы (8XC51FA/FB/FC өнім желісі): 80C51FA, 83C51FA, 87C51FA, 83C51FB, 87C51FB, 83C51FC, 87C51FC. 5. 8XL5X тобы (8XL52/54/58 өнім желісі): 80L52, 87L52, 80L54, 87L54, 80L58, 87L58. 6. 8XL51FX тобы (8XL51FA/FB/FC өнім желісі): 80L51FA, 83L51FA, 87L51FA, 83L51FB, 87L51FB, 83L51FC, 87L51FC. 7. 8XC51RX тобы (8XC51RA/RB/RC өнім желісі): 80C51RA, 83C51RA, 87C51RA, 83C51RB, 87C51RB, 83C51RC, 87C51RC. 8. Топ 8XC51GB (8XC51GX өнім желісі): 80C51GB, 83C51GB, 87C51GB. 9. 8XC152JX тобы (8XC152 өнім желісі): 80C152JA, 83C152JA, 80C152JB, 80C152JC, 83C152JC, 80C152JD. 10. 8XC51SL тобы (8XC51SL өнім желісі): 80C51SL-BG, 81C51SL-BG, 83C51SL-BG, 80C51-AH, 81C51SL-AH, 83C51SL-AH, 87C51SL-AH, 87C51SL-AH1,SLAL88, SLAL18- 87C51SL-AL. Микроконтроллерлердің бірінші тобына n-MOS технологиясы бойынша жасалған және жаңа әзірлемелерде қолдануға ұсынылмаған отбасының жас үлгілері кіреді, қалған барлық топтар заманауи CMOS технологиясымен жасалған. Екінші, үшінші және төртінші топтағы микросұлбалар бүгінгі күні MCS-51 отбасының классикалық өкілдері болып табылады. Бесінші және алтыншы топтарға кристалдардың 3 вольтты нұсқалары (төмен вольтты) кіреді. Жетінші топтың кристалдары көлемі 512 байтты құрайтын кеңейтілген жедел жадымен (Expanded RAM) жабдықталған. Сегізінші, тоғызыншы және оныншы топтағы микросұлбалар қолданбалы (Application Specific) мамандандырылған микроконтроллерлер болып табылады. Қазіргі қолданбалардың көпшілігі кеңейтілген адрестеуді, тіркеу архитектурасын, үлкен ішкі жедел жады мен стек кеңістігін пайдаланатын және жоғары деңгейлі тілдік бағдарламалауды тиімді қолдайтын жоғары өнімді басқару микроконтроллерлерін қажет етеді. Бұл микроконтроллерлерге Intel компаниясы 1995 жылы шығарған MCS-5 және MCS-251 отбасыларының Жаңа архитектуралық микроконтроллерлері кіреді. MCS-51/MCS-251 микроконтроллерінің функционалдық құрамы мен негізгі мүмкіндіктері қосымшада келтірілген. 6 2. MCS-51 МИКРОБАҚЫЛАУЛАР ОТБАСЫ НЕГІЗГІ МОДЕЛІНІҢ НЕГІЗГІ СИПАТТАМАЛАРЫ. MCS-51 микроконтроллерлер тобының негізгі моделі және барлық кейінгі модификациялардың негізі I-8051 микроконтроллері болып табылады. Оның негізгі мүмкіндіктері келесідей: басқару функциялары үшін оңтайландырылған сегіз разрядты процессор; кірістірілген сағат генераторы; программа жадысының адрестік кеңістігі – 64 К; деректер жадысының адрестік кеңістігі – 64 К; ішкі бағдарлама жады - 4 К; ішкі деректер жады – 128 байт; бульдік алгебра амалдарын орындауға арналған қосымша мүмкіндіктер (разрядтық операциялар); 32 екі бағытты және жеке адрестелетін енгізу/шығару желілері; 2 x 16-биттік көп функциялы таймерлер/санауыштар; толық дуплексті асинхронды қабылдағыш; екі басымдық деңгейі және алты оқиға көзі бар векторлық үзу жүйесі. I-8051 блок-схемасы 1-суретте, микросұлбаның түйреуіш тағайындауы 2-суретте көрсетілген. Сыртқы үзілістер Үзілістер 128 байт T/C 0 есептегіш 4K ROM басқару RAM T/C 1 кірістер CPU BUS 4 I/O Сериялық OSC басқару порттары Порт P0 P1 P2 P3 T D R D Мекенжай/деректер 1-сурет. I-8051 блок-схемасы Барлық MCS-51 сериясы Гарвард архитектурасына ие, яғни бөлек бағдарлама мен деректер жадының адрестік кеңістіктері. Жадты ұйымдастыру 3-суретте көрсетілген. Микросұлба түріне байланысты микросұлбада орналасқан ішкі (резиденттік) бағдарлама жадысының (ROM, EPROM немесе OTP ROM) көлемі 0 (ROMсыз), 4К (негізгі чип), 8К, 16К немесе 32К болуы мүмкін. Қажет болса, пайдаланушы сыртқы ROM орнату арқылы бағдарлама жадын кеңейте алады. Ішкі немесе сыртқы ROM-ға қол жеткізу EA (External Access) пиніндегі сигналдың мәнімен анықталады: EA=Vcc (қоректену кернеуі) - ішкі ROM-ға қол жеткізу; EA=Vss (жердегі потенциал) – сыртқы ROM-ға қол жеткізу. ROMсыз чиптер үшін EA істікшесі Vss-ге тұрақты түрде қосылуы керек. Сыртқы ROM оқу стробы - PS EN (Бағдарламалар дүкенін қосу) сыртқы бағдарлама жадына қатынасу кезінде жасалады және чиптегі ROM-ға қатынасу кезінде белсенді емес. 7 Бағдарлама жадының төмен адрестік аймағын үзу жүйесі пайдаланады, 8051 чип архитектурасы бес үзу көздеріне қолдау көрсетеді: екі сыртқы үзу; таймерлерден екі үзу; сериялық порттан үзіледі. P1.0 1 40 Vcc P1.1 2 39 P0. 0 (AD0) P1.2 3 38 P0.1 (AD1) P1.3 4 37 P0.2 (AD2) P1.4 5 36 P0.3 (AD3) P1.5 6 35 P0.4 (AD4) P1. 6 7 34 P0,5 (AD5) P1,7 8 33 P0,6 (AD6) RESET 9 32 P0,7 (AD7) (R D) P3,0 10 31 EA/Vpp (T D) P3,1 11 30 ALE/ PROG (INT0) P3.2 12 29 PSEN (INT1) P3.3 13 28 P2.7 (A15) (T0) P3.4 14 27 P2.6 (A14) (T1) P3.5 15 26 P2.5 ( A13) (WR) P3.6 16 25 P2.4 (A12) (RD) P3.7 17 24 P2.3 (A11) XTAL2 18 23 P2.2 (A10) XTAL1 19 22 P2.1 (A9) Vss 20 21 P2.0 (A8) 2-сурет. PIN тағайындау I-8051 Бағдарлама жады (Оқу) Деректер жады (Оқу/Жазу) FFFFH Сыртқы ROM FFFFH Сыртқы @DPTR RD жады PSEN WR деректері @PC MOVC EA=0 Ішкі жад @DPTR деректері @PC Сыртқы Ішкі FFH жоғарғы 128 SFR MOVX ROM ROM 80H EA=0 0000H EA=1 төменгі 128 00H 0000H PSEN 3-сурет. MCS-51 жанұясының жадын ұйымдастыру 8 4-суретте бағдарлама жадысының төменгі аймағының картасы көрсетілген. ROM Бағдарлама жады 0033H 002BH Сериялық порт 0023H Векторлық таймер1 001BH үзеді EINT1 0013H Таймер0 000BH EINT0 0003H Бастау мекенжайы 0000H (Қалпына келтіру) 4-сурет. Бағдарлама жады Үзіліс векторының адрестері 8 байт аралықта орналасады: - 0003H сыртқы үзу 0 (Сыртқы үзіліс 0) - шығыс IN T 0 ; - 0 таймерден 000BH үзу (таймердің толып кету жалаушасы бойынша - T F 0); - 0013H сыртқы үзіліс 1 (Сыртқы үзіліс 1) - шығыс IN T 1; - 1-таймерден 001BH үзу (таймердің толып кету жалаушасы бойынша - T F 1); - 0023H сериялық порт үзілуі (Сериялық үзіліс = Қабылдау үзілуі немесе жіберу үзілуі); тағыда басқа. Деректер жады бағдарлама жадысынан бөлек. Бұл аймақта 64K сыртқы жедел жадты шешуге болады. Сыртқы деректер жадына кіру кезінде микроконтроллердің орталық процессоры сәйкес оқу (RD) немесе жазу (W R) сигналдарын жасайды, ішкі деректер жадымен өзара әрекеттесу командалық деңгейде жүзеге асырылады, ал RD және W R сигналдары құрылмайды. Сыртқы бағдарлама жады мен сыртқы деректер жады R D және PS EN сигналдарын логикалық ЖӘНЕ сыртқы жад (бағдарлама/деректер) стробын жасау үшін біріктіру арқылы біріктірілуі мүмкін. Ішкі деректер жадысының төменгі 128 байт (төменгі 128) барлық MCS-51 чиптерінде бар және 5-суретте көрсетілген. Алғашқы 32 байт 8 регистрдің 4 банкі (Тізілім банкі) (R7...R0). Кез келген банктегі R0 және R1 регистрлері жанама мекенжай регистрлері ретінде пайдаланылуы мүмкін. Тізілім банктерінен кейінгі 16 байт бит адрестік кеңістік блогын құрайды. MCS-51 нұсқаулар жинағы разрядтық операциялардың кең ауқымын қамтиды және бұл блоктағы 128 бит тікелей адрестеледі және мекенжайлар 00H-ден 7FH-ге дейін ауытқиды. Жадтың төменгі 128 байт жартысындағы барлық байттар тікелей немесе жанама түрде адрестелуі мүмкін. ЖЖҚ жадының жоғарғы 128 байт жартысы (жоғарғы 128) I-8051 чипінде жоқ, бірақ чиптердің 256 байт оперативті жады нұсқаларында қол жетімді. Бұл жағдайда «Жоғарғы 128» аймағы жанама адресациямен ғана қолжетімді. SFR (арнайы функциялар тізілімі) аймағы тек тікелей адрестеу арқылы қол жетімді. SFR кеңістігінде арнайы функция регистрлерінің орналасуы 6-суретте көрсетілген. Оларға порт регистрлері, таймерлер, перифериялық басқару элементтері және т.б. 9 7FH Pobytnit-Adgesive Ozu 30H (Direct, Indirect) 04H 03H 02H 01H 00H 1FH RB3 18H 17H RB2 10H 0FH RB1 08H 07H SP RESET 00H RB0(R7+R0) 5-сурет. Төменгі 128 байт ішкі жедел жады. разрядтық адрестеу 8 байт F8H FFH F0H B F7H E8H EFH E0H ACC E7H D8H DFH D0H PSW D7H C8H CFH C0H C7H B8H IP BFH B0H P3 B7H A8H IE AFH A0H P2 A7H SB7H 98HP00H P2 A7H SB7H00H P2 A7H SB7H000F DPH PCO 87H N 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F 6-сурет. SFR кеңістігінде арнайы функция регистрлерін орналастыру. SFR кеңістігіндегі 16 мекенжай үшін байтты да, битті де адрестеу мүмкін. Битті адрестелетін регистрлер үшін он алтылық адрес «0H» немесе «8H» аяқталады. Бұл аймақтағы бит мекенжайларының 80H-ден FFH-ге дейінгі мәндері бар. MCS-51 отбасы кристалдарының барлық сериясы бірдей мекенжайларда орналасқан I-8051 чипіндегі сияқты негізгі SFR жиынтығына ие. Дегенмен, SFR аймағындағы отбасының одан әрі дамуын білдіретін кристалдарда 10 кеңейту үшін жаңа регистрлер қосылады.

Микроконтроллерлердің өндірісінің бастауында сегіз разрядты микроконтроллерлердің 8048 және 8051 отбасылары бар Intel компаниясы жатыр. MCS-51 архитектурасы өз атауын осы отбасының бірінші өкілі – 1980 жылы HMOS технологиясы негізінде шығарылған 8051 микроконтроллерден алды. Перифериялық құрылғылардың жақсы жиынтығы, сыртқы немесе ішкі бағдарлама жадының икемді таңдауы және қол жетімді баға бұл микроконтроллердің нарықта сәтті болуын қамтамасыз етті. Технология тұрғысынан 8051 микроконтроллері өз уақыты үшін өте күрделі өнім болды - кристалда 128 мың транзистор қолданылды, бұл 16-разрядты 8086 микропроцессорындағы транзисторлардың санынан 4 есе көп болды.

Негізгі архитектураның негізгі элементтері:
- батарея архитектурасына негізделген 8 разрядты ALU;
- 4 тізілім банкі, әрқайсысында 8;
- ендірілген бағдарлама жады 4Кбайт;
- ішкі жедел жады 128 байт;
- логикалық процессор
-2 он алты разрядты таймер;
- сериялық сілтеме контроллері (UART);
- екі басымдық деңгейі бар үзу контроллері;
- төрт 8 разрядты енгізу/шығару порты, олардың екеуі сыртқы бағдарламаға және деректер жадына қол жеткізу үшін адрес/деректер шинасы ретінде пайдаланылады;
- орнатылған сағат генераторы.

Дәл осы микроконтроллер әзірлеушілерге жақсы таныс және құрылғылардың кең ауқымында танымал басқару құралы болып табылады. Көптеген эмуляторлар, жөндеушілер және 8051 бағдарламашылар қол жетімді, сондықтан бағдарламалық жасақтаманы әзірлеу қиын емес.

MCS-51 әзірлеудегі келесі іргелі қадам CHMOS-қа өндіріс технологиясын беру болды. Бұл кристалдың қуат тұтынуын күрт азайтуға мүмкіндік беретін және ұшпа қолданбаларда, мысалы, автономды батареямен жұмыс істейтін құрылғыларда микроконтроллерді пайдалануға жол ашатын «Бос тұру» және «Қуатты өшіру» режимдерін енгізуге мүмкіндік берді.

Ал 8-биттік архитектура аясында Intel бұл бағытты дамытудың соңғы іргелі кезеңі 8xC51FA/FB/FC микроконтроллерлерінің шығарылуы болды, олар қысқаша айтқанда жиі 8xC51FX деп аталады. Бұл кристалдар тобының басты ерекшелігі олардың бағдарламаланатын есептегіштер массиві (ПСА) болып табылады. ПҚА құрылымдық диаграммасы 2-суретте көрсетілген.

PCA мыналарды қамтиды:

Таймер/есептегіш келесі функциялардың бірін орындау үшін бағдарламалауға болатын барлық бес үлгі және салыстыру модуліне қызмет етеді:

Сыртқы сигналдың оң жиегіндегі таймер мәнінің 16-разрядты таңдауы;
Сыртқы сигналдың теріс жиегіндегі таймер мәнінің 16-разрядты таңдауы;
Сыртқы сигналдың кез келген шетіндегі таймер мәнін 16-биттік таңдау;
16-биттік бағдарламалық қамтамасыз ету таймері;
16-биттік жоғары жылдамдықты шығыс құрылғысы (HSO);
8-биттік PWM

Жоғарыда аталған функциялардың барлығы ПКА-да аппараттық құрал деңгейінде орындалады және орталық процессорды жүктемейді, бұл жалпы жүйенің өткізу қабілетін арттыруға, өлшемдер мен сигналдарды өңдеу дәлдігін жақсартуға және микроконтроллердің сыртқы әсерге жауап беру уақытын азайтуға мүмкіндік береді. оқиғалар, бұл әсіресе нақты уақыттағы жүйелер үшін маңызды. 8xC51FX-де енгізілген PCA сәтті болғаны сонша, FX микроконтроллерлерінің архитектурасы іс жүзінде салалық стандартқа айналды, ал PCA өзі әртүрлі компаниялардың микроконтроллерлерінің әртүрлі модификацияларында бірнеше рет шығарылды.

Бастапқыда MCS-51 архитектурасының кедергілері 8-биттік батареяға негізделген ALU және салыстырмалы түрде баяу нұсқауларды орындау болды (ең жылдам нұсқауларды орындау үшін 12 сағаттық цикл қажет). Бұл жоғары өнімділікті және күрделі есептеулерді (16- және 32-бит) талап ететін қосымшаларда отбасының микроконтроллерлерін пайдалануды шектеді. Ескі архитектураны түбегейлі жаңғырту мәселесі өзекті болды. Модернизация мәселесі 90-жылдардың басына қарай бағдарламалық-аппараттық қамтамасыз ету саласында көптеген әзірлемелер жасалғандықтан қиындады, ал жаңа архитектураны әзірлеудегі негізгі міндеттердің бірі аппараттық және бағдарламалық қамтамасыз етудің үйлесімділігін енгізу болды. MCS-51 негізіндегі ескі әзірлемелермен. Бұл мәселені шешу үшін Intel және Philips мамандарының бірлескен тобы құрылды. Нәтижесінде, 1995 жылы 2 айтарлықтай әр түрлі отбасылар пайда болды: Intel-ден MCS-251/151 және Philips-тен 51XA (төменде соңғысына тоқталамыз).

MSC-251 архитектурасының негізгі ерекшеліктері:

24-биттік желілік мекенжай кеңістігі, 16М жадқа дейін адрестеу(MCS-251 тобының өндірілген микроконтроллерлерінде жадының адрестік кеңістігі 256К);
MCS-251 отбасылық микроконтроллерлерінің командалар жиыны MCS-51 отбасылық микроконтроллерлерінің («ескі» командалар) нұсқаулар жинағына кіретін барлық 111 команданы қамтиды және оған қосымша 157 «жаңа» командалар кіреді. Кейбір жаңа пәрмен кодтары 4 байт пішімінде.
Микроконтроллерді қолданар алдында оны конфигурациялау керек, яғни. бағдарламалаушыны пайдаланып, қуат қосылғаннан кейін нұсқаулар жиынының қайсысы белсенді болатынын анықтайтын конфигурация байттарын «жатады». Егер сіз MCS-51 нұсқаулар жинағын орнатсаңыз, MSC-251 екілік код деңгейінде MCS-51-мен үйлесімді болады. Бұл режим екілік режим деп аталады. Дегенмен, бұл режимдегі кеңейтілген нұсқаулар «терезе» арқылы да қол жетімді - резервте сақталған нұсқаулық коды 0A5h. Әрине, әрбір кеңейтілген нұсқаудың ұзындығы бұл жағдайда 1 байтқа артады. Егер сіз бастапқыда кеңейтілген нұсқаулар жинағын орнатсаңыз, онда бұл жағдайда MCS-51 үшін жазылған бағдарламалар MCS-51 үшін кросс-құралдарда қайта құрастыруды қажет етеді, өйткені енді стандартты нұсқаулар бірдей «терезе» 0A5h арқылы қол жетімді болады және олардың ұзындығы да 1 байтқа артады. Бұл режим Source Mode деп аталады. Ол кеңейтілген нұсқауларды максималды тиімділікпен пайдалануға және ең жоғары өнімділікке қол жеткізуге мүмкіндік береді, бірақ бағдарламалық жасақтаманы қайта құруды қажет етеді.
регистрлерді байт, сөздер және қос сөздер деп атауға мүмкіндік беретін регистр архитектурасы;
сыртқы бағдарлама жадынан нұсқауларды алуды жылдамдату үшін бет режимін адрестеу;
нұсқау кезегі;
16-разрядты арифметикалық және логикалық нұсқауларды қамтитын кеңейтілген нұсқаулар жиынтығы;
64K дейін кеңейтілген стектің мекенжай кеңістігі;
2 циклде ең жылдам нұсқауды орындау;
MCS-51 бағдарламаларымен екілік кодтың үйлесімділігі.

MCS-251 микроконтроллерлерін MCS-51-ге механикалық ауыстыру ретінде пайдалануға бағытталған пайдаланушылар үшін Intel екілік режим күйінде бағдарламаланған конфигурация биттері бар MCS-251 микроконтроллерін шығарады. Мұндай микроконтроллерлер MCS-151 индексін алды.

Intel компаниясының өзінен басқа, MCS-251 микроконтроллерлері Temic Semiconductors лицензиясына ие.

Әмбебап сериялық автобус (немесе USB) Plug-and-Play технологиясын қазіргі заманғы өнімділігі жоғары дербес компьютерлерде табылған сыртқы енгізу/шығару құрылғыларына кеңейтеді.

Әртүрлі перифериялық құрылғыларды қосу мүмкіндігі үшін USB стандарты төрт тасымалдау режимін анықтайды: Master, Isochronous, Pulse және Array Transfer. Әрбір перифериялық құрылғы конфигурация параметрлерін, пәрмендерді және құрылғы күйі туралы ақпаратты жіберуге арналған басқару режимін қолдауы керек. Изохронды тасымалдау автобусқа кепілдік берілген қолжетімділікті, тұрақты өткізу қабілеттілігін және қателерге төзімділікті қамтамасыз етеді және аудио шығыс құрылғыларында және компьютерлік телефонияда қолданылуы мүмкін. Импульсті беру тінтуір, джойстик немесе пернетақта сияқты ақпаратты сирек және шағын бөліктерде, бірақ қызмет көрсету мерзімі шектеулі жіберетін енгізу құрылғыларына арналған. Массив жіберу сканерлер, факс машиналары немесе сандық камералар сияқты құрылғыларға автобус арнасы бос болған кезде деректердің үлкен көлемін дербес компьютерге тасымалдауға мүмкіндік береді.

Өнімнің негізгі мүмкіндіктері

«Әмбебап сериялық автобус спецификациясы 1.0» толық үйлесімді
Біріктірілген USB трансивері Сериялық автобус интерфейсінің қозғалтқышы (SIE)
Тасымалдау үшін төрт FIFO кезегі
Үш 16 байт FIFO кезегі
Қабылдау үшін төрт FIFO кезегі
Үш 16 байт FIFO кезегі
Бір конфигурацияланатын FIFO кезегі (1024 байтқа дейін)
FIFO кезектерінде қабылдауды/беруді автоматты басқару
Операцияларды тоқтату/жалғастыру
Үш USB шинасының үзу векторы
Фазалық құлыптау циклі
Деректер жылдамдығы: 12 Мбит/с және 1,5 Мбит/с
Баяу цикл режимі
Сыйымдылығы 256 КБ сыртқы адрестік кеңістік
Қуатты үнемдеу режимдері: күту режимі және қуатты өшіру
Пайдаланушы анықтайтын опциялар
Нақты уақытта күту
1 КБ чиптегі жедел жады
Төрт енгізу/шығару порты
Бағдарламаланатын есептегіш массиві (PCA)
Стандартты (MCS 51) UART микроконтроллері
Аппараттық бақылаушы
Үш икемді 16-биттік таймер/санауыш
MCS 51 және MCS 251 микроконтроллердің нұсқаулар жинағымен үйлесімді
Регистрлер негізіндегі MCS 251 микроконтроллер архитектурасы
Жұмыс жиілігі 6 немесе 12 МГц

8x930Hx контроллерінің қосымша мүмкіндіктері бар:

USB хабы
USB хабын басқару опциялары
Қосылымды басқару
Шығару құрылғысымен қосылымды/ажыратуды анықтау
Тоқтату/жалғастыруды қоса қуатты басқару
Автобус ақауларын анықтау және қалпына келтіру
Толық жылдамдықты және төмен жылдамдықты шығару құрылғыларын қолдау
Порт қуатын ауыстыруға арналған шығыс істікшесі
Артық жүктемені анықтау үшін кіріс контактісі

USB деректерін тасымалдаудың төрт түрлі режимі үш элементтің ынтымақтастығы арқылы қамтамасыз етіледі: Хост, Хаб, Функционалдық құрылғы. Хост мазмұнның берілуін бақылайды және шина бойынша ақпаратты басқарады. Функционалдық құрылғылар хост жүйелерін кеңейтеді. Бұған ДК жұмысының типтік түрлері кіреді: пернетақтадан немесе джойстиктен енгізу, мониторға шығару; сонымен қатар сандық телефония және кескінді беру сияқты күрделірек әрекеттер. Intel 8x930Ax микроконтроллері функционалдық құрылғыларды басқаруға арналған. Ақырында, хабтар басқа функционалды құрылғыларға қол жеткізуді қамтамасыз ететін USB кеңейту нүктесі болып табылады. Функционалдық құрылғыны басқару мен USB хабын біріктіретін Intel 8x930Hx микроконтроллері қазіргі заманғы ДК перифериялық құрылғыларына арналған коммерциялық қол жетімді бірінші USB хабы болып табылады.

USB хабтары ДК пайдаланушысының әлемін кеңейтуде маңызды рөл атқарады. Кірістірілген концентраторлармен жабдықталған перифериялық құрылғылардың - пернетақталардың, мониторлардың, принтерлердің және т.б. пайда болған кезде жаңа құрылғыны қосу немесе ажырату розеткаға ашаны қосу сияқты оңай. Жаңа өнімділік деңгейлері мен жақсартылған USB қосылымы жұмыс және ойын-сауық қолданбаларына арналған құрылғылардың жаңа буынын шығаруы мүмкін. Енгізілген карталардың, IRQ қақтығыстарының және шатастырылған сымдардың күндері нөмірленген.

USB шинасы кабелі тек төрт сымнан тұрады: Vbus, D+, D- және GND - осылайша қосылымды жеңілдетеді және біркелкі етеді. Осы мақсатқа перифериялық құрылғыларды USB шинасына қосуға арналған жалғыз стандартты қосқыш қызмет етеді. Деректер D+ және D- кабельдерінде әртүрлі түрде беріледі, не толық жылдамдықта 12 Мбит/с немесе төмен жылдамдықта 1,5 Мбит/с. Трансивер кристалға салынған, сондықтан сыртқы электрондық схемалардың қажеті жоқ. Ерекшелік - бұл құрылғының жоғары немесе төмен жылдамдықты екенін анықтау үшін қажет D+ және D- сызықтарындағы тоқтату резисторы.

Отбасына шолу
Intel 8x930 отбасы екі бір чипті контроллерден тұрады.

Intel 8x930Ax контроллері MCS 251 микроконтроллер архитектурасына негізделген және USB шинасына қосылған перифериялық құрылғылармен жұмыс істеуге арналған 8 разрядты құрылғы. Екінші жағынан, 8x930Hx бірдей MCS 251 микроконтроллер өзегін және кірістірілген USB шинасы хабының жетілдірілген мүмкіндіктерін пайдаланады. MCS 251 архитектурасын екі USB шина контроллерінде пайдалану келесі артықшылықтарды ұсынады:

Жоғары өнімділік
Жад пен адрестеудің аралас түрлерін қолдану
Төмен қуат тұтыну
Төмен шу
Жоғары деңгейлі тілдерге тиімді қолдау
Кеңейтілген пәрмендер жинағы
Кірістірілген мүмкіндіктер

8x930Ax нұсқауларын MCS 51 микроконтроллер жинағынан да, MCS 251 микроконтроллер жинағынан да пайдалануға болады.Бұл тәсіл пайдаланушылардың бағдарламалық құралға инвестициясын үнемдейді және қолданбалардың ең өнімділігін алады.

8x930 микроконтроллерлері әртүрлі кірістірілген мүмкіндіктерге толы болғандықтан, олар жай микроконтроллерлерге қарағанда қуаттырақ көрінеді. Бағдарламаланатын есептегіш массиві (PCA) нақты уақытта салыстыруды немесе деректерді түсіруді, жоғары жылдамдықты байланысты немесе импульстік ені модуляциясын қажет ететін қолданбаларға икемділік береді. Сонымен қатар, контроллерге кеңейтілген сериялық порт, үш 16-биттік таймер/есептегіш, аппараттық бақылау құралы, төрт 8-биттік енгізу/шығару порты және екі қуатты үнемдеу режимі кіреді: күту режимі және қуатты өшіру.

8x930Ax тобының контроллерлері 1 Кбайт жадымен жабдықталған және тұрақты жадысы жоқ нұсқаларда немесе сыйымдылығы 8 немесе 16 Кбайт тұрақты жады бар нұсқаларда пайдалануға болады. Олар инструкциялар мен деректер үшін 256 Кбайтқа дейін сыртқы жадты және 40 байт жалпы мақсаттағы регистрлерді адрестей алады, олар орталық процессорда регистр файлы ретінде орналасқан. Қолданылатын комбинацияға байланысты регистр файлында 16 байт регистр, 16 екі байт және 10 төрт байт регистр болуы мүмкін.

Контроллерлерде сыртқы жады бар икемді интерфейс бар. Жадысы баяу құрылғыларға қол жеткізу үшін үш күту циклін қосуға болады және қосымша циклдар жасау үшін нақты уақыт функциясын пайдаланыңыз. Сыртқы нұсқауларды алу мекенжайдың жоғары байтындағы деректерді аударатын бет режимін пайдалану арқылы өнімділікті жақсартады.

8x930 контроллерінің екеуі де ішкі шығыс құрылғыларын қолдау үшін сегіз FIFO кезегімен жабдықталған: төрт жіберу кезегі және төрт қабылдау кезегі. Төрт қабылдау/беру FIFO кезегі төрт соңғы функционалдық блокты (0-ден 3-ке дейін) қолдайды. 0-кезегі 16 байттан тұрады және басқару ақпаратын беруге арналған. 1-кезек пайдаланушы конфигурациялайтын санатқа жатады және 1024 байтқа дейін сыйымдылыққа ие. 2 және 3-кезектер әрқайсысы 16 байтты құрайды және ақпаратты серпінді, изохронды және массив тасымалдау режимдерінде тасымалдау үшін пайдаланылуы мүмкін. 8x930Hx контроллерін пайдаланған жағдайда, бұл кезектер енгізу құрылғылары үшін FIFO кезектері жұбы арқылы күшейтіледі. 8x930Hx контроллеріндегі бұл кезектерге шығыс құрылғылары арқылы жасалған деректер ағындарын қайта жіберуге жауапты қосымша қайталағыш қолдау көрсетеді.

Архитектураға шолу
Құрылымдық жағынан, 8x930Ax және 8x930Hx микроконтроллерлеріндегі USB енгізуді төрт блокқа бөлуге болады: FIFO кезектері, функционалдық құрылғылары бар интерфейс блогы, сериялық шиналық интерфейс блогы және трансивер. 8x930Hx контроллерінде концентратордың функцияларын басқаруға арналған қосымша блоктар бар: концентраторы бар интерфейс блогы және қайталағыш.

Екі контроллерде қабылдау және беру үшін FIFO кезектері сақина тәрізді. Кезектер екі айнымалы өлшемді бөлек деректер жиынына дейін қолдайды және деректер жиынындағы байттардың санын көрсететін байт есептегіш регистрлерді қамтиды. Кезектер кезектің толық немесе бос екенін көрсететін жалаушалармен жабдықталған, сонымен қатар ағымдағы деректер жинағын қабылдауды немесе беруді қайталай алады. Функционалдық құрылғы интерфейсі бірлігі (FFU) жіберілген немесе қабылданған USB деректерін жіберу түріне және кезектердің күйіне қарай таратады. Сонымен қатар, IFU блогы транзакцияның күйін бақылайды, FIFO кезектерін басқарады және үзу сұрауы арқылы 8x930 орталық процессорына басқару оқиғаларының орын алуы туралы хабарлайды.

Сериялық шиналық интерфейс блогы USB беру хаттамасын жүзеге асырады: пакеттерді ретке келтіреді, сигналды генерациялайды және тану, бақылау сомасын генерациялау және тексеру, NRZI деректерді кодтау/декодтау, бит толтыру, пакет идентификаторын (PID) генерациялау және тану.

USB микроконтроллерлеріндегі біріктірілген қабылдағыш USB 1.0 сипаттамасымен анықталған қарапайым төрт сымды интерфейске сәйкес келеді. 8x930 контроллерлер тобында үш USB-қа қатысты үзулер бар. Олар әрбір кадрдың басталуында, терминалдың функционалдық құрылғыларына деректерді қабылдаудың/берудің соңында, жұмыс жаһандық тоқтатылған немесе қайта басталған жағдайда орын алады. 8x930Hx хабында хаб интерфейс блогы шығыс порттарының қосылым күйін басқару және бақылау үшін пайдаланылады. Қайталағыш USB порттарының жоғары және төмен сигналдарын таратуға жауапты.

ОТБАСЫ МИКРОБАҚЫЛАУЛАРЫНЫҢ АРХИТЕКТУРАСЫMCS-51

Курстар бойынша дәріс конспектісі

«Басқару жүйелеріндегі микропроцессорлар», «Микропроцессорлық технология».

«Микропроцессорлық құралдар мен жүйелер»

білім берудің барлық нысандарындағы мамандықтардың студенттеріне арналған

072000 – Стандарттау және сертификаттау

210200 – Технологиялық процестерді автоматтандыру

230104 – Автоматтандырылған жобалау жүйелері

Тамбов 2005 ж

КІРІСПЕ.. 3

1. MICROCONTROLLER INTEL 8051 ҚҰРЫЛЫМЫ. 3

1.1. Есте сақтауды ұйымдастыру. 5

1.2. Арифметикалық логикалық құрылғы. 6

1.3. Бағдарламалар мен деректерге арналған резиденттік жады. 7

1.4. Аккумуляторлық және жалпы мақсаттағы регистрлер. сегіз

1.5. Бағдарлама күйінің сөз регистрі және оның жалаулары. 9

1.6. Регистрлер-көрсеткіштер. он

1.7. Арнайы функциялардың регистрлері. он бір

1.8. Басқару және синхрондау құрылғысы. он бір

1.9. Ақпаратты енгізу/шығару параллель порттары. 12

1.10. Таймерлер / есептегіштер. 13

1.11. сериялық порт. он сегіз

1.11.1. SBUF тіркеу.. 18

1.11.2. Сериялық порттың жұмыс режимдері. он сегіз

1.11.3. SCON тіркеу.. 19

1.11.4. Қабылдау/беру жылдамдығы. 21

1.12. үзу жүйесі. 22

2. INTEL 8051 МИКРОБАҚЫЛАУ КОМАНДАРЫНЫҢ ЖҮЙЕСІ 26

2.1. Негізгі ақпарат. 26

2.1.1. Команда түрлері. 27

2.1.2. операнд түрлері. 28

2.1.3. Мәліметтерді адрестеу әдістері. отыз

2.1.4. нәтиже жалаушалары. 31

2.1.5. символдық адрестеу. 32

2.2. Мәліметтерді тасымалдау командалары. 33

2.2.1. Ақпараттық байланыстардың құрылымы. 33

2.2.2. Батареяға қол жеткізу. 33

2.2.3. Сыртқы деректер жадына қол жеткізу. 34

2.2.4. Бағдарлама жадына кіру.. 34


2.2.5. Стекке қол жеткізу. 35

2.3. Арифметикалық амалдар. 35

2.4. логикалық операциялар. 39

2.5. Тасымалдау командаларын басқару. 43

2.5.1. Ұзақ ауысу. 43

2.5.2. Абсолютті ауысу. 43

2.5.3. Салыстырмалы ауысу. 44

2.5.4. жанама ауысу. 44

2.5.5. Шартты секіру.. 44

2.5.6. Ішкі бағдарламалар.. 47

2.6. Биттермен операциялар. 48

Қауіпсіздік сұрақтары... 49

ӘДЕБИЕТ.. 50

Қосымша INTEL 8051 ПАРМАНДАР ЖҮЙЕСІ 51

КІРІСПЕ

20-ғасырдың 80-жылдарынан бастап микропроцессорлық технологияда интегралдық схемалардың тәуелсіз класы – әртүрлі мақсаттағы құрылғыларға салуға арналған бір чипті микроконтроллерлер пайда болды. Олар бір чипті микропроцессорлар класынан ішкі жадының болуымен, сыртқы құрылғылармен әрекеттесудің жетілдірілген құралдарымен ерекшеленеді.

MCS-51 отбасының 8 разрядты бір чипті микроконтроллерлері кеңінен қолданылады. Бұл отбасы жақсы жобаланған архитектурасы арқасында микропроцессорлық басқару жүйесін жасаушылар арасында үлкен танымалдыққа ие болған Intel 8051 микроконтроллерінің негізінде құрылды. Микроконтроллердің архитектурасы - бұл бағдарламалық қамтамасыз етудің қол жетімді аппараттық ресурстарының ішкі және сыртқы жиынтығы және командалар жүйесі.

Кейіннен Intel Intel 8051 микроконтроллерінің операциялық ядросы негізінде 50-ге жуық модельді шығарды.Сонымен қатар көптеген басқа компаниялар, мысалы, Atmel, Philips MCS-51 стандартында әзірленген микроконтроллерлерін шығара бастады. Сондай-ақ Intel 8051 микроконтроллерінің отандық аналогы - K1816BE51 чипі бар.

2. MICROCONTROLLER INTEL 8051 ҚҰРЫЛЫМЫ

Intel 8051 микроконтроллері жоғары деңгейлі n-MOS технологиясына негізделген. Оның негізгі сипаттамалары келесідей:

· басқару функцияларын жүзеге асыру үшін оңтайландырылған сегіз разрядты орталық процессор;

Кіріктірілген тактілік генератор (максималды жиілік 12 МГц);

· программа жадысының адрестік кеңістігі – 64 КБ;

· деректер жадысының адрестік кеңістігі – 64 КБ;

Бағдарламаның ішкі жады – 4 КБ;

ішкі деректер жады – 128 байт;

Буль алгебра амалдарын орындауға арналған қосымша мүмкіндіктер (разрядтық операциялар);

· 2 он алты таңбалы көп мақсатты таймер/санауыш;

Толық дуплексті асинхронды қабылдағыш (сериялық порт);

· Екі басымдық деңгейі және бес оқиға көзі бар векторлық үзу жүйесі.

1-сурет – Intel 8051 микроконтроллерінің блок-схемасы

Блок-схеманың негізін (1-сурет) микроконтроллердің негізгі түйіндері мен құрылғыларын байланыстыратын ішкі екібағытты 8-разрядты шина құрайды: резиденттік бағдарлама жады (RPM), тұрақты деректер жады (RDM), арифметикалық логикалық блок ( ALU), регистр блогының арнайы функциялары, басқару блогы (CU), параллель енгізу/шығару порттары (P0-P3), сонымен қатар бағдарламаланатын таймерлер және сериялық порт.

2.1. Жадты ұйымдастыру

Бұл микроконтроллер кірістірілген (резидент) және сыртқы бағдарлама және деректер жады бар. Резидентті бағдарлама жадысының (RPM) сыйымдылығы 4 Кбайт, тұрақты деректер жадысы (RDM) - 128 байт.


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

Қажет болса, пайдаланушы сыртқы ROM орнату арқылы бағдарлама жадын кеңейте алады. Ішкі немесе сыртқы ROM-ға қол жеткізу EA (Сыртқы кіру) пиніндегі сигналдың мәнімен анықталады:

EA=VCC (қоректену кернеуі) – ішкі ROM-ға қол жеткізу;

EA=VSS (жер потенциалы) – сыртқы ROM-ға қол жеткізу.

Сыртқы бағдарлама мен деректер жады 64К байт болуы мүмкін және P0 және P2 порттары арқылы адрестелуі мүмкін. 2-суретте Intel 8051 жад картасы көрсетілген.

2-сурет - Intel 8051 жад ұйымы

Сыртқы ROM оқу стробы - (Бағдарламалар дүкенін қосу) сыртқы бағдарлама жадына кіру кезінде жасалады және чипте орналасқан ROM-ға кіру кезінде белсенді емес.

Бағдарлама жадының төменгі адрестерінің аймағын (3-сурет) үзу жүйесі пайдаланады. INTEL 8051 чипінің архитектурасы бес үзу көздеріне қолдау көрсетеді. Басқару элементі үзіліске берілетін адрестерді үзу векторлары деп атайды.

3-сурет - Бағдарлама жадысының төменгі аймағының картасы

2.2. Арифметикалық логикалық бірлік

8-разрядты арифметикалық логикалық блок (ALU) қосу, алу, көбейту және бөлудің арифметикалық амалдарын орындай алады; логикалық операциялар ЖӘНЕ, НЕМЕСЕ, эксклюзивті НЕМЕСЕ, сонымен қатар циклдік ауыстыру, қалпына келтіру, инверттеу операциялары және т.б. Т1 және Т2 бағдарламалық қамтамасыз ету қолжетімсіз регистрлері операндтарды, ондық түзету схемасын (DCU) уақытша сақтауға арналған кірістерге қосылған. және мүмкіндік генерациялау тізбегі жұмысының нәтижесі (PSW).

Ең қарапайым қосу операциясы ALU-да регистрлердің мазмұнын ұлғайту, деректер көрсеткішінің регистрін (RAR) ілгерілету және резиденттік бағдарлама жадының келесі мекенжайын автоматты түрде есептеу үшін қолданылады. Ең қарапайым алу операциясы ALU-да регистрлерді азайту және айнымалыларды салыстыру үшін қолданылады.

Ең қарапайым операциялар 16-биттік регистр жұптарын ұлғайту сияқты операцияларды орындау үшін автоматты түрде «тандемдерді» құрайды. ALU күрделі командаларды орындау үшін қарапайым операцияларды каскадтау механизмін жүзеге асырады. Мәселен, мысалы, шартты басқаруды тасымалдау нұсқауларының бірін орындаған кезде, салыстыру нәтижесіне сүйене отырып, бағдарлама есептегіші (ПК) ALU-де үш есе артады, RDM екі рет оқылады, екі айнымалыны арифметикалық салыстыру орындалады, 16-разрядты секіру адресі қалыптасады және бағдарлама арқылы өтуді орындау немесе жасамау туралы шешім қабылданады. Бұл әрекеттердің барлығы небәрі 2 мкс-те орындалады.

ALU маңызды ерекшелігі оның байттармен ғана емес, сонымен қатар биттермен де жұмыс істеу мүмкіндігі болып табылады. Бағдарламалық құралға қол жетімді жеке биттерді орнатуға, тазалауға, инверсиялауға, жіберуге, тексеруге және логикалық операцияларда пайдалануға болады. Бұл қабілет өте маңызды, өйткені алгоритмдер әдетте микропроцессорлардың көмегімен жүзеге асырылуы белгілі бір қиындықтармен байланысты кіріс және шығыс логикалық айнымалылар бойынша операцияларды қамтитын объектілерді басқару үшін жиі пайдаланылады.

Осылайша, ALU ақпараттық объектілердің төрт түрімен жұмыс істей алады: логикалық (1 бит), цифрлық (4 бит), байт (8 бит) және адрестік (16 бит). ALU бұл деректерде 51 түрлі тасымалдау немесе түрлендіру әрекеттерін орындайды. 11 адрестеу режимі (деректер үшін 7 және мекенжайлар үшін 4) қолданылғандықтан, операция мен адрестеу режимін біріктіру арқылы 111 нұсқауларының базалық саны бір байт операциялық кодпен мүмкін болатын 256-дан 255-ке дейін кеңейтіледі.

2.3. Резидентті бағдарлама және деректер жады

Резидентті (чипте) программалық жады (RPM) және деректер жады (RDM) физикалық және логикалық түрде бөлінген, әртүрлі адрестеу механизміне ие, әртүрлі сигналдардың басқаруымен жұмыс істейді және әртүрлі функцияларды орындайды.

RPM бағдарламасының жадысының сыйымдылығы 4 Кбайт және командаларды, тұрақтыларды, инициализацияны басқару сөздерін, кіріс және шығыс айнымалылар үшін түрлендіру кестелерін және т.б. сақтауға арналған. Жадта 16 разрядтық адрес шинасы бар, ол арқылы ДК бағдарлама есептегішінен кіруге болады. немесе регистрден берілген.деректер көрсеткіші (DPTR). DPTR жанама бағдарлама секірулері үшін негізгі регистр ретінде әрекет етеді немесе кесте операцияларында қолданылады.

RDM деректер жады қолданбалы бағдарламаны орындау кезінде айнымалыларды сақтауға арналған, бір байтпен адрестеледі және сыйымдылыққа ие.
128 байт. Сонымен қатар, 1-кестеде келтірілген арнайы функциялық регистрлердің адрестері оның адрестік кеңістігіне жанасады. бір.

Бағдарлама жады, деректер жады сияқты, дейін кеңейтілуі мүмкін
Сыртқы чиптерді қосу арқылы 64 КБ.

1-кесте

Арнайы функция регистрі блогы

Аты

Батарея

Аккумуляторды кеңейту регистрі

Бағдарлама күй сөзі

Стек көрсеткішінің регистрі

Мәліметтер көрсеткішінің регистрі

Басымдық тізілімін үзу

Үзіліс маскасы тіркелімі

Таймер/санауыш режимінің тіркелімі

Таймерді басқару/күй регистрі

Таймер 0 (жоғары байт)

Таймер 0 (төмен байт)

Таймер 1 (жоғары байт)

Таймер 1 (төмен байт)

Трансиверді басқару реестрі

Трансивер буфері

Қуатты басқару регистрі

Ескерту.Аты жұлдызшамен (*) белгіленген регистрлер жеке биттерді адрестеуге мүмкіндік береді.

2.4. Аккумуляторлық және жалпы мақсаттағы регистрлер

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

Пайдаланушыда әрқайсысында R0–R7 жалпы мақсаттағы 8 регистрден тұратын төрт банк бар (Cурет 9). Дегенмен, PSW регистрінің биттері арқылы таңдалатын төрт банктің тек біреуінің регистрлерін пайдалануға болады.

2.5. Бағдарлама күйінің сөздерінің регистрі және оның жалаулары

ALU-да көптеген нұсқаулар орындалғанда, бағдарлама күйінің Word (PSW) регистрінде бекітілген бірқатар операциялық белгілер (жалаушалар) жасалады. Кестеде. 2 PSW жалауларын тізіп, олардың символдық атауларын береді және олардың қалыптасу шарттарын сипаттайды.

кесте 2

PSW бағдарламасының күйі Word пішімі

Аты мен мақсаты

Туды алып жүру. Арифметикалық және логикалық операцияларды орындау кезінде аппараттық немесе бағдарламалық құрал арқылы орнату және қалпына келтіру

Көмекші тасымалдау жалауы. Қосу және алу нұсқауларын және 3-биттегі тасымалдау немесе қарыз сигналдарын орындау кезінде тек аппараттық құрал арқылы орнатылады және тазартылады

Жалау 0. Бағдарлама пайдаланушы көрсеткен жалауша ретінде орнатуға, тазалауға немесе тексеруге болады.

Регистрлер банкін таңдау. Регистрлердің жұмыс банкін таңдау үшін бағдарламалық құрал арқылы орнату және қалпына келтіру (3-кесте)

толып кету жалауы. Арифметикалық амалдарды орындау кезінде аппараттық құрал арқылы орнатылады және тазартылады

Қолданылмайды

паритет жалауы. Әр цикл сайын аппараттық құрал арқылы орнатылады және тазаланады және аккумулятордағы тақ/жұп 1 бит санын түзетеді, яғни жұп паритетті орындайды.

3-кесте

Регистрлердің жұмыс банкін таңдау

Шекараларды адрестеу

Ең «белсенді» PSW жалауы қосу, алу және ауыстыруды қоса алғанда, әртүрлі операцияларды орындау процесіне қатысатын және өзгертілетін тасымалдау жалауы болып табылады. Сонымен қатар, тасымалдау жалауы (CY) биттерді басқаратын нұсқауларда «логикалық аккумулятор» ретінде әрекет етеді. Толып кету жалауы (OV) таңбалы бүтін сандардағы операциялардағы арифметикалық толып кетуді түзетеді және арифметиканы келесіде пайдалануға мүмкіндік береді. қосымша кодтар. ALU регистрлер банкінің таңдау жалауларын (RS0, RS1) бақыламайды, олардың мәні қолданбалы бағдарламамен толығымен анықталады және төрт тізілім банкінің біреуін таңдау үшін қолданылады.

Байт ретінде PSW регистрін келесідей көрсетуге болады:

Аккумуляторға негізделген микропроцессорларда нұсқаулардың көпшілігі онымен жасырын адрестеу арқылы жұмыс істейді. Intel 8051-де бәрі басқаша. Процессор батареяға негізделгенімен, оның қатысуынсыз көптеген нұсқауларды орындай алады. Мысалы, деректерді кез келген RDM ұяшығынан кез келген регистрге тасымалдауға болады, кез келген регистрді жедел операндпен жүктеуге болады және т.б.. Көптеген логикалық операцияларды аккумулятордың қажетінсіз орындауға болады. Сонымен қатар, айнымалы мәндерді аккумуляторды қолданбай-ақ көбейтуге, азайтуға және тексеруге болады. Жалаушалар мен басқару биттерін дәл осылай тексеруге және өзгертуге болады.

2.6. Көрсеткіш регистрлері

8-биттік стек көрсеткіші (SP) кез келген RDM аймағын адрестей алады. Оның мазмұны PUSH және CALL нұсқаулары кезінде стекке деректер сақталмас бұрын көбейтіледі. SP мазмұны POP және RET командаларын орындағаннан кейін азайтылады. Стек элементтерін шешудің бұл жолы алдын ала өсу/кейінгі азайту деп аталады. Микроконтроллерді инициализациялау кезінде RST сигналынан кейін SP-ге 07H коды автоматты түрде жүктеледі. Бұл дегеніміз, егер қолданбалы бағдарламастек қайта анықтамаса, онда стекке бірінші деректер элементі RDM 08H орнында орналасады.

DPTR 2 байт деректер көрсеткішінің регистрі әдетте сыртқы жад операцияларында 16 биттік мекенжайды бекіту үшін пайдаланылады. Деректер көрсеткішінің регистрін микроконтроллер пәрмендері не 16-биттік регистр немесе екі тәуелсіз 8-биттік регистрлер (DPH және DPL) ретінде пайдалануға болады.

2.7. Арнайы функция регистрлері

IP, IE, TMOD, TCON, SCON және PCON символдық атаулары бар регистрлер түзету және бағдарламаны өзгертуүзу тізбегі, таймер/санауыш, сериялық порт трансивері және қуатты басқару үшін басқару және күй биттері. Олардың ұйымдастырылуы 1.8-1.12 тарауларында әртүрлі режимдердегі микроконтроллердің мүмкіндіктерін қарастыру кезінде толық сипатталатын болады.

2.8. Басқару және синхрондау құрылғысы

Микроконтроллердің сыртқы түйреуіштеріне қосылған кварц резонаторы ішкі осциллятордың жұмысын басқарады, ол өз кезегінде синхрондау сигналдарын тудырады. Басқару блогы (БҚ) синхрондау сигналдарының негізінде 12 генераторлық кезеңге тең, белгіленген ұзақтығы бар машина циклін жасайды. Микроконтроллер командаларының көпшілігі бір машина циклінде орындалады. 2 байттық сөздермен жұмыс істейтін немесе сыртқы жадқа қатынайтын кейбір нұсқаулар екі машиналық циклде орындалады. Тек бөлу және көбейту нұсқаулары төрт машина циклін қажет етеді. Басқару құрылғысының жұмысының осы ерекшеліктеріне сүйене отырып, қолданбалы бағдарламалардың орындалу уақыты есептеледі.

Микроконтроллер диаграммасында командалар регистрі (IR) басқару құрылғысына жақын орналасқан. Оның қызметі орындалатын команданың кодын сақтау болып табылады.

Басқару және синхрондау құрылғысының кіріс және шығыс сигналдары:

1. PSEN – бағдарлама жадысының рұқсаты,

2. ALE – мекенжай ысырмасын қосу шығыс сигналы,

3. PROG – бағдарламалау сигналы,

4. EA – ішкі жадымен жұмысты блоктау,

5. VPP - бағдарламалау кернеуі,

6. RST – жалпы қалпына келтіру сигналы,

7. VPD - сыртқы көзден жадтың резервтік қуат шығысы,

8. XTAL – кварц резонаторын қосуға арналған кірістер.

2.9. Параллель енгізу/шығару ақпарат порттары

Барлық төрт порт (P0-P3) ақпаратты байт байт енгізу немесе шығаруға арналған. Әрбір портта басқарылатын ысырма, кіріс буфері және шығыс драйвері бар.

P0 және P2 порттарының шығыс драйверлері, сондай-ақ P0 портының кіріс буфері сыртқы жадқа қол жеткізу кезінде қолданылады. Бұл жағдайда уақытты мультиплекстеу режимінде Р0 порты арқылы алдымен адрестің төменгі байты шығарылады, содан кейін деректер байты шығарылады немесе қабылданады. Адрестің ені 16 бит болған жағдайда адрестің жоғары байты P2 порты арқылы шығарылады.

Барлық P3 порт түйреуіштерін 1-кестеде көрсетілген балама функцияларды орындау үшін пайдалануға болады. 4. Бұл функцияларды P3 портының сәйкес ысырма биттеріне (P3.0-P3.7) 1 жазу арқылы қосуға болады.

4-кесте

Баламалы порт P3 функциялары

Аты мен мақсаты

Оқу. Белсенді төмен сигнал сыртқы деректер жадына кіру кезінде аппараттық құрал арқылы жасалады

Жазба. Белсенді төмен сигнал сыртқы деректер жадына кіру кезінде аппараттық құрал арқылы жасалады

Таймер/есептегіш кіріс 1 немесе сынақ кірісі

Таймер/санауыш кірісі 0 немесе сынақ кірісі

Үзіліс сұрауының кірісі 1. Төмен сигнал немесе кесу сезіледі.

Үзіліс сұрауының кірісі 0. Төмен сигнал немесе үзіліс сезіледі.

UART режимінде сериялық порт таратқыш шығысы. Ауысым регистр режиміндегі сағат шығысы

UART режимінде сериялық порт қабылдағыш кірісі. Ауысым регистр режимінде деректерді енгізу/шығару

0 порты екі бағытты, ал 1-3 порттары квази-екі бағытты. Порттардың әрбір жолын енгізу немесе шығару үшін дербес пайдалануға болады.

RST сигналында блоктар автоматты түрде барлық порттардың ысырма регистрлеріне жазылады, осылайша оларды енгізу режиміне қояды.

Барлық порттарды екі бағытты беру желілері арқылы ақпаратты енгізу/шығаруды ұйымдастыру үшін пайдалануға болады. Дегенмен, егер жүйеде уақытты мультиплексирлеу режимінде жұмыс істейтін жалпы ортақ мекенжай/деректер шинасы арқылы ұйымдастырылатын сыртқы жады болса, P0 және P2 порттарын осы мақсат үшін пайдалану мүмкін емес.

Енгізу/шығару порттарына қол жеткізу байт, бір бит, биттердің ерікті комбинациясы бойынша жұмыс істейтін командалар арқылы мүмкін болады. Бұл жағдайда порт әрі операнд, әрі нәтиженің тағайындалған орны болып табылатын жағдайларда басқару құрылғысы автоматты түрде «оқу-өзгерту-жазу» деп аталатын арнайы режимді жүзеге асырады. Бұл қол жеткізу режимі сигналдарды порттың сыртқы түйреуіштерінен емес, оның ысырмасынан енгізуді қамтиды, бұл бұрын шығарылған ақпаратты қате оқуды болдырмауға мүмкіндік береді. Бұл портқа қол жеткізу механизмі пәрмендерде жүзеге асырылады:

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!