Микроконтроллер MCS-51: програмын загвар, бүтэц, командууд. mcs51 гэр бүлийн микроконтроллерууд A. Бүрэлдэхүүн хэсгүүдийн нэмэлт шинж чанар, шинж чанарууд

Одоогийн байдлаар янз бүрийн компаниуд Intel болон бусад үйлдвэрлэгчдийн энэ гэр бүлийн аналогийг ямар ч өөрчлөлтгүйгээр гаргаж байгаа бөгөөд цагийн хурд, санах ой нь арав дахин нэмэгдэж, өссөөр байна. Суурилуулсан BIS модулиудын тоо нэмэгдсээр байгаа бөгөөд одоогийн олон тооны загварууд нь өндөр хурдны ADC-тэй байдаг бөгөөд энэ нь 12 хүртэл байж болох бөгөөд үүнтэй зэрэгцэн илүү их ялгадас гарч болзошгүй. Энэ нь 1980-аад онд анхны хувилбарууд нь гарсан Intel-ийн BIS 8051, 80С51, 8751, 87С51, 8031, 80С31-ийн MCS51 гэр бүлд суурилдаг.

Know -Mop N -MOP технологид зориулсан MCS51 Viconani-ийн микроконтролорууд (SERI 8XXXX, аналог - Rosya BILOUROSIA дахь SERI 1816) TA K -MOP технологи (SERI 8XXXXX, аналог - SERI 1830). Өөр нэг тэмдэгт, дараа нь 8 нь: 0 - болор дээр ROM байхгүй, 7 - хэт ягаан туяа баллууртай 4K ROM гэсэн үг. Гурав дахь тэмдэгт: 3 – ROM нь болор дээр, 5 – хэрэв ROM байхгүй бол болор дээр ROM маск байна.

І so 80С51 - Чип дээрх масктай ROM бүхий k-MOS технологид зориулсан BIS, 8031 ​​- Чип дээрх програмын санах ойгүй (ROM, RPOM) BIS n-MOS, 8751 - BIS n-MOS оршин суугч (чип дээр байрлуулсан) ) Хэт ягаан туяа арилгах чадвартай RPOM. Холоос бид BIS 8751-ийг харж болно, анхны цуваа BIS-д хэвлэгдсэн параметрүүдийг тохируулах, бусад хэлхээний шинж чанаруудын талаар болгоомжтой байхыг шаарддаг асуудлууд байдаг. Шаардлагатай бол одоогийн бүх өөрчлөлтийн талаархи нэмэлт мэдээллийг компанийн зөвлөхүүд болон техникийн баримт бичгээс авах боломжтой.

А.Загалный шинж чанар, бэлгэдлийн ач холбогдол

MCS51 гэр бүлийн үндэс нь микроконтроллерийн таван өөрчлөлтөөс бүрддэг (үндсэн шинж чанаруудтай ижил), тэдгээрийн гол ялгаа нь санах ойн программын хэрэгжилт ба үйл ажиллагааны эрчмээс хамаардаг (хүснэгт 3.1). Найман битийн микроконтроллер, өөрөөр хэлбэл. Энэ нь найман битийн үг боловсруулах командуудыг ашигладаг, Харвардын архитектурыг ашигладаг, гэр бүлийн үндсэн төхөөрөмжүүдийн цагийн давтамж нь 12 МГц юм.

Хүснэгт 3.1.

Микро хэлхээ

Програмын дотоод санах ой, байт

Програмын санах ойн төрөл

Өгөгдлийн дотоод санах ой, байт

Цагийн давтамж, МГц

Түймрийн хэрэглээ, мА

MK 8051 ба 80C51 нь болорыг бэлтгэх явцад 4096 байт багтаамжтай маск програмчлах боломжтой ROM програмын санах ойг агуулдаг бөгөөд олноор үйлдвэрлэсэн бүтээгдэхүүнээс гардаг. MK 8751 нь хэт ягаан туяагаар арилгадаг 4096 байт RPOM-г агуулсан бөгөөд системийг дэвшилтэт программуудаар боловсруулах үе шатанд, мөн жижиг багцаар үүсгэх эсвэл процессын явцад чухал ач холбогдолтой системийг бий болгох үед гараар ашигладаг.

үе үе тохируулга.

MK 8031 ​​ба 80C31 нь хадгалагдсан програмын санах ойд саад болохгүй. Өөрчлөлт хийхээс өмнө дурдсанчлан тэдгээр нь 64 КБ хүртэлх гадаад програмын санах ойг ашиглах боломжтой бөгөөд чип дээр 4 КБ-аас их хэмжээтэй PZP програмын санах ой шаарддаг системд үр дүнтэй ажиллах боломжтой.

Kozhen MK гэр бүл нь гадаад IC RAM солилцоход дотоод өгөгдлийн RAM-ыг 64 КБ хүртэл өргөжүүлэх боломжтой тул 128 байт багтаамжтай суурин мэдээллийн санах ойтой.

    төв найман битийн процессор;

    програмын санах ой 4 KB (зөвхөн 8751 ба 87C51);

    өгөгдлийн санах ой 128 байт;

    Найман битийн програмчлагдсан оролт гаралтын портууд байдаг;

    хоёр 16 битийн олон горимын таймер/диспенсер;

    таван вектор, хоёр программын түвшний тэргүүлэх чиглэл бүхий автовекторуудын систем;

    дөрвөн горимд ажилладаг бүх нийтийн дуплекс дамжуулагчийг багтаасан эцсийн интерфейс;

    цагны генератор.

MK командын систем нь 1, 2 эсвэл 3 байт форматтай 111 үндсэн командыг агуулдаг. Микроконтроллер нь:

    R0... R7 нэртэй бүх регистрийн дагуу банк шиг зохион байгуулагдсан RON-ийг хууль ёсны дагуу хүлээн зөвшөөрөх 32 бүртгэл, аль банкны сонголтыг mi PSW програмын бүртгэлд утасны дугаар суулгах программ зааж өгсөн;

    128 программ хангамж-керамик тэмдэг (бит процессор, див. зай);

    MK элементүүдийг агуулсан тусгай функцүүдийн бүртгэлийн багц. Микроконтроллерийн дараах үйлдлийн горимууд байдаг.

1). Загалне скидання. 2).Хэвийн ажиллагаа. 3).Эрчим хүчний хэрэглээний горим болон сул зогсолтын горимыг багасгасан. 4). Оршин суугч RPZP-ийн програмчлалын горим дараах байдалтай байна.

Энд бид эхний хоёр роботын горимд анхаарлаа хандуулж, бүх горимд зориулсан MK роботын агуулахыг тодорхойлсон тайланг Хавсралт P1-д нэмж оруулсан болно.

Битийн процессорын RON бүс нь орон сууцны OZP-ийн хаягийн орон зайд 0-ээс 80 цаг хүртэлх хаягтай байрладаг.

Дээд бүсэд оршин суугч RAM-ийн хаяг, өргөтгөсөн тусгай функцийн бүртгэлүүд (SFR, тусгай функцийн бүртгэлүүд) байна. Эдгээр утгыг хүснэгтэд үзүүлэв. 3.2.

Хүснэгт 3.2.

Уулзалт

Нэр

Зай

Бүртгүүлэх Б

Бүртгэл нь програм болж хувирна

Стекийн үзүүлэлт

Өгөгдлийн үзүүлэн. 2 байт:

Бага байт

Өндөр байт

Тэргүүлэх бүртгэлийг тасал

Бүртгэлийг тасалдуулахыг зөвшөөрдөг

Таймер/диспенсерийн горимын бүртгэл

Цаг хэмжигч/диспенсерийн бүртгэл

Таймер/нэвтрэх 0. Өндөр байт

Timer/Locker 0. Бага байт

Таймер/нэвтрэх 1. Өндөр байт

Timer/Locker 1. Бага байт

Сүүлийн портын удирдлага

Цуваа портын буфер

Зочны өрөөний менежмент

* - бүртгүүлэх, юуг хүлээн зөвшөөрөх вэ битов хаяглах

Одоо Хүснэгт 3.2-т үзүүлсэн SFR регистрүүдийн функцийг авч үзье.

Зай ACC - Зайны бүртгэл. Роботуудад зориулагдсан тушаалууд.

Та батерейны ард байгаа бол жишээлбэл, "А" мнемоник ашиглана уу. MOV А, P2 . "ACC" мнемоник нь жишээлбэл, батерейг битийн дагуу хаягласан үед ашиглагддаг. Тиймээс илүү бэлгэдлийн хувьд vikoristan assembler A5M51 гарч ирэх үед батерейны тав дахь битийн нэр: ACC. 5. .

Бүртгэл У . Үржүүлэх болон дэд үйл ажиллагааны цагийн дагуу Vikorystvovaetsya. Бусад зааварчилгааны хувьд бүртгэлийг нэмэлт супер бүртгэл гэж үзэж болно.

Бүртгэл Би болно хөтөлбөрүүд P.S.W. Хөтөлбөрийн талаарх мэдээллийг байрлуулж, ихэвчлэн хийгддэг сонгосон үйлдлийн үр дүнд үндэслэн автоматаар суулгадаг. Регистрийн цифрүүдийн утгыг Хүснэгт 3.3, 3.4-т тодорхой харуулав.

Хүснэгт 3.3.

Уулзалт

Хүснэгт 3.4.

Уулзалт

Тулааны даалгавар

Бит рүү нэвтрэх

Тэмцээг шилжүүлсэн. Хэд хэдэн арифметик болон логик зааврууд цаг хугацааны явцад өөрчлөгддөг.

Техник хангамж, програм хангамж

Нэмэлт шилжүүлгийн хамба. Үр дүнд нь хамгийн бага байт (D0-D3) үүсгэгдэх үед 3-р бит дэх дамжуулалт эсвэл байрлалыг оруулах зорилгоор шинэ заавар нэмсэн эсвэл гаргасан цагт уг техник хангамжийг суулгаж/устгах болно.

Техник хангамж, програм хангамж

Ensign 0. Ensign, нь koristuvach гэж томилогдсон.

Програмчлалын хувьд

Програмчлалын хувьд

Ажлын бүртгэлийн Вказивник банк

Програмчлалын хувьд

Банк 0 хаягтай (00Н - 07Н) Банк 1 хаягтай (08Н - 0FН) Банк 2 хаягтай (10Н - 17Н) Банк 3 хаягтай (18Н - 1FН)

Прапорын нэрийг өөрчилсөн. Оруулах арифметик зааврыг дахин суулгах үед тоног төхөөрөмжийг суурилуулсан эсвэл устгасан.

Техник хангамж, програм хангамж

Нөөц. Өшөө авалтын гох, бичих, унших боломжтой, vikorized болно

Бага зэрэг тэгш байдал. Техник хангамжийг хаясан эсвэл "1" тохиргоонд байгаа батерейны цэнэгийн хосолсон эсвэл хосгүй тоог оруулах зааврын хамт арьсны циклд суулгасан.

Техник хангамж, програм хангамж

Показчик стек SP - PUSH болон CALL командуудыг өгөх үед стек рүү өгөгдөл бичихийн өмнө түүний оронд нэмэгддэг 8 битийн бүртгэл. Стекийг хаях үед 07H индикатор суурилуулсан бөгөөд өгөгдлийн RAM дахь стекийн хэсэг нь 08H хаягаас эхэлдэг. Хэрэв стекийн индикаторыг дахин хуваарилах шаардлагатай бол стекийн хэсгийг микроконтроллерийн дотоод өгөгдлийн санах ойн аль ч байршилд шилжүүлж болно.

Показчик хүндэтгэл DPTR өндөр байт (DPH) ба бага байтаас бүрдэнэ

(DPL). Гадаад санах ой руу шинэчлэх үед 16 битийн хаягийг өөрчил. Та ялалт байгуулж болно -

16 битийн бүртгэл эсвэл хоёр бие даасан найман битийн регистр хэлбэрээр.

Порт0 - PortZ. P0, P1, P2, RZ тусгай функцуудын регистрийн битүүдээс гадна P0, P1, P2, RZ үндсэн портуудыг "ачаах" битүүд бас байдаг.

