MCS-51 mikrokontrollerlari: dastur modeli, tuzilishi, buyruqlari. mcs51 oilasining mikrokontrollerlari A. Komponentlarning qo'shimcha xarakteristikalari va xarakteristikalari

Hozirgi vaqtda turli kompaniyalar Intel va boshqa ishlab chiqaruvchilarning ushbu oilaning analoglarini o'zgartirmasdan chiqarmoqdalar, soat tezligi va xotirasi o'n baravar oshdi va o'sishda davom etmoqda. O'rnatilgan BIS modullari soni ham kengaytirildi; ko'p sonli joriy modellar 12 tagacha bo'lishi mumkin bo'lgan doimiy yuqori tezlikdagi ADCga ega va shu bilan birga ko'proq zaryadsizlanishlar bo'lishi mumkin. U Intel kompaniyasining BIS 8051, 80S51, 8751, 87S51, 8031, 80S31 MCS51 oilasiga asoslangan bo'lib, ularning birinchi versiyalari 1980-yillarda chiqarilgan.

Know -Mop N -MOP texnologiyasi uchun MCS51 Viconani mikrokontrolorlari (SERI 8XXXX, analogi - Rosya BILOUROSIAda SERI 1816) TA K -MOP texnologiyasi (SERI 8XXXXX, analog - SERI 1830). Yana bir belgi, undan keyin 8, degan ma'noni anglatadi: 0 - kristalda ROM yo'q, 7 - ultrabinafsha o'chirgichli 4K ROM. Uchinchi belgi: 3 - ROM kristalda, 5 - agar ROM bo'lmasa, kristalda ROM niqobi mavjud.

I so 80S51 - chipdagi niqobli ROMli k-MOS texnologiyasi uchun BIS, 8031 ​​- chipda dastur xotirasi (ROM, RPOM)siz BIS n-MOS, 8751 - rezidentli BIS n-MOS (chipga joylashtirilgan) ) Ultrabinafsha nurlarini o'chirish imkoniyati bilan RPOM. Uzoqdan biz BIS 8751 ni ko'rishimiz mumkin, birinchi seriyali BIS uchun e'lon qilingan parametrlarni o'rnatish, boshqa sxemalarning xususiyatlariga ehtiyotkorlik bilan munosabatda bo'lishni talab qiladigan muammolar mavjud. Agar kerak bo'lsa, barcha joriy o'zgartirishlar haqida qo'shimcha ma'lumotni kompaniyaning maslahatchilari va texnik hujjatlarida topish mumkin.

A. Zagalniy belgilarning xususiyatlari va ahamiyati

MCS51 oilasining asosini mikrokontrollerning beshta modifikatsiyasi (asosiy xarakteristikalar bilan bir xil) tashkil etadi, ularning asosiy farqi xotira dasturini amalga oshirish va ishlash intensivligidadir (3.1-jadval bo'limi). Sakkiz bitli mikrokontroller, ya'ni. U sakkiz bitli so'zlarni qayta ishlash uchun buyruqlardan foydalanadi, Garvard arxitekturasidan foydalanadi, oilaning asosiy qurilmalarining takt chastotasi 12 MGts.

3.1-jadval.

Mikrosxemalar

Dasturning ichki xotirasi, bayt

Dastur xotirasi turi

Ichki ma'lumotlar xotirasi, bayt

Soat chastotasi, MGts

Strum iste'moli, mA

MK 8051 va 80C51 kristallni tayyorlash vaqtida 4096 bayt sig'imga ega maskali dasturlashtiriladigan ROM dastur xotirasini o'z ichiga oladi va ommaviy ishlab chiqarilgan mahsulotlardan chiqariladi. MK 8751 ultrabinafsha nurlarini o'chirishga ega 4096 baytlik RPOMni o'z ichiga oladi va tizimni ilg'or dasturlar bilan ishlab chiqish bosqichida, shuningdek kichik partiyalarda ishlab chiqarishda yoki jarayon davomida muhim bo'lgan tizimlarni yaratishda qo'lda ishlatiladi.

davriy sozlash.

MK 8031 ​​va 80C31 saqlangan dastur xotirasiga xalaqit bermaydi. Ular, modifikatsiyadan oldin ta'riflanganidek, 64 KB gacha bo'lgan tashqi dastur xotirasidan foydalanishi va chipda 4 KB dan ko'proq talab qilinadigan tizimlarda samarali foydalanishi mumkin PZP dastur xotirasi.

Kozhen MK oilasi 128 bayt sig'imga ega doimiy ma'lumotlar xotirasiga ega, chunki har bir tashqi IC RAM almashish uchun ichki ma'lumotlar RAMni 64 KBgacha kengaytirish imkoniyati mavjud.

    markaziy sakkiz bitli protsessor;

    dastur xotirasi 4 KB (faqat 8751 va 87C51);

    ma'lumotlar xotirasi 128 bayt;

    Sakkiz bitli dasturlashtirilgan kiritish-chiqarish portlari mavjud;

    ikkita 16-bitli ko'p rejimli taymerlar/dispenserlar;

    besh vektorli va ikkita dasturiy darajadagi ustuvorliklarga ega avtovektorlar tizimi;

    to'rt rejimda ishlaydigan universal dupleks qabul qiluvchini o'z ichiga olgan yakuniy interfeys;

    soat generatori.

MK buyruqlar tizimi 1, 2 yoki 3 bayt formatidagi 111 ta asosiy buyruqni o'z ichiga oladi. Mikrokontroller quyidagilarni amalga oshirishi mumkin:

    R0... R7 nomli barcha registrlar bo'ylab banklar kabi tashkil etilgan RONni huquqiy tan olishning 32 ta reestri, qaysi bankni tanlash mi PSW dasturi reestrida telefon raqamlarini o'rnatish dasturi tomonidan ko'rsatilgan;

    128 dasturiy-keramika ensigns (bit protsessor, div. masofa);

    MK elementlarini o'z ichiga olgan maxsus funktsiyalar registrlari to'plami. Mikrokontrollerning quyidagi ish rejimlari mavjud:

1). Zagalne skidannya. 2).Oddiy ishlash. 3).Kamaytirilgan energiya iste'moli rejimi va bo'sh rejim. 4). Rezident RPZP ning dasturlash rejimi quyidagicha.

Bu erda biz birinchi ikkita robot rejimiga asosiy e'tiborimizni qaratamiz, barcha rejimlar uchun MK robot omborini tavsiflovchi hisobot P1 ilovasiga qo'shilgan.

Bit protsessorining RON zonasi manzillari 0 dan 80 soatgacha bo'lgan turar-joy OZP manzil maydonida joylashgan.

Yuqori zonada doimiy operativ xotira manzili va kengaytirilgan maxsus funksiya registrlari (SFR, maxsus funksiya registrlari) mavjud. Ushbu ma'nolar jadvalda ko'rsatilgan. 3.2.

3.2-jadval.

Uchrashuv

Ism

Batareya

Ro'yxatdan o'tish B

Ro'yxatga olish kitobi dasturga aylanadi

Stack indikatori

Ma'lumotlar namoyishi. 2 bayt:

Kam bayt

Yuqori bayt

Ustuvorlik registrini to'xtating

Ro'yxatga olishni to'xtatishga ruxsat beriladi

Taymer/dispenser rejimlari reestri

Taymer/dispenser registri

Taymer/login 0. Yuqori bayt

Taymer/Locker 0. Past bayt

Taymer/login 1. Yuqori bayt

Taymer/Locker 1. Past bayt

Oxirgi port boshqaruvi

Seriya port buferi

Yashash xonasini boshqarish

* - ro'yxatdan o'tish, nimani tan olish kerak bitov tomonidan murojaat qilish

Endi 3.2-jadvalda keltirilgan SFR registrlarining vazifalarini ko'rib chiqamiz.

Batareya ACC - Batareya registri. Robotlar uchun mo'ljallangan buyruqlar.

batareyaning orqasida turganingizda, masalan, "A" mnemonikasidan foydalaning, MOV A, P2 . "ACC" mnemonikasi, masalan, batareyaga bit yo'nalishi bo'yicha murojaat qilinganda ishlatiladi. Shunday qilib, ramziy ma'noda, vikoristan assembler A5M51 kelganda batareyaning beshinchi bitining nomi: ACC. 5.

Registr U . ko'paytirish va pastki operatsiya soat ostida Vikorystvovaetsya. Boshqa ko'rsatmalar uchun registrni qo'shimcha super-operativ registr sifatida ko'rish mumkin.

Registr bo'laman dasturlar P.S.V. Dastur haqida ma'lumotni joylashtiring va ko'pincha tanlangan operatsiya natijasi asosida avtomatik ravishda o'rnatiladi, bu ko'pincha amalga oshiriladi. Registr raqamlarining ma'nosi 3.3 va 3.4-jadvallarda aniq ko'rsatilgan.

3.3-jadval.

Uchrashuv

3.4-jadval.

Uchrashuv

Janglarni tayinlash

Bitlarga kirish

Praporshr ko‘chirildi. Bir qator arifmetik va mantiqiy ko'rsatmalar vaqt o'tishi bilan o'zgaradi.

Uskuna va dasturiy ta'minot

Qo'shimcha pul o'tkazmasining belgisi. Uskuna yangi ko'rsatma qo'shilgan yoki natijada eng kichik bayt yaratilganda (D0-D3) 3-bitga uzatish yoki pozitsiyalarni kiritish uchun chiqarilgan soatda o'rnatiladi/o'chiriladi.

Uskuna va dasturiy ta'minot

Praporshnik 0. Koristuvach sifatida tayinlangan praporşist.

Dasturiy jihatdan

Dasturiy jihatdan

Vkazivnik ishchi registrlar banki

Dasturiy jihatdan

Bank 0 manzilli (00N - 07N) 1-bank manzilli (08N - 0FN) 2-bank manzilli (10N - 17N) 3-bank manzilli (18N - 1FN)

Prapor nomi o'zgartirildi. Qo'shish uchun arifmetik ko'rsatmalar qayta o'rnatiladigan soat davomida o'rnatilgan yoki o'chirilgan uskuna

Uskuna va dasturiy ta'minot

Zaxira. Revenge trigger, yozib olish va o'qish uchun mavjud, uni vikorizatsiya qilish mumkin

Bir oz paritet. Uskuna tashlanadi yoki "1" sozlamasida mavjud bo'lgan juftlangan yoki juftlashtirilmagan batareya zaryadsizlanishini kiritish bo'yicha ko'rsatmalar bilan teri tsikliga o'rnatiladi.

Uskuna va dasturiy ta'minot

Pokazchik stack SP - 8 bitli registr, uning o'rniga PUSH va CALL buyruqlari berilganda stekga ma'lumotlarni yozishdan oldin oshiriladi. 07H stek indikatori o'rnatilsa, ma'lumotlarning RAMdagi stek maydoni 08H manzilidan boshlanadi. Agar stek indikatorini qayta tayinlash zarurati tug'ilsa, stek maydoni mikrokontrollerning ichki ma'lumotlar xotirasidagi istalgan joyga ko'chirilishi mumkin.

Pokazchik hurmatlar DPTR yuqori bayt (DPH) va past baytdan iborat

(DPL). Tashqi xotiraga yangilashda 16 bitli manzilni o'zgartiring. Siz vikorist qilishingiz mumkin -

16 bitli registr sifatida yoki ikkita mustaqil sakkiz bitli registr sifatida.

Port0 - PortZ. P0, P1, P2, RZ maxsus funktsiyalarining registr bitlari bilan bir qatorda P0, P1, P2, RZ asosiy portlarini "yuklash" bitlari ham mavjud.

Bufer ketma-ket port SBUF registrning ikki qismi: uzatish buferi va qabul qilish buferi. Ma'lumotlar SBUF ga yozilsa, u uzatish buferiga yuboriladi va SBUF baytini yozish avtomatik ravishda ketma-ket port orqali uzatishni boshlaydi. Ma'lumotlar SBUF dan o'qilganda, ma'lumotlar qabul qilish buferidan tanlanadi.

