MK portlarının C 51 dilində proqramlaşdırılması. MCS–51 mikrokontrollerləri: proqram modeli, strukturu, əmrləri. Port oxu rejimi

MCS-51 əsas versiyası Qısa məlumat. Müasir 8 bitlik mikrokontrollerlər (MC) belə real vaxt rejimində idarəetmə resurslarına malikdir, bunun üçün əvvəllər ayrıca mikrokompüter lövhələri şəklində bahalı çox çipli sxemlərdən istifadə edilmişdir, yəni:

● kifayət qədər yaddaş tutumuna malik olması, onun fiziki və məntiqi proqram yaddaşına bölünməsi və məlumat yaddaşı(Harvard memarlığı) və idarəetmə alqoritmlərinin icrasına yönəlmiş komanda sistemi;

● minimal konfiqurasiya mikroprosessor idarəetmə sisteminin həyata keçirilməsi üçün zəruri olan bütün cihazları (prosessor, ROM, RAM, giriş/çıxış portları, kəsmə sistemi, bit məlumatlarının emalı üçün vasitələr və s.) daxildir. Ötən əsrin 70-ci illərində şirkət Intel bir sıra ümumi xüsusiyyətləri (bit tutumu, komanda sistemi, əsas funksional bloklar dəsti və s.) ilə birləşdirilən 8 bitlik MCS-48 mikrokontrollerlər ailəsi hazırlanmış və sənaye istehsalına buraxılmışdır. Bu ailənin əsas versiyasına aşağıdakılar daxildir:

● 8 bitlik prosessor;

● proqramın daxili yaddaşı (1/2/4K bayt);

● daxili məlumat yaddaşı (64/128/256 bayt);

● 27 daxili və 16 xarici I/O xəttinə qədər;

● bir 8 bitlik taymer sayğacı;

● iki sorğu mənbəyi ilə tək səviyyəli kəsmə sistemi. 1980-ci ildə həmin şirkət MCS-48 ailəsinin arxitekturasına uyğun gələn, lakin daha böyük imkanlara malik olan səkkiz bitlik mikrokontrollerlərin yeni ailəsi olan MCS-51-i inkişaf etdirdi.

MCS-51 ailəsinin arxitekturası o qədər uğurlu oldu ki, o, hələ də 8 bitlik MK-lar üçün standartlardan biridir. Buna görə də, tədqiqat obyekti nisbətən sadə idarəetmə sistemlərində geniş istifadə olunan bu ailənin mikrokontrollerləri seçilmişdir.

MCS-51 ailəsi üçün müxtəlif proqramların hazırlanması alətləri hazırlanmışdır (tərtibçilər, aparat-proqram emulyatorları və s.) və çoxlu sayda standart iş rejimlərinin kitabxanaları mövcuddur. Ailə mikrokontrollerlərin mikrosxemlərinin (çip versiyalarının) müxtəlif modifikasiyalarını ehtiva edir. Bu bölmədəki məqalələr MCS-51 ailəsinin mikrokontrolörlərinin əsas versiyasını (8051 mikrosxem yerli analoq KP1816BE51-ə uyğundur), struktur və funksional baxımından ən sadə və anlayış baxımından bir qədər ətraflı müzakirə edir.

Sonrakı mikrosxemlər seriyası, əsas versiya ilə uyğunluğu qoruyaraq, təkmilləşdirilmiş istehsal texnologiyasında ondan fərqlənir, elektrik parametrləri, əlavə avadanlıq və funksionallıq. Aşağıdakı məqalələr MCS-51 mikrosxem ailəsinin sonrakı modifikasiyalarının struktur və funksional xüsusiyyətlərinə həsr edilmişdir.
MCS-51-in ümumiləşdirilmiş blok diaqramı. Ümumiləşdirilmiş blok diaqramı Şəkildə göstərilən MC-nin tərkibi. 7.1.1, daxildir:

● 8 bit CPU CPU ibarətdir ALU, nəzarət cihazları UU və ünvan generatoru F;

● proqramların saxlanması üçün 4K bayt tutumlu maska ​​ROM;

● məlumatların saxlanması üçün 128 bayt tutumlu RAM;

● giriş üçün dörd proqramlaşdırıla bilən port P0–P3– məlumat çıxışı;

● blok serial interfeysİki telli xətt vasitəsilə xarici qurğularla məlumat mübadiləsi üçün BPI;

● real vaxt rejimini saxlamaq üçün BT/C taymerlərinin/sayğaclarının bloku;

● İcra edilə bilən proqramların kəsilməsinin təşkili üçün BP kəsmə bloku. Bu vəsaitlər formalaşır sakini mikrokontrolörün bir hissəsi birbaşa çipdə yerləşir. MK-ya çoxlu sayda registrlər daxildir, onlar ayrı-ayrı funksional bloklara təyin edilir və diaqramda göstərilmir.

Diaqramda idarəetmə sxemləri də göstərilmir. Bloklar arasında ikitərəfli məlumat mübadiləsi daxili 8 bit vasitəsilə həyata keçirilir məlumat avtobusuШД-8.

Daxili 16 bitlik ünvan avtobusuША-16 CPU-da yaradılan ünvan ROM-a (12 ünvan biti) və RAM-a (8 aşağı dərəcəli bit) verilir.

Xarici yaddaşdan istifadə edərkən ünvanın ən az əhəmiyyətli 8 biti P0 portuna, 3 və ya 8 ən əhəmiyyətli biti isə P2 portuna çıxarılır.

İnterfeysi məntiqi genişləndirmək üçün port xətlərinin funksiyalarını birləşdirən istifadə olunur. Şəkildə bir nümunə olaraq. 7.1.1 nöqtəli xətt icra edən P3 portunun xətlərini göstərir alternativ nəzarət siqnallarının ötürülməsi funksiyaları, məqsədi aşağıda müzakirə olunacaq. Daxili saat generatoru yaratmaq üçün MK mikrosxeminin terminallarına bir kvars rezonatoru və iki kondansatör birləşdirilir (Şəkil 7.1.1). Sinxronizasiya üçün daxili saat generatoru əvəzinə xarici salınım mənbəyi istifadə edilə bilər. Şərti qrafik təyinat MK mikrosxemləri Şəkildə göstərilmişdir. 7.1.2, sancaqların təyinatı və təyinatı - cədvəldə. 7.1.1. MK-nın funksional bloklarını və onların iş prinsipini nəzərdən keçirək. Arifmetik məntiq cihazı. Arifmetik məntiq qurğusu səkkiz bitli operandlar üzərində hesab (vurma və bölmə daxil olmaqla) və məntiqi əməliyyatları, həmçinin məntiqi yerdəyişmə, sıfırlama, təyin etmə və s. əməliyyatları yerinə yetirmək üçün nəzərdə tutulmuşdur. ALU-nun blok-sxem Şəkil 1-də göstərilmişdir. 7.1.3.

ALU daxildir

● paralel səkkiz bitlik toplayıcı arifmetik (toplama və çıxma) və məntiqi (toplama, vurma, bərabərsizlik və eyniləşdirmə) əməliyyatlarını yerinə yetirən ardıcıl daşıma ilə kombinasiya tipli SM;

batareya A,əsas hesab registrinin funksiyalarının təmin edilməsi;

qeydiyyatdan keçin B, vurma və bölmə əməliyyatlarını həyata keçirmək üçün və ya funksiyaları istifadəçi tərəfindən müəyyən edilən əlavə super-əməliyyat registr kimi istifadə olunur;

qeydiyyatdan keçir(proqram təminatı mövcud deyil) müvəqqəti saxlama RVХ1, RVХ2, əməliyyat müddətində operandların qəbulu və saxlanması üçün nəzərdə tutulmuşdur;

● ROM sabitlər Verilənlərin ikili onluq təsviri üçün düzəliş kodunu, bit əməliyyatları üçün maska ​​kodunu və sabitlər üçün kodu saxlayan ROM;

proqram status söz registridir Tamamlanmış əməliyyatdan sonra ALU-nun vəziyyətini qeyd edən PSW. Cədvəldə 7.1.2 PSW registrinin ayrı-ayrı bitlərinin bitlərinin təyin edilməsi haqqında məlumat verir. Nəzarət cihazı. Mərkəzi prosessorun idarəetmə bloku (CU). nəzərdə tutulmuşdur koordinasiya üçün əməkdaşlıq yaradılan saat impulsları və nəzarət siqnallarından istifadə edərək bütün MK qovşaqları. O, ibarətdir (Şəkil 7.1.4):

sinxronizasiya və idarəetmə bloku Maşın dövrələrini və onların ayrı-ayrı vəziyyətlərini (S) və fazalarını (P) təyin edən takt impulslarını yaradan və mikrokontrolörün iş rejimindən asılı olaraq lazımi idarəetmə siqnalları dəstini yaradan idarəetmə sistemi. Bir əmri yerinə yetirmək üçün bir, iki və ya dörd maşın dövrü tələb olunur.

Hər bir maşın dövrü var altı ştat S1–S6, A hər bir vəziyyətə daxildir iki faza P1, P2, müddəti T 0SC saat generatorunun salınma dövrüdür.

Maşın dövrünün müddəti 12T 0SC-dir. S1P1 fazasından başlayaraq S6P2 fazasına qədər bütün maşın dövrələri eynidir.

Saat impulslarına əlavə olaraq, sinxronizasiya cihazı S1P2–S2P1 və S4P2–S5P1 fazalarında müsbət impuls şəklində hər maşın dövrəsində ALE ünvanının aşağı baytı üçün iki (bəzən bir) qapı siqnalı yaradır. Şəkildəki vaxt diaqramları. 7.1.5 maşın dövrələrinin təşkilini təsvir edir;

● komanda qeydiyyatı RK, komanda dekoderi Hər bir maşın dövründə yerinə yetirilən əmrin mikroproqramına uyğun olaraq bir sıra mikro əməliyyatlar yaratmağa imkan verən DC və PLM;

● P0–P3 portları vasitəsilə MK-dan xarici qurğularla informasiya mübadiləsini təmin edən siqnalların qəbulu və verilməsi üçün LVV giriş/çıxış məntiqi;

● Serial port məlumat sürətini ikiqat artırmaq üçün PCON.7 mövqeyində tək aktivləşdirilmiş SMOD biti olan PCON reyestri. Qalan bitlər daha sonra istifadə üçün qorunur.
Ünvan generatoru. Ünvan generatoru (FA) və ya PC əmr sayğacı, nəzərdə tutulmuşdur proqram yaddaşının cari 16-bit ünvanını və xarici məlumat yaddaşının 8/16-bit ünvanını formalaşdırmaq. O, ibarətdir (Şəkil 7.1.6):

● 16 bit bufer 8 bitlik SD məlumat şini ilə əvvəlki ünvanın 16 bitlik daxili şini (IB) arasında əlaqə quran B;

● Cari ünvanın dəyərini artırmaq üçün SI artım sxemi proqram yaddaşı vahid başına;

● SI-dən gələn PTA əmrlərinin cari ünvanını saxlamaq üçün qeydiyyatdan keçmək;

● məlumat göstərici reyestri DPTR , iki 8 bitlik DPH və DPL registrindən ibarətdir. O, xarici məlumat yaddaşının 16 bitlik ünvanını saxlamağa xidmət edir və iki müstəqil proqram təminatı ilə əlçatan RON kimi istifadə edilə bilər;

● proqram yaddaşının icraedici 16-bit ünvanını və ya xarici məlumat yaddaşının 8/16-bit ünvanını saxlamaq üçün XRF ünvan generatorunun reyestri. Bu registr məlumatların P0 portu vasitəsilə ötürülməsi üçün də istifadə olunur xarici cihazlar MOVX @Rm, A və MOVX @DPRT, A əmrlərini yerinə yetirərkən.