Буфер дараалсан порт SBUF нь бүртгэлийн хоёр хэсэг юм: дамжуулах буфер ба хүлээн авах буфер. Өгөгдлийг SBUF руу бичих үед дамжуулах буфер рүү илгээгдэх ба SBUF байтыг бичих нь цуваа портоор дамжуулалтыг автоматаар эхлүүлдэг. Өгөгдлийг SBUF-аас унших үед өгөгдлийг хүлээн авах буферээс сонгоно.

Бүртгэл таймер. Бүртгүүлэх бооцоо (TH0, TL0) болон (TH1, TL1) 16-

Таймер/диспенсер 0 ба таймер/диспенсер 1-ийн бит хадгалах бүртгэл.

Бүртгэл удирдлага IP, IE, TMOD, TCON, SCON, PCON тусгай функцуудын бүртгэлийг системийг нууцаар хянах, тасалдуулахад ашиглаж болно.

айлчлал/эмнэлэг болон цуваа порт. Өмхий үнэрийг алсаас нарийвчлан шинжилнэ.

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

Ажиллаж байх үед МК дараахь зүйлийг хангана.

    тушаалыг хүргэх хамгийн бага цаг - 1 μs;

    тоног төхөөрөмжийн үржүүлгийн болон дэд давхарт хамгийн бага цаг viconanne - 4 μs.

MK нь дотоод осцилляторын давтамжийг нэмэлт кварц, LC-дэнлүү эсвэл гадаад осциллятороор тохируулах чадвартай.

Өргөтгөсөн командын систем нь байт ба битийн хаяглалт, аравны хоёр ба аравны хоёрын арифметик, давхцах, хослох/хослолгүй болгох заалт, логик процессорыг хэрэгжүүлэх боломжийг олгоно.

MCS51 гэр бүлийн архитектурын хамгийн чухал бөгөөд хүчирхэг шинж чанар нь ALU нь 8 битийн өгөгдлийн төрөл дээр тогтвортой үйлдлээр нэг битийн өгөгдлийг удирдах боломжтой юм. Програм хангамжийн боломжтой битүүдийн тоог суулгаж, устгаж эсвэл нэмэлтээр сольж, дахин суулгаж эсвэл шалгаж болно.

Зураг 3.2. Гаднах барилга байгууламж

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