Registr taymer. Tikishlarni ro'yxatdan o'tkazish (TH0, TL0) va (TH1, TL1) tasdiqlangan 16-

Taymer/dispenser 0 va taymer/dispenser 1 uchun bit saqlash registrlari.

Registr boshqaruv IP, IE, TMOD, TCON, SCON va PCON maxsus funktsiyalari registrlari tizimni yashirincha boshqarish va to'xtatish uchun ishlatilishi mumkin.

tashriflar/kasalxonalar va ketma-ket port. Hidi uzoqdan batafsil tekshiriladi.

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

Ishlayotganda MK quyidagilarni ta'minlaydi:

    buyruqni yetkazib berishning minimal soati - 1 mks;

    viconanne minimal soat bilan apparat ko'paytirish va pastki qavat - 4 mk.

MK ichki osilatorning chastotasini qo'shimcha kvarts, LC-chiroq yoki tashqi osilatorga o'rnatish imkoniyatiga ega.

Kengaytirilgan buyruqlar tizimi bayt-bayt va bit-bit manzillash, o'ndan ikki va o'ndan ikki arifmetika, ortiqcha moslashish va juftlashtirish/ajratish ko'rsatkichlarini va mantiqiy protsessorni amalga oshirish qobiliyatini ta'minlaydi.

MCS51 oilasi arxitekturasining eng muhim va kuchli xususiyati shundaki, ALU bir bitli ma'lumotlarni 8 bitli ma'lumotlar turlarida izchil operatsiyalar bilan boshqarishi mumkin. Dasturiy ta'minot mavjud bitlar soni o'rnatilishi, olib tashlanishi yoki qo'shimchalari bilan almashtirilishi va qayta o'rnatilishi yoki tekshirilishi mumkin.

3.2-rasm. Tashqi konstruktsiyalar

mikrokontroller