Məlumat yaddaşı. Məlumat yaddaşı nəzərdə tutulmuşdur proqramın icrası zamanı istifadə olunan məlumatların qəbulu, saxlanması və verilməsi üçün. Daxili (rezident) məlumat yaddaşı (şək. 7.1.7) 128 bayt tutumlu operativ yaddaşdan ibarətdir, yığın göstəricisi S.P. ünvan reyestri RAM RA və dekoder Dsh. Yığın göstəricisi SP sonuncu dəfə əldə edilmiş yığın xanasının ünvanını qəbul etmək və saxlamaq üçün nəzərdə tutulmuş 8 bitlik registrdir. Sıfırladıqdan sonra yığın göstəricisi 08H ünvanlı yığının başlanğıcına uyğun gələn 07H ünvanına təyin edilir. PA ünvan reyestri Dsh dekoderi ilə birlikdə bayt və ya bit məlumat olan tələb olunan yaddaş xanasına daxil olmağa imkan verir.

MK qoşulmaqla məlumat yaddaşının tutumunu 64 KB-a qədər artırmaq imkanı verir xarici yaddaş qurğuları.Şəkildə bir nümunə olaraq. 7.1.8 MOVX tipli əmrlərdən istifadə edərək 2K bayt tutumlu xarici VPD məlumat yaddaşının səhifə təşkilini göstərir @ Rm(m = 0; 1). Bu halda, P0 portu multipleksləşdirilmiş ünvan/məlumat avtobusu kimi fəaliyyət göstərir, P2 portunun üç xətti xarici RAM-ın səhifəsinə müraciət etmək üçün istifadə olunur, qalan beş sətir isə giriş/çıxış xətləri kimi istifadə edilə bilər.
Şəkildə. 7.1.9 MK xarici RAM ilə işləyərkən oxuma və yazma dövrlərinin vaxt diaqramlarını göstərir. Diaqramlar göstərir:

● RSN - PC komanda sayğacının yüksək baytı;

● DPL, DPH - MOVX @DPTR,A və MOVX A,@DPTR komandalarında dolayı ünvanlama üçün registr kimi istifadə olunan DPTR məlumat göstərici registrinin aşağı və yüksək baytları;

● P2 SFR - P2 port kilidləri;

● Rm (m = 0, 1) - MOVX @Rm, A və MOVX A, @Rm təlimatlarında dolayı ünvan registrləri kimi istifadə olunan registrlər;

● Z - yüksək müqavimət vəziyyəti;

● D - P0 portundan verilənlərin mikrokontrollerə daxil edildiyi dövr. Proqram yaddaşı. Proqram yaddaşı proqramları saxlamaq üçün nəzərdə tutulmuşdur, özünəməxsus (məlumat yaddaşından ayrı) ünvan sahəsinə malikdir və yalnız oxumaq üçün nəzərdə tutulub. Buraya Dsh dekoderi və ROM daxildir (Şəkil 7.1.10). Proqram yaddaşını ünvanlamaq üçün 16 bitlik PC sayğacı istifadə olunur, ona görə də onun maksimum tutumu 64K baytdır. Proqramın daxili yaddaşı 4K baytlıq ROM və 12 bitlik dekoderdən ibarətdir. Xarici yaddaş Şəkildəki diaqrama uyğun olaraq bağlanır. 7.1.11. MK-nin ¯EA pininə 0 V verilirsə (Şəkil 7.1.11-də göstərildiyi kimi), daxili yaddaş proqramlar deaktiv edilib. Bütün yaddaş girişləri 0000h ünvanından başlayır. ¯EA pin enerji mənbəyinə qoşulduqda, 0000h–FFFFh ünvanlarında daxili proqram yaddaşına və 0FFFh–FFFFh ünvanlarında xarici proqram yaddaşına giriş avtomatik olaraq baş verir.

MK proqramlarının xarici yaddaşını oxumaq üçün ¯PSEN siqnalı yaradılır. Daxili yaddaşla işləyərkən oxumaq siqnalından istifadə edilmir. Xarici proqram yaddaşına daxil olduqda həmişə 16 bitlik ünvan formalaşır. Ünvanın aşağı baytı maşın dövrünün birinci yarısında P0 portu vasitəsilə ötürülür və registrdə ALE strobunun kəsilməsi ilə sabitlənir.Dövrün ikinci yarısında P0 portu bir bayt daxil etmək üçün istifadə olunur. xarici yaddaşdan MK-ya məlumat.

Ünvanın ən əhəmiyyətli baytı bütün yaddaşa giriş vaxtı ərzində P2 portu vasitəsilə ötürülür.

MK xarici RAM ilə işləyərkən oxuma və yazma dövrlərinin vaxt diaqramları Şek. 7.1.12.
Diaqramlar göstərir:

● PCL OUT - PC proqram sayğacının aşağı baytının çıxışı;

● RSN OUT - PC komanda sayğacının yüksək baytının çıxışı;

● DPH - MOVX @DPTR,A və MOVX A,@DPTR təlimatlarında dolayı ünvanlama üçün registr kimi istifadə olunan DPTR məlumat göstərici registrinin yüksək baytı;

● P2 SFR - P2 port kilidləri;

● INS IN - proqram yaddaşından təlimat (komanda) baytının daxil edilməsi;

● ADDR OUT - Rm registrlərindən (m = 0, 1) və ya DPL registrindən (DPTR aşağı registrindən) xarici məlumat yaddaşı ünvanının aşağı baytının verilməsi. I/O portları. Liman təyinatı. P0, P1, P2, P3 portları nəzərdə tutulmuşdur MK və xarici qurğular arasında məlumat mübadiləsi, həmçinin aşağıdakı funksiyaları yerinə yetirmək üçün:

● A7…A0 ünvanının aşağı baytı P0 portu vasitəsilə çıxarılır; MK-dan məlumat baytı çıxarılır və xarici proqram yaddaşı və xarici məlumat yaddaşı (vaxtla ayrılmış) ilə işləyərkən MK-ya daxil edilir;

● P2 portu vasitəsilə xarici proqram yaddaşı və xarici məlumat yaddaşı ilə işləyərkən A15...A8 ünvanının yüksək baytı çıxarılır (yalnız MOVX A,@DPTR və MOVX @DPTR,A komandalarından istifadə edildikdə);

● P3 portunun xətləri alternativ funksiyaları yerinə yetirmək üçün istifadə oluna bilər, əgər bu xəttin mandalına 1 daxil edilirsə, əks halda xəttin çıxışında 0 sabitlənir.P3 port pinlərinin alternativ funksiyaları Cədvəldə verilmişdir. 7.1.3.

Limanların dövrə xüsusiyyətləri

Şəkildə. 7.1.13 MK portlarının hər birinin bir kanalı üçün diaqramları göstərir, o cümlədən:

● alınan məlumat bitini fiksasiya etmək üçün mandalı;

● çıxış gücləndiricisi kaskad(sürücü);

● qovşaq ilə əlaqəçıxış mərhələsi (P2 istisna olmaqla);

● B2 və B3 buferlərindən ibarət (P4 portu üçün) portun çıxış tərəfindən məlumat bitinin ötürülməsi üçün sxem. Mandal daxili “Madala yaz” siqnalı ilə idarə olunan D-flip-flopdur. D flip-flopun birbaşa çıxışından olan məlumat biti B1 buferi vasitəsilə MK-nın daxili məlumat avtobusunun (ID) xəttinə “Read Latch” siqnalından istifadə etməklə proqramlı şəkildə oxuna bilər.

Çıxış mərhələsi port P0 bir çeviricidir, xüsusiyyətləri yük tranzistoru VT2-nin yalnız xarici yaddaşa daxil olduqda (port vasitəsilə ünvanları və məlumatları ötürərkən) açılmasında özünü göstərir. Bütün digər rejimlərdə yük tranzistoru bağlıdır. Buna görə də, P0 (Şəkil 7.1.13, a) ümumi təyinatlı çıxış portu kimi istifadə etmək üçün onun terminallarına xarici yük rezistorlarını birləşdirmək lazımdır. Port kilidinə 1 yazarkən, çevirici tranzistor VT1 kilidlənir və P0.X portunun xarici pin yüksək müqavimət vəziyyətinə keçir. Bu rejimdə P0.X portunun çıxışı giriş kimi xidmət edə bilər. P0 portu ümumi təyinatlı I/O portu kimi istifadə olunarsa, onun P0.X pinlərinin hər biri müstəqil olaraq giriş və ya çıxış kimi işləyə bilər. Çıxış mərhələləri P1, P2, P3 portları (Şəkil 7.1.13, b, c, d) tranzistor VT2 kimi istifadə edilən daxili yük rezistoru ilə çevirici sxemlərə uyğun olaraq hazırlanmışdır.

Port sancaqları 0 vəziyyətindən 1 vəziyyətinə keçdikdə keçid vaxtını azaltmaq üçün yük tranzistoru VT2 ilə paralel olaraq əlavə tranzistor VT3 təqdim edildi. Qapı dövrəsindəki elementlərdən istifadə edən tranzistor VT3, master kvars osilatorunun iki salınım dövrünə bərabər bir müddətə (maşın dövrünün S1P1, S2P2 fazaları zamanı) kiliddən çıxarılır. Çıxış mərhələləri MX multipleksorundan istifadə edən P0, P2 portları (Şəkil 7.1.13, A, c) ya kilidlərə, ya da daxili “Ünvan/məlumat” və “Ünvan” avtobuslarına qoşula bilər. P1 portunun çıxış mərhələsi (Şəkil 7.1.13, 6) mandala daimi olaraq bağlıdır.

Əgər P3 portunun pin çıxışıdırsa və onun mandalı 1-dən ibarətdirsə, onun çıxış mərhələsi aparat tərəfindən idarə olunur. daxili siqnal Müvafiq alternativ funksiyanın icrasını təmin edən "alternativ çıxış funksiyası", yəni. ¯WR, ¯RD və ya RxD siqnallarından biri xarici pində yaradılır. Əgər port çıxışı giriş kimi istifadə olunursa, ona gələn alternativ siqnal (TxD, ¯INT0, ¯INT1, T0, T1) “Alternativ giriş funksiyası” daxili xəttinə ötürülür.

Port qeyd rejimi.

Port yazma əmri yerinə yetirildikdə, yeni dəyər S6P2 fazasında mandala yazılır və növbəti maşın dövrünün S1P1 mərhələsində birbaşa portun çıxış pininə çıxarılır.

Port oxu rejimi

Port oxuma əmrləri məlumatı birbaşa portun xarici pinlərindən və ya mandalı çıxışlarından oxuyur. Birinci halda, port pinindən verilənlər biti proqramlı şəkildə B2 buferi vasitəsilə MK-nın daxili məlumat avtobusunun (SD) xəttinə “Oxumaq pinləri” siqnalından istifadə edərək oxunur. Nəzərə alın ki, müvafiq əmrlər yerinə yetirildikdə “Latch-a yaz”, “Read latch”, “Read pins” siqnalları aparatda yaradılır.

İkinci halda, "Oxumaq-Dəyişdirmək-Yazmaq" adlanan rejim həyata keçirilir, burada əmr mandalı vəziyyət siqnalını oxuyur, lazım olduqda onu dəyişdirir və sonra onu yenidən mandala yazır. “Oxu-Dəyişdir-Yaz” rejimi aşağıdakı əmrləri yerinə yetirərkən həyata keçirilir: ANL, ORL, XRL, JBC; CPL; INC; DEC; Haqqımızda Şirkətin Adı: DJNC; MOV PX,Y; CLR PX.Y; SETB PX,Y.

Mandalların çıxışlarından məlumatın oxunması, port pinində məntiqi səviyyəni şərh edərkən səhvləri aradan qaldırmağa imkan verir. Məqalənin davamını oxuyun.

MCS-51 ailəsinin arxitekturası əsasən onun məqsədi - tikinti ilə müəyyən edilir yığcamucuz rəqəmsal cihazlar. Bütün mikrokompüter funksiyaları bir mikrosxemdən istifadə etməklə həyata keçirilir. MCS-51 ailəsinə ən sadə mikrokontrollerlərdən tutmuş olduqca mürəkkəb olanlara qədər bütün mikrosxemlər daxildir. MCS-51 ailəsinin mikro nəzarətçiləri müxtəlif qurğular üçün həm idarəetmə tapşırıqlarını yerinə yetirməyə, həm də fərdi komponentləri həyata keçirməyə imkan verir. analoq dövrə. Bu ailənin bütün mikrosxemləri işləyir eyni komanda sistemi ilə, onların əksəriyyəti ilə eyni hallarda həyata keçirilir uyğun pinout(bədən üçün ayaqların sayı). Bu, hazırlanmış cihaz üçün müxtəlif istehsalçıların (məsələn, Intel, Dallas, Atmel, Philips və s.) mikrosxemlərindən istifadə etməyə imkan verir. yenidən işləmədən sxematik diaqram cihazlar və proqramlar.