логик тооцоо үед vikorystuvatsya. Энэ нь бас энгийн төрлийн өгөгдлийн дэмжлэг юм (хэрэв

Олон чиг хандлагын дагуу бид эхлээд харахад бага зэрэг хойшоо харж болох бөгөөд энэ нь MCS51 гэр бүлийн микроконтроллеруудыг хянагч ашигладаг програмуудад ялангуяа тохиромжтой болгодог. Үлдсэн алгоритмууд нь стандарт микропроцессор ашиглан хэрэгжүүлэхэд хэцүү байдаг оролт, гаралтын логикийн хувьсагчтай гэж үздэг. Энэ бүх хүчийг MCS51 гэр бүлийн логик процессор гэж нэрлэдэг. Гэсэн хэдий ч MCS51 гэр бүлийн микроконтроллеруудын ийм хүнд даацын ALU зааврын багц нь бодит цагийн боловсруулалт болон өгөгдөл их шаарддаг алгоритмд тохиромжтой.

Микроконтроллерийн хэлхээний диаграммыг Зураг дээр үзүүлэв. 3.2. Багцын үндсэн хувилбар нь 40 зүү DIP багцтай. Тэмдгүүдийн утгыг авч үзье.

Высновки хоолноос илүү «0 IN" і "5 IN" , Ямар дарсны дараа үндсэн хоол ордог. Strum-ийн мэдээллийг хүснэгтэд үзүүлэв. 3.1.

Висновок "RST" - Микроконтроллерыг дахин тохируулна уу. Үүнийг хэрэглэх үед идэвхтэй дээд түвшин эхэлнэ горим унтаж байна хөнгөлөлт болон MK дараахь зүйлийг хийнэ.

PC командын цэвэрлэгч болон P0-P3 ачаалах портууд, стек заагч SP, SBUF бүртгэл зэрэг тусгай функцүүдийн бүх бүртгэлийг тэг болгож тохируулна;

    Стекийн үзүүлэлт нь 07H-ээс их утгыг авдаг;

    бүх тасалдал, таймер-эдгээгчийн ажил болон дараа нь хамгаалдаг

    BANK 0 RAM-г сонгож, өгөгдөл хүлээн авах, танихад P0-RZ портыг бэлтгэдэг.

ALE болон PME бүрэлдэхүүн хэсгүүдийг гадаад синхрончлолын оролт болгон хуваалцдаг;

      PCON, IP, IE тусгай функцуудын регистрүүдэд нөөц битүүдийг санамсаргүй утгаар тохируулж, бусад бүх битүүдийг тэг болгон тохируулсан;

      SBUF регистр нь хувьсах утгатай байдаг.

      P0-RZ "1" портуудын түгжээний бэхэлгээг суурилуулна.

Дахин тохируулсны дараа микроконтроллерийн бүртгэлийн төлөвийг Хүснэгт 3.5-д үзүүлэв.

Хүснэгт 3.5.

Мэдээлэл

Тодорхойгүй

n-MOS-д зориулсан k-MOS 0XXXXXXXB-д 0ХХХ0000V

RST дүрс нь өөр функцтэй. Үүгээр дамжуулан микроконтроллерийн RAM-ыг үндсэн санах ойг арилгах үед түүний оронд байнгын санах ойг хадгалах нөөц хадгалах санг нийлүүлдэг.

Висновки BQ1, BQ2 MK-ийн цагийн давтамжийг тодорхойлдог кварцын резонаторыг холбох зориулалттай.

Висновок EA` (Э гадаад А хувцаслах гадна хаягууд) - идэвхтэй доод түвшин хэрэглэх үед гадаад програмын санах ойноос түлхүүр кодыг унших горимыг идэвхжүүлэх заавар. Энэхүү үзэл баримтлал нь өөр зорилготой (функц) юм. ROM програмчлах шинэ төхөөрөмжид хүчдэл өгдөг.

Висновок PME (П программ М эмори Э чадвартай Дозвил санах ой хөтөлбөр) - програмын санах ойноос унших керувана циклийн зорилго ба MK нь арьсны машины циклд автоматаар идэвхждэг.

Висновок ALE (А хувцаслах Л ngth Э чадвартай Дозвил залуу хаяг) P0 порт дээрх хаягийн залуу хэсгийн дэлгэцийг цохино. EPROM-г програмчлах үед төхөөрөмж ялгагдана, импульсийн програмчлалын процесс түүнд илгээгдэнэ.

MK нь P0, P1, P2, P3 гэсэн дөрвөн бүлгийн портуудыг багтаах боломжтой. Алдагдсан микроконтроллерийн 40 зүү байна. Эдгээр портууд нь мэдээллийг бага багаар оруулах, гаргахад үйлчилдэг ба үүнээс гадна өөр өөрийн гэсэн онцлогтой. Портын функциональ диаграммыг Зураг дээр үзүүлэв. 3.3. Энэ порт нь хээрийн нөлөө бүхий транзисторын гаралтын унтраалга, гаралтын холболт, сэлгэн залгах функц, D-триггер дээрх терминал, хяналтын логикийг агуулдаг. MK-ийн дотоод автобусанд нэг буюу тэгийг бичиж болно. Энэ мэдээлэлд MK-ийн гаралтын товчлуурууд болон дэлгэцийг асаах функцээр дамжуулан хандах боломжтой. Үүний зэрэгцээ N ба N1 транзисторууд хаалттай, харин N2 нээлттэй байна. Тэг станц дээр N муруйг нээнэ -

Шиа, N2 хаагдана. Порт нь өөр функцийг сонгох үед мэргэшсэн байдлаас шалтгаалан ачаалах горим идэвхгүй болсон. Микроконтроллер нь порт оруулах горим болон гаралтын горимд нөлөөлж, гадаад дохиогоор тохируулж болно. Энэ зорилгоор MK ассемблерт дэд мөрүүдийг идэвхжүүлэх тусгай командууд байдаг. Уншихын тулд намайг утасгүй портын зүү рүү илгээх болно.

Buti өмнө нь бичиж байсан

Дотоод үзэмж

Засувка менежмент

Функцуудыг өөрчлөх

Vcc

Амралтын өдөр

нэг. "унших ачаалал" мөрийг идэвхжүүлсэн үед гаралт нь дунд "I" байх бөгөөд үүнээс өмнө энэ шугам холбогдсон байна.

niy автобус MK D Q

C Q зөөгч дээр бичнэ үү

Унших зүйл

Портын харагдах байдал

Идэвхжүүлсэн үед MK-ийн дотоод автобусанд тохирох ачих станц байдаг

"Читання выведення" - боомт хүртэлх гадаад выведеннягийн хуаран.

Порт P0 - Бүх нийтийн хоёр чиглэлтэй порт

танилцуулга-үзэх. SIM портын ард

гадна автобусны хаягийг зохион байгуулах чиг үүрэг болон тогтмол

Жижиг 3.3. Микроконтроллерийн портын функциональ диаграмм

програмын санах ой болон өгөгдлийн санах ойг өргөтгөх өгөгдөл

микроконтроллер. Програмыг гадаад санах ойд татаж авах эсвэл гадаад өгөгдлийн санах ойг татаж авах команд дуусмагц толгойн порт дээр хаягийн залуу хэсэг (A0...A7) суурилагдсан бөгөөд энэ нь өгөгдлийн дээд түвшний нөлөөгөөр өдөөгддөг. ALE гаралт. Дараа нь санах ойд өгөгдөл бичих үед MK-ийн дотоод автобуснаас бичигдсэн мэдээлэл P0 пин порт руу очдог. Харин унших үйлдлүүдэд мастер портоос мэдээлэл дотоод автобус руу ордог. P0 портын нэг онцлог шинж чанар нь терминалын амьдралыг хангах "сугалах" транзистор N2 байгаа явдал юм. Нэг нэгжийн пин порт руу бичихдээ утгыг зүгээр л өгөгдлийн автобусны хэвийн ажиллагаанд шаардлагатай өндөр эсэргүүцэлтэй төлөвт шилжүүлдэг. Шаардлагатай бол гадны төхөөрөмжүүдийн гаралтаар тэжээгдэж, дараа нь гадаад резисторыг Lanczug-аас гаралтын порт руу шилжүүлнэ.

Порт P1 – өөр функцгүй бүх нийтийн хоёр чиглэлтэй оролт/гаралтын порт.

Порт P2 – гадаад санах ой руу шилжүүлэх үед хаягийн өндөр хэсгийг (A8…A15) харах өөр функц болох бүх нийтийн хоёр чиглэлт порт/оролт/гаралт.

Порт P3 – төрөл бүрийн өөр функцуудыг шилжүүлдэг бүх нийтийн хоёр чиглэлтэй оролт гаралтын порт. Альтернатив функцууд нь зөвхөн үндсэн портын тээглүүр дээр бичигдсэн тохиолдолд л хэрэгжинэ, бусад тохиолдолд альтернатив функцийг оруулахыг хориглодог. Тэдгээрийг арьсны үндсэн дээр тодорхойлъё:

P3.0 RxD (Р ead e Xдотоод Дидэж, гадаад өгөгдлийг унших) - шинэ цуваа хүлээн авагчийн оролт.

P3.1 TxD (Ттөрөл e Xдотоод Дидэж, гадаад өгөгдөл дамжуулах) – хүлээн авсан цуваа хүлээн авах-дамжуулах гаралт.

P3.2 INT0` (INTЭвдрэл, тасалдал) – гадаад тасалдлын оролт 0.

P3.3 INT1` - Гадны тасалдлын оролт 1.

P3.4 С/T0 - Тэг өдөөлттэй таймер/диспенсерийн оролт.

P3.5 C/T1 - Эхний идэвхжүүлсэн таймер/эмнэлгийн эмчийн оролт.

P3.6 WR` (Взан үйл, бичих) – өгөгдлийн санах ойд бичих мөчлөгийн хяналтыг харуулна.

P3.7 RD` (Р ead, унших) – өгөгдлийн санах ойноос унших циклээр гаргаж авсан.

Нэг нэгжийн P1, P2, P3 портын зүү нь ойролцоогоор 0.2 мА гүйдлийг харж, тэг үед 3 мА гүйдлийг хүлээн авах бөгөөд P0 портын зүү нь чангарч, нэг дэх барилга нь ойролцоогоор гүйдлийг харах болно. 0.8 мА ба тэг үед 5 мА гүйдлийг авна. Микроконтроллерийн бүрэлдэхүүн хэсгүүдийн хуваарилалтын талаархи товч мэдээллийг Хүснэгт 3.6-д үзүүлэв.

Хүснэгт 3.6.

Уулзалт

Виновкад томилогдсон

8 битийн хоёр чиглэлтэй порт P1. Дотоод ROM (RPM) шалгах цагт A0-A7 хаягуудыг оруулна уу.

Нэвтрэх нэвтрэлт

Загалный хаях дохио. Гадны биеэс OZP-ийн нөөцийн хугацааг нэвтрүүлэх (1816 онд)

Нэмэлт функц бүхий 8 битийн хоёр чиглэлтэй P3 порт

Нэвтрэх нэвтрэлт

Хамгийн сүүлийн үеийн хүлээн авалтын мэдээлэл - RхD

Хамгийн сүүлийн дамжуулалтын өгөгдөл - ТхD

Гадны тасалдлын оролт 0-INT0`

Гадны тасалдлын оролт 1-INT1`

Таймер/диспенсерийн оролт 0: - T0

Таймер/диспенсерийн оролт 1: - T1

Гадны санах ойд өгөгдөл бичигдэх цаг дахь strobe дохионы гаралт: - WR`

Гадны өгөгдлийн санах ойноос унших цагт Strobe дохионы гаралт – RD`

Кварцын резонаторыг холбох холболтууд.

гарах оролт

Загалный висновок

8 битийн хоёр чиглэлтэй порт P2. Гадаад санах ойноос робот горимд A8-A15 хаягийн гаралт. Дотоод ROM-г шалгах горимд P2.0 - P2.6 шинэчлэлтүүдийг A8-A14 оролтын хаяг болгон сонгосон. Visnovok R2.7 - ROM уншихыг зөвшөөрсөн.

Нэвтрэх нэвтрэлт

Зөвшөөрөгдсөн програмын санах ой

Хаяг засах зөвшөөрлийн гаралтын дохио. RPOM дохиог програмчлах цагт: PROG

Нэвтрэх нэвтрэлт

Роботыг дотоод санах ойноос хаах. RPZP-ийг програмчлах үед UРR дохио өгдөг

Нэвтрэх нэвтрэлт

8 битийн хоёр чиглэлтэй порт P0. Гадаад санах ойноос хаяг/өгөгдлийн автобус. Дотоод PPP (IPPP) шалгах горимд өгөгдлийн гаралт D7-D0.

Нэвтрэх нэвтрэлт

Vividennya vidzherel хүчдэл +5V

ЛЕКЦИЙН ТӨЛӨВЛӨГӨӨ

1. Танилцуулга

2. Арифметик ба логик заавар

3. Өгөгдөл дамжуулах командууд

4. Булийн үйлдлүүд

5. Шилжилтийн заавар

1. Танилцуулга

Тушаалын систем MCS-51төхөөрөмжүүдийг удирдах 8 битийн алгоритмыг суулгах хүртэл утга бүхий нэг багц зааврыг дэмждэг. Жижиг өгөгдлийн бүтэц дээр битийн үйлдлийг гүйцэтгэх, дотоод RAM-д хандах уян хатан аргуудыг ашиглах боломжтой. Нэг битийн хувьсах өгөгдлийг тусдаа өгөгдлийн төрөл болгон хаяглах системийг идэвхжүүлсэн бөгөөд энэ нь логик болон үндсэн Булийн алгебрын командуудад битийн ирмэгийг сонгох боломжийг олгодог.

Хаяглах горимууд : залгах командууд MCS-51ийм хаяглалтын горимуудыг дэмждэг. Шууд хаяглалт: операнд нь зааварт 8 битийн хаягаар тодорхойлогддог Шууд хаяглалт нь дотоод өгөгдлийн санах ой болон бүртгэлийн бага хагаст хязгаарлагддаг. SFR. Шууд бус хаяглалт: Заавар нь операндын хаягтай тааруулах регистрийг хаяглана.Энэ төрлийн хаягжилтыг гадаад болон дотоод OCP-д ашигладаг. Бүртгэлийг 8 битийн хаяг оруулахад ашиглаж болно R0і R1сонгосон бүртгэлийн банк эсвэл стек үзүүлэлт SP. 16 битийн хаяглалтын хувьд өгөгдлийн заагч бүртгэлийг устгасан DPTR.

Бүртгэлийн заавар : бүртгүүлнэ үү R0-R7Зааварт регистрийн дугаарыг зааж буй 3 битийн талбарыг оруулснаар одоогийн бүртгэлийн банкийг тусгай заавраар дамжуулан шийдэж болно. Энэ төрлийн талбарт тушаалд хаяг байхгүй. Тусгай тусгай бүртгэлтэй үйл ажиллагаа: Үйлдлийн заавар vikorist хувь хүний ​​бүртгэл (жишээ нь, батерейны үйл ажиллагаа, DPTR, гэх мэт). Командад операндын хаягийг зааж өгөх бүрт. VIN кодыг үйлдлийн кодоор зааж өгсөн болно.

Дунд зэргийн тогтмолууд байхгүй : Тогтмолыг opcode-ийн дараа командын дэргэд шууд байрлуулж болно.

Индекс хаяглалт : Индекс хаягжуулалтыг зөвхөн програмын санах ойд хандах эсвэл унших горимд ашиглах боломжтой. Аль горимд та програмын санах ойн хүснэгтийг харж болно. 16 битийн бүртгэл ( DPTRэсвэл програм хангамжийн эдгээгч) шаардлагатай хүснэгтийн үндсэн хаягийг зааж өгөх ба аккумлятор нь түүний өмнөх орох цэгийг заана.

Залгах командуудСистемийн 33 функцийг зааж өгөх 42 мнемоник команд байдаг. Ихэнх ассемблер хэлний командуудын синтакс нь мнемоник функцийн хуваарилалтаас бүрдэх ба дараа нь хаяглах арга, өгөгдлийн төрлийг заадаг операндуудаас бүрддэг. Төрөл бүрийн өгөгдлийн төрлүүд болон хаяглалтын горимуудыг мнемоник утгын өөрчлөлтөөр бус харин операнд оруулах замаар заадаг.

Командын системийг оюун санааны хувьд таван бүлэгт хувааж болно: арифметик командууд; логик командууд; дамжуулах тушаал; бит процессорын командууд; задаргаа хийх, удирдлагыг шилжүүлэх командууд. Тушаалын системд ашигладаг тэмдэгтүүдийг доор харуулав.

Хүснэгт. Тушаалын системд хэрэглэгддэг тэмдэгтүүдийн утга

Томилгоо, бэлэг тэмдэг

Даалгавар

Зай

Урсгалд суурилсан бүртгэлийн банкны бүртгэл

Багийн тодорхойлсон регистрийн дугаар

шууд

8 битийн дотоод өгөгдлийн хаяг нь шууд хаяглагдсан бөгөөд энэ нь дотоод өгөгдлийн RAM (0-127) эсвэл SFR (128-255) тусгай функцийн бүртгэлийн дунд байж болно.

Дотоод өгөгдлийн RAM-ийн 8 битийн дундыг шууд бусаар хаяглаж байна

8-бит дундгүйҮйл ажиллагааны код (OPC) -д юу багтдаг вэ

өгөгдөлH

Дунд зэргийн 16 битийн өгөгдлийн өндөр бит (15-8).

өгөгдөлЛ

Young beats (7-0) дунд 16-бит өгөгдөл

11 битийн очих хаягууд

addrL

Залуучуудын хүлээн зөвшөөрөх хаягууд

Тэмдэгтэй 8 битийн нүүлгэн шилжүүлэлтийн байт

Шууд хаяглалтаас бит, хаяг нь дотоод өгөгдөлд байрлах RAM эсвэл SFR тусгай функцын бүртгэлд байрладаг COP-ийг байрлуулдаг.

a15, a14...a0

Битийн хаяг, даалгавар

X элементийн оронд

X элементэд хадгалагдсан хаягийн оронд

X элементийн цэнэггүй байдал


+

*
БА
ЭСВЭЛ
XOR
/X

Үйл ажиллагаа:
нэмэлт
vidnіmannya
үржүүлэх
доор
логик үржүүлэх (I үйлдэл)
логик нугалах (ABO ажиллагаа)
2-р модулийн дараа нэмсэн (үүнд ABO орно)
X элементийн урвуу байдал

Мнемоник функцийн хуваарилалт нь хаяглалтын аргууд болон өгөгдлийн төрлүүдийн тодорхой хослолуудтай онцгой холбоотой байдаг. Командын системд 111 ийм оруулга байж болно.

2. Арифметик ба логик заавар

Сарлаг p жишээ арифметик заавар, Нэмсэн үйлдэл нь дараах командуудын аль нэг байж болно.

НЭМЭХА,7 Ф 16 - Оронд нь 7-г нэмээд А-г бүртгэнэ F 16 үр дүнг А регистрээр хадгалах;

НЭМЭХА,@ Р0 – А бүртгэлд дугаар, хаягийг нэмнэ (@ – арилжааны цагт ) бүртгэлд хадгалагданаР 0 (шууд бус хаяглалт), үр дүнг А бүртгэлд хадгална;

A, R7 НЭМЭХ– бүртгэлийн оронд А регистрийн оронд нэмэхР 7 ба үр дүнг А бүртгэлд хадгална;

А, №127 НЭМЭХ- Бүртгэлд нэмэх дугаар, хадгаламжийн хаяг 127 ( # – тооны тэмдэг), үр дүнг бүртгэлд хадгална Т- Ре А.

Бүх арифметик зааврыг нэг зааварчилгаанд нэг машины циклээр гүйцэтгэнэ INC DPTR(Өгөгдлийн индикаторын шилжилт DPTRдараагийн байт руу), хоёр машины цикл авдаг, мөн 4 машины цикл авдаг үржүүлэх үйлдлүүд. Дотоод өгөгдлийн санах ойн аль ч байтыг батарей ашиглахгүйгээр нэмэгдүүлэх эсвэл багасгах боломжтой.

Зааварчилгаа MUL ABБатерей дахь өгөгдөл нь В регистр дэх өгөгдөл дээр үржиж, өгөгдлийг А (залуу хагас) ба В (хуучин хагас) регистрт байрлуулдаг.

Зааварчилгаа DIV ABаккумляторын оронд (хуваа - дэд хэсэг) B регистрийн утгуудад хувааж, илүүдэлийг В, ялангуяа аккумляторт үлдээнэ.

Зааварчилгаа ДА Ахоёроос арван арифметик үйлдлүүдэд зориулагдсан (хоёр арван кодоор өгөгдсөн тоон дээрх арифметик үйлдлүүд). Хоёр дугаарыг өөрчлөхөөс бүү ай двийково-десятково, Мөн энэ нь хоёр аравны хоёр тоог нэмэхэд зөв үр дүнг баталгаажуулах болно.

өгзөг логик тушаал: Логик үйлдлийг дараах командуудын аль нэг болгон ашиглаж болно.

ANLА,7 Ф 16 - А регистрийн оронд 7 тоогоор үржүүлэх нь логик юм F 16 үр дүн нь А бүртгэлд хадгалагдана;

ANLА,@ Р1 - А регистрийн оронд хаяг нь бүртгэлд хадгалагдсан тоогоор үржих нь логиктойР 1 (шууд бус хаяглалт), үр дүнг А бүртгэлд хадгална;

ANL A, R6- А регистрийн оронд регистрийн оронд үржүүлэх нь логик юмР 6, үр дүнг А бүртгэлд хадгална;

ANL A,#53 – А регистрийн оронд дэлгүүрийн хаягаар 53 16 гэсэн тоогоор логик үржүүлж, үр дүн нь А регистрд хадгалагдана.

Батерейны зай дээрх бүх логик үйлдлүүд нь нэг машины мөчлөгийг авдаг, бусад нь хоёр. Логик үйлдлүүдийг дотоод өгөгдлийн санах ойн доод 128 байт эсвэл дурын регистр дээр хийж болно SFR (тусгай функцийн бүртгэлүүд) зайг солихгүйгээр шууд хаяглах горимд.

Дараа нь батерейны оронд RL A, RLC A гэсэн мөчлөгт хадгалалтын үйлдлүүд нэг бит баруун эсвэл зүүн тийш шилжинэ. Зүүн циклийн холбоосын хувьд залуу бит нь хуучин байрлал руу шилждэг. Баруун мөчлөгийн синусын үед урвуу байдал үүсдэг.

Үйл ажиллагаа SWAP АЗалуу, хөгшин хоёрын одоогийн солилцоо нь батерейнд байдаг.

3. Өгөгдөл дамжуулах командууд

Баг MOV dest, srcдотоод санах ойн дунд хэсэг болон тусгай функцүүдийн бүртгэлийн талбар хооронд өгөгдөл дамжуулах боломжийг танд олгоно SFR vikoristan зайгүй. Энэ тохиолдолд дотоод OZP-ийн дээд хагастай робот нь зөвхөн шууд бус хаяглалтын горимд ажиллах боломжтой бөгөөд бүртгэлийг өргөтгөх боломжтой. SFR– шууд хаяглах горимд ажиллах боломжгүй болсон.

Бүх микро схемийн хувьд MCS-51Стек нь суурин өгөгдлийн санах ойн яг хажууд байрладаг бөгөөд илүү өндөр болдог. Зааварчилгаа ТҮЛХЭХЭхэндээ стек заагч бүртгэлийн утгууд илүү том байна SP, дараа нь стек рүү өгөгдлийн байт бичнэ. Баг ТҮЛХЭХі POPзөвхөн шууд хаяглах горимд (байт бичих эсвэл шинэчлэх), гэхдээ стек нь бүртгэлээр дамжуулан шууд бус хаяглалтад үргэлж бэлэн байдаг. SP. Ийм байдлаар стек нь өгөгдлийн санах ойн дээд 128 байтыг ашиглаж болно. Эдгээр тэмдэглэгээ нь бүртгэлийг хаяглахын тулд мөрийн командуудыг ашиглах чадварыг агуулдаг SFR.

Өгөгдөл дамжуулах заавар нь 16 битийн дамжуулах ажиллагааг агуулдаг MOV DPTR, # өгөгдөл16, энэ нь өгөгдлийн үзүүлэлтийн бүртгэлийг эхлүүлэхэд хэрэглэгддэг DPTRНэг цагийн дараа би програмын санах ойн хүснэгт эсвэл гадаад мэдээллийн санах ойд хандах болно.

Үйл ажиллагаа XCH A, байтЭнэ нь зай болон хаяглаж байгаа байт хооронд өгөгдөл солилцохоор тохируулагдсан. Баг XCHD A, @Riнь урд талынхтай төстэй боловч зөвхөн залуу үеийнхнийх нь операнд солилцоход оролцдог.

Гадаад өгөгдлийн санах ойд хандахын тулд шууд бус хаягжуулалтыг ашигладаг. Нэг байт хаяг бүр використ бүртгэлтэй R0эсвэл өөр R1урсгалын бүртгэлийн банк, 16 битийн хувьд өгөгдлийн дэлгэцийн бүртгэл DPTR. Гадаад өгөгдлийн санах ойд ямар ч байдлаар хандахын тулд зай нь мэдээлэл хүлээн авах үүргийг гүйцэтгэдэг.

Програмын санах ойд байрлах хүснэгтэд хандахын тулд дараах тушаалуудыг ашиглана уу.

MOVC A,@A+ DPTR ;

MOVC A,@A+ PC .

Ялалтын хүснэгтийн үндсэн хаягийг өгөгдлийн индикаторын бүртгэлд хэрхэн хуваарилдаг вэ DPTRэсвэл өөр PC(програмын эдгээгч), нүүлгэн шилжүүлэлтийг авсан А. Эдгээр командууд нь зөвхөн програмын санах ойноос өгөгдлийг уншихад ашиглагддаг ба түүнд бичихэд ашигладаггүй.

4. Булийн үйлдлүүд

Микро схемүүд MCS-51агуулахад "Boolean" процессор суулгаарай. Дотоод RAM нь шууд хаяглах боломжтой 128 биттэй. Тусгай функцийн регистрүүдийн хамрах хүрээ SFR 128 бит хүртэл талбарыг дэмжих боломжтой. Биологийн зааварт ухаалаг шилжилт, дамжуулах, хаях, урвуу оруулах, "I" болон "ABO" үйлдлүүд орно.Эдгээр бүх битүүд шууд хаяглах горимд байдаг.

Бит шилжүүлсэн CFтусгай функцийн бүртгэлд "үг нь програм болно P.S.W.» нь логик процессорын нэг битийн аккумлятор гэж тодорхойлогддог.

5. Шилжилтийн заавар

Шилжилтийн үйлдлүүдийн хаягийг ассемблер тусад нь зааж, програмын санах ойн зай дахь лавлагааны утгуудаар тодорхойлно. Ухаалаг шилжилтийн хаягууд нь програм хангамжийн процессор руу дамждаг дохионы байт дээр угсардаг. PCВиконаннягийн үед шилжилтийн үеийн оюун ухаан. Ийм шилжилтийн хоорондох хил зааврын дараах эхний байтаас өмнөхөн хасах 128 ба 127 хооронд байна. Тусгай функцуудын бүртгэлд "үг нь програм болно" P.S.W.» өдөр бол тэгийн тэмдэг, үүнд зориулсан заавар Ж.Зі JNZБатерей дахь өгөгдлийг шалгахдаа оюун ухааныг "яг тэг" гэж шалгаарай.

Галзуу шилжилтийн гурван төрлийн тушаал байдаг: SJMP, LJMPі AJMP- Тэд хаягийн хэлбэр, зорилгын хувьд ялгаатай. Зааварчилгаа SJMPхаягийг мартсан гэж кодлох ба хоёр байт эзэлнэ. Шилжилтийн зай нь нэг зааварт хасах 128-127 байт хооронд хязгаарлагддаг SJMP.

Зааварт LJMP Vikorist нь очих хаягийг 16 битийн тогтмол гэж тодорхойлдог. Нийт тушаал нь гурван байт байна. Даалгаврын хаягийг програмын санах ойн аль ч байршилд оноож болно.

Баг AJMP Vikorist-ийн 11 битийн хаягийн тогтмол. Команд нь хоёр байтаас бүрдэнэ. Энэ зааврыг арилгахад эдгээгчийн 11 битийн залуу хаяг командын 11 бит хаягаар солигдоно. Програм хангамжийн эдгээгчийн таван ахлах бит PCхувиршгүй болно. Тиймээс шилжилт нь тушаалыг дагаж мөрдөж буй зааврыг оруулсан 2К байт блокийн дунд тохиолдож болно. AJMP.

Хоёр төрлийн дэд программын командууд байдаг: LCALLі ДУУДЛАГА. Зааварчилгаа LCALLгэж нэрлэдэг дэд программын vikorist 16 битийн хаяг. Ямар ч тохиолдолд дэд програмыг програмын санах ойн байршлаас устгаж болно. Зааварчилгаа ДУУДЛАГА Vikorist-ийн 11 битийн дэд програмын хаяг. Энэ тохиолдолд дуудсан дэд программыг дараах зааврын хамт нэг 2К байт блокт багцалсан байх ёстой. ДУУДЛАГА. Гэмт хэргийн командын сонголтуудыг довтолгооны командын хаягаар стек дээр байрлуулж, програм хангамжийн эдгээгчээр илбэдэг. PC шинэ утга.

Дэд програм нь зааварчилгаагаар төгсдөг RET, энэ нь тушаалыг дагах заавар руу буцах боломжийг олгодог ДУУДЛАГА. Энэ заавар нь стекээс буцаж ирсэн хаягийг гаргаж, програмын цэвэрлэгч рүү оруулна. PC . Зааварчилгаа RETIБоловсруулалтыг тасалдуулахын тулд дэд програмуудаас эргэхийн тулд Vikoristovatsya. Эв нэгдэл RETIхарах RETгэдэгт итгэдэг RETIБоловсруулалт дууссан тухай системд мэдэгдэнэ. Виконнигийн үед Якшчо RETIӨөр ямар ч тасалдал байхгүй, тэгвэл энэ нь адилхан RET.

Зааварчилгаа DJNZ keruvannya мөчлөгт зориулагдсан. Виконаннигийн мөчлөгийн хувьд Н Нэг удаа та эмчид байт болон утгыг нэмэх хэрэгтэй Н дараа нь давталтын биеийг командаар хаа DJNZ, энэ нь мөчлөгийн эхлэлийг илтгэнэ.

Баг CJNEнь хоёр операндыг тэмдэггүй зорилт болгон тэгшитгэж, дараа нь зэрэгцүүлсэн операндууд нь тэнцүү биш тул түүн дээр заасан хаяг руу очдог. Хэрэв эхний операнд нь нөгөөгөөсөө бага байвал битийг шилжүүлнэ CF "1" дээр суурилуулсан.

Угсарсан хэлбэрийн бүх командууд 1, 2 эсвэл 3 байт эзэлнэ.

UDC 681.5, 681.325.5 (075.8)

BBK 32.973.202-018.2 би 73

Щербина О.Н.Тооцоолох машин, систем, арга хэмжээ. Хяналтын систем дэх микроконтроллер ба микропроцессорууд:чеб. Pos_bnik/O.M. Щербина, П.А. Нечаев-СПб.: Политехникийн дээд сургууль. Их сургууль, 2012.-226 х.

Энэ нь техникийн систем, эрчим хүч, цахилгааны инженерийн менежментийн чиглэлээр сургалт, мэргэшлийн үндэсний стандартыг сольж, "Тооцоолох" хичээлийн боловсролын анхан шатны хөтөлбөрийг машин, систем, арга хэмжээгүйгээр сольж байгааг харуулж байна."

Микропроцессорын системийн логик зохион байгуулалтын үндсэн тэжээлийг Intel-ийн MCS-51 микроконтроллерийн гэр бүлийн үндсэн архитектурыг ашиглан судалж байна. Assembler болон CI хэлийг ашиглан микроконтроллеруудыг програмчлах технологийг тайлбарласан болно.

Энэ нь технологийн дэвшилтэт мэдлэгтэй оюутнууд, хөгжүүлэгчид, процессын автоматжуулалт, үйлдвэрлэлийн мэргэжилтнүүд, түүнчлэн микропроцессорын системийн дизайнерын инженерүүдэд хэрэгтэй байж болох юм.

Мөн бакалавр, инженер, магистрын сургалтад зориулсан “Удирдлагын систем дэх микроконтроллер ба микропроцессор”, “Цахим автоматжуулалтын төхөөрөмж” зэрэг салбаруудын үндэсний стандартыг 1404 00 “Цахилгаан эрчим хүч, цахилгааны инженерчлэл” шууд сольсон.

-ийн төлөө редакцийн болон редакцийн шийдвэрийг хүлээн зөвшөөрөх

Санкт-Петербург улсын политехникийн их сургууль.

© Щербина А.Н., Нечаев П.А., 2012

© Санкт-Петербург муж

Политехникийн их сургууль, 2012 он

ISBN 978-5-7422-3553-8


Нэвтрэх.. 7

Хэсэг 1. MCS51 гэр бүлийн архитектур. 10

1.1 Хийн шинж чанар 10

1.2 Блок схем 11



1.3 Микроконтроллерийн бүрэлдэхүүн хэсгүүдийн зорилго 8051 15

1.4 Санах ойн зохион байгуулалт 17

1.4.1 Програмын санах ой (PPM) 18

1.4.2 Өгөгдлийн санах ой (DMS) 19

1.4.3 Тусгай чиг үүргийн бүртгэл. 20

1.4.4 Баримт бичгийн бүртгэл (PSW) 23

1.5 Суурилуулалт ба синхрончлол 26

1.6 Орох-гаралтын портуудын зохион байгуулалт 27

1.6.1 Хөшигний ард гарсан мэдээ. 27

1.6.2 Альтернатив функцууд. 27

1.7. 8051 гэр бүлийн таймер/микроконтроллер 28

1.7.1. Эмчилгээний таймерын бүтэц. 28

1.7.2 Эмчилгээний таймеруудын ажиллах горимууд. гучин

1.8. Цуваа порт 32

1.8.1. Цуваа портын бүтэц. 32

1.8.2. Үйлчилгээ/үнийн төлөвийн бүртгэл SCON.. 34

1.8.3. PCON.. бүртгэл 36

1.9. Систем 37

1.9.1. Системийн бүтцийг өөрчлөх. 37

1.9.2 Vikonannya дэд хөтөлбөрүүд perervaniya. 40

Бүлэг 2. 80C51GB микроконтроллерийн онцлог.

2.1 Функциональ шинж чанарууд 42

2.2 Оролтын гаралтын портууд P0-P5 43

2.2.1 Оролт гаралтын портуудын ажиллагаа. 43

2.2.2 Порт дээр бичлэг хийх.

2.3 8XC51GB тасалдлын системийн онцлог.

Тасалдахыг зөвшөөрнө/хашаа. 50

Тэргүүлэх менежментийг тасалдуулах. 51

Гадаад тасалдал. 54

2.3. Vuzol ADC 56

2.4. Техник хангамжийн хамгаалагч 61

2.5. Цагийн генераторын гэмтэл илэрсэн 63

2.6. Програмчлагдсан эмч нарын матриц RSA 64

2.6.1. PCA бүтэц..64

2.6.2. RSA эмчийн бүртгэл (CMOD) 66

2.6.3. PCA-ийн эмнэлгийн удирдлагын бүртгэл (CON) 67

2.6.4. Зэрэгцүүлэх / засах модулиуд. 68

2.7. Цуваа портын өргөтгөл 76

2.8. Цаг хэмжигч/диспенсер 79

8XC51GB бүлгийн микроконтроллеруудыг байрлуулах.

3-р хэсэг. MK 8051GB програмчлал.

3.1. Програм хангамжийн загвар 89

3.2 Өгөгдлийн төрлүүд 93

3.3 Өгөгдлийг хаягжуулах арга 93

3.4 Тушаалын систем 95

3.4.1. Загалын шинж чанар. 95

3.4.2 Командын төрлүүд. 96

3.4.3 Операндын төрлүүд. 97

3.4.4 Микроконтроллерийн өгөгдлийг хүчингүй болгох командууд. 98

3.4.5 Арифметик үйлдлийн заавар 8051. 101

3.4.6 Микроконтроллер 8051-ийн логик үйлдлийн командууд. 104

3.4.7 8051 микроконтроллерийн бит дээр ажиллах командууд 106

3.5 Програмыг тохируулах 111

Бүлэг 4. ASM-51-ийн хэлний програмчлал. 112

4.2 Текст бичих програм 113

4.3. Хэлний цагаан толгой. 114

4.4 Тодорхойлогч. 115

4.5 117 тоо

4.6 Удирдамж 118

4.7 ASM51 дэд хөтөлбөрийн хэрэгжилт 122

4.7.1 Миний ASM51-ийн дэд хөтөлбөр-процедурын бүтэц. 122

4.7.2 Өөрчлөгдөж болох параметрүүдийг дэд программд шилжүүлэх. 123

4.7.3 Миний ASM51-ийн дэд хөтөлбөрийн функцийг хэрэгжүүлэх. 123

4.7.4 Миний ASM51 ашиглан боловсруулалтын горимуудыг хэрэгжүүлэх. 124

4.8 Бүтцийн хувьд програмчлагдсан ассемблер. 125

4.9 Баялаг модульчлагдсан нэвтрүүлгийг дамжуулах онцлог. 126

4.10 Сегментийн сонголт 128

4.10.1 MK санах ойг сегментүүдэд хуваах. 128

4.10.2. Үнэмлэхүй санах ойн сегментүүд. 129

4.10.2 Зөөгдсөн санах ойн сегментүүд. 131

Бүлэг 5. Хэлний програмчлал S-51. 134

5.1 134-р киноны Загалная шинж чанар

5.3 Хөтөлбөрийн бүтэц S-51 136

5.3. Элементи киноны програмчлал S-51 138

5.3.1. Тэмдгүүд.. 138

5.3.2. Үг хэллэгийн нэгж, салгагч ба цэвэрлэгээ. 141

5.3.3 Тодорхойлогч 142

5.3.4 Түлхүүр үгс. 143

5.3.5 Тогтмол.. 143

5.4. Кино операторууд дахь Вирази 146

програмчлалын С-51 146

5.5. Цэргийн ажиллагааны тэргүүлэх чиглэл 148

5.6. Киноны програмчлалын операторууд С-51 149

5.6.1. Операторууд гайхаж байна. 150

5.6.2 Операторууд, юунд гарын үсэг зурах. 150

5.6.3 Даалгаврын оператор. 151

5.6.4 Сэтгэцийн оператор. 151

5.6.5 Бүтцийн оператор (). 152

5.6.6 Оператор for loop. 152

5.6.7 while давталтын толгойн эсрэг эргэлттэй гогцооны оператор. 153

5.6.8 Биеийн дараа оюун ухааныг эргүүлэхээс do while давталт руу шилжих давталтын оператор. 154

5.6.9. Операторын завсарлага. 155

5.6.10 Үргэлжлүүлэх оператор. 155

5.6.11 Шилжүүлэгч сонгох оператор. 155

5.6.12 Goto оператор. 157

5.6.13 Virazu оператор. 158

5.6.14 Дэд программуудын эргэдэг эргүүлэх оператор. 158

5.6.15 Хоосон оператор. 158

5.7. С-51 програмчлалын өөрчлөлтөд намайг гайхшруулав. 159

5.7.1. Өөрчлөлтөд гайхсан. 159

5.7.3 Өгөгдлийн төрлүүдийн зорилго. 161

5.7.4 Хөвөгч бөөгнөрөл бүхий тоонууд. 162

5.7.5 Аюулгүй тоглохын тулд хорон муу төрлүүд. 162

5.7.6. С-51 хөтөлбөрт гайхширсан массивууд. 164

5.7.7. Бүтэц.. 165

5.7.8. Обеднання (сумиши) 166

5.8. Vikoristannya movі C-51 167-д үзүүлж байна

5.8.1. Гайхсан үзүүлэгчид. 167

5.8.2. Төрөлгүй үзүүлэлтүүд. 168

5.8.3. Хуучирсан дэлгэцийн санах ой. 169

5.9. Гайхалтай шинэ төрлийн өөрчлөлтүүд 169

5.10. Өгөгдлийг эхлүүлэх 170

5.11. Vikoristannya дэд хөтөлбөр u movі програмчлалын S-51. 170

5.11.1. Чухал дэд хөтөлбөр.. 171

5.11.2. Програм хангамжийн параметрүүд 173

5.11.3. Дамжуулах дэд програмчлал 174

5.11.4 Виклик дэд хөтөлбөр.. 176

5.11.5 Рекурсив дуудлагын дэд программ. 176

5.11.6 Дэд программуудыг тасалдуулах. 177

5.11.7 Өөрчлөлтийн чиглэл, дэд хөтөлбөрүүд. 178

5.12. Баян модулийн програмууд 179

Бүлэг 6. Keil μVision2-ийн нэгдсэн цөмд зориулсан программ бэлтгэх. 182

6.1 Миний төслийг бий болгох ASM-51 182

6.2 Keil μVision2 188-ийн нэгдсэн цөм дэх анхны хянагчдад зориулж миний C төслийн бүтээсэн програм

Бүлэг 7. Ерөнхий хянагчийн тодорхойлолт. 199

7.1. Хянагчийн бүтэц 199

7.2. Хаягийн зай 200

7.2.1. Санах ойг хуваасан. 200

7.2.2 Гадаад санах ой. 201

7.2.3. Өгөгдлийн дотоод санах ой. 202

7.3. Оруулах, хасах портуудын жагсаалт 202

7.4. Дараалсан порт………………………………203

7.5. Robot z RKI 205

7.6. Хяналтын самбар………………………………………………………213

НЭМЭЛТ P2ЛАБЫН РОБОТЫН ТУХАЙ ТАЙЛАНГИЙН БҮТЭЦ……..217

P3 Kodi машины командын нэмэлт. 217

Ашигласан материал... 224


Оруулна уу

Технологийн процесс, үйлдвэрлэлийн автоматжуулалттай холбоотой мэргэшсэн мэргэжлээр микроконтроллер боловсруулах нь чухал хэсгүүдийн нэг юм.

Дэлхий даяар тасралтгүй хөгжиж, шинэ, шинэ 16 ба 32 битийн микроконтроллер, микропроцессорууд гарч ирж байгаа боловч хөнгөн микропроцессорын зах зээлийн ихэнх хэсэг нь 8 битийн төхөөрөмжүүдэд алдагдаж байна. Аналитик компаниудын бүх урьдчилсан мэдээгээр гэрэлтүүлгийн зах зээл дэх 8 битийн микроконтроллеруудын тэргүүлэх байр суурь ойрын ирээдүйд хэвээр байх болно.

Одоогийн байдлаар бүх 8 битийн микроконтроллеруудын дунд MCS-51 гэр бүл нь сортын тоо, түүний өөрчлөлтийг үйлдвэрлэдэг компаниудын тоогоор маргаангүй тэргүүлэгч юм. Энэ нь өөрийн гэр бүлийн анхны төлөөлөгч болох 8051 микроконтроллероос нэрээ авсан.Захын төхөөрөмжүүдээс гадна гадаад эсвэл дотоод програмын санах ойг сонгох чадвар, боломжийн үнэ нь энэ микроконтроллерийн амжилтыг тоосонгүй. зах.

MCS-51 гэр бүлийн давуу талууд:

· Де факто стандарт болох архитектур;

· Гэр бүлийн хэт өргөн, боломжийн олон талт байдал;

· Процессорын өндөр бүтээмжтэй, дэвшилтэт хувилбарууд байгаа эсэх;

· Өргөн ашиглах боломжтой програм хангамж, техник хангамжийн сонголтуудын тоо ихээхэн ач холбогдолтой;

· Техник хангамжийн програмчлал, түүний дотор дотоод хэлхээний програмчлалын хялбар байдал;

· Үндсэн чипийн хямд, хүртээмжтэй байдал;

· Тусгай оюун ухаанд зориулсан хянагчийн тусгай хувилбарууд байгаа эсэх

· Цахилгаан соронзон шилжилтийн түвшин буурсан хянагч хувилбарууд байгаа эсэх;

· Дэлхийн болон ХЗХ-ны орнуудад ахмад үеийн хүүхдүүдийн дунд өргөн тархсан;

· Архитектурыг гэрлийн тэргүүлэх зарчмаар дэмжих.

Гол давуу тал нь: гэр бүлийн үндсэн чипийг эзэмшсэн бол Cygnal, Dallas Semiconductor, Analog Devices, Texas Instruments-ийн микроконтроллер гэх мэт тооцоолох мангасуудтай ажиллахад хялбар байдаг.

MCS-51 гэр бүлийн нөөц нь хамгийн энгийн микроконтроллероос эхлээд хэд хэдэн нугалах хүртэл бүхэл бүтэн микро схемүүдийг агуулдаг. Өнөөдөр 8051 гэр бүлийн микроконтроллеруудын 200 гаруй өөрчлөлтийг 20 орчим компани үйлдвэрлэдэг. Энэ гэр бүлийн төлөөлөгчдийн шинэ хувилбарууд удахгүй гарч ирж байна.

Хөгжлийн үндсэн чиглэлүүд нь:

· Хурдны код нэмэгдсэн (цагийн давтамж нэмэгдэж, архитектурыг дахин боловсруулсан);

· Хүчдэл, эрчим хүчний зарцуулалтыг бууруулах;

· Дотоод хэлхээний програмчлалын боломж бүхий чип дээрх RAM болон FLASH санах ойн хэрэглээ нэмэгдсэн;

· Драйвын систем, CAN, USB интерфейс гэх мэт эвхдэг төхөөрөмжүүдийн микроконтроллерийн дагалдах хэрэгслийн агуулахын танилцуулга.

MCS-51 гэр бүлийн микроконтроллерууд нь янз бүрийн төхөөрөмжүүдийн хяналтыг тохируулах, мөн аналог хэлхээний янз бүрийн бүрэлдэхүүн хэсгүүдийг хэрэгжүүлэх боломжийг олгодог. Энэ гэр бүлийн бүх микро схемүүд ижил командын системээр ажилладаг. Тэдгээрийн ихэнх нь зайлсхийсэн суурьтай шинэ тохиолдолд суурилуулсан (хэргийн суурийн дугаарлалт). Энэ нь янз бүрийн компаниудын микро схемийг ашиглах боломжийг олгодог - төхөөрөмж, програмын хэлхээний диаграммыг дахин боловсруулахгүйгээр үйлдвэрлэгч.

Дэлхийн 51-р гэр бүлийн төрөл зүйлийн гол үйлдвэрлэгчид нь Philips, Siemens, Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Gold Star, Winbond, Silicon Systems болон бусад компаниуд юм.

Өргөтгөсөн хүчин чадалтай MCS-51 гэр бүлийн микроконтроллеруудын аналогуудын шинж чанарыг (Intel 8XC51FA, 8XC51GB, 80C152) хүснэгтэд үзүүлэв. ДАХЬ 1.

Хүснэгт Б.1

RAM ROM RSA ADC WDT T/C Слайд Сувгууд Онцлогууд
Атмел: AT89C2051
- - - - UART Flash 2 KB
AT89C4051 - - - - UART Flash 4 KB
AT89S4D12 128К - - - UART, SPI Flash 4 KB
DALLAS Хагас дамжуулагч: DS5000FP
- - - + UART Ачаалагч ачаалагч
DS5001FP - - - + UART Ачаалагч ачаалагч
DS8xC520 16К - - + 2xUART 2 DPTR
SIEMENS: C505C
16К - + + UART, CAN 8 DPTR
C515C 64К - + + UART+ SSC+CAN 4 PWM, 8 DPTR
Philips: *89C51RA+
- + - + UART 2 DPTR, 4 lvl. эргэлт, цаг дуусах, Flash 8K
P51XAG1x - - + 2 UART
Intel: 8xC51RA
- + + UART 4 түвшний IRQ, цаг унтраах
8XC196KC 64К 16К - + - UART 3 PWM
80C196KB 64К - + - UART PWM

Хэсэг 1. MCS51 гэр бүлийн архитектур

MCS-51 гэр бүлийн 8 битийн нэг чиптэй микроконтроллерууд нь архитектурын дизайнаас хамааран микропроцессорын хяналтын системийг хөгжүүлэгчдийн дунд маш их алдартай болсон. Микроконтроллерийн архитектур нь дотоод болон гадаад програм хангамжид хандах боломжтой техник хангамжийн нөөц ба тушаалын системийн цуглуулга юм. MCS-51 гэр бүлийн бүтэц нь авсаархан, хямд дижитал төхөөрөмжүүдийг бий болгох зорилгоос ихээхэн шалтгаалдаг. MicroEOM-ийн бүх функцийг нэг микро схемд нэгтгэдэг микроконтроллеруудыг нэг чиптэй EOM (SOCs) гэж нэрлэдэг.

Intel нь Intel 8051 микроконтроллерийн үйлдлийн цөмд суурилсан 50 шахам загварыг гаргасан бөгөөд үүний зэрэгцээ Atmel, Philips зэрэг бусад олон компаниуд MCS-51 стандартад хуваагдан өөрсдийн микроконтроллеруудыг үйлдвэрлэж эхэлсэн.

газар доорх шинж чанарууд

Гэр бүлийн үндсэн шинж чанарууд:

· Компьютерийн төхөөрөмжийг удирдахад чиглэсэн 8 битийн төв процессор (CPU);

· CPU нь 8 битийн техник хангамжийг үржүүлэх хэлхээгээр тоноглогдсон;

· Зааварын багц нь шууд хаяглагдсан битүүдтэй ажиллах олон тооны үйлдлүүдтэй байдаг нь битийн өгөгдөлтэй ажиллах процессорын тухай ярих боломжтой болгодог (Boolean процессор);

· Өдөр бүр зарим хувилбарт 4-32 КБ-ын багтаамжтай өөр өөр талстуудад зориулагдсан далдлагдсан эсвэл дахин програмчлагдсан төрлийн дотоод (болор дээр эргэлддэг) програмын санах ой;

· Байгууллага, регистрийн банк, стек, өгөгдөл хадгалахад ашигладаг 128 байтаас доошгүй резидент мэдээллийн RAM;

· Доод тал нь 32 хоёр чиглэлтэй интерфэйсийн шугам (порт), мэдээллийг оруулах, гаргахад тус тусад нь тохируулах боломжтой;

· Гадаад процессыг хадгалах, цагийн цагийг зохион байгуулах, холбооны портыг цаглахад ашигладаг 16 битийн олон горимын хоёр эдгээгч/таймер;

· Хоёр чиглэлт дуплекс асинхрон хүлээн авагч (UART), мэдээлэл дамжуулах өргөн хүрээний хурдтай микроконтроллер болон гадаад төхөөрөмжүүдийн хоорондох холбооны сувгийг зохион байгуулахад ашигладаг. Є холбогдох систем дэх микроконтроллеруудын техник хангамж, програм хангамжийг нэгтгэх боломжууд;

· 4 дотоод, 2 гадна усны урсгалаас 5-аас доошгүй усалгааны векторыг дэмждэг усалгааны дотоодын тэргүүлэх систем;

· Дотоод цагийн генератор.

Блок диаграм

Удирдлагын блок диаграммыг 1.1-р зурагт үзүүлсэн бөгөөд удирдлагын хэсэг, арифметик-логик нэгж, таймер/диспенсер блок, цуваа интерфэйс ба тасалдлын блок, програмын хянагч, санах ой зэрэг үндсэн функциональ нэгжүүдээс бүрдэнэ. өгөгдөл ба програмын санах ой. Хоёр талын харилцаа холбоо нь 8 битийн дотоод өгөгдлийн автобусаар явагддаг. MCS-51 гэр бүлийн бараг бүх төлөөлөгчид энэ схемийн дагуу бүтээгдсэн. Энэ гэр бүлийн янз бүрийн микро схемийг тусгай зориулалтын бүртгэлд (бүртгэл ба портын тоо) хуваадаг.

Хугацаа ба хяналтын блок- зөвшөөрөгдсөн бүх горимд OEOM нэгжийн нэгдсэн ажиллагааг уялдуулан зохицуулахын тулд чичиргээт синхрончлол ба хяналтын дохионы зорилго. Агуулахын хяналтын нэгжид дараахь зүйлс орно.

ирээдүйн цагийн интервал үүсэх;

оролт гаралтын логик;

тушаалын бүртгэл;

цахилгаан хангамжийн удирдлагын бүртгэл;

тушаал декодер, EOM хяналтын логик.

Жижиг 1.1. I8051 хянагчийн блок диаграмм.

Цагийн интервал үүсгэх төхөөрөмжДотоод фазын цагийн дохио, цагийн мөчлөг, мөчлөгийг бүрдүүлэх, бүрдүүлэхэд зориулагдсан. Машины мөчлөгийн тоо нь командын дарааллын нарийн төвөгтэй байдлыг илэрхийлдэг. Үржүүлэх командуудаас бусад бараг бүх OEOM командуудыг нэг эсвэл хоёр машины циклээр гүйцэтгэдэг бөгөөд эдгээрийн өчүүхэн хэсэг нь хэд хэдэн машины мөчлөгт явагддаг. Чухал ач холбогдол бүхий генераторын давтамж, F r дамжуулан тогтоосон. Машины мөчлөгийн давтамж нь 12/F буюу тохируулж буй генераторын дохионд 12 үеийг тохируулна. Оролтын гаралтын логик нь P0-P3 оролт-гаралтын портуудаар дамжуулан гадаад төхөөрөмжөөс мэдээлэл солилцох дохионы төрлийг хүлээн авахад зориулагдсан.

Тушаалын бүртгэлБичлэг хийх зорилго нь нэмж байгаа командын 8 битийн кодыг хадгалах явдал юм. Үйлдлийн кодыг командын декодер болон EOM удирдлагын логикийн тусламжтайгаар командын микропрограм руу хөрвүүлдэг.

Гишүүнчлэлийн хяналтын бүртгэл (PCON)Хэрэглэсэн цахилгаан эрчим хүчний хэмжээг өөрчлөхийн тулд микроконтроллерийн роботыг өөрчлөх, микроконтроллерийн оролтын түвшинг өөрчлөх боломжийг танд олгоно. Цахилгаан эрчим хүчний хэмжээг илүү их өөрчлөх, кодыг өөрчлөхөд үүнийг тохируулдаг микроконтроллерийн генераторыг салгаснаар хүрч болно. Энэ нь PCON-тэй холбоотой битийн бүртгэлийг буцаах тусламжтайгаар хүрч болно. n-MOS технологийг ашиглан үйлдвэрлэсэн хувилбарын хувьд (1816 цуврал эсвэл гадаад микро схем, нэр нь дунд нь "c" үсэгтэй) PCON регистр нь зөвхөн нэг бит агуулдаг бөгөөд энэ нь SMOD цуваа портын дамжуулалтыг жигд болгодог. өдөр бүр цахилгаанд холбогдсон байх.

Арифметик логик нэгж (ALU)нь олон төрлийн арифметик болон логик үйлдлүүдийг хангадаг зэрэгцээ найман битийн төхөөрөмж юм. ALU нь:

батерейны бүртгэлүүд, цаг хэмнэх бүртгэлүүд TMP1 ба TMP2;

PZP тогтмолууд;

суматора;

нэмэлт бүртгэл (Б бүртгэл);

зай (ACC);

бүртгэл нь програм (PSW) болно.

Бүртгэл зай болон цаг хэмнэсэн бүртгэл- найман битийн регистрүүд нь операндуудыг гүйцэтгэх цагийн турш хадгалах, хадгалах зориулалттай. Эдгээр бүртгэлд программын хувьд хандах боломжгүй.

Тогтмол ROMарав дахь өгөгдлийг илгээх үед залруулсан код, битийн үйл ажиллагааны үед маск код, тогтмол код үүсгэхийг баталгаажуулна.

Зэрэгцээ найман битийн суматорЭнэ нь арифметик үйлдлүүдийг тооцоолох, нэмэх, нэмэх, үржүүлэх, тодорхой бус байдал, ижил төстэй байдлын логик үйлдлүүдийг тооцоолоход зориулагдсан дараачийн шилжүүлэг бүхий хослол хэлбэрийн схем юм.

Бүртгүүлэх Б- үржүүлэх үйл ажиллагааны явцад өөрчлөгддөг найман битийн регистр. Бусад зааврын хувьд үүнийг нэмэлт үйл ажиллагааны бүртгэл гэж үзэж болно.

Зай- арифметик-логик үйлдэл эсвэл үйлдлийг гүйцэтгэх явцад олж авсан үр дүнг хүлээн авах, хадгалах найман оронтой бүртгэл.

Цуваа интерфэйс блок (SIP)оролтыг зохион байгуулах зорилго - мэдээллийн дараагийн урсгалыг харуулах, програмыг таслах системийг зохион байгуулах. Агуулахын блок нь дараахь зүйлийг агуулна.

PIP буфер;

логик керування;

хяналтын бүртгэл;

дамжуулах буфер;

үндсэн буфер;

цуваа порт хүлээн авагч;

тэргүүлэх бүртгэлийг тасалдуулах;

бүртгэлийг тасалдуулахыг зөвшөөрдөг;

Тэмдэглэгээг боловсруулах логик тасалдсан ба вектор чичиргээний схем.

Командын тоолуур (Програмын тоолуур)Програмын дотоод санах ойн урсгалтай 16 битийн хаяг, гадаад програмын санах ойн 8/16 битийн хаягийг бүрдүүлэх зорилго. Командын хадгалах агуулах нь 16 битийн PC буфер, компьютерийн бүртгэл, өсөлтийн схемийг (1-ээр нэмэгдүүлсэн) агуулдаг.

Өгөгдлийн санах ой (RAM)Програмыг суулгах явцад цуглуулсан мэдээллийг цаг тутамд хэмнэх зориулалттай.

Порти P0, P1, P2, P3Энэ нь 32 оролт-гаралтын шугамыг бий болгож, гадаад төхөөрөмжтэй OEOM мэдээллийг солилцох боломжийг олгодог бараг хоёр чиглэлтэй оролт-гаралтын портуудтай.

Бүртгэл нь хөтөлбөр (PSW) болноХөтөлбөрийг суулгах явцад LSA үйлдвэрийн талаарх мэдээллийг хадгалах зорилго.

Програмын санах ой (EPROM)Програмууд болон байнгын санах ойн төхөөрөмжүүдийг (ROM) хадгалахад зориулагдсан. Зарим бичил схемүүд нь хэт ягаан туяа эсвэл FLASH ROM-оор арилгах боломжтой зогсонги масктай байдаг.

Өгөгдлийн дэлгэцийн бүртгэл (DPTR)гадаад өгөгдлийн санах ойн 16 битийн хаягийг хадгалах зорилготой.

Стек үзүүлэлт (SP)Энэ нь өгөгдлийн санах ойн тусгай хэсгийг (стек) зохион байгуулахад ашигладаг найман битийн бүртгэл бөгөөд та ямар ч хэмжээний санах ойг хурдан хадгалах боломжтой.

1.3 8051 микроконтроллерийн бүрэлдэхүүн хэсгүүдийн зорилго(Зураг 1.2)

· U ss - газар доорхи дроту ("дэлхий") -ийн боломж;

· U cc - үндсэн тэжээлийн хүчдэл +5 В;

· X1, X2 – кварцын резонаторыг холбох холбогч;

· RST - микроконтроллерийн оролт;

· PSEN - гадаад програмын санах ойг зөвхөн шинэ ROM руу шинэчлэх үед харагдахыг зөвшөөрсөн;

· ALE – гадаад санах ойн хаягийн strobe;

· EA - програмын дотоод санах ойг идэвхжүүлэх; Микроконтроллер нь зөвхөн гадаад PZP-ээс програмыг зогсооход хүргэдэг 0 түвшин; Дотоодыг үл тоомсорлох (энэ нь хэвээр байгаа);

Жижиг 1.2. 8051 зүүг хуваарилах.

· P1 - найман битийн бараг хоёр чиглэлтэй оролт/гаралтын порт, порт тус бүрийг бусад ангиллаас үл хамааран мэдээллийн оролт, гаралтын аль алинд нь програмчлах боломжтой;

· P2 нь P1-тэй төстэй найман битийн бараг хоёр чиглэлтэй порт бөгөөд програм эсвэл өгөгдлийг гадаад санах ойд татаж авах үед (16 битийн хаягжилтыг ашигладаг) портын тээглүүрийг хаягийн мэдээллийг харуулахад ашигладаг. үлдэх). Нэмж дурдахад, микроконтроллер руу өндөр эрэмбийн хаяг оруулахаар програмчлагдсан үед портын зүүг сонгодог;

· РЗ - P1-тэй төстэй найман битийн бараг хоёр чиглэлтэй порт, тэдгээрийн зүү нь таймер, оролт-гаралтын оролт, тасалдлын хянагч зэрэг олон өөр функцээр тоноглогдсон байж болно. , болон гадаад програмын санах ойн хүндэтгэл;

· P0 - мэдээллийн оролт-гаралтын зориулалттай найман битийн хоёр чиглэлтэй портыг олон талт болгох, энэ портоор дамжуулан хаяг, өгөгдлийн бага байтыг өөр өөр хугацаанд гаргадаг.

Санах ойн зохион байгуулалт

MCS-51 цуврал бүхэлдээ хаяглагдсан программ болон өгөгдлийн санах ойгоор хангахын тулд Харвардын архитектурыг ашигладаг. Санах ойн бүтцийг Зураг дээр үзүүлэв. 1.3.

Кристалд хадгалагдсан дотоод (оршин суугч) програмын санах ойн хэмжээг (ROM, EPROM эсвэл OTP ROM) микро схемийн төрлөөс хамааран 0 (ROMгүй), 4K (суурь болор), 8К, 16К эсвэл 32К гэж тохируулж болно. Хэрэглээний хувьд та суулгасан гадаад PZP програмын санах ойг өргөжүүлж болно. Дотоод эсвэл гадаад PZP-д хандах хандалтыг EA гаралтын дохионы утгуудад хуваарилдаг (Гадаад хандалт):

EA = V cc (амьдралын хүчдэл) - дотоод PZP руу нэвтрэх;

EA = V ss (газрын боломж) – гадаад ROM руу нэвтрэх.

PZP (ROMгүй) EA холболтгүй талстуудын хувьд V ss-д байнга холбогдсон байх шаардлагатай.

Жижиг 1.3. MCS-51 гэр бүлийн санах ойн зохион байгуулалт

Гадны PZP-г уншихад зориулсан Strobe - (Program Store Enable) нь програмыг гадаад санах ойд татаж авах үед үүсдэг бөгөөд чип дээр байрлах PZP руу татаж авах явцад идэвхгүй байдаг. Програмын санах ойн доод хаягийн талбайг систем тасалдаг. 8051 үндсэн чипийн бүтэц нь таван функцийг дэмждэг:

· хоёр гадаад тасалдал;

· таймерыг хоёр удаа таслах;

· Цуваа портын тасалдал.

Зураг дээр. Зураг 1.4-т програмын санах ойн доод хэсгийн газрын зургийг харуулав.

Жижиг 1.4. Програмын санах ойн доод хэсгийн газрын зураг

Програмын санах ой (PPM)

8051 гэр бүлийн микроконтроллеруудад програмын санах ой ба өгөгдлийн санах ой нь бие даасан, бие даасан төхөөрөмж бөгөөд өөр өөр тушаал, дохиогоор удирддаг.

8051 микроконтроллерийн чип дээр байрлах хадгалагдсан програмын санах ойн хэмжээ 4 КБ хүртэл байдаг (гэр бүлд 32 хүртэл). Програмыг шинэ санах ойд анивчуулах үед 8051 гэр бүлийн бүх микроконтроллерууд үргэлж 16 битийн хаягийг ашигладаг бөгөөд энэ нь 64 KB хүртэлх ROM-д хандах боломжийг олгоно. Микроконтроллер нь үйлдлийн код, операндуудыг (PC командын процессор) унших цагт програмын санах ой руу шилжиж, програмын санах ойноос батарей руу байт хуулах командуудыг илгээдэг. Эдгээр командуудыг ашиглах үед өгөгдлийг хуулах нь өгөгдлийг унших програмын санах ойн дунд байрладаг бөгөөд компьютерийн өгөгдөл хянагч болон DPTR тусгай давхар байт мэдээллийн регистртэй харилцах боломжтой.

Хүндэтгэлийн дурсамж (УИХ)

Чип дээр хадгалагдсан өгөгдлийн санах ойн хэмжээ 128 байт байна. Гадаад өгөгдлийн санах ойн хэмжээ 64 КБ хүртэл хүрч болно. Эхний 32 байт нь анхдагч ач холбогдолтой регистрийн дөрвөн банк болгон зохион байгуулагддаг бөгөөд тэдгээр нь банк 0 - банк 3 гэж нэрлэгддэг. Тэд тус бүр нь R0-R7 найман регистрээс бүрдэнэ. Ямар ч үед програм нь регистрийн хаягжилтын үед зөвхөн нэг банк регистртэй байх ба үгийн гурав, дөрөв дэх битийн тоо нь PSW програм болно.

8051 микроконтроллерийн бит санах ойн бүсийн хаягууд

Хүснэгт 1.1

Байтын хаягууд (Hex) Зэрэглэлээр тулалдааны хаягууд
D7 D6 D5 D4 D3 D2 D1 D0
2F 7F 7E 7D
2E
2D 6F 6E 6D 6C
5F 5E 5D
4F 4E 4D
3F 3E 3D
2F 2E 2D
1F 1E 1D
0F 0E 0D 0B
20 цаг

Алдагдсан хаягийн зайг хөгжүүлэгч өөрийн үзэмжээр тохируулж болно: энэ нь стек, систем болон хувийн мэдээллийн талбаруудыг багтаах боломжтой. Эдгээр өгөгдлийн санах ойг эргүүлэн татахыг хоёр аргаар хийж болно. Эхний арга нь санах ойн дунд шууд хаяглах явдал юм. Голд байгаа ямар төрлийн хаяг нь оролтын командын операнд юм. Өөр нэг арга бол R0 эсвэл R1 нэмэлт заагч регистрүүдийн шууд бус хаяглалт юм: гадаад командын гаралтын өмнө дунд хэсэгт байгаа хаягуудыг нээх шаардлагатай болтол тэдгээрийн аль нэгэнд оруулж болно.

Өгөгдлийг гадаад санах ой руу шилжүүлэхийн тулд R0 ба R1 нэмэлт регистрүүд эсвэл DPTR 16 бит заагч регистрүүдэд шууд бус хаяглалт шаардлагатай.

Өгөгдлийн санах ойн нэг хэсэг нь битийн хэсэг бөгөөд үүнд тусгай бит командуудыг ашиглан дунд санах ойн арьсны цэнэгийг арилгах чадвартай байдаг. Шууд хаяглагдсан битүүдийн хаягийг мөн ижил аргаар (AddressByte) бичиж болно. (Цэвэрлэх). Эдгээр хаяглалтын хоёр аргын хамаарлыг хүснэгтээс харж болно. 1.1.

Микроконтроллерийн архитектур

Микроконтроллеруудын боловсронгуй архитектур нь угсралтын төрлийн програмчлалын түлхүүр юм. Ассемблерийн бүтэц, түүний зааврын формат, операндуудын хаягжилтыг архитектураас шууд тодорхойлдог. Архитектурыг өөрчлөх арга нь:

· Програмчлалд ашиглах боломжтой регистрүүдийн багц, тэдгээрийн функциональ зорилго, бүтцийг тодорхойлох;

· Үйл ажиллагааны санах ой, дэг журмыг оновчтой зохион байгуулах;

· Өгөгдлийн төрлүүдийн талаархи мэдлэг;

· Машины командын Vivchenya формат;

· Ажлын зохион байгуулалтыг тасалдуулах.

MCS-51 гэр бүлийн бүтэц нь авсаархан, хямд дижитал төхөөрөмжүүдийг бий болгох зорилгоос ихээхэн шалтгаалдаг. MK-ийн бүх функцийг нэг микро схем ашиглан гүйцэтгэдэг. MCS-51 гэр бүлийн нөөц нь хамгийн энгийн микроконтроллероос эхлээд хэд хэдэн нугалах хүртэл бүхэл бүтэн микро схемүүдийг агуулдаг. MCS-51 гэр бүлийн микроконтроллерууд нь янз бүрийн төхөөрөмжүүдийн хяналтыг тохируулах, мөн аналог хэлхээний янз бүрийн бүрэлдэхүүн хэсгүүдийг хэрэгжүүлэх боломжийг олгодог. Энэ гэр бүлийн бүх микро схемүүд нь ижил командын системээр ажилладаг бөгөөд тэдгээрийн ихэнх нь зайлсхийсэн суурьтай шинэ тохиолдолд суурилагдсан (хэргийн суурийн дугаарлалт). Энэ нь янз бүрийн үйлдвэрлэгчдийн (Intel, Dallas, Atmel, Philips гэх мэт) микро схемийг төхөөрөмж болон програмын хэлхээний диаграммыг дахин боловсруулахгүйгээр ашиглах боломжийг олгодог.

MCS-51 нь Харвардын архитектурт суурилсан бөгөөд програмын санах ой болон өгөгдлийн хаягийн зайг тусгаарладаг.

Удирдлагын блок диаграммыг 2.3-р зурагт үзүүлсэн бөгөөд дараах үндсэн функциональ нэгжүүдээс бүрдэнэ: удирдлагын хэсэг, арифметик-логик төхөөрөмж, таймер/диспенсерийн блок, цуваа интерфэйс ба тасалдал, програм түгээгч командын жагсаалт) , өгөгдлийн санах ой болон санах ойн яти програмууд

Хоёр талын харилцаа холбоо нь 8 битийн дотоод өгөгдлийн автобусаар явагддаг. Арьсны түгжрэлийн ач холбогдлын талаархи тайланг харцгаая. MCS-51 гэр бүлийн бараг бүх төлөөлөгчид энэ схемийн дагуу бүтээгдсэн. Энэ гэр бүлийн янз бүрийн микро схемийг тусгай зориулалтын бүртгэлд (бүртгэл ба портын тоо) хуваадаг. MCS-51 гэр бүлийн бүх контроллеруудын командын систем нь 1, 2 эсвэл 3 байт форматтай 111 үндсэн командыг агуулдаг бөгөөд нэг микро схемээс нөгөөд шилжихэд өөрчлөгддөггүй. Энэ нь програмуудыг нэг микро схемээс нөгөөд шилжүүлэх гайхамшигт байдлыг хангах болно.

Хяналт ба синхрончлолын нэгж(Хугацаа ба хяналт) нь зөвшөөрөгдөх бүх горимд OEOM нэгжийн ерөнхий ажиллагааг уялдуулахын тулд синхрончлол, хяналтын дохиог бий болгох зорилготой. Агуулахын хяналтын нэгжид дараахь зүйлс орно.


  • цагийн интервал үүсгэх төхөөрөмж,
  • хосолсон танилцуулга-татах схем,
  • тушаалын бүртгэл,
  • тушаал декодер.

Амралтын болон амралтын өдрүүд хяналтын болон синхрончлолын нэгж рүү дохио:

1 PSEN- Програмын санах ойг тусад нь хадгалах;

2 ALE- Хаяг засах зөвшөөрлийн гаралтын дохио;

3 PROG- дохионы програмчлал;

4 Э.А.- роботыг дотоод санах ойноос хаах;

5 VPP- Хүчдэлийн програмчлал;

6 RST- Загалный хаях дохио.

Төхөөрөмж нь CPU-ийн зогсолтын дарааллыг синхрончлох, машины циклийг хадгалах, бүх дотоод терминалууд болон гаралтын портын буферийн зөв ажиллагааг хангахад шаардлагатай цагийн интервалыг үүсгэдэг. Машины мөчлөг нь S1-ээс S6 хүртэлх зургаан эцсийн төлөвөөс (төлөв) бүрдэх ба эдгээр нь эргээд хоёр үе шатанд хуваагдана:

1-р үе шат (1-р үе - P1) ба 2-р үе шат (2-р үе - P2). Тиймээс машины мөчлөгийг S1P1, S1P2, S2P1, ..., S6P2 цагийн интервалын дарааллаар хэмжиж болно. Фазын үргэлжлэх хугацаа нь цагны шууд импульсийн хугацаатай ижил байдаг тул машины мөчлөг нь 12 цагийг авдаг.

Машины мөчлөгийн тоо нь командын дарааллын нарийн төвөгтэй байдлыг илэрхийлдэг. Хэд хэдэн машины циклээр гүйцэтгэгдэж болох үржүүлэх командуудаас бусад бараг бүх командуудыг нэг эсвэл хоёр машины циклээр гүйцэтгэдэг. Оролтын гаралтын логик нь P0-P3 оролт-гаралтын портуудаар дамжуулан гадаад төхөөрөмжөөс мэдээлэл солилцох дохионы төрлийг хүлээн авахад зориулагдсан.

Тушаалын бүртгэлБичлэг хийх зорилго нь нэмж байгаа командын 8 битийн кодыг хадгалах явдал юм. Үйлдлийн кодыг командын декодер болон EOM удирдлагын логикийн тусламжтайгаар командын микропрограм руу хөрвүүлдэг.

Цагаан будаа. 2.3. Intel 8051 нэг чиптэй микроконтроллерийн блок диаграмм

(MCS-51-ийн гэр)

Арифметик-логик төхөөрөмж(ALU) нь төрөл бүрийн арифметик болон логик үйлдлүүдийг хангадаг зэрэгцээ найман битийн төхөөрөмж юм. ALU нь:

  • цаг хэмнэсэн регистрүүд -TMP1 ба TMP2,
  • ROM тогтмолууд,
  • Суматора,
  • нэмэлт бүртгэл - бүртгүүлэх,
  • зай - ACC,
  • үгийн бүртгэл нь программ болж хувирна (тангийн бүртгэл) - PSW.

Цаг хэмнэх регистрийн TMP1, TMP2- найман битийн регистрүүд нь операндуудыг гүйцэтгэх цагийн турш хадгалах, хадгалах зориулалттай. Эдгээр бүртгэлд программын хувьд хандах боломжгүй.

Тогтмол ROMарав дахь өгөгдлийг илгээх үед залруулсан код, битийн үйл ажиллагааны үед маск код, тогтмол код үүсгэхийг баталгаажуулна.

Зэрэгцээ найман битийн суматорЭнэ нь арифметик үйлдлүүдийг тооцоолох, нэмэх, нэмэх, үржүүлэх, тодорхой бус байдал, ижил төстэй байдлын логик үйлдлүүдийг тооцоолоход зориулагдсан дараачийн шилжүүлэг бүхий хослол хэлбэрийн схем юм.

Бүртгүүлэх Б- үржүүлэх үйл ажиллагааны явцад өөрчлөгддөг найман битийн регистр. Бусад зааврын хувьд үүнийг нэмэлт үйл ажиллагааны бүртгэл гэж үзэж болно.

Зай- арифметик-логик үйлдэл эсвэл хадгалах үйлдлээс олж авсан үр дүнг хүлээн авах, хадгалах найман оронтой бүртгэл.

Бүртгүүлснээр PSW (Programm Status Word) програм болно.Үгийг хадгалахын тулд би гарын үсэг зурах тушаалууд болно. Олон тооны ALU командыг оруулахад програмын үг (PSW) бүртгэлд бүртгэгдсэн үйлдлийн цуврал тэмдэг (тэмдэг) үүсдэг. Хүснэгтэнд 1 PSW-ийн тугуудын орчуулгыг тоймлон, тэдгээрийн бэлгэдлийн нэрсийг өгч, сэтгэцийн төлөвшлийг дүрсэлсэн болно.

Цуваа интерфэйсийг тасалдуулах блок - UART (Бүх нийтийн асинхрон хүлээн авагч/дамжуулагч)оролтыг зохион байгуулах зорилго - мэдээллийн дараагийн урсгалыг харуулах, програмыг таслах системийг зохион байгуулах.

Эцсийн эцэст, тасалдал гэдэг нь роботын төхөөрөмж, программуудаас үүдэлтэй төлөвлөсөн болон төлөвлөөгүй янз бүрийн үйлдлүүдийн гүйцэтгэлийг тооцоолох үндсэн үйл явцын цаг хугацаа шаардсан хэрэгжилтийг хэлнэ.

Эдгээр үйлдлүүд нь үйлчилгээний шинж чанартай байж болох ба хажуугийн үйлчилгээний хөтөлбөрүүд эсвэл ердийн нөхцөл байдалд хариу үйлдэл үзүүлэх боломжтой.

OMEOM командын систем нь өгөгдөл боловсруулах гайхалтай чадварыг хангаж, логик, арифметик үйлдлүүдийг хэрэгжүүлэх, түүнчлэн бодит цагийн хяналтыг баталгаажуулдаг. Битээр бит, тетрадаар бит (4 бит), байт байт (8 бит) болон 16 битийн өгөгдөл боловсруулалтыг хэрэгжүүлсэн.

MCS-51 гэр бүлийн BIS нь 8 битийн OMEOM юм: ROM, RAM, тусгай зориулалтын бүртгэлүүд, ALU болон гадаад автобуснууд нь байт зохион байгуулалттай. Давхар байт өгөгдлийг зөвхөн дэлгэцийн бүртгэл (DPTR) болон командын цэвэрлэгч (PC) боловсруулдаг. Өгөгдлийн бүртгэл нь давхар байт DPTR эсвэл хоёр байт тусгай зориулалтын DPH болон DPL регистр байж болохыг анхаарна уу. Командын цэвэрлэгчийг үргэлж давхар байт бүртгэл болгон ашигладаг.

OMEOM командын багц нь системийн 33 функцийг тодорхойлох 42 мнемоник командыг агуулдаг.

Ихэнх ассемблер хэлний командуудын синтакс нь мнемоник функцийн хуваарилалтаас бүрдэх ба дараа нь хаяглах арга, өгөгдлийн төрлийг заадаг операндуудаас бүрддэг. Төрөл бүрийн өгөгдлийн төрлүүд болон хаяглалтын горимуудыг мнемоник утгын өөрчлөлтөөр бус харин операнд оруулах замаар заадаг.

Командын системийг сэтгэцийн хувьд таван бүлэгт хувааж болно.

Дараах төрлийн хаяглах операндууд байдаг.

  • Суурь болон индексийн регистрийн нийлбэрээс давсан шууд бус регистрийн хаяглалт

Тушаалын системд ашигласан тэмдэгтүүдийн хүснэгт

Томилгоо, бэлэг тэмдэг Даалгавар
А Зай
Rn Урсгалд суурилсан бүртгэлийн банкны бүртгэл
r Багийн тодорхойлсон регистрийн дугаар
шууд 8 битийн дотоод өгөгдлийн хаяг нь шууд хаяглагдсан бөгөөд энэ нь дотоод өгөгдлийн RAM (0-127) эсвэл SFR (128-255) дунд байж болно.
@Rr Дотоод өгөгдлийн RAM-ийн 8 битийн дундыг шууд бусаар хаяглаж байна
өгөгдөл8 Дундгүй 8 битийг COP-ээс өмнө оруулахаар өгсөн
өгөгдөлH Дунд зэргийн 16 битийн өгөгдлийн өндөр бит (15-8).
өгөгдөлЛ Young beats (7-0) дунд 16-бит өгөгдөл
хаяг11 11 битийн очих хаягууд
addrL Залуучуудын хүлээн зөвшөөрөх хаягууд
disp8 Тэмдэгтэй 8 битийн нүүлгэн шилжүүлэлтийн байт
жаахан Мэдээллийн дотоод OCP буюу SFR-д байрладаг COP-ийг шууд хаяглах бит.
a15, a14...a0 Битийн хаяг, даалгавар
(X) X элементийн оронд
((X)) X элементэд хадгалагдсан хаягийн оронд
(X)[M] X элементийн цэнэггүй байдал

+
-
*
БА
ЭСВЭЛ
XOR
/X
Үйл ажиллагаа:
нэмэлт
vidnіmannya
үржүүлэх
доор
логик үржүүлэх (I үйлдэл)
логик нугалах (ABO ажиллагаа)
2-р модулийн дараа нэмсэн (үүнд ABO орно)
X элементийн урвуу байдал

Мнемоник функцийн хуваарилалт нь хаяглалтын аргууд болон өгөгдлийн төрлүүдийн тодорхой хослолуудтай онцгой холбоотой байдаг. Командын системд 111 ийм оруулга байж болно. Хүснэгт нь цагаан толгойн үсгээр эрэмблэгдсэн тушаалуудын жагсаалтыг агуулна.

Мнемоник Чиг үүрэг Прапори
ACALL тушаал Үнэмлэхүй wiklik дэд програмууд
Додавання AC, C, OV
Шилжүүлсэн зүйл дээр нэмсэн AC, C, OV
AJMP баг Үнэмлэхүй шилжилт
Логик "би"
"Би" нь өөрчлөлтийн цохилтын хувьд илүү логик юм C
Нэгээс илүү байдаг тул тэгшлэх, шилжих C
CLR А тушаал Батерей уналт
CLR тушаал Скидання бита C, бит
CPL A баг Зайны урвуу байдал
CPL баг Битийн урвуу байдал C, бит
Баг ДА А Эвхэх зориулалттай арван зайны залруулга AC, C
DEC баг<байт> Бууруулах
DIV AB баг Подил C, OV
DJNZ баг<байт>, <смещение> Тэгтэй тэнцүү биш бууралт ба шилжилт
Team INC<байт> Нэмэгдүүлэх
INC DPTR команд Өгөгдлийн үзүүлэлтийн өсөлт
JB баг , Битийг тохируулсан үед шилжих
JBC баг , Шилжилт, энэ битийг оруулах, устгах зэрэг
JC баг Шилжилт, хэрэв шилжүүлгийг суулгасан бол
JMP @A+DPTR команд Шууд бус шилжилт
JNB баг , Битийг тохируулаагүй бол шилжилт
JNC баг Шилжүүлгийг суулгаагүй бол шилжилт
JNZ баг Шилжилт, хэрэв зайны оронд тэгтэй тэнцүү биш бол
JZ баг Шилжилт, хэрэв батерейны оронд шинэ нь 0 байвал
LCALL тушаал Довги Виклик
LJMP баг Урт шилжилт
Зминна-байтыг урагшлуулах
Битийн өгөгдлийг дамжуулах C
MOV DPTR тушаал, # өгөгдөл16 Өгөгдлийн заагчийг 16 битийн тогтмол тоогоор тэмдэглэнэ үү
MOVC тушаал A, @ A + ( ) Програмын санах ойноос байт илгээнэ үү
Гадаад санах ой руу өгөгдөл дамжуулах (гадаад санах ойноос)
Ажиллахгүй