mantiqiy hisob-kitoblarda vikorystuvatsya. Bu, shuningdek, oddiy ma'lumotlar turlarini qo'llab-quvvatlaydi (agar

Ko'pgina tendentsiyalarga ko'ra, biz bir qarashda biroz orqaga qarashimiz mumkin, bu MCS51 oilasining mikrokontrollerlarini, ayniqsa, kontrollerlar ishlatiladigan ilovalar uchun mos qiladi. Qolgan algoritmlar standart mikroprotsessorlar yordamida amalga oshirish qiyin bo'lgan kirish va chiqish mantiqiy o'zgaruvchilarning mavjudligini nazarda tutadi. Bu quvvatlarning barchasi MCS51 oilasining mantiqiy protsessori deb ataladi. Biroq, MCS51 oilasining mikrokontrollerlarining bunday og'ir ALU ko'rsatmalar to'plami real vaqt rejimida ishlash uchun ham, ma'lumotlarni ko'p talab qiladigan algoritmlar uchun ham juda mos keladi.

Mikrokontrollerning sxemasi rasmda ko'rsatilgan. 3.2. Paketning asosiy versiyasida 40 pinli DIP paketi mavjud. Keling, belgilarning ma'nosini ko'rib chiqaylik.

Vysnovki taomlaridan ko'proq «0 IN" і "5 IN" , Qaysi sharoblardan keyin asosiy oziq-ovqat keladi. Strum ma'lumotlari jadvalda ko'rsatilgan. 3.1.

Visnovok "RST" - Mikrokontrollerni qayta o'rnating. Bu qo'llanilganda, faol yuqori daraja boshlanadi rejimi uxlash chegirma va MK quyidagilarni bajaradi:

Kompyuter buyrug'ini tozalash vositasini va maxsus funktsiyalarning barcha registrlarini, shu jumladan yuklash portlari P0-P3, stek ko'rsatkichi SP va SBUF registrini nolga o'rnatadi;

    Stack indikatori 07H dan yuqori qiymatni oladi;

    barcha uzilishlarni, taymer-shifokorlarning ishini va undan keyingi ishlarni himoya qiladi

    BANK 0 RAMni tanlaydi, ma'lumotlarni qabul qilish va tanib olish uchun P0-RZ portini tayyorlaydi

tashqi sinxronizatsiya uchun kirish sifatida ALE va PME komponentlarini baham ko'radi;

      PCON, IP va IE maxsus funktsiyalari registrlarida zahira bitlari tasodifiy qiymatlarga o'rnatiladi, qolgan barcha bitlar esa nolga qaytariladi;

      SBUF registrida o'zgaruvchan qiymatlar mavjud.

      P0-RZ "1" portini qulflash mandallarini o'rnatadi.

Qayta tiklashdan keyin mikrokontrollerning registr holati 3.5-jadvalda ko'rsatilgan.

3.5-jadval.

Ma `lumot

Noma'lum

k-MOS uchun 0XXXXX0000V, n-MOS uchun 0XXXXXXXB

RST belgisi muqobil funksiyaga ega. Bu orqali asosiysi olib tashlanganda mikrokontrollerning operativ xotirasi o'rniga doimiy xotirani saqlash uchun zahira xotirasi beriladi.

Visnovki BQ1, BQ2 MK ning soat chastotasini aniqlaydigan kvarts rezonatorini ulash uchun mo'ljallangan.

Visnovok EA` (E xternal A kiyinish tashqi manzillar) - faol past daraja qo'llanilganda tashqi dastur xotirasidan kalit kodlarini o'qish rejimini faollashtirish bo'yicha ko'rsatmalar. Kontseptsiyaning muqobil maqsadi (funktsiyasi) mavjud. ROMni dasturlash uchun yangi qurilmaga kuchlanish beriladi.

Visnovok PME (P dastur M emory E mumkin Dozvil xotira dastur) - dastur xotirasidan o'qishning keruvana tsikli uchun maqsadlar va MK teri mashinasi siklida avtomatik ravishda faollashadi.

Visnovok ALE (A kiyinish L ength E mumkin Dozvil yosh manzili) P0 portidagi manzilning kichik qismini ko'rsatadi. EPROM dasturlashtirilganda qurilma vikorizatsiya qilinadi va unga pulsli dasturlash jarayoni yuboriladi.

MK to'rtta port guruhini o'rnatishi mumkin: P0, P1, P2 va P3. Yo'qolgan 40 ta mikrokontroller pinlari mavjud. Ushbu portlar ma'lumotni bitma-bit kiritish va chiqarish uchun xizmat qilishi mumkin, bundan tashqari ular o'zlarining ixtisoslashuviga ega. Portning funktsional diagrammasi rasmda ko'rsatilgan. 3.3. Portda dala effektli tranzistorlardagi chiqish kalitlari, chiqishga ulanishlar, kommutatsiya funktsiyalari, D-trigger va boshqaruv mantiqidagi terminal mavjud. MK ning ichki avtobusiga bitta yoki nol yozilishi mumkin. Ushbu ma'lumotlarga MKning chiqish tugmachalari va displeylarini yoqish funksiyasi orqali kirish mumkin. Shu bilan birga, N va N1 tranzistorlari yopiq, ammo N2 ochiq. Nol stantsiyada N egri chiziqni ochadi -

Xia va N2 yopiladi. Port muqobil funktsiyani tanlayotganda, ixtisoslashuv tufayli yuklash rejimi o'chirilgan. Mikrokontroller, shuningdek, portni kiritish rejimiga va tashqi signal orqali o'rnatiladigan chiqish rejimiga ta'sir qilishi mumkin. Shu maqsadda MK assemblerida pastki qatorlarni faollashtirish uchun maxsus buyruqlar mavjud. O'qish uchun men simsiz portning piniga yuboraman.

buti avvalroq yozilgan

Ichki ko'rinish

Zasuvka boshqaruvi

Funktsiyalarni o'zgartirish

Vcc

Dam olish kunlari

bitta. "O'qish yuki" liniyasi yoqilganda, chiqish o'rtadagi "I" bo'lib, undan oldin ushbu chiziq ulanadi.

niy avtobus MK D Q

C Q tayoqchasida yozib oling

O'qish materiallari

Portning ko'rinishi

Faollashtirilganda MK ning ichki avtobusiga mos keladigan yuklash stantsiyasi mavjud

"Chitannya vyvedennya" - portga tashqi vyvedennya lageri.

Port P0 - Universal ikki tomonlama port

tanishtirish - ko'rish. Sim portining orqasida

tashqi avtobuslar manzilini tashkil etish funktsiyasi bilan belgilangan va

Kichik 3.3. Mikrokontroller portining funksional diagrammasi

dastur xotirasini va ma'lumotlar xotirasini kengaytirish uchun ma'lumotlar

mikrokontroller. Dastur tashqi xotiraga yuklanganda yoki tashqi ma'lumotlar xotirasini yuklab olish buyrug'i tugallanganda, manzilning kichik qismi (A0...A7) sarlavha portiga o'rnatiladi, bu yuqori darajadagi yuqori daraja bilan ishga tushiriladi. ALE chiqishi. Keyin xotiraga ma'lumotlarni yozishda MK ning ichki shinasidan yozilgan ma'lumotlar P0 pin portiga o'tadi. O'qish operatsiyalarida esa asosiy portdan olingan ma'lumotlar ichki avtobusga o'tadi. P0 portining o'ziga xos xususiyati terminalga hayotni etkazib berishni ta'minlaydigan N2 "tortib olish" tranzistorining mavjudligi. Bitta blokning pin portiga yozishda qiymatlar oddiygina ma'lumotlar avtobusining normal ishlashi uchun zarur bo'lgan yuqori empedans holatiga o'tkaziladi. Agar kerak bo'lsa, har qanday tashqi qurilmalarning chiqishlari orqali quvvatlang va keyin tashqi rezistorlarni Lanczug'dan chiqish portiga o'tkazing.

Port P1 – muqobil funksiyalarsiz universal ikki tomonlama kirish/chiqish porti.

Port P2 – tashqi xotiraga o‘tkazilganda manzilning yuqori qismini (A8…A15) ko‘rish uchun muqobil funksiya bo‘lgan universal ikki tomonlama port/kirish/chiqish.

Port P3 - universal ikki tomonlama kirish-chiqish porti, shuningdek, turli xil muqobil funktsiyalarni uzatadi. Muqobil funktsiyalar faqat bitta asosiy portning pinlariga yozilgan hollarda amalga oshiriladi, boshqa hollarda muqobil funktsiyalarning kirishi bloklanadi. Keling, ularni teri asosida aniqlaymiz:

P3.0 RxD (R o'qish e X ichki D yedi, tashqi ma'lumotlarni o'qing) - yangi ketma-ket qabul qilgichni kiritish.

P3.1 TxD (T turi e X ichki D yedi, tashqi ma'lumotlarni uzatish) - qabul qilingan ketma-ket qabul qilish-uzatilishning chiqishi.

P3.2 INT0` (INT Xato, uzilish) – tashqi uzilishni kiritish 0.

P3.3 INT1` - Tashqi uzilish kiritish 1.

P3.4 S/T0 - Nol ishga tushirilgan taymer/dispenserni kiritish.

P3.5 C/T1 - Birinchi faollashtirilgan taymer/klinisyenni kiritish.

P3.6 WR` (V marosim, yozish) - ma'lumotlar xotirasida yozish siklini boshqarishni ko'rsatadi.

P3.7 RD` (R o'qish, o'qish) - ma'lumotlar xotirasidan o'qish tsikli bilan chiqariladi.

Bir birlikdagi P1, P2 va P3 portidagi pinlar taxminan 0,2 mA oqimni ko'radi va nolga teng bo'lgan 3 mA oqimni oladi, P0 portiga pinlar mahkamlanadi va bitta binoda taxminan 0,2 mA oqim ko'rinadi. 0,8 mA va nolga teng bo'lgan 5 mA oqimini oling. Mikrokontroller komponentlarini tayinlash haqida qisqacha ma'lumot 3.6-jadvalda keltirilgan.

3.6-jadval.

Uchrashuv

Visnovkaga tayinlangan

8-bitli ikki tomonlama port P1. Ichki ROMni (RPM) tekshirish vaqtida A0-A7 kirish manzillari

Kirish login

Zagalniy tashlash signali. Tashqi tanadan OZPning zaxira muddatini joriy etish (1816 yil uchun)

Qo'shimcha funktsiyalarga ega 8 bitli ikki tomonlama P3 porti

Kirish login

So'nggi qabul qilish ma'lumotlari - RxD

Oxirgi uzatish ma'lumotlari - TxD

Tashqi uzilish kiritish 0-INT0`

Tashqi uzilish kiritish 1-INT1`

Taymer/dispenser kirishi 0: - T0

Taymer/dispenser kirishi 1: - T1

Tashqi xotiradan ma'lumotlarni yozib olish soatida strob signalining chiqishi: - WR`

Tashqi ma'lumotlar xotirasidan o'qish soatidagi Strobe signalining chiqishi - RD`

Kvarts rezonatorini ulash uchun ulanishlar.

chiqish kirish

Zagalniy visnovok

8 bitli ikki tomonlama port P2. Tashqi xotiradan robot rejimida A8-A15 manzillarini chiqarish. Ichki ROM tekshirish rejimida P2.0 – P2.6 versiyalari A8-A14 kirish manzillari sifatida tanlanadi. Visnovok R2.7 - ROMni o'qishga ruxsat berilgan.

Kirish login

Ruxsat berilgan dastur xotirasi

Manzilni tuzatishga ruxsat olish uchun chiqish signali. RPOM signalini dasturlash soatida: PROG

Kirish login

Robotni ichki xotiradan bloklash. RPZP ni dasturlashda URR signali beriladi

Kirish login

8-bitli ikki tomonlama port P0. Tashqi xotiradan manzil/ma'lumotlar avtobusi. Ichki PPP (IPPP) ni tekshirish rejimida ma'lumotlar chiqishi D7-D0.

Kirish login

Vividennya v dzherel kuchlanish +5V

MA'RUZA REJASI

1.Kirish

2. Arifmetik va mantiqiy ko'rsatmalar

3. Ma’lumotlarni uzatish buyruqlari

4. Mantiqiy operatsiyalar

5. O'tish bo'yicha ko'rsatmalar

1.Kirish

Buyruqlar tizimi MCS-51 qurilmalarni boshqarish uchun 8-bitli algoritmlar o'rnatilgunga qadar ma'nolar, ko'rsatmalarning yagona to'plamini qo'llab-quvvatlaydi. Ichki operativ xotiraga murojaat qilish, kichik ma'lumotlar tuzilmalarida bit operatsiyalarini bajarish uchun moslashuvchan usullardan foydalanish mumkin. Bir bitli o'zgaruvchan ma'lumotlarga alohida ma'lumotlar turi sifatida murojaat qilish tizimi ishga tushirildi, bu mantiqiy va asosiy Boolean algebra buyruqlarida bit qirralarini tanlash imkonini beradi.

Manzillash rejimlari : terish buyruqlari MCS-51 bunday manzillash rejimlarini qo'llab-quvvatlaydi. To'g'ridan-to'g'ri manzillash: operand ko'rsatmada 8 bitli manzil bilan belgilanadi To'g'ridan-to'g'ri manzillash ichki ma'lumotlar xotirasi va registrlarining kichik yarmi bilan cheklangan SFR. Bilvosita manzillash: Ko'rsatma operand manziliga mos keladigan registrga murojaat qiladi.Bu turdagi adreslash tashqi va ichki OCP uchun qo'llaniladi. Registrlar 8 bitli manzillarni kiritish uchun ishlatilishi mumkin R0і R1 tanlangan ro'yxatga olish banki yoki stek ko'rsatkichi SP. 16-bitli adreslash uchun ma'lumotlar ko'rsatkichi registri o'chiriladi DPTR.

Ro'yxatga olish bo'yicha ko'rsatmalar : ro'yxatdan o'tish R0-R7 Joriy registrlar bankiga ko'rsatmalarning o'zida registr raqamini ko'rsatadigan 3 bitli maydonni kiritish orqali maxsus ko'rsatmalar orqali murojaat qilish mumkin. Ushbu turdagi maydon buyruqda manzilga ega emas. Maxsus maxsus registrlar bilan operatsiyalar: vikorist individual registrlarining harakatlar ko'rsatmalari (masalan, batareya bilan operatsiyalar, DPTR, va boshqalar.). Operandning manzili buyruqda ko'rsatilganda. VIN operatsiya kodi bilan ko'rsatilgan.

O'rta konstantalarsiz : Konstanta to'g'ridan-to'g'ri opcodedan keyin buyruq yoniga joylashtirilishi mumkin.

Indeksli adreslash : Indekslarni manzillash faqat dastur xotirasiga kirish uchun yoki o'qish rejimida ishlatilishi mumkin. Qaysi rejimda dastur xotirasida jadvalni ko'rish mumkin. 16 bitli registr ( DPTR yoki dasturiy ta'minotni davolovchi) talab qilinadigan jadvalning asosiy manziliga ishora qiladi va akkumulyator undan oldingi kirish nuqtasiga ishora qiladi.

Terish buyruqlariTizimning 33 ta funksiyasini belgilash uchun 42 ta mnemonik buyruqlar mavjud. Assembler tili buyruqlarining ko'pchiligi sintaksisi mnemonik funktsiyani belgilashdan iborat bo'lib, undan so'ng adreslash usullari va ma'lumotlar turlarini ko'rsatadigan operandlar keladi. Har xil ma'lumotlar turlari va manzillash rejimlari mnemonik qiymatlarning o'zgarishi bilan emas, balki operandlarning kiritilishi bilan ko'rsatiladi.

Buyruqlar tizimini aqliy jihatdan besh guruhga bo'lish mumkin: arifmetik buyruqlar; mantiqiy buyruqlar; uzatish buyruqlari; bit protsessor buyruqlari; demontaj qilish va boshqaruvni uzatish uchun buyruqlar. Buyruqlar tizimida ishlatiladigan belgilar quyida ko'rsatilgan.

Jadval. Buyruqlar tizimida qo'llaniladigan belgilarning ma'nolari

Uchrashuv, belgi

Topshiriq

Batareya

Oqimga asoslangan registrlar bankining reestri

Jamoa tomonidan belgilangan reestrning raqami

bevosita

8-bitli ichki ma'lumotlar manzili to'g'ridan-to'g'ri murojaat qilinadi, bu ichki ma'lumotlarning o'rtasi bo'lishi mumkin RAM (0-127) yoki SFR maxsus funktsiya registrlari (128-255)

Ichki ma'lumotlar RAMning 8 bitli o'rtasiga bilvosita murojaat qilish

8-bit o'rtasiz Operatsion kodiga nima kiradi (OPC)

ma'lumotlarH

O'rta 16 bitli ma'lumotlarning yuqori bitlari (15-8).

ma'lumotlarL

Young beats (7-0) o'rta 16-bitli ma'lumotlar

11-bitli manzil manzillari

addrL

Yoshlar tan olish manzillari

Belgisi bilan 8-bitli almashinish bayti

To'g'ridan-to'g'ri adreslashdan bit, uning manzili ichki ma'lumotlarning operativ xotirasida yoki SFR maxsus funktsiyalari registrida joylashgan COP joylashgan.

a15, a14...a0

Bit manzillari va topshiriqlari

X elementi o'rniga

X elementida saqlangan manzil o'rniga

X elementining zaryadsizlanishi


+

*
VA
YOKI
XOR
/X

Operatsiyalar:
qo'shimcha
vidnimannya
ko'paytirish
quyida
mantiqiy ko'paytirish (I operatsiya)
mantiqiy katlama (ABO operatsiyasi)
2-moduldan keyin qo'shilgan (ABO o'z ichiga oladi)
X elementning inversiyasi

Mnemonik funksiyalarni tayinlash manzillash usullari va ma'lumotlar turlarining o'ziga xos kombinatsiyalari bilan noyob tarzda bog'langan. Buyruqlar tizimida 111 ta shunday yozuv bo'lishi mumkin.

2. Arifmetik va mantiqiy ko'rsatmalar

Yak p misol arifmetik ko'rsatmalar, Qo'shilgan operatsiya quyidagi buyruqlardan biri bo'lishi mumkin.

QO‘SHISHA,7 F 16 - A o'rniga 7 raqamini qo'shing F 16 natijani registr A bilan saqlang;

QO‘SHISHA,@ R0 – A reestriga manzilini qo'shing (@ – tijorat da ) registrda saqlanadi R 0 (bilvosita manzillash) va natijani A registriga saqlang;

A, R7 QO'SHING– registr o‘rniga A registriga qo‘shing R 7 va natijani A registriga saqlang;

A, №127 ni qo'shing- Ro'yxatdan o'tish uchun raqam qo'shing, saqlash manzili 127 ( # – raqam belgisi) va natijani reestrga saqlang T- Re A.

Barcha arifmetik ko'rsatmalar har bir ko'rsatma bo'yicha bitta mashina tsiklida to'ldiriladi INC DPTR(Ma'lumotlar ko'rsatkichining siljishi DPTR keyingi baytga), ikkita mashina tsiklini oladi, shuningdek, 4 ta mashina tsiklini oladigan ko'paytirish operatsiyasi. Ichki ma'lumotlar xotirasidagi har qanday baytni batareyaga ehtiyoj sezmasdan oshirish yoki kamaytirish mumkin.

Ko'rsatmalar MUL AB B registridagi ma'lumotlar bo'yicha akkumulyatordagi ma'lumotlarning ko'payishi mavjud bo'lib, ma'lumotlarni A registriga (kichik yarmi) va B (katta yarmi) joylashtiradi.

Ko'rsatmalar DIV AB akkumulyator o'rniga (bo'linish - kichik bo'lim) B registrining qiymatlariga bo'linib, B va ayniqsa akkumulyatordagi ortiqcha qoldiq.

Ko'rsatmalar DA A ikki-o'n arifmetik amallar uchun mo'ljallangan (ikki-o'n kodda berilgan raqamlar ustida arifmetik amallar). Ikki raqamni o'zgartirishdan qo'rqmang dviykovo-desyatkovo, Va u ikki o'ndan ikki sonni qo'shganda ham to'g'ri natijani ta'minlaydi.

dumba mantiqiy buyruq: Mantiqiy operatsiya quyidagi buyruqlardan biri sifatida ishlatilishi mumkin:

ANLA,7 F 16 - A registrini 7 raqamiga ko'paytirish mantiqan to'g'ri F 16 va natija A registrida saqlanadi;

ANLA,@ R1 - A registr o'rniga manzillari registrda saqlanadigan raqamga ko'paytirish mantiqan to'g'ri keladi R 1 (bilvosita manzillash) va natijani A registriga saqlang;

ANL A, R6- A registr o‘rniga registr o‘rniga ko‘paytirish mantiqan to‘g‘ri keladi R 6, natijani A registriga saqlang;

ANL A,#53 – A registrini raqamga, do‘kon manziliga mantiqiy ko‘paytirish, bu 53 16 va natija A registrida saqlanadi.

Batareya maydonidagi barcha mantiqiy operatsiyalar bitta mashina aylanishini oladi, boshqalari - ikkita. Mantiqiy operatsiyalar ichki ma'lumotlar xotirasining 128 baytdan past bo'lgan har qandayida yoki istalgan registrda bajarilishi mumkin SFR (maxsus funktsiya registrlari) batareyani almashtirmasdan to'g'ridan-to'g'ri manzillash rejimida.

RL A, RLC A tsiklik saqlash operatsiyalari batareya o'rniga bir bit o'ngga yoki chapga siljiydi. Chap tsiklik bog'lanish holatida, kichik bit eski holatga o'tadi. O'ng tsiklik sinus holatlarida teskari holat yuzaga keladi.

Operatsiya SWAP A Yoshlar va keksalar o'rtasidagi joriy almashinuv batareyada.

3. Ma’lumotlarni uzatish buyruqlari

Jamoa MOV dest, src ichki xotiraning o'rtasi va maxsus funktsiyalarning registr maydoni o'rtasida ma'lumotlarni uzatish imkonini beradi SFR vikoristan batareyasisiz. Bunday holda, ichki OZPning yuqori yarmiga ega robot faqat bilvosita adreslash rejimida ishlashi mumkin va registrlarga kengaytirilishi mumkin. SFR– endi bevosita manzillash rejimida mavjud emas.

Barcha mikrosxemalar uchun MCS-51 Stack doimiy ma'lumotlar xotirasi yonida joylashgan va bo'yi o'sadi. Ko'rsatmalar DURANG Dastlab, stek ko'rsatkichi registridagi qiymatlar kattaroqdir SP, va keyin ma'lumotlar baytlarini stekga yozadi. Jamoa DURANGі POP faqat to'g'ridan-to'g'ri manzillash rejimida (baytlarni yozish yoki yangilash), lekin stek har doim registr orqali bilvosita manzillashda mavjud. SP. Shu tarzda, stek yuqori 128 bayt ma'lumotlar xotirasidan foydalanishi mumkin. Ushbu belgilar registrlarni manzillash uchun qator buyruqlaridan foydalanish imkoniyatini o'z ichiga oladi SFR.

Ma'lumotlarni uzatish bo'yicha ko'rsatmalar 16 bitli uzatish operatsiyasini o'z ichiga oladi MOV DPTR, #ma'lumotlar16, bu ma'lumotlar ko'rsatkichi registrini ishga tushirish uchun ishlatiladi DPTR Bir soatdan keyin dastur xotirasidagi jadvalga yoki tashqi ma'lumotlar xotirasiga kirishga qarayman.

Operatsiya XCH A, bayt U batareya va murojaat qilinayotgan bayt o'rtasida ma'lumot almashish uchun o'rnatiladi. Jamoa XCHD A, @Ri oldingisiga o'xshaydi, lekin operandlar almashinuvida faqat kichiklar uchun bo'lganlar ishtirok etadi.

Tashqi ma'lumotlar xotirasiga kirish uchun bilvosita adreslash qo'llaniladi. Har bir baytli manzilda vikoristlar ro'yxati mavjud R0 yoki yana R1 oqim registrlari banki va 16-bit uchun - ma'lumotlarni ko'rsatish registri DPTR. Tashqi ma'lumotlar xotirasiga kirish uchun har qanday usulda batareya ma'lumotni qabul qilish rolini o'ynaydi.

Dastur xotirasida joylashgan jadvallarga kirish uchun quyidagi buyruqlardan foydalaning:

MOVC A, @ A+ DPTR ;

MOVC A, @ A+ Kompyuter .

Vikory jadvalining asosiy manzili ma'lumotlar ko'rsatkichi registriga qanday tayinlangan DPTR yoki yana Kompyuter(dastur shifo), va joy o'zgartirish dan olinadi A. Bu buyruqlar faqat dastur xotirasidan ma'lumotlarni o'qish uchun ishlatiladi, lekin unga yozish uchun emas.

4. Mantiqiy operatsiyalar

Mikrosxemalar MCS-51 omboringizga "Boolean" protsessorini o'rnating. Ichki operativ xotirada 128 ta to'g'ridan-to'g'ri manzilli bit mavjud. Maxsus funksiya registrlari doirasi SFR 128 bitli maydonlarni qo'llab-quvvatlashi mumkin. Biologik ko'rsatmalarga aqlli o'tish, yo'naltirish, tashlab yuborish, inversiya, "I" va "ABO" operatsiyalari kiradi. Bu bitlarning barchasi to'g'ridan-to'g'ri adreslash rejimida mavjud.

Bit uzatildi CF maxsus funktsiyalar reestrida "so'z dasturga aylanadi P.S.V.» mantiqiy protsessorning bir bitli akkumulyatori sifatida tavsiflanadi.

5. O'tish bo'yicha ko'rsatmalar

O'tish operatsiyalarining manzillari assembler tomonidan alohida va dastur xotirasi maydonidagi mos yozuvlar qiymatlari bilan belgilanadi. Aqlli o'tishlarning manzillari mos yozuvlar o'zgarishida yig'iladi - dastur protsessoriga uzatiladigan ishora bayti. Kompyuter Vikonannya davrida, o'tishning aqllari. Bunday o'tishlar orasidagi chegaralar minus 128 va 127 orasida, ko'rsatmalardan keyingi birinchi baytdan oldin joylashgan. Maxsus funktsiyalar reestrida "so'z dasturga aylanadi" P.S.V.» kun nol belgisi, buning uchun ko'rsatmalar JZі JNZ Batareyadagi ma'lumotlarni sinab ko'rish uchun aqlni "aniq nol" deb tekshiring.

Aqldan ozgan o'tish uchun uchta turdagi buyruqlar mavjud: SJMP, LJMPі AJMP- Ular manzil formati va maqsadi bilan farqlanadi. Ko'rsatmalar SJMP manzilni aniq unutilgan deb kodlaydi va ikki baytni oladi. O'tish masofasi har bir ko'rsatma uchun minus 128 dan 127 baytgacha bo'lgan diapazon bilan cheklangan SJMP.

Ko'rsatmalarda LJMP Vikorist maqsad manzilini 16 bitli doimiy sifatida aniqlaydi. Jami buyruq uch baytni tashkil qiladi. Belgilangan manzillar dastur xotirasining istalgan joyiga tayinlanishi mumkin.

Jamoa AJMP Vikoristning 11-bitli manzil konstantasi. Buyruq ikki baytdan iborat. Ushbu ko'rsatma olib tashlanganida, shifo beruvchining 11 bitli kichik manzili buyruqning 11 bitli manzili bilan almashtiriladi. Dasturiy ta'minotning beshta katta qismi Kompyuter o‘zgarmas bo‘lib qoladi. Shunday qilib, o'tish 2K baytli blokning o'rtasida sodir bo'lishi mumkin, unda buyruqdan keyingi ko'rsatma kiritiladi. AJMP.

Kichik dastur buyruqlarining ikki turi mavjud: LCALLі ACALL. Ko'rsatmalar LCALL chaqirilgan kichik dasturning vikorist 16-bitli manzili. Har qanday holatda, pastki dasturni istalgan dastur xotirasi joyidan olib tashlash mumkin. Ko'rsatmalar ACALL Vikoristning 11 bitli pastki dastur manzili. Bunday holda, chaqiriladigan pastki dastur quyidagi ko'rsatmalar bilan bitta 2K bayt blokga joylashtirilishi kerak. ACALL. Huquqbuzarlik buyrug'i variantlari hujum qiluvchi buyruq manzili bo'yicha stekga joylashtiriladi va dasturiy ta'minot davolovchi tomonidan sehrlanadi. Kompyuter yangi ma'no.

Kichik dastur ko'rsatma bilan tugaydi RET, bu buyruqni bajarish uchun ko'rsatmalarga qaytish imkonini beradi QO'NG'IROQ. Ushbu ko'rsatma stekdan qaytarilgan manzilni ochadi va uni dasturni tozalash vositasiga kiritadi. Kompyuter . Ko'rsatmalar RETI Vikoristovatsya ishlov berishni to'xtatish uchun pastki dasturlardan aylanib o'tish. Birlik RETI ko'rinish RET bunga ishonadi RETI Tizimga ishlov berish tugallanganligi haqida xabar beradi. Yakshcho viconny davrida RETI Boshqa uzilishlar yo'q, keyin u bir xil RET.

Ko'rsatmalar DJNZ keruvannya davrlari uchun mo'ljallangan. Vikonanny tsikli uchun N Bir marta shifokorga bayt va qiymatlarni qo'shishingiz kerak N keyin buyruq bilan pastadir tanasini yoping DJNZ, bu tsiklning boshlanishini ko'rsatadi.

Jamoa CJNE ikkita operandni belgilanmagan maqsadlar sifatida tenglashtiradi va keyin unda ko'rsatilgan manzilga o'tadi, chunki tekislangan operandlar teng emas. Agar birinchi operand boshqasidan kichik bo'lsa, bit uzatiladi CF "1" da o'rnatiladi.

Yig'ilgan shakldagi barcha buyruqlar 1, 2 yoki 3 baytni egallaydi.

UDC 681.5, 681.325.5 (075.8)

BBK 32.973.202-018.2 i 73

Shcherbina O.N.Hisoblash mashinalari, tizimlari va o'lchovlari. Boshqarish tizimlarida mikrokontrollerlar va mikroprotsessorlar: cheb. Pos_bnik/O.M. Shcherbina, P.A. Nechaev-SPb.: Politexnika instituti. Univ., 2012.-226 b.

U texnik tizimlar, energetika va elektrotexnika sohasida menejment sohasida kadrlar tayyorlash milliy standarti va mutaxassisliklarini almashtirishni va “Hisoblash texnikasi” fanining boshlang‘ich o‘quv dasturini mashinalar, tizimlar va chora-tadbirlarsiz almashtirishni ko‘rsatadi.

Mikroprotsessorli tizimlarning mantiqiy tashkil etilishining asosiy oziqlanishi Intel kompaniyasining MCS-51 mikrokontrollerlar oilasining asosiy arxitekturasi yordamida tekshiriladi. Assembler va CI tillaridan foydalangan holda mikrokontrollerlarni dasturlash texnologiyasi tasvirlangan.

Bu talabalar va ilg'or texnik bilimlarni ishlab chiquvchilar, jarayonlarni avtomatlashtirish va ishlab chiqarish bo'yicha mutaxassislar, shuningdek, mikroprotsessor tizimlarini loyihalash muhandislari uchun foydali bo'lishi mumkin.

Shuningdek, bakalavriat, muhandislik va magistratura bosqichi uchun “Boshqaruv tizimlarida mikrokontrollerlar va mikroprotsessorlar” va “Elektron avtomatlashtirish qurilmalari” fanlari milliy standarti to‘g‘ridan-to‘g‘ri 1404 00 “Elektr energetikasi va elektrotexnika” o‘rnini egallaydi.

Buning uchun tahririyat va tahririyat qarorlarini kelishib oling

Sankt-Peterburg davlat politexnika universiteti.

© Shcherbina A. N., Nechaev P. A., 2012

© Sankt-Peterburg shtati

Politexnika universiteti, 2012 yil

ISBN 978-5-7422-3553-8


Kirish.. 7

1-bo'lim. MCS51 oilasining arxitekturasi. 10

1.1 Gazning xarakteristikalari 10

1.2 Blok diagrammasi 11



1.3 Mikrokontroller komponentlarining maqsadi 8051 15

1.4 Xotirani tashkil qilish 17

1.4.1 Dastur xotirasi (PPM) 18

1.4.2 Ma'lumotlar xotirasi (DMS) 19

1.4.3 Maxsus funktsiyalar registrlari. 20

1.4.4 Varrantlar reestri (PSW) 23

1.5 O'rnatish va sinxronlash 26

1.6 Kirish-chiqish portlarini tashkil qilish 27

1.6.1 Sahna ortidagi hisobotlar. 27

1.6.2 Muqobil funksiyalar. 27

1.7. 8051 oilasining taymerlari / mikrokontrollerlari. 28

1.7.1. Davolash taymerlarining tuzilishi. 28

1.7.2 Davolash taymerlarining ishlash rejimlari. o'ttiz

1.8. Seriya port 32

1.8.1. Seriyali portning tuzilishi. 32

1.8.2. Xizmat ko'rsatish reyestri/narx holati SCON.. 34

1.8.3. PCON.. registr 36

1.9. Tizim 37

1.9.1. Tizimning tuzilishini o'zgartiring. 37

1.9.2 Vikonannya pastki dasturlari perervaniya. 40

2-bob. 80C51GB mikrokontrollerning xususiyatlari.

2.1 Funktsional xususiyatlar 42

2.2 P0-P5 kiritish/chiqarish portlari 43

2.2.1 I/U portlarining ishlashi. 43

2.2.2 Portda yozib olish.

2.3 8XC51GB uzilish tizimining xususiyatlari.

To'xtatishga ruxsat berilgan/panjara. 50

Ustuvorlikni boshqarishni to'xtatish. 51

Tashqi uzilishlar. 54

2.3. Vuzol ADC 56

2.4. Uskuna nazorati 61

2.5. 63-soat generatorining nosozligi aniqlandi

2.6. Dasturlashtirilgan shifokorlar matritsasi RSA 64

2.6.1. PCA tuzilishi..64

2.6.2. RSA shifokorining reestri (CMOD) 66

2.6.3. PCA tibbiy boshqaruv reestri (CON) 67

2.6.4. Hizalama/fiksatsiya modullari. 68

2.7. Seriya portini kengaytirish 76

2.8. Taymerlar/dispenserlar 79

8XC51GB guruhining mikrokontrolörlarini joylashtirish.

3-bo'lim. MK 8051GB ni dasturlash.

3.1. Dasturiy ta'minot modeli 89

3.2 Ma'lumotlar turlari 93

3.3 Ma'lumotlarni adreslash usullari 93

3.4 Buyruqlar tizimi 95

3.4.1. Zagalniy xarakteristikasi. 95

3.4.2 Buyruqlar turlari. 96

3.4.3 Operandlarning turlari. 97

3.4.4 Mikrokontroller ma'lumotlarini bekor qilish uchun buyruqlar. 98

3.4.5 Arifmetik amallar bo'yicha ko'rsatmalar 8051. 101

3.4.6 8051 mikrokontrollerning mantiqiy operatsiyalari buyruqlari. 104

3.4.7 8051 mikrokontrollerning bitlari bilan ishlash buyruqlari 106

3.5 111-dasturni sozlash

4-bo'lim. ASM-51 tilini dasturlash. 112

4.2 Matnni yozish dasturi 113

4.3. Til alifbosi. 114

4.4 Identifikator. 115

4.5 Raqamlar 117

4.6 Direktiv 118

4.7 ASM51 kichik dasturini amalga oshirish 122

4.7.1 ASM51 ning kichik dastur-protsedurasining tuzilishi. 122

4.7.2 O'zgaruvchan parametrlarni kichik dasturga o'tkazish. 123

4.7.3 ASM51 ning pastki dastur funksiyasini amalga oshirish. 123

4.7.4 ASM51 yordamida qayta ishlash tartiblarini amalga oshirish. 124

4.8 Strukturaviy dasturlashtirilgan assembler. 125

4.9 Ko'p modulli dasturlarni translyatsiya qilish xususiyatlari. 126

4.10 Segment tanlash 128

4.10.1 MK xotirasini segmentlarga bo'lish. 128

4.10.2. Mutlaq xotira segmentlari. 129

4.10.2 Ko'chirilgan xotira segmentlari. 131

5-bob. Til dasturlash S-51. 134

5.1 134-filmning Zagalnaya xarakteristikalari

5.3 Dastur tuzilishi S-51 136

5.3. Elementi kino dasturlash S-51 138

5.3.1. Belgilar.. 138

5.3.2. Leksik birliklar, ajratuvchilar va tozalashlar. 141

5.3.3 Identifikator 142

5.3.4 Asosiy so'zlar. 143

5.3.5 Doimiy.. 143

5.4. Kino operatorlarida virazi 146

dasturlash C-51 146

5.5. Harbiy operatsiyalarning ustuvor yo'nalishlari 148

5.6. Kino dasturlash operatorlari C-51 149

5.6.1. Operatorlar hayratda. 150

5.6.2 Operatorlar, nima imzolash kerak. 150

5.6.3 Tayinlash operatori. 151

5.6.4 Aqliy operator. 151

5.6.5 Strukturaviy operator (). 152

5.6.6 Loop uchun operator. 152

5.6.7 while siklining boshdan-boshqa teskari aylanishi bilan sikl uchun operator. 153

5.6.8 Tanadan keyin aqlni teskari aylantirishdan do while tsikliga aylanish uchun operator. 154

5.6.9. Operatorning uzilishi. 155

5.6.10 Davom etish operatori. 155

5.6.11 Kommutatorni tanlash operatori. 155

5.6.12 Goto operatori. 157

5.6.13 Virazu operatori. 158

5.6.14 Pastki dasturlardan qaytish operatori. 158

5.6.15 Bo'sh operator. 158

5.7. C-51 dasturlashdagi o'zgarishlarimdan hayratda qoldim. 159

5.7.1. O'zgarishdan hayratda. 159

5.7.3 Ma'lumotlar turlarining maqsadlari. 161

5.7.4 Suzuvchi bo'lakli raqamlar. 162

5.7.5 Xavfsiz o'ynash uchun yovuz turlar. 162

5.7.6. C-51 dasturida hayratga tushgan massivlar. 164

5.7.7. Tuzilmalar.. 165

5.7.8. Ob'ednannya (sumishi) 166

5.8. Vikoristannya filmi C-51 167 da namoyish etilmoqda

5.8.1. Hayratda qolgan namoyishchilar. 167

5.8.2. Tiplanmagan ko'rsatkichlar. 168

5.8.3. Eskirgan displeylar xotirasi. 169

5.9. Yangi turdagi o'zgarishlarning hayratlanarliligi 169

5.10. Ma'lumotlarni ishga tushirish 170

5.11. Vikoristannya subprogram u moví dasturlash S-51. 170

5.11.1. Muhim kichik dastur.. 171

5.11.2. Mikrodastur parametrlari 173

5.11.3. Oldinga quyi dasturlash 174

5.11.4 Viklik kichik dasturi.. 176

5.11.5 Rekursiv chaqiruv kichik dasturi. 176

5.11.6 Kichik dasturlarni to'xtatish. 177

5.11.7 O'zgarishlar sohalari va kichik dasturlar. 178

5.12. Rich modul dasturlari 179

6-bob. Keil mVision2 integratsiyalashgan yadrosi uchun dasturlarni tayyorlash. 182

6.1 Mening loyihamni yaratish ASM-51 182

6.2 Mening C loyiham tomonidan Keil mVision2 188 integratsiyalashgan yadrosidagi dastlabki kontroller uchun yaratilgan ilova

7-bob. Dastlabki boshqaruvchining tavsifi. 199

7.1. Nazoratchi tuzilishi 199

7.2. Manzil maydoni 200

7.2.1. Xotirani ajratdi. 200

7.2.2 Tashqi xotira. 201

7.2.3. Ma'lumotlarning ichki xotirasi. 202

7.3. O'rnatish va olib tashlash uchun portlar ro'yxati 202

7.4. Ketma-ket port………………………………203

7.5. Robot z RKI 205

7.6. Tekshirish panellari………………………………………………………213

Qo'shimcha P2 LAB ROBOT HAQIDAGI HISOBOT TUZILISHI……..217

Qo'shimcha P3 Kodi mashinasi buyruqlari. 217

Adabiyotlar... 224


Kirish

Texnologik jarayonlar va ishlab chiqarishni avtomatlashtirish bilan bog'liq o'zlashtirilgan mutaxassisliklarda mikrokontrollerlarni ishlab chiqish muhim bo'limlardan biridir.

Dunyo uzluksiz rivojlanishni va yangi va yangi 16 va 32 bitli mikrokontrollerlar va mikroprotsessorlarning paydo bo'lishini boshdan kechirmoqda, ammo engil mikroprotsessorlar bozorining eng katta qismi hali ham 8 bitli qurilmalar uchun yo'qolib bormoqda. Analitik kompaniyalarning barcha prognozlariga ko'ra, yorug'lik bozorida 8 bitli mikrokontrollerlarning etakchi mavqei yaqin kelajakda saqlanib qoladi.

Hozirgi vaqtda barcha 8-bitli mikrokontrollerlar orasida MCS-51 oilasi navlar soni va uning modifikatsiyalarini ishlab chiqaradigan kompaniyalar soni bo'yicha shubhasiz etakchi hisoblanadi. U o'z nomini o'z oilasining birinchi vakili - 8051 mikrokontrolleri nomidan oldi.Periferik qurilmalar to'plamiga qo'shimcha ravishda tashqi yoki ichki dastur xotirasini tanlash imkoniyati va maqbul narx Bizga mikrokontrollerning muvaffaqiyati ahamiyat bermadi. bozor.

MCS-51 oilasining afzalliklari:

· arxitektura, bu de-fakto standarti;

· Oilaning haddan tashqari kengligi va imkoniyatlar xilma-xilligi;

· Protsessorlarning yuqori mahsuldor va ilg'or versiyalarining mavjudligi;

· Keng tarqalgan dasturiy va apparat variantlari soni sezilarli;

· Apparatli dasturlash, shu jumladan ichki sxemalarni dasturlash qulayligi;

· Asosiy chiplarning arzonligi va mavjudligi;

· Maxsus aqllar uchun kontrollerlarning maxsus versiyalarining mavjudligi

· Elektromagnit o'tish davrining pasaytirilgan darajasiga ega kontroller versiyalarining mavjudligi;

· Dunyoda ham, LIC mamlakatlarida ham keksa avlod bolalari orasida keng ommalashganligi;

· Arxitekturani yorug'likning etakchi tamoyillari bilan qo'llab-quvvatlash.

Va bilasizmi, asosiy afzallik: oilaning asosiy chipini o'zlashtirgandan so'ng, Cygnal, Dallas Semiconductor, Analog Devices, Texas Instruments mikrokontrollerlari kabi hisoblash hayvonlari bilan ishlashni boshlash oson.

MCS-51 oilasining zaxirasi eng oddiy mikrokontrollerlardan tortib bir nechta katlamali mikrosxemalarga qadar butun qatorni o'z ichiga oladi. Bugungi kunda 8051 oilasining mikrokontrollerlarining 200 dan ortiq modifikatsiyalari mavjud bo'lib, ular 20 ga yaqin kompaniya tomonidan ishlab chiqariladi. Tez orada bu oila vakillarining yangi variantlari paydo bo'ladi.

Rivojlanishning asosiy yo'nalishlari:

· Tezlikni oshirish kodi (ko'tarilgan soat chastotasi va qayta ishlangan arxitektura);

· kuchlanish va energiya sarfini kamaytirish;

· Ichki sxemalarni dasturlash imkoniyati bilan chipda operativ xotira va FLASH xotiradan foydalanishni oshirish;

· Drayv tizimlari, CAN va USB interfeyslari va boshqalar kabi katlama qurilmalari uchun mikrokontrollerning tashqi qurilmalari ombori bilan tanishish.

MCS-51 oilasining mikrokontrollerlari turli xil qurilmalarni boshqarishni sozlash, shuningdek, analog sxemalarning turli komponentlarini amalga oshirish imkonini beradi. Ushbu oilaning barcha mikrosxemalari bir xil buyruq tizimi bilan ishlaydi. Ularning ko'pchiligi yangi qutilarga o'rnatiladi, undan qochib qutulasiz (ish uchun bazani raqamlash). Bu sizga turli kompaniyalar - ishlab chiqaruvchilarning mikrosxemalarini qurilma va dasturlarning sxemalarini qayta ishlamasdan ishlatish imkonini beradi.

Dunyodagi 51-oiladagi turlarning asosiy ishlab chiqaruvchilari: Philips, Siemens, Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Gold Star, Winbond, Silicon Systems va boshqalar.

Kengaytirilgan imkoniyatlarga ega MCS-51 oilasining mikrokontrollerlari (Intel 8XC51FA, 8XC51GB, 80C152) analoglarining xarakteristikalari jadvalda keltirilgan. IN 1.

B.1-jadval

Ram ROM RSA ADC WDT T/C Slayd Kanallar Xususiyatlari
Atmel: AT89C2051
- - - - UART Flash 2 KB
AT89C4051 - - - - UART Flash 4 KB
AT89S4D12 128 ming - - - UART, SPI Flash 4 KB
DALLAS yarimo'tkazgich: DS5000FP
- - - + UART Bootstrap yuklovchi
DS5001FP - - - + UART Bootstrap yuklovchi
DS8xC520 16K - - + 2xUART 2 DPTR
SIEMENS: C505C
16K - + + UART, CAN 8 DPTR
C515C 64 ming - + + UART+ SSC+CAN 4 PWM, 8 DPTR
Philips: *89C51RA+
- + - + UART 2 DPTR, 4 lvl. rev., soat tugashi, Flash 8K
P51XAG1x 8K - - + 2 UART
Intel: 8xC51RA
8K - + + UART 4 darajali IRQ, soat tugashi
8XC196KC 64 ming 16K - + - UART 3 PWM
80C196KB 64 ming 8K - + - UART PWM

1-bo'lim. MCS51 oilasining arxitekturasi

MCS-51 oilasining 8 bitli bir chipli mikrokontrollerlari arxitektura dizayniga qarab mikroprotsessorli boshqaruv tizimlarini ishlab chiquvchilar orasida katta shuhrat qozondi. Mikrokontroller arxitekturasi ichki va tashqi dasturiy ta'minotdan foydalanish mumkin bo'lgan apparat resurslari va buyruq tizimlari to'plamidir. MCS-51 oilasining arxitekturasi sezilarli darajada uning ixcham va arzon raqamli qurilmalarni yaratish maqsadlaridan kelib chiqadi. Barcha mikro-EOM funktsiyalarini bitta mikrosxemaga birlashtirgan mikrokontrollerlar bitta chipli EOM (SOC) deb nomlangan.

Intel kompaniyasi Intel 8051 mikrokontrollerining operatsion yadrosi asosidagi 50 ga yaqin modellarni chiqardi.Ayni vaqtda Atmel, Philips kabi ko'plab boshqa kompaniyalar MCS-51 standartiga bo'lingan o'zlarining mikrokontrollerlarini ishlab chiqarishni boshladilar.

er osti xususiyatlari

Oilaning asosiy xususiyatlari:

· 8-bitli markaziy protsessor (CPU), kompyuter qurilmalarini boshqarishga yo'naltirilgan;

· Protsessor 8-bitli apparat ko'paytirish sxemasi bilan jihozlangan;

· Ko'rsatmalar to'plamida to'g'ridan-to'g'ri adreslangan bitlar bilan ishlash bo'yicha ko'p sonli operatsiyalar mavjudligi bitli ma'lumotlar bilan ishlash uchun protsessor haqida gapirish imkonini beradi (Mantiqiy protsessor);

· Har kuni ba'zi versiyalarda hajmi 4 dan 32 KB gacha bo'lgan turli kristallar uchun bo'lishi mumkin bo'lgan maskalangan yoki qayta dasturlashtirilgan turdagi ichki (kristalda aylantirilgan) dastur xotirasi;

· Tashkilot, ro'yxatga olish banklari, stek va ma'lumotlarni saqlash uchun ishlatiladigan kamida 128 bayt rezident ma'lumotlar operativ xotirasi;

· Axborotni kiritish yoki chiqarish uchun alohida sozlanishi mumkin bo'lgan kamida 32 ta ikki tomonlama interfeys liniyalari (portlar);

· tashqi jarayonlarni saqlash, vaqt soatlarini tashkil qilish va aloqa portini soatlash uchun ishlatiladigan ikkita 16-bitli ko'p rejimli shifo beruvchilar/taymerlar;

· Ikki tomonlama dupleks asinxron qabul qiluvchi (UART), mikrokontroller va axborot uzatish tezligining keng diapazoniga ega tashqi qurilmalar o'rtasida aloqa kanallarini tashkil qilish uchun ishlatiladi. Ê bog'liq tizimda mikrokontrollerlarning apparat va dasturiy integratsiyasi uchun xususiyatlar;

· 4 ta ichki va 2 ta tashqi suv oqimidan kamida 5 ta sug'orish vektorini qo'llab-quvvatlaydigan ichki ustuvor sug'orish tizimi;

· Ichki soat generatori.

Blok diagrammasi

Tekshirish moslamasining blok diagrammasi 1.1-rasmda keltirilgan va quyidagi asosiy funksional birliklardan iborat: boshqaruv bloki, arifmetik-mantiqiy blok, taymer/dispenser bloki, ketma-ket interfeys va uzilish bloki, dastur boshqaruvchisi, xotira. ma'lumotlar va dastur xotirasi. Ikki tomonlama aloqa ichki 8 bitli ma'lumotlar shinasi orqali amalga oshiriladi. MCS-51 oilasining deyarli barcha vakillari ushbu sxema bo'yicha yaratilgan. Ushbu oilaning turli mikrosxemalari maxsus maqsadli registrlarga (registrlar va portlar soni) bo'linadi.

Vaqt va nazorat bloki- barcha ruxsat etilgan ish rejimlarida OEOM birliklarining integral ishlashini muvofiqlashtirishni ta'minlash uchun vibratsiyali sinxronizatsiya va boshqaruv signallari uchun maqsadlar. Omborni boshqarish bloki quyidagilarni o'z ichiga oladi:

kelajakda soat oraliqlarini shakllantirish;

kirish-chiqish mantig'i;

buyruq registri;

elektr ta'minotini boshqarish reestri;

buyruq dekoderi, EOM boshqaruv mantig'i.

Kichik 1.1. I8051 kontrollerining blok diagrammasi.

Soat oraliqlarini shakllantirish uchun qurilma Ichki fazali soat signallari, takt sikllari va sikllarini shakllantirish va shakllantirish uchun mo'ljallangan. Mashina davrlarining soni buyruqlar ketma-ketligining murakkabligini bildiradi. Deyarli barcha OEOM buyruqlari bir yoki ikkita mashina siklida bajariladi, ko'paytirish buyruqlari bundan mustasno va ularning ahamiyatsizligi bir nechta mashina tsikllarida sodir bo'ladi. F r orqali o'rnatiladigan generatorning sezilarli darajada chastotasi. Mashina aylanishining chastotasi 12/F ni tashkil qiladi yoki o'rnatiladigan generator signaliga 12 davrni o'rnating. Kirish-chiqish mantig'i P0-P3 kirish-chiqish portlari orqali tashqi qurilmalardan ma'lumotlar almashinuvini ta'minlovchi signal turlarini qabul qilish uchun mo'ljallangan.

Buyruqlar reestri Yozib olishdan maqsad qo'shilayotgan buyruqning 8 bitli kodini saqlashdir. Amaliyot kodi buyruq dekoderi va EOM boshqaruv mantig'i yordamida buyruqning mikrodasturiga aylantiriladi.

A'zolikni nazorat qilish registri (PCON) Iste'mol qilinadigan elektr energiyasi miqdorini o'zgartirish va mikrokontrollerdan kirish darajasini o'zgartirish uchun mikrokontroller robotini o'zgartirishga imkon beradi. Elektr energiyasi miqdorining yanada katta o'zgarishiga va transkodning o'zgarishiga uni o'rnatuvchi mikrokontroller generatorini o'chirish orqali erishish mumkin. Bunga PCON bilan bog'liq holda bit registrini teskari o'zgartirish orqali erishish mumkin. N-MOS texnologiyasidan foydalangan holda ishlab chiqarilgan versiya uchun (1816 seriyali yoki nomlari o'rtasida "c" harfi bo'lgan xorijiy mikrosxemalar) PCON registrlari SMOD seriyali portining silliq uzatilishini ta'minlaydigan faqat bitta bitni o'z ichiga oladi. har kuni elektr ta'minotiga ulanish.

Arifmetik mantiq birligi (ALU) arifmetik va mantiqiy operatsiyalarning keng doirasini ta'minlovchi parallel sakkiz bitli qurilma. ALU quyidagilardan iborat:

akkumulyator registrlari, vaqtni tejash registrlari TMP1 va TMP2;

PZP konstantalari;

sumatora;

qo'shimcha registr (B registri);

batareya (ACC);

registr dasturga (PSW) aylanadi.

Registr batareya va vaqtni tejash registri- sakkiz bitli registrlar, operandlarni ular ustidagi operatsiyalarni bajarish soatiga yozib olish va saqlash uchun mo'ljallangan. Ushbu registrlarga dasturli kirish imkoni yo'q.

Doimiy ROM o'ninchi ma'lumotlarni taqdim etishda tuzatilgan kodni, bit operatsiyalari paytida niqob kodini va doimiy kodni yaratishni ta'minlaydi.

Parallel sakkiz bitli sumator arifmetik qo'shish, qo'shish va mantiqiy qo'shish, ko'paytirish, noaniqlik va o'ziga xoslik operatsiyalarini hisoblash uchun mo'ljallangan, keyingi ko'chirish bilan kombinatsiyalangan turdagi sxema.

Ro'yxatdan o'tish B- ko'paytirish operatsiyasi davomida o'zgartiriladigan sakkiz bitli registr. Boshqa ko'rsatmalar uchun u qo'shimcha operatsion registr sifatida ko'rib chiqilishi mumkin.

Batareya- arifmetik-mantiqiy amallar yoki amallarni bajarish jarayonida olingan natijani qabul qilish va saqlash uchun sakkiz xonali registr.

Seriyali interfeys bloki (SIP) kiritishni tashkil qilish maqsadlari - keyingi ma'lumotlar oqimini ko'rsatish va dasturni to'xtatish tizimini tashkil qilish. Ombor blokiga quyidagilar kiradi:

PIP buferi;

mantiqiy keruvannya;

nazorat registri;

uzatish buferi;

asosiy bufer;

ketma-ket port qabul qiluvchi;

ustuvorlik registrini to'xtatish;

registrni to'xtatishga ruxsat beriladi;

Praporshrlarni qayta ishlash mantig'i uziladi va vektor tebranish sxemasi.

Buyruqlar hisoblagichi (Dastur hisoblagichi) Ichki dastur xotirasining tishli 16-bitli manzilini va tashqi dastur xotirasining 8/16-bitli manzilini shakllantirish maqsadlari. Buyruqlarni saqlash ombori 16-bitli shaxsiy kompyuter buferini, shaxsiy kompyuter registrini va o'sish sxemasini (1 ga oshirilgan) o'z ichiga oladi.

Ma'lumot xotirasi (RAM) Dasturni o'rnatish jarayonida to'plangan ma'lumotlarni soatlab tejash uchun mo'ljallangan.

Porti P0, P1, P2, P3 U OEOM ma'lumotlarini tashqi qurilmalar bilan almashishni ta'minlash uchun kvazi ikki tomonlama kirish-chiqish portlariga ega bo'lib, 32 ta kirish-chiqish liniyasini yaratadi.

Ro'yxatdan o'tish dasturga aylanadi (PSW) Dasturni o'rnatish vaqtida LSA zavodi haqidagi ma'lumotlarni saqlash maqsadlari.

Dastur xotirasi (EPROM) Dasturlar va doimiy xotira qurilmalarini (ROM) saqlash uchun mo'ljallangan. Ba'zi mikrosxemalar ultrabinafsha ta'sirida yoki FLASH ROM orqali o'chirilishi mumkin bo'lgan turg'un niqoblarga ega.

Ma'lumotlarni ko'rsatish registri (DPTR) tashqi ma'lumotlar xotirasining 16 bitli manzilini saqlash uchun mo'ljallangan.

Stack indikatori (SP) Bu ma'lumotlar xotirasining maxsus maydonini (stek) tashkil qilish uchun ishlatiladigan sakkiz bitli registr bo'lib, unda siz istalgan hajmdagi xotirani tezda saqlashingiz mumkin.

1.3 8051 mikrokontroller komponentlarining maqsadi(1.2-rasm)

· U ss - er osti drotuning ("yer") salohiyati;

· U cc - asosiy besleme kuchlanishi +5 V;

· X1, X2 – kvarts rezonatorini ulash uchun ulagichlar;

· RST - mikrokontrollerning kiritilishi;

· PSEN - tashqi dastur xotirasini faqat yangi ROMga yangilanganda ko'rishga ruxsat berilgan;

· ALE – tashqi xotira manzilining strobi;

· EA - ichki dastur xotirasini yoqish; 0 darajasi, bunda kirish mikrokontroller dasturni faqat tashqi PZP dan to'xtatishga olib keladi; Ichki narsalarni e'tiborsiz qoldirish (qolgandek);

Kichik 1.2. 8051 pinlarini tayinlash.

· P1 - sakkiz bitli kvazi-ikki tomonlama kirish/chiqish porti, har bir port boshqa toifalardan mustaqil ravishda axborotni kiritish va chiqarish uchun ham dasturlashtirilishi mumkin;

· P2 sakkiz bitli kvazi ikki yo‘nalishli port bo‘lib, P1 ga o‘xshaydi, uning pinlari dastur yoki ma’lumotlar tashqi xotiraga yuklanganda manzil ma’lumotlarini ko‘rsatish uchun ishlatiladi (chunki 16 bitli adreslash ishlatiladi). qolish). Bundan tashqari, mikrokontrollerga yuqori tartibli manzillarni kiritish uchun dasturlashtirilganda port pinlari tanlanadi;

· RZ - P1 ga o'xshash sakkiz bitli kvazi ikki yo'nalishli port, uning pinlari bir qator muqobil funktsiyalar bilan jihozlanishi mumkin, masalan, taymerlarning ishlashida ishlatiladiganlar, ketma-ket kirish-chiqish porti, uzilishni boshqarish moslamasi , va tashqi dastur xotirasi o'ljalari;

· P0 - axborotni kiritish-chiqarish uchun sakkiz bitli ikki yo'nalishli portni multiplekslash, bu port orqali manzil va ma'lumotlarning past bayti turli vaqtlarda chiqariladi.

Xotirani tashkil etish

Butun MCS-51 seriyasi manzilli dastur va ma'lumotlar xotirasini ta'minlash uchun Garvard arxitekturasidan foydalanadi. Xotiraning tuzilishi rasmda ko'rsatilgan. 1.3.

Kristalda saqlanadigan ichki (rezident) dastur xotirasi (ROM, EPROM yoki OTP ROM) miqdori mikrosxema turiga qarab 0 (ROMsiz), 4K (asosiy kristall), 8K, 16K yoki 32K ga o'rnatilishi mumkin. Iste'mol qilish uchun siz o'rnatilgan tashqi PZP ning dastur xotirasini kengaytirishingiz mumkin. Ichki yoki tashqi PZP ga kirish EA (Tashqi kirish) chiqishidagi signal qiymatlariga tayinlanadi:

EA = V cc (hayot kuchlanishi) - ichki PZPga kirish;

EA = V ss (er potentsiali) - tashqi ROMga kirish.

PZP (ROMsiz) bo'lmagan kristallar uchun EA ulanishlari V ss ga doimiy ravishda ulanishi talab qilinadi.

Kichik 1.3. MCS-51 oilasining xotira tashkiloti

Tashqi PZP-ni o'qish uchun Strobe - (Dastur do'konini yoqish) dastur tashqi xotiraga yuklab olinganda hosil bo'ladi va chipda joylashgan PZP-ga yuklab olish vaqtida faol bo'lmaydi. Dastur xotirasining pastki manzillari maydoni tizim tomonidan to'xtatiladi. 8051 yadroli chip arxitekturasi besh funktsiyani qo'llab-quvvatlaydi:

· ikkita tashqini to'xtatish;

· taymerlarni ikki marta uzib qo'yish;

· Seriyali portning uzilishi.

Shaklda. 1.4-rasmda dastur xotirasining pastki maydoni xaritasi ko'rsatilgan.

Kichik 1.4. Dastur xotirasining pastki maydoni xaritasi

Dastur xotirasi (PPM)

8051 oilasining mikrokontrolörlarida dastur xotirasi va ma'lumotlar xotirasi mustaqil va mustaqil qurilmalar bo'lib, ular boshqariladigan turli buyruqlar va signallar bilan murojaat qilinadi.

8051 mikrokontroller chipida joylashgan saqlangan dastur xotirasining hajmi 4 KB gacha (oiladagi 32 tagacha). Dasturlarni yangi xotiraga o'chirishda 8051 oilasining barcha mikrokontrollerlari doimo 64 KB ROMga kirishni ta'minlaydigan 16 bitli manzildan foydalanadilar. Mikrokontroller operatsion kod va operandlarni o'qish vaqtida dastur xotirasiga o'tadi (kompyuter buyruq protsessori) va baytni dastur xotirasidan batareyaga ko'chirish buyruqlarini yuboradi. Ushbu buyruqlardan foydalanganda ma'lumotlarni nusxalash ma'lumotlar o'qiladigan dastur xotirasining o'rtasida joylashgan bo'lib, shaxsiy kompyuter ma'lumotlar boshqaruvchisi va DPTR maxsus ikki baytli ma'lumotlar registri bilan o'zaro aloqada bo'lishi mumkin.

Hurmat xotirasi (MP)

Chipda saqlanadigan ma'lumotlar xotirasining hajmi 128 baytni tashkil qiladi. Tashqi ma'lumotlar xotirasining hajmi 64 KB gacha yetishi mumkin. Birinchi 32 bayt birlamchi ahamiyatga ega bo'lgan registrlarning to'rtta bankiga ajratilgan bo'lib, ular bank 0 - bank 3 deb belgilanadi. Ularning har biri sakkizta R0-R7 registrlaridan iborat. Istalgan vaqtda dasturda registrlarni manzillashda faqat bitta registrlar banki mavjud bo'lib, ularning soni so'zning uchinchi va to'rtinchi bitlarida joylashgan PSW dasturiga aylanadi.

8051 mikrokontrollerning bit xotira maydoni manzillari

1.1-jadval

Bayt manzillari (Hex) Darajalar bo'yicha janglarning manzillari
D7 D6 D5 D4 D3 D2 D1 D0
2F 7F 7E 7D 7C 7B 7A
2E
2D 6F 6E 6D 6C 6B 6A
2C
2B 5F 5E 5D 5C 5B 5A
2A
4F 4E 4D 4C 4B 4A
3F 3E 3D 3C 3B 3A
2F 2E 2D 2C 2B 2A
1F 1E 1D 1C 1B 1A
0F 0E 0D 0C 0B 0A
20 soat

Yo'qotilgan manzil maydonini ishlab chiquvchi o'z xohishiga ko'ra sozlashi mumkin: u stek, tizim va shaxsiy ma'lumotlar maydonlarini joylashtirishi mumkin. Ushbu ma'lumotlarning xotirasini esga olish ikki yo'l bilan amalga oshirilishi mumkin. Birinchi usul - xotiraning o'rtasiga to'g'ridan-to'g'ri murojaat qilish. O'rtadagi qaysi turdagi manzil kiritish buyrug'ining operandi hisoblanadi. Yana bir usul - R0 yoki R1 qo'shimcha indikator registrlarini bilvosita adreslash: tashqi buyruq chiqishidan oldin, o'rtadagi manzillar ularni ochish zarurati tugaguncha ulardan biriga kiritilishi mumkin.

Ma'lumotlarni tashqi xotiraga o'tkazish uchun qo'shimcha R0 va R1 registrlari yoki DPTR 16 bitli indikator registrlari uchun bilvosita manzillash talab qilinadi.

Ma'lumotlar xotirasining bir qismi bit maydoni bo'lib, unda maxsus bit buyruqlari yordamida o'rta xotiraning teri zaryadini hal qilish imkoniyati mavjud. To'g'ridan-to'g'ri adreslangan bitlarning manzillari ham xuddi shu tarzda yozilishi mumkin (AddressByte). (Bo'shatish). Ushbu ikki adreslash usulining dolzarbligini jadvalda ko'rish mumkin. 1.1.

Mikrokontroller arxitekturasi

Mikrokontrollerlarning murakkab arxitekturasi montaj tipidagi dasturlashning kalitidir. Assemblerning tuzilishi, uning ko'rsatmalari formati, operandlarning adreslanishi ham bevosita arxitektura tomonidan belgilanadi. Arxitekturani o'zgartirish usuli quyidagilardan iborat:

· Dasturlash uchun mavjud registrlar majmuasini, ularning funksional maqsadi va tuzilishini aniqlash;

· operativ xotira va tartibni oqilona tashkil etish;

· Ma’lumotlar turlaridan xabardorlik;

· Mashina buyruqlarining Vivchenya formati;

· Ishni tashkil qilishni to'xtatish.

MCS-51 oilasining arxitekturasi sezilarli darajada uning ixcham va arzon raqamli qurilmalarni yaratish maqsadlaridan kelib chiqadi. MK ning barcha funktsiyalari bitta mikrosxema yordamida amalga oshiriladi. MCS-51 oilasining zaxirasi eng oddiy mikrokontrollerlardan tortib bir nechta katlamali mikrosxemalarga qadar butun qatorni o'z ichiga oladi. MCS-51 oilasining mikrokontrollerlari turli xil qurilmalarni boshqarishni sozlash, shuningdek, analog sxemalarning turli komponentlarini amalga oshirish imkonini beradi. Ushbu oilaning barcha mikrosxemalari bir xil buyruqlar tizimi bilan ishlaydi, ularning ko'pchiligi chetlab o'tilgan bazaga ega bo'lgan yangi korpuslarga o'rnatiladi (ish uchun asoslarni raqamlash). Bu turli ishlab chiqaruvchilarning mikrosxemalarini (masalan, Intel, Dallas, Atmel, Philips va boshqalar) qurilma va dasturlarning sxemalarini qayta ishlamasdan ishlatish imkonini beradi.

MCS-51 Garvard arxitekturasiga asoslangan bo'lib, u erda dastur xotirasi va ma'lumotlarning manzilli bo'shliqlari ajratilgan.

Tekshirish moslamasining blok diagrammasi 2.3-rasmda keltirilgan va quyidagi asosiy funktsional birliklardan iborat: boshqaruv bloki, arifmetik-mantiqiy qurilma, taymerlar/dispenserlar bloki, ketma-ket interfeys va uzilish, dastur tarqatuvchi buyruqlar ro'yxati) , ma'lumotlar xotirasi va xotira yati dasturlari

Ikki tomonlama aloqa ichki 8 bitli ma'lumotlar shinasi orqali amalga oshiriladi. Keling, teri blokining ahamiyati haqidagi hisobotni ko'rib chiqaylik. MCS-51 oilasining deyarli barcha vakillari ushbu sxema bo'yicha yaratilgan. Ushbu oilaning turli mikrosxemalari maxsus maqsadli registrlarga (registrlar va portlar soni) bo'linadi. MCS-51 oilasining barcha kontrollerlarining buyruqlar tizimi 1, 2 yoki 3 bayt formatidagi 111 ta asosiy buyruqni o'z ichiga oladi va bir mikrosxemadan ikkinchisiga o'tishda o'zgarmaydi. Bu dasturlarning bir mikrosxemadan ikkinchisiga mo''jizaviy tarzda ko'chirilishini ta'minlaydi.

Boshqarish va sinxronizatsiya bloki(Vaqt va nazorat) barcha ruxsat etilgan ish rejimlarida OEOM birliklarining umumiy ishlashini muvofiqlashtirishni ta'minlash uchun sinxronizatsiya va nazorat signallarini yaratish maqsadlari. Omborni boshqarish bloki quyidagilarni o'z ichiga oladi:


  • soat oraliqlarini shakllantirish uchun qurilma,
  • kombinatsiyalangan joriy etish-olib tashlash sxemasi,
  • buyruq registri,
  • buyruq dekoderi.

Dam olish kunlari va dam olish kunlari signallarni boshqarish va sinxronlashtirish blokiga:

1 PSEN- dastur xotirasini alohida saqlash;

2 ALE- manzilni tuzatishga ruxsat berish uchun chiqish signali;

3 PROG- signallarni dasturlash;

4 E.A.– robotni ichki xotiradan bloklash;

5 VPP- kuchlanishni dasturlash;

6 RST- Zagalni tashlash signali.

Qurilma CPU to'xtashlari ketma-ketligini sinxronlashtirish, mashina aylanishini saqlash va barcha ichki terminallar va chiqish porti buferlarining to'g'ri ishlashini ta'minlash uchun zarur bo'lgan soat oraliqlarini yaratadi. Mashina tsikli S1 dan S6 gacha bo'lgan oltita yakuniy holatdan (shtatlardan) iborat bo'lib, ular o'z navbatida ikki bosqichga bo'lingan:

1-bosqich (1-bosqich - P1) va 2-bosqich (2-bosqich - P2). Shunday qilib, mashina siklini S1P1, S1P2, S2P1, ..., S6P2 soatlik intervallar ketma-ketligi sifatida o'lchash mumkin. Fazaning davomiyligi to'g'ridan-to'g'ri taktli impulslar davri bilan bir xil, shuning uchun mashina aylanishi 12 takt davrini oladi.

Mashina davrlarining soni buyruqlar ketma-ketligining murakkabligini bildiradi. Deyarli barcha buyruqlar bir yoki ikkita mashina siklida bajariladi, bir nechta mashina siklida bajarilishi mumkin bo'lgan ko'paytirish buyruqlaridan tashqari. Kirish-chiqish mantig'i P0-P3 kirish-chiqish portlari orqali tashqi qurilmalardan ma'lumotlar almashinuvini ta'minlovchi signal turlarini qabul qilish uchun mo'ljallangan.

Buyruqlar reestri Yozib olishdan maqsad qo'shilayotgan buyruqning 8 bitli kodini saqlashdir. Amaliyot kodi buyruq dekoderi va EOM boshqaruv mantig'i yordamida buyruqning mikrodasturiga aylantiriladi.

Guruch. 2.3. Intel 8051 bitta chipli mikrokontrollerning blok diagrammasi

(MCS-51 uyi)

Arifmetik-mantiqiy qurilma(ALU) har xil arifmetik va mantiqiy amallarni ta'minlovchi parallel sakkiz bitli qurilma. ALU quyidagilardan iborat:

  • vaqtni tejash registrlari -TMP1 va TMP2,
  • ROM konstantalari,
  • sumatora,
  • qo'shimcha registr - ro'yxatdan o'tish,
  • batareya - ACC,
  • so'zning reestri dasturga aylanadi (praporshchilar reestri) - PSW.

Vaqtni tejash registrlari TMP1, TMP2- sakkiz bitli registrlar, operandlarni ular ustidagi operatsiyalarni bajarish soatiga yozib olish va saqlash uchun mo'ljallangan. Ushbu registrlarga dasturli kirish imkoni yo'q.

Doimiy ROM o'ninchi ma'lumotlarni taqdim etishda tuzatilgan kodni, bit operatsiyalari paytida niqob kodini va doimiy kodni yaratishni ta'minlaydi.

Parallel sakkiz bitli sumator arifmetik qo'shish, qo'shish va mantiqiy qo'shish, ko'paytirish, noaniqlik va o'ziga xoslik operatsiyalarini hisoblash uchun mo'ljallangan, keyingi ko'chirish bilan kombinatsiyalangan turdagi sxema.

Ro'yxatdan o'tish B- ko'paytirish operatsiyasi davomida o'zgartiriladigan sakkiz bitli registr. Boshqa ko'rsatmalar uchun u qo'shimcha operatsion registr sifatida ko'rib chiqilishi mumkin.

Batareya- arifmetik-mantiqiy amallar yoki saqlash operatsiyalari natijasida olingan natijani qabul qilish va saqlash uchun sakkiz xonali registr.

Ro'yxatdan o'tish PSW dasturiga aylanadi (Programm Status Word) So'zni saqlab qolish uchun men imzolanadigan buyruqlarga aylanaman. Ko'p sonli ALU buyruqlari kiritilganda, dastur so'zi (PSW) registrida qayd etilgan bir qator operatsiya belgilari (belgilari) hosil bo'ladi. Jadvalda 1-rasmda PSW bayroqlarining tarjimasi tasvirlangan, ularning ramziy nomlari berilgan va aqliy shakllanishi tasvirlangan.

Seriyali interfeysni uzish uchun blok - UART (Universal asinxron qabul qiluvchi/uzatuvchi) kiritishni tashkil qilish maqsadlari - keyingi ma'lumotlar oqimini ko'rsatish va dasturni to'xtatish tizimini tashkil qilish.

Oxir oqibat, uzilish robot uskunalari va dasturlari tomonidan qo'zg'atilgan turli xil rejalashtirilgan va rejalashtirilmagan harakatlarning bajarilishini hisoblashning asosiy jarayonini ko'p vaqt talab qiladigan amalga oshirishni anglatadi.

Ushbu harakatlar xizmat ko'rsatish xarakteriga ega bo'lishi mumkin, ular yonma-yon xizmat ko'rsatish dasturlari tomonidan quvvatlanadi yoki odatiy vaziyatlarga javob beradi.

OMEOM buyruqlar tizimi ma'lumotlarni qayta ishlashning ajoyib imkoniyatlarini ta'minlaydi, mantiqiy, arifmetik operatsiyalarni amalga oshirishni ta'minlaydi, shuningdek real vaqt rejimida nazorat qiladi. Bitma-bit, tetrad-bit (4 bit), bayt-bayt (8 bit) va 16 bitli ma'lumotlarni qayta ishlash amalga oshirildi.

MCS-51 oilasining BIS 8-bitli OMEOM hisoblanadi: ROM, RAM, maxsus maqsadli registrlar, ALU va tashqi avtobuslar bayt tashkilotiga ega. Ikki baytli ma'lumotlar faqat displey registri (DPTR) va buyruqlarni tozalash vositasi (PC) tomonidan qayta ishlanadi. E'tibor bering, ma'lumotlar registrlari ikki baytli DPTR registrlari yoki ikkita bir baytli maxsus maqsadli registrlar DPH va DPL bo'lishi mumkin. Buyruqlarni tozalash vositasi har doim ikki baytli registr sifatida ishlatiladi.

OMEOM buyruqlar to'plami tizimning 33 funktsiyasini belgilash uchun 42 ta mnemonik buyruqlarni o'z ichiga oladi.

Assembler tili buyruqlarining ko'pchiligi sintaksisi mnemonik funktsiyani belgilashdan iborat bo'lib, undan so'ng adreslash usullari va ma'lumotlar turlarini ko'rsatadigan operandlar keladi. Har xil ma'lumotlar turlari va manzillash rejimlari mnemonik qiymatlarning o'zgarishi bilan emas, balki operandlarning kiritilishi bilan ko'rsatiladi.

Buyruqlar tizimini aqliy jihatdan besh guruhga bo'lish mumkin:

Operandlarni manzillashning quyidagi turlari mavjud:

  • Baza va indeks registrlari yig'indisidan tashqari bilvosita registr manzili

Buyruqlar tizimida ishlatiladigan belgilar jadvali

Uchrashuv, belgi Topshiriq
A Batareya
Rn Oqimga asoslangan registrlar bankining reestri
r Jamoa tomonidan belgilangan reestrning raqami
bevosita 8-bitli ichki ma'lumotlar manzili to'g'ridan-to'g'ri murojaat qilinadi, bu ichki ma'lumotlarning o'rtasi bo'lishi mumkin RAM (0-127) yoki SFR (128-255)
@Rr Ichki ma'lumotlar RAMning 8 bitli o'rtasiga bilvosita murojaat qilish
ma'lumotlar 8 COPdan oldin kiritish uchun o'rtasiz 8-bit beriladi
ma'lumotlarH O'rta 16 bitli ma'lumotlarning yuqori bitlari (15-8).
ma'lumotlarL Young beats (7-0) o'rta 16-bitli ma'lumotlar
manzil11 11-bitli manzil manzillari
addrL Yoshlar tan olish manzillari
disp8 Belgisi bilan 8-bitli almashinish bayti
bit To'g'ridan-to'g'ri adreslashdan bit, uning manzili ma'lumotlarning ichki OCP yoki SFRda joylashgan COPni joylashtiradi.
a15, a14...a0 Bit manzillari va topshiriqlari
(X) X elementi o'rniga
((X)) X elementida saqlangan manzil o'rniga
(X)[M] X elementining zaryadsizlanishi

+
-
*
VA
YOKI
XOR
/X
Operatsiyalar:
qo'shimcha
vidnimannya
ko'paytirish
quyida
mantiqiy ko'paytirish (I operatsiya)
mantiqiy katlama (ABO operatsiyasi)
2-moduldan keyin qo'shilgan (ABO o'z ichiga oladi)
X elementning inversiyasi

Mnemonik funksiyalarni tayinlash manzillash usullari va ma'lumotlar turlarining o'ziga xos kombinatsiyalari bilan noyob tarzda bog'langan. Buyruqlar tizimida 111 ta shunday yozuv bo'lishi mumkin. Jadvalda alifbo bo'yicha tartiblangan buyruqlar ro'yxati mavjud.

Mnemonika Funktsiya Prapori
ACALL buyrug'i Mutlaq wiklik pastki dasturlari
Dodavannya AC, C, OV
O'tkazilgan narsaga qo'shildi AC, C, OV
AJMP jamoasi Mutlaq o'tish
Mantiqiy "men"
"Men" o'zgarish zarbalari uchun mantiqiyroq C
Bir nechta bo'lgani uchun tekislash va o'tish C
CLR A buyrug'i Batareya tushishi
CLR buyrug'i Skidannya bita C, bit
CPL A jamoasi Batareyaning inversiyasi
CPL jamoasi Bit inversiyasi C, bit
DA A jamoasi Katlama uchun o'nlab batareyani tuzatish AC, C
DEC jamoasi<байт> Kamaytirish
DIV AB jamoasi Podil C, OV
DJNZ jamoasi<байт>, <смещение> Nolga teng bo'lmagan pasayish va o'tish
Team INC<байт> O'sish
INC DPTR buyrug'i Ma'lumotlar ko'rsatkichining o'sishi
JB jamoasi , Bit o'rnatilganda o'tish
JBC jamoasi , O'tish, bu bitni kiritish va o'chirishning bir qismi sifatida
JC jamoasi O'tish, agar uzatish o'rnatilgan bo'lsa
JMP @A+DPTR buyrug'i Bilvosita o'tish
JNB jamoasi , Bit o'rnatilmagan bo'lsa, o'tish
JNC jamoasi Agar uzatish o'rnatilmagan bo'lsa, o'tish
JNZ jamoasi O'tish, agar batareya o'rniga nolga teng bo'lmasa
JZ jamoasi O'tish, agar batareya o'rniga yangisi 0 bo'lsa
LCALL buyrug'i Dovgy Viklik
LJMP jamoasi Uzoq o'tish
Oldinga zminna-bayt
Oldinga bit ma'lumotlari C
MOV DPTR buyrug'i, #data16 Ma'lumotlar ko'rsatkichiga 16 bitli konstanta bilan izoh bering
MOVC buyrug'i A, @ A + ( ) Dastur xotirasidan bayt yuboring
Ma'lumotlarni tashqi xotiraga o'tkazish (tashqi xotiradan)
Ishlamayapti