Şəkil 1. K1830BE751 nəzarətçisinin blok diaqramı

Kontrollerin blok-sxemi Şəkil 1-də verilmişdir və aşağıdakı əsas funksional bölmələrdən ibarətdir: idarəetmə bloku, arifmetik-məntiqi blok, taymer/sayıcı blok, ardıcıl interfeys və kəsmə bloku, proqram sayğacı, verilənlər yaddaşı və proqram yaddaşı. İkitərəfli əlaqə daxili 8 bitlik məlumat avtobusundan istifadə etməklə həyata keçirilir. Hər bir blokun məqsədinə daha yaxından nəzər salaq. MCS-51 ailəsinin demək olar ki, bütün üzvləri bu sxemə uyğun olaraq qurulur. Bu ailənin müxtəlif mikrosxemləri yalnız xüsusi təyinatlı registrlərdə (portların sayı daxil olmaqla) fərqlənir. Komanda sistemi bütün nəzarətçilər MCS-51 ailəsi 111-dən ibarətdir əsas əmrlər 1, 2 və ya 3 bayt formatında və bir çipdən digərinə keçərkən dəyişmir. Bu, proqramın bir çipdən digərinə mükəmməl daşınmasını təmin edir.

Nəzarət və sinxronizasiya bölməsi

Zamanlama və İdarəetmə bloku onun işinin bütün icazə verilən rejimlərində əsas kompüter bloklarının birgə işinin koordinasiyasını təmin edən sinxronizasiya və idarəetmə siqnallarını yaratmaq üçün nəzərdə tutulmuşdur.İdarəetmə blokuna aşağıdakılar daxildir:

  • vaxt intervallarını yaratmaq üçün cihaz,
  • giriş-çıxış məntiqi,
  • komanda reyestri
  • enerji idarəetmə reyestri,
  • komanda dekoderi, kompüter idarəetmə məntiqi.

Vaxt intervallarının formalaşdırılması üçün cihaz fazaların, saatların və dövrlərin daxili takt siqnallarını yaratmaq və vermək üçün nəzərdə tutulmuşdur. Maşın dövrlərinin sayı təlimatların müddətini müəyyənləşdirir. İcra müddəti dörd maşın dövrü olan vurma və bölmə göstərişləri istisna olmaqla, demək olar ki, bütün kompüter əmrləri bir və ya iki maşın dövründə yerinə yetirilir. Baş osilatorun tezliyini F g ilə işarə edək.Onda maşının dövrünün müddəti 12/F g-ə bərabərdir və ya master osilator siqnalının 12 dövrüdür. Giriş/çıxış məntiqi P0-P3 giriş/çıxış portları vasitəsilə xarici qurğularla məlumat mübadiləsini təmin edən siqnalları qəbul etmək və çıxarmaq üçün nəzərdə tutulmuşdur.

Komanda Qeydiyyatı icra olunan əmrin 8 bitlik əməliyyat kodunu qeyd etmək və saxlamaq üçün nəzərdə tutulmuşdur. Əməliyyat kodu əmrlərin və kompüterin idarəetmə məntiqinin köməyi ilə əmrin icrası üçün mikroproqrama çevrilir.

Tələbə Nəzarət Qeydiyyatı (PCON) enerji istehlakını azaltmaq və mikrokontrollerdən müdaxilə səviyyəsini azaltmaq üçün mikrokontrolleri dayandırmağa imkan verir. Mikrokontroller master osilatorunu dayandırmaqla enerji istehlakının və müdaxilənin daha da azaldılmasına nail olmaq olar. Buna PCON istehlak nəzarət registrinin bitlərini dəyişdirməklə nail olmaq olar. N-MOS istehsal variantı üçün (1816 seriyası və ya adının ortasında “c” işarəsi olmayan xarici çiplər) PCON istehlak nəzarət registrində SMOD seriya portunun ötürmə sürətini idarə edən yalnız bir bit var və enerji istehlakına nəzarət bitləri yoxdur.

"MCS-51 mikro nəzarət cihazlarının arxitekturası" məqaləsi ilə birlikdə oxuyun:


http://site/MCS51/tablms.php


http://site/MCS51/SysInstr.php


http://site/MCS51/port.php

Hal-hazırda müxtəlif şirkətlər həm Intel, həm də digər istehsalçılar tərəfindən bu ailənin bir çox modifikasiyası və analoqlarını istehsal edir, saat sürəti və yaddaş tutumu on dəfə artıb və artmaqda davam edir. LSI-də quraşdırılmış modullar dəsti də genişləndirilir; çoxlu sayda müasir modellər 12-yə qədər daxili yüksək sürətli ADC-yə malikdir və indi daha çox bit ola bilər. Lakin MCS51 ailəsi ilk nümunələri 1980-ci ildə buraxılmış Intel LSI 8051, 80С51, 8751, 87С51, 8031, 80С31-ə əsaslanır.

MCS51 ailəsinin mikrokontrolörləri yüksək keyfiyyətli n-MOS texnologiyasından (8ХХХ seriyası, analoq - Rusiya və Belarusiyada 1816 seriyası) və k-MOS texnologiyasından (seriya 8ХСХХ, analoq - seriya 1830) istifadə olunur. 8-dən sonra gələn ikinci simvol: 0 – çipdə EPROM yoxdur, 7 – ultrabənövşəyi silmə ilə 4K EPROM. Üçüncü simvol: 3 – çipdə olan ROM, 5 – ROM yoxdursa, çipdə maskalı ROM var.

Beləliklə, 80С51 - çipdə maskalı ROM olan k-MOS texnologiyasına əsaslanan LSI, çipdə proqram yaddaşı olmayan (ROM, RPOM) 8031 ​​- LSI n-MOS, 8751 - rezidenti olan LSI n-MOS (yerləşmişdir) çipdə) ultrabənövşəyi silmə ilə RPOM. Biz daha sonra 8751 LSI-ni nəzərdən keçirəcəyik, lazım gələrsə, ilk seriyalı LSI-lər üçün dərc edilmiş parametrlərə istinad edərək, digər sxemlər arasındakı fərqlər haqqında qeydlər aparacağıq. Lazım gələrsə, şirkət kataloqlarında və texniki sənədlərdə bütün müasir dəyişikliklər haqqında əlavə məlumat tapa bilərsiniz.

A. Ümumi xüsusiyyətlər və pin təyinatları

MCS51 ailəsi MK-nın beş modifikasiyasına əsaslanır (eyni əsas xüsusiyyətlərə malikdir), bunlar arasında əsas fərq proqram yaddaşının həyata keçirilməsi və enerji istehlakıdır (Cədvəl 3.1-ə baxın). Mikrokontroller səkkiz bitlikdir, yəni. səkkiz bitlik sözləri emal etmək üçün əmrlərə malikdir, Harvard arxitekturasına malikdir, ailənin əsas nümunələrinin takt tezliyi 12 MHz-dir.

Cədvəl 3.1.

Mikro dövrələr

Proqramın daxili yaddaşı, bayt

Proqram yaddaş növü

Daxili məlumat yaddaşı, bayt

Saat tezliyi, MHz

Cari istehlak, mA

MK 8051 və 80C51 çipin istehsalı zamanı 4096 bayt tutumlu maska ​​ilə proqramlaşdırıla bilən ROM proqram yaddaşına malikdir və kütləvi istehsalda istifadə üçün nəzərdə tutulub. MK 8751 ultrabənövşəyi silmə ilə 4096 baytlıq RPOM ehtiva edir və proqramların sazlanması zamanı sistemin inkişaf mərhələsində, həmçinin kiçik partiyalarda istehsal zamanı və ya əməliyyat zamanı yenidən yazmağı tələb edən sistemlər yaratarkən rahatdır.

dövri tənzimləmə.

MK 8031 ​​və 80C31-də quraşdırılmış proqram yaddaşı yoxdur. Onlar, əvvəllər təsvir edilmiş modifikasiyalar kimi, 64 KB-a qədər xarici proqram yaddaşından istifadə edə bilir və ROM proqram yaddaşının əhəmiyyətli dərəcədə daha böyük həcmini (çipdə 4 KB-dən çox) tələb edən sistemlərdə effektiv şəkildə istifadə olunur.

Ailənin hər bir MK-sı xarici RAM IC-lərindən istifadə etməklə RAM məlumatlarının ümumi həcmini 64 KB-a qədər genişləndirmək imkanı olan 128 bayt tutumlu rezident məlumat yaddaşına malikdir.

    səkkiz bitlik mərkəzi prosessor;

    4 KB proqram yaddaşı (yalnız 8751 və 87C51);

    128 bayt məlumat yaddaşı;

    dörd səkkiz bitlik proqramlaşdırıla bilən I/O portu;

    iki 16-bit çox rejimli taymer/sayıcı;

    beş vektor və iki proqram təminatı ilə idarə olunan prioritet səviyyəli avtovektor kəsmə sistemi;

    dörd rejimdə işləməyə qadir olan universal dupleks ötürücü daxil olmaqla seriyalı interfeys;

    saat generatoru.

MK komanda sistemi 1, 2 və ya 3 bayt formatlı 111 əsas əmrdən ibarətdir. Mikrokontroller aşağıdakılara malikdir:

    32 ümumi təyinatlı registr RON, hər biri R0... R7 adları olan səkkiz registrdən ibarət dörd bank kimi təşkil edilir, bu və ya digər bankın seçimi PSW proqram status registrində müvafiq bitləri təyin etməklə proqram tərəfindən müəyyən edilir;

    128 proqram təminatı ilə idarə olunan bayraqlar (bit prosessor, aşağıya baxın);

    MK elementlərini idarə edən xüsusi funksiyaların registrləri dəsti. Mikrokontrolörün aşağıdakı iş rejimləri var:

1). Ümumi sıfırlama. 2).Normal işləmə. 3).Aşağı enerji istehlakı rejimi və boş rejim. 4). Rezident RPOM üçün proqramlaşdırma rejimi, əgər varsa.

Burada ilk iki iş rejiminə diqqət yetirəcəyik; bütün rejimlərdə MK-nın tərkibinin və işinin ətraflı təsviri Əlavə P1-də verilmişdir.

RON və bit prosessor sahəsi 0-dan 80h-ə qədər ünvanları olan rezident RAM-nin ünvan məkanında yerləşir.

Yaşayış RAM ünvanlarının yuxarı zonasında xüsusi funksiya registrləri (SFR, Xüsusi Funksiya Registrləri) yerləşir. Onların məqsədi cədvəldə verilmişdir. 3.2.

Cədvəl 3.2.

Təyinat

ad

Batareya

Qeydiyyat B

Proqram statusu qeydiyyatı

Yığın göstəricisi

Məlumat göstəricisi. 2 bayt:

Aşağı bayt

Yüksək bayt

Prioritet Qeydiyyatını kəsin

Aktiv qeydiyyatı dayandırın

Taymer/Counter Rejimi Qeydiyyatdan keçin

Taymer/Counter Nəzarət Qeydiyyatı

Taymer/sayıcı 0. Yüksək bayt

Taymer/sayıcı 0. Aşağı bayt

Taymer/sayıcı 1. Yüksək bayt

Taymer/sayıcı 1. Aşağı bayt

Serial Port nəzarəti

Serial bufer

İstehlakın idarə edilməsi

* - qeydiyyatları, imkan verir bit şəkildə ünvanlanması

Cədvəl 3.2-də göstərilən SFR registrlərinin funksiyalarına qısaca nəzər salaq.

Batareya ACC - akkumulyator reyestri. İşləmək üçün hazırlanmış əmrlər

Siz batareya ilə, məsələn, "A" mnemonikasından istifadə edin MOV A, P2 . ACC mnemonikasından, məsələn, akkumulyatorun bitwise ünvanlanması zamanı istifadə olunur. Beləliklə, A5M51 assemblerindən istifadə edərkən akkumulyatorun beşinci bitinin simvolik adı aşağıdakı kimi olacaq: ACC. 5..

Qeydiyyatdan keçin IN . Vurma və bölmə əməliyyatları zamanı istifadə olunur. Digər təlimatlar üçün B reyestrinə real vaxt rejimində əlavə registr kimi baxmaq olar.

Qeydiyyatdan keçin dövlət proqramlar P.S.W. proqramın vəziyyəti haqqında məlumat ehtiva edir və yerinə yetirilən əməliyyatın nəticəsi əsasında qismən avtomatik, qismən isə istifadəçi tərəfindən quraşdırılır. Registr bitlərinin təyinatı və təyinatı müvafiq olaraq Cədvəl 3.3 və 3.4-də verilmişdir.

Cədvəl 3.3.

Təyinat

Cədvəl 3.4.

Təyinat

Bit təyinatı

Bit girişi

Bayraq daşımaq. Bir sıra arifmetik və məntiqi göstərişlərin icrası zamanı baş verən dəyişikliklər.

Aparat və ya proqram təminatı

Əlavə daşıma bayrağı. Nəticənin ən az əhəmiyyətli nibble (D0-D3) yaradıldığı zaman 3-cü bitdə daşıma və ya borc götürməni göstərmək üçün əlavə və ya çıxma təlimatları zamanı aparatda qurun/təmizləyin.

Aparat və ya proqram təminatı

Bayraq 0. İstifadəçi tərəfindən müəyyən edilmiş bayraq.

Proqramlı olaraq

Proqramlı olaraq

İş Reyestrinin Bank İndeksi

Proqramlı olaraq

Bank 0 ünvanlı (00Н - 07Н) Bank 1 ünvanlı (08Н - 0FН) Bank 2 ünvanlı (10Н - 17Н) Bank 3 ünvanlı (18Н - 1FН)

Daşma bayrağı. Arifmetik təlimatların icrası zamanı daşqın vəziyyətini göstərmək üçün avadanlıqla təyin edin və ya təmizləyin

Aparat və ya proqram təminatı

Ehtiyat. İstifadə edilə bilən yazıla bilən və oxuna bilən tetikleyici ehtiva edir

Parite biti. "1" vəziyyətində akkumulyator bitlərinin sayının cüt və ya tək olduğunu göstərmək üçün hər bir təlimat dövründə avadanlıq sıfırlayın və ya təyin edin.

Aparat və ya proqram təminatı

Göstərici yığın SP - PUSH və CALL əmrləri yerinə yetirildikdə stekə məlumat yazmadan əvvəl məzmunu artırılan 8 bitlik registr. İlkin sıfırlama zamanı yığın göstəricisi 07H-ə təyin edilir və məlumatların RAM-dakı yığın sahəsi 08H ünvanından başlayır. Lazım gələrsə, yığın göstəricisini ləğv etməklə, yığın sahəsi mikrokontroller məlumatlarının daxili RAM-də istənilən yerdə yerləşdirilə bilər.

Göstərici data DPTR yüksək baytdan (DPH) və aşağı baytdan ibarətdir

(DPL). Xarici yaddaşa daxil olarkən 16 bitlik ünvanı ehtiva edir. İstifadə edilə bilər

ya 16 bitlik registr və ya iki müstəqil səkkiz bitlik registr olmalıdır.

Port0 - PortZ. P0, P1, P2, RZ xüsusi funksiyalarının registrlərinin ayrı-ayrı bitləri P0, P1, P2, RZ portlarının “qapanma” bitləridir.

Bufer ardıcıl liman SBUF iki ayrı registr təmsil edir: ötürücü bufer və qəbuledici bufer. Məlumat SBUF-ə yazıldığında, ötürücü buferə daxil olur və SBUF-ə bir bayt yazmaq avtomatik olaraq serial port vasitəsilə ötürülməyə başlayır. Məlumat SBUF-dən oxunduqda, qəbuledici buferdən alınır.

Qeydiyyatlar taymer. (TH0, TL0) və (TH1, TL1) cütlərini 16-cı formada qeyd edin

müvafiq olaraq taymer/sayğac 0 və taymer/sayğac 1 üçün bit sayma registrləri.

Qeydiyyatlar idarəetmə. Xüsusi funksiyaların registrləri IP, IE, TMOD, TCON, SCON və PCON nəzarət bitlərini və kəsmə sisteminin status bitlərini, vaxt-

sayğaclar/sayğaclar və serial port. Onlar aşağıda ətraflı müzakirə olunacaq.

RxD TxD INT0 INT1 T0 T1 WR

P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

RST BQ2 BQ 1 E.A.

P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

P2,0 P2,1 P2,2 P2,3 P2,4 P2,5 P2,6 P2,7

P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7

Fəaliyyət göstərərkən, MC təmin edir:

    əlavə əmrləri üçün minimum icra müddəti 1 μs;

    minimum icra müddəti 4 μs olan aparat çarpması və bölməsi.

MK kvars, LC zənciri və ya xarici osilatordan istifadə edərək daxili osilatorun tezliyini təyin etmək imkanı verir.

Genişləndirilmiş təlimat sistemi bayt və bit ünvanlamasını, ikili və ikili onluq arifmetikasını, daşqın göstəricisini və cüt/tək təyinatı və məntiqi prosessoru həyata keçirmək qabiliyyətini təmin edir.

MCS51 ailəsinin arxitekturasının ən mühüm və fərqləndirici xüsusiyyəti ondan ibarətdir ki, ALU 8 bitlik məlumat tiplərində əməliyyatlar yerinə yetirməklə yanaşı, tək bitlik məlumatları manipulyasiya edə bilir. Fərdi proqram təminatı üçün əlçatan bitlər təyin edilə, təmizlənə və ya onların tamamlayıcısı ilə əvəz edilə bilər, yönləndirilə, yoxlana və

Şəkil 3.2. Xarici sancaqlar

mikro nəzarətçi

məntiqi hesablamalarda istifadə olunur. Halbuki sadə məlumat növləri üçün dəstək (əgər varsa)

Daha uzun söz uzunluğuna doğru mövcud tendensiya ilk baxışdan geriyə doğru bir addım kimi görünsə də, bu keyfiyyət MCS51 mikrokontrollerlər ailəsini nəzarətçi əsaslı tətbiqlər üçün xüsusilə uyğun edir. Sonuncunun əməliyyat alqoritmləri standart mikroprosessorlardan istifadə etməklə həyata keçirilməsi çətin olan giriş və çıxış Boolean dəyişənlərinin mövcudluğunu nəzərdə tutur. Bütün bu xüsusiyyətlər birlikdə MCS51 ailəsinin Boolean prosessoru adlanır. Bu güclü ALU MCS51 mikrokontrollerlər ailəsini həm real vaxt rejimində idarəetmə proqramları, həm də məlumat tələb edən alqoritmlər üçün uyğun edir.

Mikrokontrolörün dövrə diaqramı Şəkildə göstərilmişdir. 3.2. Əsas versiyada 40 pinli DIP paketində qablaşdırılır. Gəlin sancaqların məqsədinə baxaq.

Elektrik sancaqlarından başlayaq «0 IN" "5 IN" , bunun vasitəsilə o, əsas qidanı alır. Cari istehlak cədvəldə verilmişdir. 3.1.

Nəticə "RST" - mikrokontrolörün sıfırlanması. Bu sancağa aktiv yüksək səviyyə tətbiq edildikdə, rejimi general sıfırlayın və MK aşağıdakı hərəkətləri yerinə yetirir:

PC proqram sayğacını və P0-P3 port kilidləri, SP yığın göstəricisi və SBUF registrindən başqa bütün xüsusi funksiya registrlərini sıfıra qoyur;

    yığın göstəricisi 07H-ə bərabər olan dəyəri alır;

    bütün kəsmə mənbələrini, taymer sayğacını və serialı söndürür

    BANK 0 RAM seçir, məlumatların qəbulu və müəyyən edilməsi üçün P0-RZ portlarını hazırlayır.

ALE və PME pinlərini xarici saatlama üçün giriş kimi paylaşır;

      reyestrlərdə xüsusi funksiyalar PCON, IP və IE qorunan bitlər təsadüfi qiymətlər alır və bütün digər bitlər sıfıra sıfırlanır;

      SBUF reyestri təsadüfi qiymətlərə təyin edilir.

      P0-PZ portlarının kilidlərini "1" olaraq təyin edir.

Mikrokontroller registrlərinin sıfırlandıqdan sonra vəziyyətləri Cədvəl 3.5-də göstərilmişdir.

Cədvəl 3.5.

Məlumat

Qeyri-müəyyən

n-MOS üçün k-MOS 0XXXXXXXB üçün 0ХХХ0000V

RST pininin də alternativ funksiyası var. Əsası çıxarıldıqda mikro nəzarətçi RAM-in məzmununu dəyişməz saxlamaq üçün ehtiyat güc onun vasitəsilə verilir.

nəticələr BQ1, BQ2 MK-nin saat tezliyini təyin edən kvars rezonatorunu birləşdirmək üçün nəzərdə tutulmuşdur.

Nəticə EA` (E xternal A geyin xarici ünvanı) - bu pinə aktiv aşağı səviyyə tətbiq edildikdə xarici proqram yaddaşından idarəetmə kodlarını oxumaq rejimini aktivləşdirmək üçün nəzərdə tutulmuşdur. Çıxış alternativ məqsədə (funksiyaya) malikdir. Proqramlaşdırma rejimində RPOM-dan proqramlaşdırma gərginliyi ilə təchiz edilir.

Nəticə PME (P proqram M emory E qadir icazə yaddaş proqramlar) - proqram yaddaşından oxuma dövrünə nəzarət etmək üçün nəzərdə tutulmuşdur və hər bir maşın dövrəsində MK tərəfindən avtomatik aktivləşdirilir.

Nəticə ALE (A geyin L ingth E qadir icazə kiçik ünvanlar) P0 portu vasitəsilə ünvanın aşağı səviyyəli hissəsinin çıxışını strob edir. Çıxış RPOM-u proqramlaşdırarkən də istifadə olunur, proqramlaşdırma prosesi üçün bir strobe impuls ona verilir.

MK dörd qrup portdan ibarətdir: P0, P1, P2 və P3. Bunlar mikrokontrolörün qalan 40 pinidir. Bu portlar məlumatın bit-bit daxil edilməsi və çıxarılması üçün xidmət edə bilər, lakin əlavə olaraq, onların hər birinin öz ixtisası var. Portun ümumiləşdirilmiş funksional diaqramı Şəkildə göstərilmişdir. 3.3. Portda pinə qoşulmuş FET çıxış açarları, funksiya açarı, D flip-flop mandalı və idarəetmə məntiqi var. MK-nın daxili avtobusundakı mandala vahid və ya sıfır yazıla bilər. Bu məlumat funksiya açarı vasitəsilə çıxış açarlarına və MK-nin çıxışına göndərilir. Bir vəziyyətdə, hər iki tranzistor N və N1 bağlıdır, lakin N2 açıqdır. Sıfır vəziyyətdə N açılır-

Xia və N2 bağlanır. Liman ixtisaslaşdığı alternativ funksiyanı yerinə yetirdiyi anda çıxış kilidi vəziyyəti təmizlənir. Mikrokontroller, port kilidinin vəziyyətini və xarici siqnal ilə təyin olunan çıxış vəziyyətini ayrıca oxuya bilər. Bu məqsədlə MK assemblerində müvafiq sətirləri aktivləşdirən xüsusi əmrlər var. Müvafiq port kilidinə pin vəziyyətini oxumaq üçün

əvvəlcədən qeydə alınmalıdır

Daxili tərəfdən

Nəzarət kilidi

Funksiya açarı

Vcc

Həftə sonu

vahid. “Read latch” xətti işə salındıqda, bu xəttin qoşulduğu “AND” xanasının çıxışı görünür.

onun təkərləri MK D Q

C Q kilidinə yazın

Oxuma kilidi

Port pin

Latch vəziyyəti işə salındıqda MC-nin daxili avtobusuna ötürülür

"oxumaq çıxışı" - portun xarici pininin vəziyyəti.

Liman P0 - universal iki istiqamətli port

I/O Bu limandan kənarda

xarici ünvan avtobuslarının təşkili funksiyası və

düyü. 3.3. Mikrokontroller portunun funksional diaqramı

proqram yaddaşını və məlumat yaddaşını genişləndirmək üçün məlumatlar

mikro nəzarətçi. Xarici proqram yaddaşına daxil olduqda və ya xarici məlumat yaddaşına daxil olmaq üçün əmr yerinə yetirildikdə, ünvanın aşağı səviyyəli hissəsi (A0...A7) ALE pinində yüksək qapalı olan port pinlərində təyin olunur. Sonra, yaddaşa məlumat yazarkən, MK-nın daxili avtobusundan qeydə alınan məlumat P0 portunun pinlərinə göndərilir. Oxuma əməliyyatlarında isə əksinə, port sancaqlarından məlumat daxili avtobusa göndərilir. P0 portunun bir xüsusiyyəti, çıxışa güc verən "çəkmə" tranzistorunun N2 olmamasıdır. Vahid port mandalına yazarkən, o, sadəcə olaraq məlumat avtobusunun normal işləməsi üçün zəruri olan yüksək empedans vəziyyətinə keçir. Çıxış vasitəsilə hər hansı bir xarici cihazı gücləndirmək lazımdırsa, güc dövrələrindən port çıxışına qədər xarici rezistorlar təmin edilməlidir.

Liman P1 – alternativ funksiyaları olmayan universal iki istiqamətli I/O portu.

Liman P2 – universal ikiistiqamətli I/O portu, alternativ funksiya kimi xarici yaddaşa daxil olan zaman ünvanın yüksək hissəsini (A8...A15) verir.

Liman P3 – hər biti müxtəlif alternativ funksiyaların həyata keçirilməsini təmin edən universal iki istiqamətli I/O portu. Bu halda, alternativ funksiyalar yalnız port sancaqlarının kilidlərinə yazıldıqda həyata keçirilir, əks halda alternativ funksiyaların icrası bloklanır. Onları hər bit üçün ayrıca sadalayaq:

P3.0 RxD (R oxumaq e X daxili D yedim, xarici məlumatları oxuyun) – quraşdırılmış serial ötürücünün girişi.

P3.1 TxD (T növü e X daxili D yedim, xarici məlumatları ötürmək) – quraşdırılmış serial ötürücünün çıxışı.

P3.2 INT0` (INT kəsilmək, kəsmək) – xarici kəsmə girişi 0.

P3.3 INT1` – xarici kəsmə girişi 1.

P3.4 С/T0 – sıfır quraşdırılmış taymer/sayğac girişi.

P3.5 C/T1 – ilk quraşdırılmış taymerin/sayğacın daxil edilməsi.

P3.6 WR` (W Rite, write) – məlumat yaddaşında yazma dövrünə nəzarət üçün çıxış.

P3.7 RD` (R ead, read) – məlumat yaddaşından oxunma dövrünün çıxışını idarə etmək.

P1, P2 və P3 portlarının sancaqları vahid üçün təxminən 0,2 mA cərəyan çıxarmağa və sıfırda 3 mA cərəyan qəbul etməyə qadirdir; P0 portunun sancaqları daha güclüdür və təxminən 0,8 mA cərəyan ötürməyə qadirdir. bir vahiddə və sıfırda 5 mA cərəyan alır. Mikrokontroller sancaqlarının təyinatı haqqında qısa məlumat cədvəl 3.6-da verilmişdir.

Cədvəl 3.6.

Təyinat

Çıxış məqsədi

8 bitlik iki istiqamətli port P1. Daxili ROM (RPM) yoxlanarkən A0-A7 girişini ünvanlayın

çıxışa girin

Ümumi sıfırlama siqnalı. Xarici mənbədən RAM ehtiyat gücü çıxışı (1816 üçün)

Əlavə funksiyaları olan 8 bitlik iki istiqamətli P3 portu

çıxışa girin

Qəbuledici Seriya Məlumatı - RxD

Transmitter seriya məlumatları - TxD

Xarici kəsmə girişi 0-INT0`

Xarici kəsmə girişi 1-INT1`

Taymer/sayğac girişi 0: - T0

Taymer/sayğac girişi 1: - T1

Xarici məlumat yaddaşına yazarkən Strobe siqnal çıxışı: - WR`

Xarici məlumat yaddaşından oxuyarkən strobe siqnalının çıxışı – RD`

Kvars rezonatorunu birləşdirən qurğular.

girişdən çıxın

Ümumi nəticə

8 bitlik iki istiqamətli port P2. Xarici yaddaş rejimində A8-A15 çıxışını ünvanlayın. Daxili ROM yoxlama rejimində P2.0 - P2.6 pinləri A8-A14 ünvanlarının girişi kimi istifadə olunur. Pin P2.7 - ROM oxumaq icazəsi.

çıxışa girin

Proqram yaddaş həlli

Ünvan fiksasiyası çıxış siqnalını aktivləşdirir. RPOM siqnalını proqramlaşdırarkən: PROG

çıxışa girin

Daxili yaddaşla işin bloklanması. RPOM-u proqramlaşdırarkən UPR siqnalı verilir

çıxışa girin

8 bitlik iki istiqamətli port P0. Xarici yaddaşla işləmək üçün ünvan/data avtobusu. Daxili ROM (RPM) test rejimində məlumat çıxışı D7-D0.

çıxışa girin

+5V gərginlik mənbəyindən güc çıxışı

MÜHAZİRƏ PLANI

1. Giriş

2. Arifmetik və məntiqi göstərişlər

3. Məlumatların ötürülməsi əmrləri

4. Boolean əməliyyatları

5. Tullanma təlimatları

1. Giriş

Komanda sistemi MCS-51 8 bitlik aktuator idarəetmə alqoritmlərini yerinə yetirmək üçün nəzərdə tutulmuş tək təlimat dəstini dəstəkləyir. Daxili operativ yaddaşa müraciət etmək və kiçik verilənlər strukturlarında bit əməliyyatlarını yerinə yetirmək üçün sürətli üsullardan istifadə etmək mümkündür. Bir bitli dəyişənlərin müstəqil məlumat tipi kimi ünvanlanması üçün geniş sistem mövcuddur ki, bu da Boolean cəbrinin məntiqi və idarəetmə əmrlərində fərdi bitlərdən istifadə etməyə imkan verir.

Ünvanlama rejimləri : əmr dəsti MCS-51 aşağıdakı ünvanlama rejimlərini dəstəkləyir. Birbaşa ünvanlama: Operand təlimatdakı 8 bitlik ünvanla müəyyən edilir. Birbaşa ünvanlama yalnız daxili məlumat yaddaşının və registrlərinin aşağı yarısı üçün istifadə olunur SFR. Dolayı ünvanlama: Təlimat operandın ünvanını ehtiva edən reyestrə ünvanlanır. Bu tipünvanlama xarici və daxili RAM üçün istifadə olunur. Registrlər 8 bitlik ünvanları təyin etmək üçün istifadə edilə bilər R0R1 seçilmiş registr bankı və ya yığın göstəricisi SP. 16-bit ünvanlama üçün yalnız məlumat göstərici registrindən istifadə olunur DPTR.

Qeydiyyat təlimatları : qeydiyyatdan keçir R0-R7 cari reyestr bankına təlimatın özündə registr nömrəsini göstərən 3 bitlik sahəni ehtiva edən xüsusi təlimatlar vasitəsilə müraciət etmək olar. Bu halda əmrdə müvafiq ünvan sahəsi yoxdur. Xüsusi registrlərdən istifadə etməklə əməliyyatlar: bəzi təlimatlar fərdi registrlərdən istifadə edir (məsələn, akkumulyator əməliyyatları, DPTR və s.). Bu zaman operandın ünvanı komandada ümumiyyətlə göstərilmir. Əməliyyat kodu ilə əvvəlcədən müəyyən edilir.

Dərhal sabitlər : sabit əməliyyat kodundan sonra birbaşa əmrdə yerləşə bilər.

İndeks ünvanlanması : İndeks ünvanlanması yalnız proqram yaddaşına daxil olmaq üçün və yalnız oxu rejimində istifadə edilə bilər. Bu rejimdə proqram yaddaşındakı cədvəllərə baxılır. 16 bitlik registr ( DPTR və ya proqram sayğacı) istədiyiniz cədvəlin əsas ünvanını, akkumulyator isə ona giriş nöqtəsini göstərir.

Komanda dəstibu sistemin 33 funksiyasını təyin etmək üçün 42 komanda mnemonikasına malikdir. Əksər montaj dili təlimatlarının sintaksisi ünvanlama metodlarını və məlumat növlərini göstərən operandlardan sonra mnemonik funksiyadan ibarətdir. Müxtəlif növlər verilənlər və ya ünvanlama rejimləri mnemonikadakı dəyişikliklərlə deyil, müəyyən edilmiş operandlarla müəyyən edilir.

Komanda sistemini beş qrupa bölmək olar: arifmetik göstərişlər; məntiqi əmrlər; məlumat ötürmə əmrləri; bit prosessorunun əmrləri; budaqlanma və idarəetmə ötürmə komandaları. Komanda sistemində istifadə olunan qeydlər və simvollar aşağıda verilmişdir.

Cədvəl. Komanda sistemində istifadə olunan qeydlər və simvollar

Təyinat, simvol

Məqsəd

Batareya

Hazırda seçilmiş reyestr bankının reyestrləri

Komandada göstərilən yüklənmiş reyestrin nömrəsi

birbaşa

Daxili məlumat RAM hüceyrəsi (0-127) və ya SFR xüsusi funksiya reyestri (128-255) ola bilən birbaşa ünvanlanan 8 bitlik daxili məlumat hüceyrəsi ünvanı

Dolayı yolla ünvanlanan 8 bitlik daxili məlumat RAM hüceyrəsi

8-bit birbaşaəməliyyat koduna (OPC) daxil olan məlumatlar

dataH

Dərhal 16 bitlik məlumatın ən əhəmiyyətli bitləri (15-8).

dataL

Dərhal 16-bit məlumatın ən az əhəmiyyətli bitləri (7-0).

11 bitlik təyinat ünvanı

addrL

Təyinat ünvanının ən az əhəmiyyətli bitləri

8-bit imzalanmış ofset baytı

Ünvanı daxili məlumat RAM-da və ya SFR xüsusi funksiya registrində yerləşən COP olan birbaşa ünvanlanan bit

a15, a14...a0

Təyinat ünvanı bitləri

X elementinin məzmunu

X elementində saxlanılan ünvandakı məzmun

X elementinin M biti


+

*

YA
XOR
/X

Əməliyyatlar:
əlavə
çıxma
vurma
bölmələr
məntiqi vurma (AND əməliyyatı)
məntiqi əlavə (OR əməliyyat)
əlavə modul 2 (eksklüziv OR)
X elementinin çevrilməsi

Funksiya mnemonikaları ünvanlama metodlarının və məlumat növlərinin xüsusi birləşmələri ilə unikal şəkildə əlaqələndirilir. Ümumilikdə komanda sistemində 111 belə kombinasiya mümkündür.

2. Arifmetik və məntiqi göstərişlər

Necə səh misal arifmetik təlimat, əlavə əməliyyatı aşağıdakı əmrlərdən biri ilə yerinə yetirilə bilər.

ƏLAVƏ EDİNA,7 F 16 – A reyestrinin məzmununa 7 rəqəmi əlavə edin F 16 və nəticəni A reyestrində saxlamaq;

ƏLAVƏ EDİNA,@ R0 – A reyestrinin məzmununa ünvanı olan nömrəni əlavə edin (@ – kommersiya saat ) reyestrdə saxlanılır R 0 (dolayı ünvanlama) və nəticəni A registrində saxlayın;

A, R7 əlavə edin– A reyestrinin məzmununu reyestrin məzmununa əlavə edin R 7 və nəticəni A reyestrində qeyd edin;

ƏLAVƏ A,#127– A reyestrinin məzmununa yaddaş xanasının ünvanı 127 olan nömrə əlavə edin ( # – rəqəm simvolu) və nəticəni reyestrdə saxlayın T- yenidən A.

Bütün arifmetik göstərişlər, göstəriş istisna olmaqla, bir maşın dövrəsində yerinə yetirilir INC DPTR(məlumat göstərici ofseti DPTR növbəti bayta), iki maşın dövrü, həmçinin 4 maşın dövründə yerinə yetirilən vurma və bölmə əməliyyatları tələb olunur. Daxili məlumat yaddaşındakı istənilən bayt batareyadan istifadə etmədən artırıla və azaldıla bilər.

Təlimatlar MUL AB məhsulu A (aşağı yarım) və B (yüksək yarım) registrlərinə yerləşdirərək akkumulyatordakı məlumatların B registrindəki verilənlərə vurulmasını (çoxalmasını) həyata keçirir.

Təlimatlar DIV AB akkumulyatorun tərkibini B registrindəki qiymətə bölür (bölür), qalığını B-də, hissəni isə akkumulyatorda qoyur.

Təlimatlar DA A ikilik onluq arifmetik əməliyyatlar üçün nəzərdə tutulmuşdur (ikilik onluq kodda təmsil olunan ədədlər üzərində hesab əməliyyatları). O, ikili ədədi çevirmir BCD, lakin yalnız iki ikilik onluq ədədi əlavə edərkən düzgün nəticə verir.

Misal məntiqi əmr: Məntiqi AND əməliyyatı aşağıdakı əmrlərdən biri ilə yerinə yetirilə bilər:

ANLA,7 F 16 – A registrinin məzmununun 7 rəqəminə məntiqi vurulması F 16 və nəticə A reyestrində saxlanılır;

ANLA,@ R1 – A registrinin məzmununun ünvanı registrdə saxlanılan nömrəyə məntiqi vurulması R 1 (dolayı ünvanlama) və nəticəni A registrində saxlayın;

ANL A, R6– A registrinin məzmununun reyestrin məzmununa məntiqi vurulması R 6 və nəticəni A reyestrində qeyd edin;

ANL A,#53 – A registrinin məzmununun yaddaş xanasının ünvanı 53 16 olan ədədə məntiqi vurulması və nəticə A registrində saxlanılır.

Akkumulyatorun məzmunu ilə bağlı bütün məntiqi əməliyyatlar bir maşın dövründə, qalanları ikidə aparılır. Məntiqi əməliyyatlar daxili məlumat yaddaşının 128 baytdan aşağı olan hər hansı birində və ya istənilən registrdə yerinə yetirilə bilər SFR (xüsusi funksiya registrləri) batareyadan istifadə etmədən birbaşa ünvanlama rejimində.

Fırlanan sürüşmə əməliyyatları RL A, RLC A və s. akkumulyatorun tərkibini bir bit sağa və ya sola köçürür. Sol tsiklik sürüşmə vəziyyətində, ən az əhəmiyyətli bit ən əhəmiyyətli mövqeyə köçürülür. Sağ tsiklik yerdəyişmə vəziyyətində bunun əksi baş verir.

Əməliyyat SWAP A batareyada aşağı və yüksək tetradları mübadilə edir.

3. Məlumatların ötürülməsi əmrləri

Komanda MOV dest,src daxili RAM hüceyrələri və ya xüsusi funksiya registr sahələri arasında məlumat ötürməyə imkan verir SFR batareyadan istifadə etmədən. Bu halda, daxili RAM-in yuxarı yarısı ilə iş yalnız dolayı ünvanlama rejimində həyata keçirilə bilər və registrlərə giriş SFR– yalnız birbaşa ünvanlama rejimində.

Bütün mikrosxemlərdə MCS-51 Yığın birbaşa rezident məlumat yaddaşına yerləşdirilir və yuxarıya doğru böyüyür. Təlimatlar İTƏNİNəvvəlcə yığın göstəricisi registrindəki dəyəri artırır SP, və sonra yığına bir bayt məlumat yazır. Komandalar İTƏNİNPOP yalnız birbaşa ünvanlama rejimində istifadə olunur (baytın yazılması və ya bərpası), lakin registr vasitəsilə dolayı yolla ünvanlanan zaman yığın həmişə əlçatan olur. SP. Beləliklə, stek ən yaxşı 128 bayt məlumat yaddaşından da istifadə edə bilər. Eyni mülahizələr registrləri ünvanlamaq üçün stek təlimatlarından istifadə imkanını istisna edir SFR.

Məlumat ötürmə təlimatlarına 16 bitlik ötürmə əməliyyatı daxildir MOV DPTR, #data16, məlumat göstərici registrini işə salmaq üçün istifadə olunur DPTR proqram yaddaşında cədvəllərə baxarkən və ya xarici məlumat yaddaşına daxil olmaq üçün.

Əməliyyat XCH A, bayt akkumulyator və ünvanlanmış bayt arasında məlumat mübadiləsi üçün istifadə olunur. Komanda XCHD A,@Riəvvəlkinə bənzəyir, lakin yalnız operandların mübadiləsində iştirak edən aşağı tetradlar üçün yerinə yetirilir.

Xarici məlumat yaddaşına daxil olmaq üçün yalnız dolayı ünvanlama istifadə olunur. Tək baytlı ünvanlarda registrlərdən istifadə olunur R0 və ya R1 cari registr bankı, 16 bitlik üçün isə məlumat göstərici registri DPTR. Xarici məlumat yaddaşına daxil olmaq üçün istənilən üsulla batareya məlumat mənbəyi və ya qəbuledicisi rolunu oynayır.

Proqram yaddaşında yerləşən cədvəllərə daxil olmaq üçün aşağıdakı əmrlərdən istifadə edin:

MOVC A,@A+ DPTR ;

MOVC A,@A+ PC .

Cədvəlin əsas ünvanı kimi verilənlər göstəricisi registrinin məzmunu istifadə olunur DPTR və ya PC(proqram sayğacı) və ofset götürülür A. Bu təlimatlar yalnız proqram yaddaşından məlumatları oxumaq üçün istifadə olunur, lakin ona yazmaq üçün deyil.

4. Boolean əməliyyatları

Mikrosxemlər MCS-51“Boolean” prosessorunu ehtiva edir. Daxili RAM 128 birbaşa ünvanlı bitə malikdir. Xüsusi funksiyaların qeydiyyat sahəsi SFR həmçinin 128 bit sahələri dəstəkləyə bilər. Bit təlimatları şərti filialları, köçürmələri, sıfırlamaları, inversiyaları, AND və OR əməliyyatlarını yerinə yetirir. Bütün göstərilən bitlər birbaşa ünvanlama rejimində mövcuddur.

Bit daşı CF xüsusi funksiya registrində “proqram statusu sözü” P.S.W." Boolean prosessoru üçün bir bitlik akkumulyator kimi istifadə olunur.

5. Tullanma təlimatları

Atlama əməliyyatlarının ünvanları montaj dilində etiketlə və ya proqram yaddaşında real qiymətlə göstərilir. Şərti filial ünvanları nisbi ofsetdə yığılır - proqram sayğacına əlavə edilmiş işarə baytı PC keçid şərti yerinə yetirildikdə. Bu cür keçidlərin sərhədləri təlimatdan sonrakı ilk bayta nisbətən mənfi 128 və 127 arasındadır. Xüsusi funksiya registrində "proqram statusu sözü" P.S.W." Sıfır bayraq yoxdur, buna görə təlimatlar JZJNZ akkumulyatordakı məlumatları sınaqdan keçirmək kimi "sıfıra bərabər" şərtini yoxlayın.

Şərtsiz atlama əmrinin üç növü var: SJMP, LJMPAJMP– formatına görə fərqlənən təyinat ünvanları. Təlimatlar SJMPünvanı nisbi ofset kimi kodlayır və iki bayt alır. Atlama məsafəsi aşağıdakı təlimata nisbətən mənfi 128 ilə 127 bayt aralığında məhduddur. SJMP.

Təlimatlarda LJMP Təyinat ünvanı 16 bitlik sabit kimi istifadə olunur. Komanda uzunluğu üç baytdır. Təyinat ünvanı proqram yaddaşının istənilən yerində yerləşə bilər.

Komanda AJMP 11 bitlik ünvan sabitindən istifadə edir. Komanda iki baytdan ibarətdir. Bu göstəriş yerinə yetirildikdə ünvan sayğacının aşağı 11 biti təlimatdan 11 bitlik ünvanla əvəz olunur. Proqram sayğacının beş ən əhəmiyyətli biti PC dəyişməz qalır. Beləliklə, keçid təlimatdan sonrakı təlimatın yerləşdiyi 2K baytlıq blok daxilində edilə bilər. AJMP.

Alt proqrama iki növ əmr çağırışı var: LCALLZƏNG. Təlimatlar LCALLçağırılan alt proqramın 16 bitlik ünvanından istifadə edir. Bu halda alt proqram proqram yaddaşının istənilən yerində yerləşdirilə bilər. Təlimatlar ZƏNG 11 bitlik alt proqram ünvanından istifadə edir. Bu halda, çağırılan rutin aşağıdakı təlimatla tək 2K bayt blokda yerləşməlidir ZƏNG. Təlimatın hər iki versiyası növbəti təlimatın ünvanını yığına itələyir və onu proqram sayğacına yükləyir. PC müvafiq yeni dəyər.

Alt proqram təlimatla bitir RET, bu əmrdən sonra təlimata qayıtmağa imkan verir ZƏNG. Bu təlimat geri qaytarma ünvanını yığından çıxarır və onu proqram sayğacına yükləyir. PC . Təlimatlar RETI fasilə rejimindən qayıtmaq üçün istifadə olunur. Yeganə fərq RETI-dan RET Odur RETI sistemə fasilə emalının tamamlandığını bildirir. Əgər icra zamanı RETI başqa fasilələr yoxdur, o zaman eynidir RET.

Təlimatlar DJNZ dövrələrinə nəzarət etmək üçün nəzərdə tutulmuşdur. Döngəni yerinə yetirmək üçün N bir dəfə sayğaca dəyəri olan bir baytı yükləməlisiniz N əmri ilə döngə gövdəsini bağlayın DJNZ, dövrün başlanğıcını göstərir.

Komanda CJNE onun iki operandını işarəsiz tam ədədlər kimi müqayisə edir və müqayisə edilən operandlar bərabər deyilsə, orada göstərilən ünvana sıçrayır. Birinci operand ikincidən kiçikdirsə, daşıma biti CF "1" olaraq təyin edilir.

Yığılmış formada olan bütün təlimatlar 1, 2 və ya 3 bayt tutur.

MİKRONƏZARƏTÇİ AİLƏSİNİN MEMARLIĞIMCS-51

Kurslar üçün mühazirə qeydləri

“İdarəetmə sistemlərində mikroprosessorlar”, “Mikroprosessor texnologiyası”

"Mikroprosessor alətləri və sistemləri"

bütün ixtisaslar üzrə təhsil alan tələbələr üçün

072000 – Standartlaşdırma və sertifikatlaşdırma

210200 – Texnoloji proseslərin avtomatlaşdırılması

230104 – Kompüter dəstəkli dizayn sistemləri

Tambov 2005

GİRİŞ.. 3

1. INTEL 8051 MİKRONƏZƏRLƏRİNİN STRUKTURU.

1.1. Yaddaşın təşkili. 5

1.2. Arifmetik-məntiqi cihaz. 6

1.3. Proqramlar və məlumatlar üçün rezident yaddaş. 7

1.4. Akkumulyator və ümumi təyinatlı registrlər. 8

1.5. Proqram statusu söz reyestri və onun bayraqları. 9

1.6. Göstərici qeydləri. 10

1.7. Xüsusi funksiya registrləri. on bir

1.8. Nəzarət və sinxronizasiya cihazı. on bir

1.9. Paralel məlumat giriş/çıxış portları. 12

1.10. Taymerlər / sayğaclar. 13

1.11. Serial port. 18

1.11.1. SBUF-da qeydiyyatdan keçin.. 18

1.11.2. Serial port iş rejimləri. 18

1.11.3. SCON qeydiyyatdan keçin.. 19

1.11.4. Qəbul/ötürmə sürəti. 21

1.12. Kəsmə sistemi. 22

2. INTEL 8051 MİKRONƏZƏRLƏRİNİN ƏMƏR SİSTEMİ 26

2.1. Ümumi məlumat. 26

2.1.1. Əmr növləri. 27

2.1.2. Operand növləri. 28

2.1.3. Məlumatların ünvanlanması üsulları. otuz

2.1.4. Nəticə bayraqları. 31

2.1.5. Simvolik ünvanlama. 32

2.2. Məlumat ötürmə əmrləri. 33

2.2.1. İnformasiya keçidlərinin strukturu. 33

2.2.2. Batareyaya giriş. 33

2.2.3. Xarici məlumat yaddaşına daxil olmaq. 34

2.2.4. Proqram yaddaşına daxil olur... 34


2.2.5. Yığına giriş. 35

2.3. Arifmetik əməliyyatlar. 35

2.4. Məntiqi əməliyyatlar. 39

2.5. Transfer əmrlərini idarə edin. 43

2.5.1. Uzun keçid. 43

2.5.2. Mütləq keçid. 43

2.5.3. Nisbi keçid. 44

2.5.4. Dolayı köçürmə. 44

2.5.5. Şərti atlamalar.. 44

2.5.6. Alt proqramlar.. 47

2.6. Bitlərlə əməliyyatlar. 48

Test sualları... 49

ƏDƏBİYYAT.. 50

Əlavə INTEL 8051 ƏMƏR SİSTEMİ 51

GİRİŞ

20-ci əsrin 80-ci illərindən mikroprosessor texnologiyasında müstəqil bir sinif meydana çıxdı inteqral sxemlər– müxtəlif məqsədlər üçün cihazlara inteqrasiya üçün nəzərdə tutulmuş tək çipli mikrokontrollerlər. Onlar bir çipli mikroprosessorlar sinfindən daxili yaddaşın olması və xarici qurğularla işlənib hazırlanmış qarşılıqlı əlaqə vasitələri ilə seçilir.

MCS-51 ailəsinin 8 bitlik tək çipli mikrokontrollerləri geniş istifadə olunur. Bu ailə yaxşı dizayn edilmiş arxitekturasına görə mikroprosessor idarəetmə sistemlərinin tərtibatçıları arasında böyük populyarlıq qazanmış Intel 8051 mikrokontrolleri əsasında yaradılmışdır. Mikrokontroller arxitekturası proqram təminatı ilə əlçatan olan daxili və xarici aparat resursları və komanda sistemləri toplusudur.

Daha sonra Intel, Intel 8051 mikrokontrollerinin əməliyyat nüvəsi əsasında 50-yə yaxın modeli buraxdı.Eyni zamanda, Atmel, Philips kimi bir çox başqa şirkətlər MCS-51 standartında hazırlanmış öz mikro nəzarət cihazlarını istehsal etməyə başladılar. da var yerli analoq Intel 8051 mikro nəzarət cihazı - K1816BE51 çipi.

2. INTEL 8051 MİKRONƏZARƏTÇİSİNİN STRUKTURU

Intel 8051 mikro nəzarət cihazı yüksək səviyyəli n-MOS texnologiyasına əsaslanır. Onun əsas xüsusiyyətləri aşağıdakılardır:

· idarəetmə funksiyalarının həyata keçirilməsi üçün optimallaşdırılmış səkkiz bitli mərkəzi prosessor;

· quraşdırılmış saat generatoru (maksimum tezlik 12 MHz);

· proqram yaddaşının ünvan sahəsi - 64 KB;

· məlumat yaddaşının ünvan sahəsi - 64 KB;

· daxili proqram yaddaşı - 4 KB;

· daxili məlumat yaddaşı - 128 bayt;

· Boole cəbri əməliyyatlarını yerinə yetirmək üçün əlavə imkanlar (bit üzrə əməliyyatlar);

· 2 ədəd on altı bitlik çoxfunksiyalı taymerlər/sayıcılar;

· tam dupleks asinxron ötürücü (seriyalı port);

· iki prioritet səviyyəsi və beş hadisə mənbəyi olan vektorlu kəsmə sistemi.

Şəkil 1 - Intel 8051 mikro nəzarət cihazının blok diaqramı

Blok-diaqramın əsasını (şəkil 1) mikrokontrolörün əsas qovşaqlarını və qurğularını birləşdirən daxili ikiistiqamətli 8 bitlik şin təşkil edir: rezident proqram yaddaşı (RPM), rezident məlumat yaddaşı (RDM), arifmetik-məntiqi. vahid (ALU), registr bölməsinin xüsusi funksiyaları, idarəetmə bloku (CU), paralel giriş/çıxış portları (P0-P3), həmçinin proqramlaşdırıla bilən taymerlər və serial port.

2.1. Yaddaşın təşkili

Bu mikrokontroller proqramların və verilənlərin daxili (rezident) və xarici yaddaşına malikdir. Rezident proqram yaddaşı (RPM) 4 KB, rezident məlumat yaddaşı (RDM) isə 128 Bayt tutuma malikdir.


Mikrokontrolörün modifikasiyasından asılı olaraq RPM maskalı ROM, birdəfəlik proqramlaşdırıla bilən və ya yenidən proqramlaşdırıla bilən ROM şəklində həyata keçirilir.

Lazım gələrsə, istifadəçi xarici ROM quraşdıraraq proqram yaddaşını genişləndirə bilər. Daxili və ya xarici ROM-a giriş EA pinindəki siqnalın dəyəri ilə müəyyən edilir (Xarici Giriş):

EA=VCC (təchizat gərginliyi) - daxili ROM-a giriş;

EA=VSS (yer potensialı) - xarici ROM-a giriş.

Xarici proqram və məlumat yaddaşı hər biri 64 KB ola bilər və P0 və P2 portlarından istifadə etməklə ünvanlanır. Şəkil 2-də Intel 8051 yaddaş kartı göstərilir.

Şəkil 2 - Intel 8051 yaddaş təşkilatı

Xarici ROM oxumaq strobe - (Proqram Mağazasını Aktivləşdir) xarici proqram yaddaşına daxil olduqda yaradılır və çipdə yerləşən ROM-a daxil olduqda qeyri-aktivdir.

Aşağı proqram yaddaş ünvanlarının sahəsi (Şəkil 3) kəsmə sistemi tərəfindən istifadə olunur. INTEL 8051 çip arxitekturası beş kəsmə mənbəyinə dəstək verir. Kəsməyə nəzarətin ötürüldüyü ünvanlara kəsmə vektorları deyilir.

Şəkil 3 - Aşağı proqram yaddaş sahəsinin xəritəsi

2.2. Arifmetik məntiq vahidi

8 bitlik arifmetik məntiq vahidi (ALU) toplama, çıxma, vurma və bölmə hesab əməliyyatlarını yerinə yetirə bilər; məntiqi əməliyyatlar AND, OR, exclusive OR, eləcə də siklik sürüşmə, sıfırlama, inversiya əməliyyatları və s. Operandların müvəqqəti saxlanması üçün nəzərdə tutulmuş proqram təminatı ilə əlçatmaz registrlər T1 və T2, onluq korreksiya sxemi (DCU) və xüsusiyyət yaratmaq sxemi giriş əməliyyat nəticəsi (PSW) ilə bağlıdır.

Sadə əlavə əməliyyatı ALU-da registrlərin məzmununu artırmaq, məlumat göstərici registrini (RAR) irəliləmək və növbəti proqramın daimi yaddaş ünvanını avtomatik hesablamaq üçün istifadə olunur. Ən sadə çıxma əməliyyatı ALU-da registrləri azaltmaq və dəyişənləri müqayisə etmək üçün istifadə olunur.

Ən sadə əməliyyatlar, məsələn, 16 bitlik registr cütlərinin artırılması kimi əməliyyatları yerinə yetirmək üçün avtomatik olaraq “tandemlər” təşkil edir. ALU mürəkkəb əmrləri yerinə yetirmək üçün sadə əməliyyatların kaskadlı icrası mexanizmini həyata keçirir. Beləliklə, məsələn, şərti idarəetmə ötürmə əmrlərindən birini yerinə yetirərkən, ALU-da müqayisə nəticəsi əsasında proqram sayğacı (PC) üç dəfə artırılır, RDM iki dəfə oxunur, iki dəyişənin arifmetik müqayisəsi aparılır, 16 bitlik keçid ünvanı formalaşır və proqrama uyğun olaraq keçidin olub-olmaması barədə qərar qəbul edilir. Yuxarıda göstərilən bütün əməliyyatlar cəmi 2 μs ərzində həyata keçirilir.

ALU-nun mühüm xüsusiyyəti onun təkcə baytları deyil, həm də bitləri idarə etmək qabiliyyətidir. Proqram təminatı üçün əlçatan olan fərdi bitlər təyin edilə, təmizlənə, tərsinə çevrilə, ötürülə, sınaqdan keçirilə və məntiqi əməliyyatlarda istifadə edilə bilər. Bu qabiliyyət olduqca vacibdir, çünki obyektləri idarə etmək üçün tez-tez giriş və çıxış Boolean dəyişənləri üzərində əməliyyatları ehtiva edən alqoritmlərdən istifadə olunur, onların həyata keçirilməsi adi mikroprosessorlardan istifadə etməklə müəyyən çətinliklərlə əlaqələndirilir.

Beləliklə, ALU dörd növ informasiya obyekti ilə işləyə bilər: Boolean (1 bit), rəqəmsal (4 bit), bayt (8 bit) və ünvan (16 bit). ALU bu məlumatları yönləndirmək və ya çevirmək üçün 51 müxtəlif əməliyyatı yerinə yetirir. 11 ünvanlama rejimi (məlumatlar üçün 7 və ünvanlar üçün 4) olduğundan, əməliyyat və ünvanlama rejimini birləşdirərək, 111 təlimatın əsas sayı bir baytlıq əməliyyat kodu ilə mümkün olan 256-dan 255-ə qədər genişləndirilir.

2.3. Rezident proqram və məlumat yaddaşı

Yaşayış (çip üzərində) proqram yaddaşı (RPM) və məlumat yaddaşı (RDM) fiziki və məntiqi olaraq ayrılır, müxtəlif ünvanlama mexanizmlərinə malikdir, müxtəlif siqnalların nəzarəti altında işləyir və müxtəlif funksiyaları yerinə yetirir.

RPM proqram yaddaşı 4 KB tutumuna malikdir və əmrləri, sabitləri, inisializasiyaya nəzarət sözlərini, giriş və çıxış dəyişənləri üçün çevirmə cədvəllərini və s. saxlamaq üçün nəzərdə tutulmuşdur. Yaddaşda 16 bitlik ünvan avtobusu var, onun vasitəsilə giriş şəbəkədən təmin edilir. PC proqram sayğacı və ya registrdən məlumat göstəricisi (DPTR). DPTR proqramın dolayı keçidləri üçün əsas registr kimi fəaliyyət göstərir və ya cədvəl əməliyyatlarında istifadə olunur.

RDM məlumat yaddaşı proqramın icrası zamanı dəyişənləri saxlamaq üçün nəzərdə tutulmuşdur, bir bayt ilə ünvanlanır və tutumludur.
128 bayt. Bundan əlavə, onun ünvan sahəsi Cədvəldə verilmiş xüsusi funksiya registrlərinin ünvanlarına bitişikdir. 1.

Proqram yaddaşı, məlumat yaddaşı kimi, genişləndirilə bilər
Xarici çipləri birləşdirərək 64 KB.

Cədvəl 1

Xüsusi funksiya registr bloku

ad

Batareya

Akkumulyator genişləndirici reyestr

Proqram status sözü

Stack göstərici reyestri

Məlumat göstərici reyestri

Prioritet Qeydiyyatını kəsin

Interrupt Mask Qeydiyyatı

Taymer/Counter Rejimi Qeydiyyatdan keçin

Taymerə Nəzarət/Status Qeydiyyatı

Taymer 0 (yüksək bayt)

Taymer 0 (aşağı bayt)

Taymer 1 (yüksək bayt)

Taymer 1 (aşağı bayt)

Transceiver Nəzarət Qeydiyyatı

Transceiver Bufer

Güc nəzarət reyestri

Qeyd. Adları (*) ilə işarələnmiş registrlər ayrı-ayrı bitlərin ünvanlanmasına imkan verir.

2.4. Akkumulyator və ümumi registrlər

Akkumulyator (A) arifmetik, məntiqi əməliyyatlar və bir sıra məlumatların ötürülməsi əməliyyatlarını yerinə yetirərkən operandın mənbəyi və nəticənin yeridir. Bundan əlavə, növbə əməliyyatları, sıfırın yoxlanılması, paritet bayrağının yaradılması və s., yalnız akkumulyatordan istifadə etməklə həyata keçirilə bilər.

İstifadəçinin sərəncamında 8 ümumi təyinatlı R0–R7 registrindən ibarət dörd bank var (şək. 9). Bununla belə, PSW registr bitindən istifadə etməklə seçilən dörd bankdan yalnız birinin registrlərindən istifadə etmək mümkündür.

2.5. Proqram status söz registrləri və onun bayraqları

ALU-da çoxlu göstərişlər yerinə yetirildikdə, proqram status sözü (PSW) registrində qeyd olunan bir sıra əməliyyat atributları (bayraqlar) yaranır. Cədvəldə 2 PSW bayraqlarının siyahısını təqdim edir, onların simvolik adlarını verir və onların formalaşması şərtlərini təsvir edir.

cədvəl 2

PSW Proqram Status Word Format

Adı və məqsədi

Bayraq daşımaq. Arifmetik və məntiqi əməliyyatları yerinə yetirərkən aparat və ya proqram təminatı ilə təyin edin və sıfırlayın

Köməkçi daşıma bayrağı. Əlavə və çıxma təlimatları yerinə yetirildikdə və bit 3-də daşınma və ya borclanma siqnalları verildikdə yalnız aparat tərəfindən təyin edilir və təmizlənir

Bayraq 0. Proqram tərəfindən istifadəçi tərəfindən müəyyən edilmiş bayraq kimi təyin edilə, silinə və ya yoxlana bilər.

Qeydiyyat bankının seçilməsi. İşləyən registrlər bankını seçmək üçün proqram təminatı ilə təyin edin və sıfırlayın (Cədvəl 3)

Daşma bayrağı. Arifmetik əməliyyatları yerinə yetirərkən aparat tərəfindən təyin edin və sıfırlayın

İstifadə olunmur

Paritet bayrağı. Hər bir dövrədə aparat tərəfindən təyin edin və sıfırlayın və akkumulyatorda bir bitin tək/cüt sayını düzəldin, yəni paritet həyata keçirir.

Cədvəl 3

İşləyən reyestr bankının seçilməsi

Ünvan Sərhədləri

Ən “aktiv” PSW bayrağı əlavə, çıxma və yerdəyişmə daxil olmaqla bir çox əməliyyatlar zamanı cəlb edilən və dəyişdirilən daşıma bayrağıdır. Bundan əlavə, daşıma bayrağı (CY) bit manipulyasiya təlimatlarında "Boolean akkumulyator" kimi fəaliyyət göstərir. Daşma bayrağı (OV) işarələnmiş tam əməliyyatlarda arifmetik daşmanı aşkar edir və ikinin tamamlayıcı kodlarında hesabdan istifadə etməyə imkan verir. ALU registr bankının seçim bayraqlarına (RS0, RS1) nəzarət etmir, onların dəyəri tamamilə tətbiq proqramı tərəfindən müəyyən edilir və dörd registr bankından birini seçmək üçün istifadə olunur.

Bayt olaraq PSW registrini aşağıdakı kimi təqdim etmək olar:

Arxitekturası akkumulyatora əsaslanan mikroprosessorlarda əksər təlimatlar gizli ünvanlamadan istifadə edərək akkumulyatorda işləyir. Intel 8051 fərqlidir. Prosessor batareyaya əsaslansa da, onun iştirakı olmadan bir çox əmrləri yerinə yetirə bilir. Məsələn, verilənlər istənilən RDM xanasından istənilən registrə ötürülə bilər, istənilən registr dərhal operandla yüklənə bilər və s. Bir çox məntiqi əməliyyatları akkumulyator cəlb etmədən yerinə yetirmək olar. Bundan əlavə, dəyişənlər akkumulyatordan istifadə etmədən artırıla, azaldıla və yoxlana bilər. Bayraqlar və nəzarət bitləri eyni şəkildə yoxlana və dəyişdirilə bilər.

2.6. Göstərici qeydləri

8 bitlik yığın göstəricisi (SP) istənilən RDM sahəsinə müraciət edə bilər. PUSH və CALL təlimatları zamanı məlumat yığında saxlanmazdan əvvəl onun məzmunu artırılır. POP və RET əmrləri yerinə yetirildikdən sonra SP-nin məzmunu azalır. Yığın elementlərinin ünvanlanmasının bu üsuluna əvvəlcədən artım/sonrası azalma deyilir. Mikrokontrolörün işə salınması zamanı RST siqnalından sonra 07H kodu avtomatik olaraq SP-yə yüklənir. Bu o deməkdir ki, tətbiq proqramı yığını ləğv etməsə, yığındakı ilk məlumat elementi RDM 08H yerində yerləşəcəkdir.

İki baytlıq məlumat göstəricisi registri DPTR adətən xarici yaddaşa giriş əməliyyatlarında 16 bitlik ünvanı tutmaq üçün istifadə olunur. Mikrokontroller əmrləri ilə məlumat göstərici registrindən ya 16 bitlik registr kimi, ya da iki müstəqil 8 bitlik registr (DPH və DPL) kimi istifadə edilə bilər.

2.7. Xüsusi funksiya registrləri

Simvolik olaraq IP, IE, TMOD, TCON, SCON və PCON adlanan registrlər kəsmə dövrəsinin, taymerin/sayğacın, seriya ötürücüsünün və gücün idarə edilməsinin idarəetmə və status bitlərini bağlamaq və proqramlı şəkildə dəyişdirmək üçün istifadə olunur. Onların təşkili müxtəlif rejimlərdə mikrokontrolörün xüsusiyyətlərini nəzərdən keçirərkən 1.8-1.12-ci bölmələrdə ətraflı təsvir ediləcəkdir.

2.8. Nəzarət və sinxronizasiya cihazı

Mikrokontrolörün xarici sancaqlarına qoşulmuş kvars rezonatoru daxili osilatorun işinə nəzarət edir, bu da öz növbəsində sinxronizasiya siqnallarını yaradır. Sinxronizasiya siqnallarına əsaslanan idarəetmə bloku (CU), 12 generator dövrünə bərabər sabit müddətə malik maşın dövrü yaradır. Mikrokontroller təlimatlarının əksəriyyəti bir maşın dövründə yerinə yetirilir. 2 baytlıq sözlərlə işləyən və ya xarici yaddaşa daxil olan bəzi təlimatların tamamlanması üçün iki maşın dövrü tələb olunur. Yalnız bölmə və vurma təlimatları dörd maşın dövrü tələb edir. İdarəetmə qurğusunun bu əməliyyat xüsusiyyətlərinə əsasən tətbiqi proqramların icra müddəti hesablanır.

Mikrokontroller sxemində idarəetmə qurğusuna bitişik bir təlimat registri (IR) yerləşir. Onun funksiyası icra olunan əmrin kodunu saxlamaqdır.

İdarəetmə və sinxronizasiya cihazının giriş və çıxış siqnalları:

1. PSEN – proqram yaddaşının həlli,

2. ALE – ünvan fiksasiyasını aktivləşdirən çıxış siqnalı,

3. PROG – proqramlaşdırma siqnalı,

4. EA – daxili yaddaşla işin bloklanması,

5. VPP – proqramlaşdırma gərginliyi,

6. RST – ümumi sıfırlama siqnalı,

7. VPD – yaddaş ehtiyatının güc çıxışı xarici mənbə,

8. XTAL – qoşulma girişləri kvars rezonatoru.

2.9. Paralel giriş/çıxış portları

Bütün dörd port (P0-P3) bayt-bayt məlumat daxil etmək və ya çıxarmaq üçün nəzərdə tutulmuşdur. Hər bir portda idarə olunan mandalı registr, giriş buferi və çıxış sürücüsü var.

Xarici yaddaşa daxil olan zaman P0 və P2 portlarının çıxış drayverlərindən, həmçinin P0 portunun giriş buferindən istifadə olunur. Bu zaman P0 portu vasitəsilə vaxtın multipleksləşdirilməsi rejimində əvvəlcə ünvanın aşağı baytı çıxarılır, sonra isə məlumat baytı verilir və ya qəbul edilir. P2 portu ünvan eninin 16 bit olduğu hallarda ünvanın ən əhəmiyyətli baytını çıxarır.

Cədvəldə sadalanan alternativ funksiyaları həyata keçirmək üçün P3 portunun bütün pinlərindən istifadə edilə bilər. 4. Bu funksiyalar P3 portunun latch registrinin (P3.0-P3.7) müvafiq bitlərinə 1 yazmaqla aktivləşdirilə bilər.

Cədvəl 4

Alternativ P3 Port Funksiyaları

Adı və məqsədi

Oxumaq. Xarici məlumat yaddaşına daxil olan zaman aktiv aşağı səviyyəli siqnal aparat tərəfindən yaradılır

Qeyd. Xarici məlumat yaddaşına daxil olan zaman aktiv aşağı səviyyəli siqnal aparat tərəfindən yaradılır

Taymer/sayğac girişi 1 və ya test girişi

Taymer/sayğac girişi 0 və ya test girişi

Kesinti sorğusu girişi 1. Aşağı səviyyə və ya kəsmə siqnalını hiss edir

Kesinti sorğusu girişi 0. Aşağı səviyyə və ya kəsmə siqnalını hiss edir

UART rejimində serial port ötürücü çıxışı. Sürətli qeyd rejimində saat çıxışı

UART rejimində serial port qəbuledici girişi. Növbəli registr rejimində verilənlərin daxil edilməsi/çıxışı

Port 0 ikiistiqamətlidir və 1-3 portları kvazi yönlüdür. Hər bir port xətti giriş və ya çıxış üçün müstəqil olaraq istifadə edilə bilər.

RST siqnalına əsasən, vahidlər avtomatik olaraq bütün portların bağlama registrlərinə yazılır və bununla da onları giriş rejiminə uyğunlaşdırır.

Bütün portlar ikiistiqamətli ötürmə xətləri vasitəsilə məlumat daxil/çıxışını təşkil etmək üçün istifadə edilə bilər. Bununla belə, sistemin zamanla çoxalma rejimində işləyən ümumi paylaşılan ünvan/məlumat avtobusu vasitəsilə əlaqəsi təşkil olunan xarici yaddaşı varsa, P0 və P2 portlarından bu məqsədlə istifadə edilə bilməz.

Giriş/Çıxış portlarına giriş bayt, fərdi bit və ya bitlərin ixtiyari kombinasiyası üzərində işləyən əmrlərdən istifadə etməklə mümkündür. Üstəlik, portun həm operand, həm də nəticənin təyinatı olduğu hallarda idarəetmə cihazı avtomatik olaraq “oxumaq-dəyişiklik etmək-yazmaq” adlı xüsusi rejimi həyata keçirir. Bu giriş rejimi siqnalların portun xarici sancaqlarından deyil, onun mandalı registrindən daxil edilməsini nəzərdə tutur ki, bu da əvvəllər çıxarılan məlumatların yanlış oxunmasını aradan qaldırır. Portlara daxil olmaq üçün bu mexanizm əmrlərdə həyata keçirilir:




Üst