Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 20000UZS
Размер 2.5MB
Покупки 1
Дата загрузки 06 Ноябрь 2024
Расширение docx
Раздел Курсовые работы
Предмет Информатика и ИТ

Продавец

Sardor Abdialimov

Дата регистрации 06 Ноябрь 2024

1 Продаж

Mikrokontrollerlar

Купить
1 MUNDARIJA
KIRISH…………………………………………………………………………3
I-BOB. MIKROKONTROLLERLARNI   TASHKILLASHTIRISH………..4
1.1. Mikrokontroller   arxitekturasi………………………………………………..4
1.2.Mikrokontroller   yadrosi……………………………………………………...6
1.3.Mikrokontroller   buyruq   tizimining   xususiyatlari……………………………10
II-BOB.   MIKROKONTROLLERLARNI TASHQI MUHIT BILAN 
ALOQASINI   TASHKILLASHTIRISH …………..………………………...….22
2.1. Mikrokontrollerlarda   xotirani   tashkil   etilishi   va   u   bilan ishlash…………….22
2.2.Mikrokontroller   dasturiy   xotirasi…………………………………………….23
2.3.Mikrokontroller   ma’lumot   xotirasi…………………………………………..24
2.4.Mikrokontroller   registrlari…………………………………………………...25
2.5.Mikrokontrollerlarda   axborot   kiritish-chiqarish   portlarini     tashkillashtirish   va  
strukturasi………………………………………………………………………..25
III-BOB.  AVR  MIKROKONTROLLERLARI VA CODE VISION DASTURI
IMKONIYATLARI............................................................................................28
3.1. AVR  mikrokontrollerlari tarkibi, parametrlari va tashkillashtirish 
xususiyatlari..........................................................................................................28
3.3. Code Vision AVR muxiti va uning imkoniyatlari..........................................33
3.4. Tinkercad dasturida “Aqlli eshik” loyihasini  tayyorlash...............................37
XULOSA……………………………………………………………………..….42
FOYDALANILGAN ADABIYOTLAR……………………………………….43
ILOVALAR……………………………………………………………………...44
2 KIRISH
        Ilm-fan va texnika yutuqlarini keng qo‘llagan holda iqtisodiyot   tarmoqlariga,
ijtimoiy   va   boshqa   sohalarga   zamonaviy   innovatsion   texnologiyalarni   tezkor   joriy
etish   O‘zbekiston   Respublikasi   jadal   rivojlanishining   muhim   sharti   hisoblanadi.
               Jamiyat   va   davlat   hayotining   barcha   sohalari   shiddat   bilan   rivojlanayotgani
islohotlarni   mamlakatimizning   jahon   sivilizatsiyasi   yetakchilari   qatoriga   kirish
yo‘lida   tez   va   sifatli   ilgarilashini   ta’minlaydigan   zamonaviy   innovatsion   g‘oyalar,
ishlanmalar   va   texnologiyalarga   asoslangan   holda   amalga oshirishni   taqozo   etadi.
                Shu   bilan   birga,   o‘tkazilgan   tahlil   ishlab   chiqarishni   modernizatsiya,
diversifikatsiya   qilish,   uning   hajmini   oshirish   hamda   ichki   va   tashqi   bozorlarda
raqobatbardosh   mahsulotlar   turlarini   kengaytirish   borasidagi   ishlar   lozim   darajada
olib   borilmayotganini   ko‘rsatdi.
                 Xususan,  bu  borada  ko‘plab  ko‘rsatkichlarning mavjud  emasligi   va ishlar
samarali muvofiqlashtirilmagani sababli mamlakatimiz so‘nggi   yillarda   nufuzli   va
obro‘li   xalqaro   tuzilmalar   tomonidan   tuziladigan   Global   innovatsion   indeks
reytingida   ishtirok   etmayapti.
                 Iqtisodiyot   va   ijtimoiy   soha   tarmoqlarining   ilmiy   muassasalar   bilan   o‘zaro
hamkorligi   darajasi   pastligi,   vazirlik   va   idoralar,   shuningdek,   mahalliy   davlat
hokimiyati   organlarining   innovatsion   rivojlanish sohasidagi faoliyati lozim
darajada   muvofiqlashtirilmayotgani bu boradagi birinchi navbatdagi maqsadlar va
vazifalarga   erishish   imkonini   bermayapti.
         Mamlakatimizni ijtimoiy-iqtisodiy rivojlantirish bo‘yicha ustuvor   vazifalarga
muvofiq   kadrlar   tayyorlashning   mazmunini   tubdan   qayta   ko‘rib   chiqish,   xalqaro
standartlar   darajasida   oliy   ma’lumotli   mutaxassislar   tayyorlashga   zarur   shart-
sharoitlar   yaratish   maqsadida   O‘zbekiston   Respublikasi   Prezidentining   2017-yil
20-apreldagi   “Oliy   ta’lim   tizimini   yanada   rivojlantirish   chora-tadbirlari
to‘g‘risida”gi   PQ-   2909-son  qaroroi  qabul   qilindi.  Mazkur   qaror   bilan  oliy ta’lim
darajasini   sifat   jihatidan   oshirish   va   tubdan   takomillashtirish,   oliy   ta’lim
muassasalarining   moddiy-texnika   bazasini   mustahkamlash   va   modernizatsiya
qilish,   zamonaviy   o‘quv-ilmiy   laboratoriyalari,   axborot-   kommunikatsiya
texnologiyalari   bilan   jihozlash   bo‘yicha   Oliy   ta’lim   tizimini   2017-2021-yillarda
kompleks   rivojlantirish   dasturi   tasdiqlandi.Tasdiqlangan   qonunlarni   bajarish
jarayoni   infokommunikatsion   texnologiyalarni   O‘zbekistonda   rivojlanishning
tegishli   qonunlarni   bajarish   uchun   keng   yo‘l   ochib   berdi.   Mavjud   davrda
O‘zbekistondagi   telekommunikatsion   aloqa   tizimlariga   juda   katta   masshtabdagi
ishlarni   bajarishga   olib   kelmoqda.   Bu   esa   aholiga   turli   telekommunikatsion
xizmatlarni   yuqori   saviyada   amalga   oshirishga   olib   kelmoqda.
3 I-BOB. MIKROKONTROLLERLARNI   TASHKILLASHTIRISH
1.1.Mikrokontroller   arxitekturasi
Mikrokontroller   bitta   integral   sxema   ko‘rinishida   amalga   oshiriladigan
hisoblash   tizimidan   iborat   va   o‘z   ichiga   yadro,   dastur   xotirasi,   ma’lumotlar
xotirasi,   periferiya   qurilmalari   kabi   asosiy   bloklarni   oladi   (1.1- rasm).
1.1-   rasm.   Mikrokontrollerning   umumlashtirilgan   tuzilmaviy
sxemasi
Mikrokontroller yadrosi  dastur  tomonidan beriladigan boshqaruv   jarayonini
amalga   oshiradi.   Mikrokontrollerli   yadro   negizida   integral   sxemasini   ishlab
chiqaruvchi   zavod   tomonidan   modulli   xotira   va   periferiya   qurilmalarining   nomi
ro‘yxati   bo‘yicha   turlicha   bo‘lgan,   lekin   komandalar   tizimi   va   ma’lumotlar
almashinuvi   sikli   bo‘yicha   o‘zaro   moslashadigan   mahsulotlar   ishlab   chiqariladi.
Ushbu   belgi   bo‘yicha   ko‘plab   moslashadigan   mikrokontroller   (MK)
mikrokontrollar turkumi   deb   ataladi.
Dastur   xotirasi   boshqaruvchi   dasturni   saqlash   uchun   mo‘ljallangan.
Boshqarish   jarayoni   uchun   zarur   bo‘lgan   ma’lumotlar   ma’lumotlar   xotirasida
joylashadi.
Periferiy   qurilmalari   mikrokontrollerning   tashqi   ob’ektlari   va   qator
boshqaruv   funksiyalarini   amalga   oshiradigan   apparat   bilan   birikishni   ta’minlash
uchun   mo‘ljallangan.
Mikrokontrollerlar,   boshqa   klasslarning   hisoblash   mashinalari   kabi, garvard
yoki prinston arxitektura asosida amalga oshiriladi (1.2-   rasm).   Garvard   arxitektura
asosida   bajariladigan   mikrokontrollerlarda   dasturlar   va   ma’lumotlar   foydalana
4 olishning   turli   metodlaridagi   mantiqiy   bog‘liq   bo‘lmagan   xotira   bloklarida
joylashadi.   Prinston   arxitektura   asosida   bajariladigan   mikrokontrollerlarda
dasturlar   va   ma’lumotlar xotiraning umumiy blokida joylashishi mumkin, murojaat
uchun   foydalana olishning   yagona   metodidan   foydalaniladi.
1.2-   rasm. MK garvard (a) va prinston (b) arxitekturalari
Namunaviy   va   kristallga   eng   ko‘p   integratsiyalanadigan   periferiya
qurilmalarining   mikrokontrolleriga   quyidagi   bloklar   kiradi: 
-   mantiqiy   signallar   ko‘rinishida   keltirilgan   ma’lumotlar   almashinuvini
amalga oshiradigan kiritish-chiqarish parallel  raqamli   portlar; 
-   vaqtli integrallar shakllantirilishini amalga oshiradigan va
mantiqiy   hodisalarni   hisoblashni   bajaradigan   taymer-hisoblagichlar; 
          -   vaqt   bo‘yicha   bog‘liq   bo‘lgan   hodisalarni   apparatli   qayta   ishlash   uzellari;
          -  uzluksiz   signallarni   chiqarish   va   kiritishni   amalga   oshiradigan   raqamli-
analog   va   analog-raqamli   o‘zgartirgichlar;
          -  taqsimlanadigan   tizimlarda   ma’lumotlar   almashinuvini   amalga   oshiradigan
kiritish-chiqarishning   ketma-ket   portlari;
          -   uziluvchi   hodisalarga   xizmat   ko‘rsatish   bloklari;
          -   ishlash   ishonchliligini   oshirish   vositalari.
MK   har   bir   periferiya   uzeli   maxsus   funksiyalar   registri   deb   ataladigan
uzelning   dasturiy   qulay   bo‘lgan   konfiguratsion   registrida   boshqariladigan kodlarni
yozish   yordamida   rostlash   imkoniyatiga   ega   bo‘ladi.   Rostlash   qurilmaning
(masalan,   taymer   va   parallel   porti   razryadlaridagi   ma’lumotlarni   uzatish
yo‘nalishlarining   razryadliligini   va   boshqalarni   talab   etadigan)   ishlash   rejimini
tanlashni amalga oshirish   imkonini   beradi.
MKda   joylashgan   periferiya   bloklarining   tarkibi   qurilmaning   maqsadli
vazifasiga   bog‘liq   bo‘ladi   va   ushbu   turkumning   mikrokontrollerida   amalga
5 oshiriladigan   namunaviy   vazifalari   asosida   ishlab   chiqaruvchilari   tomonidan
aniqlanadi.
1.2.Mikrokontroller   yadrosi
MK   yadrosi   tarkibiga   protsessor,   taktli   generator   va   shina   kontrolleri   kiradi
(1.3-   rasm).   Protsessor   ikkilik   kodi   va   komandalar   ketma-ketligidan   iborat   bo‘lgan
dasturga   muvofiq   ushbu   jarayonni   boshqarish   ko‘rinishida   keltirilgan   axborotni
qayta   ishlash   jarayonini   bevosita   amalga   oshiradi.   Taktli   generator   MK   uzellarida
jarayonlar   o‘tishini sinxronizatsiyalovchi tayanch signallar ketma-ketligini tayanch
impulslarning   tashqi   ketma-ketligi   asosida   shakllantirishni   amalga   oshiradi.
Shinalar   kontrolleri   MKda   komandlar   bajarilishining   turli   bosqichlarini   ichki   shina
bo‘yicha   taktlovchi   va   MK   periferiya   qurilmalari bilan ma’lumotlar almashinuvini
tashkil  etish uchun zarur   bo‘lgan   ko‘p   fazali   impulsli   ketma-ketlikning   tuzilishini
amalga   oshiradi.
Komandalar   berilgan   adreslar   (katakchalar   raqami)   bo‘yicha   komandalar
xotirasida   joylashadi   va   o‘z   ichiga   bajariladigan   operatsiyalarni   tavsiflaydigan
boshqariluvchi   kodlarni   va   berilgan   operandlar   (amallar   bajariladigan
ma’lumotlar)ni   oladi.
Har   bir   MK   komandalar   ro‘yxati   va   ularning   formatlari   xarakterlanadigan
komandalarning   muayyan   tizimiga   ega   bo‘ladi.   Komandalar   ro‘yxati   o‘z   ichiga
ushbu   MK   protsessorida   bajarilishi   nazarda tutilgan amallar to‘plamini oladi. Har
qanday MK komandalar   ro‘yxatida   amallarning   to‘rtta   guruhiga ajratish   mumkin:
Ma’lumotlar   uzatish   amallari   (MKning   boshqa   dasturiy   qulay   elementlar
o‘rtasida); arifmetik amallar («Va»,   «Yoki»,   «Yoki» ni istisno qiladigan   inversiya,
turli   siljishlar);
Boshqaruvni   uzatish   amallari   (berilgan   adres   bo‘yicha   shubhasiz   o‘tish,
operandlar   tengsizligi   yoki   tenglik   sharti   bo‘yicha   o‘tish,   quyi   dasturga   o‘tish   va
undan   qaytarish   va   h.k.).
Komandalar   formati   amallar   dasturining   navbatdagi   qadamida   bajariladigan
tipni,   kirish   va   chiqish   operandlarini,   shuningdek   dasturning   quyidagi   qadamda
bajarilishi   kerak   bo‘lgan   komandalar   adresini   aniqlash   imkonini   beradi.
Bajariladigan   komandalar   tipi   amallar   kodi   (KOP)   beriladi.
Operandalarni   berish   uchun   ularni   lokalizatsiyalash   metodlari   (adreslash
usullari)   qo‘llaniladi:
Noaniq   bo‘lgan:   operand   undan   foydalana   olishning   bir   xilligi   bilan
bog‘liqligi   (masalan,   uning joylashish   imkoniyatiga   bog‘liqligi)   ko‘rsatilmaydi;
Bevosita:   kirish   operand   komandalarda   (masalan,   konstant   topshirig‘i
maqsadida)   joylashtiriladi;
To‘g‘ri:   komandada   operand   joylashgan   ma’lumotlar   xotirasidagi   adres
ko‘rsatiladi;
6 Bilvosita:   komandada   operand   joylashgan   ma’lumotlar   xotirasidagi
katakchalar   adresini   o‘z   ichiga   olgan   ma’lumotlar   xotirasidagi   katakchalar   adresi
ko‘rsatiladi   (masalan,   dastur   uchastkasining   bir   necha   marta   takroranganda   ketma-
ket   joylashgan   ma’lumotlardan   foydalana   olishni   tashkil   etishda   izlanayotgan
ma’lumotlar   adresini   o‘zgartirgan   holda   komandalar   operanlining   qiymatini
o‘zgartirish);
Nisbiy:   komandada   (masalan,   noaniq   beriladigan)   ayrim   kattalikka   tuzilgan
ma’lumotlar   xotirasida   katakchalar   adresi   ko‘rsatiladi,   izlanayotgan   operand
joylashgan   ma’lumotlar   xotirasidagi   katakchalar   adresini   beradi   (masalan,
ma’lumotlar   jadvalining   elementiga   murojaat   qilganda   jadval   boshiga   nisbatan
siljishi bo‘yicha   izlanayotgan   operandni   aniqlash   qulaydir).
Quyidagi   bajariladigan   komandalar   adresi   komandalarning   ushbu   vaqtida
bajariladigan   adresdan   keyin   keladigan   dastur   xotirasining   adresi   kabi   noaniq
beriladi,   bu   ko‘pgina   dasturlarda   komandalar   ketma-   ketligining   liniyali
uchastkalarga   ega   bo‘lish   bilan   tushuntiriladi.   Sikllar,   quyi   dasturlar,   shartlar
bo‘yicha   vetalenieni   va   hakazolarni   tashkil   etishda   uning   aniq   topshirig‘i   uchun
komandalar   qo‘llaniladi.   OPK   boshqaruvni   uzatishning   muayyan   amalini   kodlaydi.
Ko‘plab   MK   komandalar   tizimiga   bir,   ikki,   uch   adresli   va   adressiz
komandalarni   (bitta   operandalar   komandasida   adreslanadigan   miqdori   bo‘yicha)
kiritadi.
MKda   komandalarni   bajarish   protsedurasi   quyidagiga   olib   keladi.   Chiqarib
tashlash impulsi amalining tugashi bo‘yicha MK yadro   registrini intsializatsiyalash
amalga   oshiriladi.   Komandlar   ko‘rsatkichiga   datslabki   ishga   tushirish   adresi
kiritiladi. Komandalar   ko‘rsatkichidagi   adres   bo‘yicha   shina   kontroller   tomonidan
shakllanadigan   boshqariluvchi   signallar   ta’siri   ostida   dastur   xotirasi   sohasidan
komandalar   registriga   dastur   kontrolleri   tomonidan   bajariladigan   navbatdagi
komandalar   yuklanadi.   Har   qanday   komandalar   elementar   harakatlar
(mikroamallar)   ketma-ketligini,   operandlar   amali   uchun   talab   etiladigan   miqdorni
aniqlash,   zarur   operandlarni   lokalizatsiyalashni   aniqlash,   ularni   chiqarib   tashlash,
bajariluvchi   bloklar   uchun   harakatlar   kodini   shakllantirish,   amallar   bajarilishi
tugashini   kutish,   natijalarni   lokalizatsiyalashni   aniqlash,   natijalarni   kiritish,   keyingi
komandalar   va   qator   boshqa   komandalar   adresini   aniqlashdan   iborat.   Navbatdagi
komandalarni   bajarishda   amalga   oshiriladigan   mikroamallarning   muayyan   ro‘yxati
uning   OPK   (opersiya   kodi)   ni   aniqlaydi.
 Ma’lumotlar   xotirasining   sohasi
 Almashinuv   holati va   boshqaruvining   signallari
 Mashina   taktlari,   fazalari,   sikllari
 Ma’lumotlarni   ko‘rsatkich
 MK   yadrosi
 Kirish   operandlar   registri
 Natijalar   kontrolleri
 Konstant   xotirasi
7  Arifmetik   mantiqiy   qurilma   (AMQ)
 Holat   so‘zining   registri
 Boshqaruvning   ichki   shina   razryadlari   holatini   almashtirish   sxemasi
 AMQ   ga   va   registrlarga   boshqariluvchi   signallar
 Taktlar   chastota   ajratgichi
 Komandalar   ko‘rsatkichi
 Komandalar   deshifratori
 OPK
 Komandalar   registri   fazalar   taktli   generator
 Dastur   xotirasining   sohasi
 Tayanch   impulslarning   tashqi   manbai
 Chiqarib   tashlashning   tashqi   impulse
1.3-   rasm.   Mikrokontroller yadrosining   tuzilmaviy   sxemasi
Talab   etiladigan   mikroamalga   protsessor   sxemasini   rostlash   uchun
boshqariluvchi   signallar   ketma-ketligidan   foydalaniladi.   Komandalar   dasturi
xotirasidan   hisoblab   chiqilgan   OPK   (opersiya   kodi)   deshifrlanadi   va
sinxronizatsiyalashning   har   bir   takt   bilan   ishlab   chiqiladigan,   boshqariluvchi
signallar   to‘plamining   komandalarini   ishlab   chiqishning   ushbu   bosqichida   zarur
bo‘ladigan   shina   kontrolleridan   kelib   tushadigan   mikrodasturli   avtomat   (MPA)ga
kelib   tushadi.
Arifmetik   va   mantiqiy   amallar   protsessorida   siljish,   nollash   va   hokazolarni
bajarish   arifmetik-mantiqiy   qurilma   (AMQ)   tomonidan   ta’minlanadi.   Xotira,
konstant   ma’lumotlarning   ikki-o‘ntalik   tarzda   keltirishda   to‘g‘rilovchi   kodni,   bitlar
8 ustida   amallarni   AMQ   da   bajarishda   maska   kodini   ishlab   chiqishni,   shuningdek
konstant   kodlarini     berishni   ta’minlaydi.   Amallarni   AMQda   bajarilishining
tugashi   bo‘yicha   uning   natijalar   registriga   kiritiladi,   shuningdek   protsessor
holatining   so‘z   registriga   kiritiladigan   va   dastur   bilan   hisoblash   va   tahlil   qilish
uchun   (masalan,   arifmetik   jihatdan   to‘lganligi   sababli   dasturning   boshqa   shohiga
o‘tishni   tashkil   etish   uchun)   qulay   bo‘lgan   amallar   natijalarining   belgilari
(to‘ldirish,   siljish,   belgi   va   h.k.)ni   shakllantiradi.   Keyin   umumiy   holatda
ma’lumotlar   ko‘rsatkichiga   komandalar   natijalarini   joylashtirish   zarur   bo‘lgan
ma’lumotlar   xotirasi   katakchalarining adreslari ketma-ket kiritiladi (ushbu adreslar
chiqish   operandlarni   adreslash   maydonlaridan   chiqarib   tashlanadi)   va   operandalar
natijalarning   registrlaridan   ma’lumotlar   ko‘rsatkichi   tomonidan   adreslanadigan
ma’lumotlar   xotirasi   katakchalariga   kiritiladi.   Shuni   ta’kidlash   kerakki,   qoidaga
ko‘ra,   MK   protsessorida   operandlarni   kiritishda   avtoinkrementlash   va   xotiradan
operandlar   chiqarib   tashlanaganda   avtokamaytirish   mexanizmlari   bilan
ta’minlangan   ma’lumotlar   xotirasida   qo‘shimcha   ko‘rsatkichdan   foydalaniladi.
Xotiradan   foydalana   olish   metodi   stekli   deb   ataladi,   ma’lumotlar   xotirasida
ajratiladigan bunday manipulyatsiyalash uchun soha stek deb   ataladi. Stekdan quyi
dasturni   tashkil   etishda,   xususan,   uzilishni   qayta   ishlash   quyi   dasturdan
foydalaniladi.
Chiqish   natijalari   joylashtirilgandan   keyin   komandalar   ko‘rsatkichini
avtoinkrementlash   yuzaga   keladi,   yoxud   bajariladigan   komandalarda
operandlarning   mavjud   berilgan   maydoni   unga   kiritiladi.   Ikkala   holatda
komandalar   ko‘rsatkichida   navbatdagi   bajarilishi   kerak   bo‘lgan   komandalarni   o‘z
ichiga olgan xotira katakchalari adresi bo‘ladi   va   tavsiflangan   jarayon   takrorlanadi.
Masalan,   PLUS   opX,   opY,   opZ   (opZ=opX+opY)   gipotetik   komandalarini
bajarish   ma’lumotlar   ko‘rsatkichiga   opX   adresini   yuklash, “ma’lumotlar xotirasini
o‘qish” signalini berish, ma’lumotlar   xotirasining tayyorligini kutish, ma’lumotlar
xotirasining ma’lumotlar   shinasidan AMQning kirish operandining 1-son registriga
yuklash,   opY   uchun   shunga   o‘xshash   harakatlarni   bajarish   (2-son   registrga
yozish),  «qo‘shish»  kodini  AMQga  berish,  AMQ  tayyorligini   kutish,  opZ   adresni
ma’lumotlar   ko‘rsatkichiga   yuklash,   ma’lumotlarni   AMQning   kirish   operandining
1-son   registridan   ma’lumotlar   xotirasining   ma’lumotlar   shinalariga   berish,
«ma’lumotlar   xotirasini   yozish»   signalini   berish,   ma’lumotlar   xotirasi   tayyorligini
kutish   kabi   harakatlarini   yuzaga   keltiradi.
1.3.Mikrokontroller   buyruq   tizimining   xususiyatlari
AVR   oilasiga   mansub   mikrokontrollerlarning   komandalar   tizimi
9 Mnemonika Operandlar Tavsif Operatsiya BayroqlarTaktlar	
soni*
1 2 3 4 5 6
Arifmetik   va   logik   komandalar
ADD Rd,   Rr O‘tkazish
bayrog‘ini
hisobga
olmagan   xolda
qo‘shish Rd    Rd   +   Rr Z, C, N,   V,
H,   S 1
ADC Rd,   Rr O‘tkazish
bayrog‘ini
hisobga
olgan
xolda   qo‘shish Rd    Rd + Rr +
C Z, C, N,   V,
H,   S 1
ADIW Rdl, K6 So‘z va
konstantani
qo‘shish Rdh:Rdl  
Rdh:Rdl   – K6 Z, C, N,   V,
S 2
SUB Rd,   Rr O‘tkazish
bayrog‘ini
hisobga   olmagan
xolda
ayirish Rd      Rd   –   Rr Z, C, N,   V,
H,   S 1
SUBI Rd,   K8 Konstantani
ayirish Rd    Rd   –   K8 Z,   C,   N,
V,   H,   S 1
SBC Rd,   Rr O‘tkazish
bayrog‘ini
hisobga
olgan   xolda
ayirish Rd    Rd – Rr –
C Z, C, N,   V,
H,   S 1
SBCI Rd,   K8 O‘tkazish
bayrog‘ini
hisobga
olgan   xolda
konstantani
ayirish Rd    Rd – K8 –
C Z, C, N,   V,
H,   S 1
SBIW Rdl, K6 Konstantani
so‘zdan   ayirish Rdh:Rdl  
Rdh:Rdl   –   –   K6 Z, C, N,   V,
S 2
10 AND Rd,   Rr Logik VA ni
bajarish Rd     Rd   ·   Rr Z,   N, V,   S 1
ANDI Rd,   K8 Logik VA ni
konstanta   bilan
bajarish Rd      Rd   · K8
Z,   N, V,   S 1
OR Rd,   Rr Logik   Yoki   ni
bajarish Rd    Rd   v   Rr Z,   N, V,   S 1
ORI Rd,   K8 Logik   Yoki   ni
konstanta   bilan
bajarish Rd      Rd   v K8
Z,   N, V,   S 1
EOR Rd,   Rr Logik Yoki
inkorini   bajarish Rd      Rd    Rr
Z,   N, V,   S 1
COM Rd Razryad
inversiyasi Rd     $FF   –   Rd Z,   C,   N,
V,   S 1
NEG Rd Ishorani
o‘zgartirish Rd      $00 –   Rd Z,   C,   N,
V,   H,   S 1
SBR Rd,   K8 Razryadni
(razryadlarni)
UMR ga
joylashtirish Rd      Rd   v K8 Z, C, N,   V,
S 1
CBR Rd,   K8 Razryadlarni
UMR ga   tashlash Rd      Rd   · ($FF
–   K8) Z, C, N,   V,
S 1
INC Rd UMR   tarkibini
inkrementlash Rd     Rd   +   1 Z,   N, V,   S 1
DEC Rd UMR   tarkibini
dekrementlash Rd     Rd   –   1 Z,   N, V,   S 1
TST Rd Nolga
tengligini   yoki
manfiy   qiymatga
egaligini
tekshirish Rd     Rd · Rd Z, C, N,   V,
S 1
11 CLR Rd UMR ning
hamma
razryadini
tozalash Rd      Rd      Rd Z, C, N,   V,
S 1
SER Rd UMR ning
hamma
razryadini
o‘rnatish Rd      $FF Net 1
CP Rd,   Rr Solishtirish Rd   –   Rr Z,   C,   N,
V,   H,   S 1
CPC Rd,   Rr O‘tkazish
bayrog‘ini
inobatga olib
solishtirish Rd –   Rr   –   C Z, C, N,   V,
H,   S 1
CPI Rd,   K8 Konstanta
bilan   solishtirish Rd   –   K8 Z, C, N,   V,
H,   S 1
MUL Rd,   Rr Ikkita UMR
(ishorasiz)
tarkibini
ko‘paytirish R1:R0      Rd   
Rr Z, C 2
MULS Rd,   Rr Ikkita UMR
(ishorali)
tarkibini
ko‘paytirish R1:R0      Rd   
Rr Z, C 2
MULSU Rd,   Rr Ikkita UMR
(Rd   –   ishorali;   Rr
–   ishorasiz)
tarkibini
ko‘paytirish R1:R0      Rd   
Rr Z, C 2
FMUL Rd,   Rr Ikkita UMR
(ishorasiz)   tar-
kibini   chapga,
1 razryadga
siljish bilan
ko‘paytirish R1:R0      Rd   
Rr   <<   1 Z, C 2
12 FMULS Rd,   Rr Ikkita UMR
(ishorali)
tarkibini   chapga,
1
razryadga   siljish
bilan
ko‘paytirish R1:R0      Rd   
Rr   <<   1 Z, C 2
FMULSU Rd,   Rr Ikkita UMR
(Rd   –   ishorali;
Rr–ishorasiz)
tarkibini   chapga,
1
razryadga   siljish
bilan
ko‘paytirish R1:R0      Rd   
Rr   <<   1 Z, C 2
Tarmoqlanish   komandalari
RJMP k Nisbiy   o‘tish PC      PC   +   k   +1 Yo‘q 2
IJMP Net Bilvosita
o‘tish PC      Z Yo‘q 2
EIJMP Net Kengaytirilgan
nisbiy   o‘tish PC(15:0)    Z,
PC(21:16)   
EIND Yo‘q 2
JMP k Bilvosita
o‘tish PC      k Yo‘q 3
RCALL k Bilvosita   qism
dasturni   yuklash STACK    PC+1,
PC    PC   +   k+   1 Yo‘q
3
ICALL Net Bilvosita   qism
dasturni   yuklash STACK    PC+1,
PC    Z Yo‘q
3
EICALL Net Kengaytirilgan
bilvosita qism
dasturni   yuklash STACK    PC+1,
PC(15:0)    Z,
PC(21:16)   
EIND Yo‘q
3
CALL k Qism   dasturni
chaqirish STACK    PC+1,
PC      k Yo‘q 4/5
13 RET Net Qism
dasturdan   qaytish PC      STACK Yo‘q
4
RETI Net Uzilishlarni
tashkil
qilish   qism
dasturidan
qaytish PC      STACK Yo‘q
4
CPSE Rd,   Rr Solishtirish,
agr   teng   bo‘lsa
o‘tkazib   yuborish agar Rd = Rr,   PC
 PC   +   2
(yoki   3) Yo‘q
1/2/3
SBRC Rr,   b O‘tkazib
yuborish,   agar
UFRB   bit   tushirib
qoldirilgan agar Rr(b) = 0,
PC      PC   +   2
(yoki   3) Yo‘q
1/2/3
SBRS Rr,   b O‘tkazib
yuborish,   agar
UFRB bit
o‘rnatilgan agar Rr(b)=1,   PC
   PC   +   2
(yoki   3) Yo‘q
1/2/3
SBIC I/O,   b O‘tkazib
yuborish,   agar
k/ch   registrida   bit
tushirib
qoldirilgan. agar I/O(b) = 0,
PC      PC   +   2
(yoki   3) Yo‘q
1/2/3
SBIS I/O,   b O‘tkazib
yuborish,   agar
k/ch   registrida
bit   o‘rnatilgan. agar I/O(b) = 1,
PC      PC   +   2
(yoki   3) Yo‘q
1/2/3
BRBC s,   k O‘tish, agar
registr
SREG
alomati
o‘rnatilmagan agar SREG(s) =
0,
PC    PC   +   k   +   1 Yo‘q
1/2
14 BRBS s,   k O‘tish, agar registr
SREG alomati
o‘rnatilgan agar SREG(s) = 1,
PC      PC   +   k   +   1 Yo‘q 1/2
15 BREQ k O‘tish, agar teng
bo‘lsa agar   Z   =   1,
PC      PC   +   k   +   1 Yo‘q 1/2
BRNE k O‘tish, agar teng
bo‘lmasa agar   Z   =   0,
PC      PC   +   k   +   1 Yo‘q 1/2
BRCS k O‘tish, agar uzatish
bayrog‘i   o‘rnatilgan. agar   C   =   1,
PC      PC   +   k   +   1 Yo‘q 1/2
BRCC k O‘tish, agar uzatish
bayrog‘i   o‘rnatilmagan. agar   C   =   0,   PC
 PC   +   k   +   1 Yo‘q 1/2
BRSH k O‘tish, agar katta
yoki   teng. agar   C   =   0,
PC      PC   +   k   +   1 Yo‘q 1/2
BRLO k O‘tish,   agar   kichik agar   C   =   1,
PC    PC   +   k   +   1 Yo‘q 1/2
BRMI k O‘tish,   agar   minus agar   N   =   1,
PC      PC   +   k   +   1 Yo‘q 1/2
BRPL k O‘tish,   agar   plyus agar   N   =   0,
PC      PC   +   k   +   1 Yo‘q 1/2
BRGE k O‘tish, agar katta
yoki   teng (ishorali) agar S =   0,
PC      PC   +   k   +   1 Yo‘q 1/2
BRLT k O‘tish, agar kichik
yoki   teng (ishorali) agar S =   1,
PC      PC   +   k   +   1 Yo‘q 1/2
BRHS k O‘tish, agar yarim
o‘tkazish bayrog‘i
o‘rnatilgan agar   H   =   1,   PC  
PC   +   k   +   1 Yo‘q 1/2
BRHC k O‘tish, agar yarim
o‘tkazish bayrog‘i
o‘rnatilmagan agar   H   =   0,   PC  
PC   +   k   +   1 Yo‘q 1/2
BRTS k O‘tish, agar T
bayroq   o‘rnatilgan agar   T   =   1,
PC      PC   +   k   +   1 Yo‘q 1/2
BRTC k O‘tish, agar yarim
o‘tkazish bayrog‘i
o‘rnatilmagan agar   T   =   0,   PC  
PC   +   k   +   1 Yo‘q 1/2
BRVS k O‘tish, agar
razryadlar setkasini
to‘lib   ketish   bayrog‘i
o‘rnatilgan agar   V   =   1,   PC
 PC   +   k   +   1 Yo‘q 1/2
16 BRVC k O‘tish, agar
razryadlar setkasini
to‘lib   ketish   bayrog‘i
o‘rnatilmagan agar   V   =   0,   PC  
PC   +   k   +   1 Yo‘q 1/2
BRIE k O‘tish, agar
uzilishlarga ruxsat agar   I   =   1,
PC      PC   +   k   +   1 Yo‘q 1/2
BRID k O‘tish, agar
uzilishlarga ruxsat
taqiqlangan agar   I   =   0,
PC      PC   +   k   +   1 Yo‘q 1/2
Ma’lumotlarni   uzatish   buyruqlari
MOV Rd,
Rr UFRBga nusxa
ko‘chirish Rd      Rr Yo‘q 1
MOVW Rd,   Rr UFRBdan nusxa
ko‘chirish Rd+1:Rd  
Rr+1:Rr Yo‘q 1
LDI Rd,
K8 UFRBga konstantani
yuklash Rd    K8 Yo‘q 1
LDS Rd,
k UFRBga OXQ dan
yuklash Rd     (k) Yo‘q 2
LD Rd,
X Bilvosita OXQ dan
UFRB   ga   yuklash Rd     (X) Yo‘q 2
LD Rd,
X+ OXQ dan bilvosita
inkrementli   yuklash Rd     (X),
X     X   +   1 Yo‘q 2
LD Rd,
–X OXQ dan bilvosita
dekrementli   yuklash X   X   –   1,
Rd      (X) Yo‘q 2
LD Rd,
Y OXQ   dan   UFRB   ga
bilvosita   yuklash Rd     (Y) Yo‘q 2
LD Rd,
Y+ OXQ dan bilvosta
inkrementli   yuklash Rd     (Y),
Y     Y   +   1 Yo‘q 2
LD Rd,
–Y OXQ dan bilvosita
dekrementli   yuklash Y   Y   –   1,
Rd      (Y) Yo‘q 2
LDD Rd,
Y+q OXQ   ofsetidan
bilvosita   yuklash Rd    (Y   +   q) Yo‘q 2
LD Rd,   Z OXQ   dan   UFRB   ga
bilvosita   yuklash Rd     (Z) Yo‘q 2
17 LD Rd,
Z+ OXQ dan bilvosita
inkrementli   yuklash Rd     (Z),
Z    Z   +   1 Yo‘q 2
LD Rd,
–Z OXQ dan bilvosita
dekrementli   yuklash Z      Z   –   1,
Rd      (Z) Yo‘q 2
LDD Rd,
Z+q OXQ   ofsetidan
bilvosita   yuklash Rd    (Z   +   q) Yo‘q 2
STS k,   Rr OXQ ga to‘g‘ridan
to‘g‘ri   saqlash. (k)    Rr Yo‘q 2
ST X,
Rr OXQ ga bilvosita
saqlash (X)      Rr Yo‘q 2
ST X+,
Rr OXQ ga bilvosita
inkrementli   saqlash (X)     Rr,
X     X +   1 Yo‘q 2
ST –X,
Rr OXQ ga bilvosita
dekrementli   saqlash X     X   –   1,
(X)      Rr Yo‘q 2
ST Y,
Rr Bilvosita OXQ da
saqlash (Y)      Rr Yo‘q 2
ST Y+,
Rr Bilvosita   inkrementli
OXQ   da   saqlash (Y)     Rr,
Y     Y +   1 Yo‘q 2
ST –Y,
Rr Bilvosita   dekrementli
OXQ   da   saqlash Y    Y   –   1,
(Y)      Rr Yo‘q 2
STD Y+q,
Rr OXQ ofsetiga
bilvosita   saqlash (Y +   q)     Rr Yo‘q 2
ST Z,
Rr OXQ da bilvosita
saqlash (Z)     Rr Yo‘q 2
ST Z+,
Rr OXQ   ga   inkrementli
saqlash. (Z)     Rr,
Z      Z   +   1 Yo‘q 2
ST –Z,
Rr OXQ   ga   dekrementli
saqlash. Z      Z   –   1,
(Z)     Rr Yo‘q 2
ST Z+q, OXQ   ofsetiga   bilvosi (Z   +   q)      Rr Yo‘q 2
LPM Net Dastur xotirasidan
baytni   yuklash R0      (Z) Yo‘q 3
LPM Rd,
Z Dastur xotirasidan
baytni   yuklash Rd      (Z) Yo‘q 3
LPM Rd,
Z+ Dastur xotirasidan
baytni inkrementli   yuklash Rd    (Z),   Z      Z   +
1 Yo‘q 3
18 ELPM Net Dastur xotirasidan
baytni ommaviy   yuklash R0     (RAMPZ:Z)
Yo‘q 3
ELPM Rd,   Z Dastur xotirasidan
baytni ommaviy   yuklash Rd     (RAMPZ:Z) Yo‘q 3
ELPM Rd,
Z+ Dastur xotirasidan
inkrementli baytni
ommaviy   yuklash Rd   (RAMPZ:Z),   Z
   Z   +   1 Yo‘q 3
SPM Net Dastur xotirasiga
yozish (Z)      R1:R0 Yo‘q –
IN Rd,
I/O K\Ch registridan
o‘qish Rd     I/O
Yo‘q 1
OUT I/O,
Rr K\Ch registriga
yozish I/O     Rr Yo‘q 1
PUSH Rr UFRB tarkibini
stekga   joylash STACK      Rr Yo‘q 2
POP Rd Stekdan UFRB
ga   yuklash Rd     STACK Yo‘q
2
Bitlar   bilan   ishlash   buyruqlari
LSL Rd Chapga mantiqiy
surish Rd(n   +   1)   Rd(n),
Rd(0)    0,   C   
Rd(7) Z, C, N,
V,   H,   S 1
LSR Rd O‘nga mantiqiy   surish Rd(n)      Rd(n   +1)
Rd(7)      0,   C    0 Z, C, N,
V,   H,   S 1
ROL Rd Ko‘chirish   bayrog‘i
asosida chapga siklik
surish Rd(0)      C,
Rd(n + 1)   Rd(n),
C      Rd(7) Z, C, N,
V,   H,   S 1
ROR Rd Ko‘chirish   bayrog‘i
asosida   o‘nga   siklik
surish Rd(7)      C,
Rd(n)   Rd(n + 1),
C      Rd(0) Z, C, N,
V,   S 1
ASR Rd O‘nga arifmetik   surish Rd(n)      Rd(n   +1)
n   =   0...6 Z, C, N,
V,   S 1
SWAP Rd Nibbllarni   (tetrada)
o‘zaro joyini   almashtirish Rd(3...0)
 Rd(7...4), Yo‘q 1
19 Rd(7...4)  
Rd(3...0)
BSET s Xolatlar registri
SREG da bayroq
o‘rnatish SREG(s)    1
SREG(s) 1
BCLR s Xolatlar registri
SREG da bayroq
o‘rnatmaslik SREG(s)    0
SREG(s) 1
SBI I/O,
b K\Ch registrida
razryad   o‘rnatish I/O(b)    1 Yo‘q 2
CBI I/O,
b K\Ch registrida
razryad   o‘rnatmaslik I/O(b)    0 Yo‘q 2
BST Rr,   b T trigger
alomatida
UFRB razryadini
saqlash T      Rr(b) T 1
BLD Rd,   b T   trigger   alomatidan
UFRBrazryadini   yuklash Rd(b)    T
Yo‘q 1
SEC Yo‘q Ko‘chirish   bayrog‘ini
o‘rnatish C    1 C 1
CLC Yo‘q Ko‘chirish   bayrog‘ini
o‘rnatmaslik C    0 C 1
SEN Yo‘q Manfiy son
bayrog‘ini   o‘rnatish N    1 N 1
CLN Yo‘q Manfiy son
bayrog‘ini   o‘rnatmaslik N      0
N 1
SEZ Yo‘q Nol bayrog‘ini
o‘rnatish Z      1 Z 1
CLZ Yo‘q Nol   bayrog‘ini
o‘rnatmaslik Z      0 Z 1
SEI Yo‘q Uzilishlarga ruxsat
bayrog‘ini   o‘rnatish I    1 I 1
CLI Yo‘q Uzilishlarga ruxsat
bayrog‘ini   o‘rnatmaslik I    0
I 1
20 SES Yo‘q Ishorali sonlar
bayrog‘ini   o‘rnatish S   1 S 1
CLS Yo‘q Ishorali   sonlar
bayrog‘   o‘rnatmaslik S   0 S 1
SEV Yo‘q To‘lib   ketish   alomat
registrini   o‘rnatish V   1 V 1
CLV Yo‘q To‘lib   ketish   alomat
registrini   o‘rnatmaslik V   0
V 1
SET Yo‘q T   bayroq   registrnini
o‘rnatish T    1 T 1
CLT Yo‘q T   bayroq   registrnini
o‘rnatmaslik T    0 T 1
SEH Yo‘q Ichki ko‘chirish
bayrog‘ini   o‘rnatish H   1 H 1
CLH Yo‘q Ichki ko‘chirish
bayrog‘ini   o‘rnatmaslik H   0 H 1
NOP Yo‘q Bo‘sh   operatsiya Yo‘q Yo‘q 1
BREAK Yo‘q Qayta   tiklash Mikrokontroller
turi Yo‘q 1
SLEEP Yo‘q Manba’   ta’minotni
kamaytirish Mikrokontroller
turi Yo‘q 1
WDR Yo‘q Qo‘riqchi taymerni
o‘rnatmaslik Mikrokontroller
turi Yo‘q 1
Shartli   belgilanishlar:
Rd   –   rezultatlanadigan   (destination)   va   boshlang‘ich   UMR;   Rr   –   boshlang‘ich
(source)   RON;
I/O   –   kiritish-chiqarish   registri;
b   –   UMR   yoki   kiritish-chiqarish   registridagi   razryadlar;   s   –   SREG   xolat
registridagi   razryad   (bayroq);
Rdl   –   R24,   R26,   R28,   R30   registrlari;
X,   Y,   Z   –   qisman   adreslash   uchun   ko‘rsatgich-registrlari   (X   =   R27:R26,   Y   =
R29:R28,   Z   =   R31:R30);
RAMPX,   RAMPY,   RAMPZ   –   registrlari,   X,   Y   i   Z   ko‘rsatkich-registrlari   bilan
bog‘liq   va   butun   ma’lumotlar   xotirasi   hajmi   bo‘yicha   qisman   adreslash
(ma’lumotlar   xotirasida   64   Kbaytdan   oshiq   hajmga   ega)   va   dastur   xotirasida   64
21 Kbaytdan   oshiq   hajmga   ega   mikrokontrollerlar   dastur   xotirasida   konstantaga   kirish
yo‘liga ega;
RS   –   dastur   schotchigi   (Program   Counter);
STACK   –   qaytish   adreslarini   va   registr   tarkibini   saqlash   uchun   stek;   SP   –   stek
ko‘rsatgichi   (Stack   Pointer);
EIND   –   dastur   hisoblagichiga   bog‘liq   va   dastur   xotirasida   64   Kbaytdan   oshiq
hajmga   ega   mikrokontrollerlar   bo‘yicha   butun   dastur   xotirasi   hajmini   qisman
adreslash;
K6 – konstanta (6 razryadli);   K8   –   konstanta   (8   razryadli);
k   –   dastur   hisoblagichiuchun   konstantani   adreslash   (hajmi   komandaga   bog‘liq);
q – qisman adreslashda siljish (6 razryadli).   SREG        xolat             registrining        razryadlari:   
C   –   ko‘chirish   bayrog‘i;
Z   –   nol   qiymatining   bayrog‘i;
N – manfiy qiymatning bayrog‘i;   V   –   to‘lish   bayrog‘i;
S   = N   V   –   to‘lish   belgili   nazorat   bayrog‘i;
H – yarim ko‘chish bayrog‘i (3- va 4- bayt razryadlari o‘rtasida   ko‘chish);
T   –   o‘tkazish   komandalari   uchun   bayroq;
I   –   uzilishlarga   global   ruxsat   berish   (taqiqlash).
II-BOB   Mikrokontrollerlarni tashqi muhit bilan  aloqasini    tashkillashtirish
2.1. Mikrokontrollerlarda   xotirani   tashkil   etilishi   va   u   bilan ishlash
Mikrokontroller   kristallida   dasturlar   xotirasi   va   ma’lumotlar   xotirasi   kabi
xotiraning   ikkita   bloki   integratsiyalangan.   MK   avtonom   rejimda   ishlashining
mo‘ljallanishiga   qarab,   dastur   xotirasi   ta’minot   kuchlanishi   bo‘lmaganda
ichidagilarni saqlashi kerak (ya’ni energiyaga   bog‘liq bo‘lib hisoblanadi), MKning
ichki   arxitekturasini   soddalashtirish   va   taktli   generatorning   chastotalarning   keng
diapazonida   ishlash   imkoniyati   uchun   ma’lumotlar   xotirasi   statik   arxitekturasiga
ega bo‘lishi   (ya’ni   regeneratsiyani   talab   etmasligi)   kerak.
Xotira   modulining   umulashtirilgan   tuzilmasi   2.1-   rasmda   keltirilgan.   Xotira
moduli   m-razryadli   qatorlarning   N   ko‘rinishida   tashkil   etilgan   xotira
elementlarining   matritsalaridan,   katakchalar   adresining   deshifratoridan   va   buferli
kaskaddan   iborat   bo‘ladi.
 adres   shinasi
 ma’lumotlar   shinasi
22  boshqarish   shinasi
 registrlar
2.1-   rasm. Xotira   modulining   umumlashgan   tuzilmasi
 katakcha   adresining   deshifratori
 xotira   elementlarining   matritsalari
 boshqaruv   shinasi
 buferli   kaskad
Xotiraning   bunday   modulining   adres   shinalarining   razryadliligi   n-   log
2 N   dan
iborat,   ma’lumotlar   shinasining   razryadliligi   m   dan   iborat.   Adres   kodi
ko‘rinishdagi   katakcha   tanlanishini   kerak   bo‘lgan   raqam   to‘g‘risidagi   axborot
o‘zining   bitta   chiqishidagi   yuqori   mantiqiy   darajani   generatsiyalashning   xotira
elementlarining   matritsa   qatorlaridan   birini   aktivlashtiradigan   deshifratoriga   kelib
tushadi.
Bunda   (kelib   tushadigan   boshqaruv   signallariga   bog‘liq   holda)   tanlangan
qatorlarning barcha xotira elementlarining mantiqiy darajasi   ma’lumotlar shinasiga
buferli   kuchaytirgich   kaskadi   orqali   kelib   tushadi   (katakcha   holatini   o‘qish
vaziyati),   yoxud   ma’lumotlar   shinasiga   tanlangan   qatorning   xotira   elementlariga
buferli   kuchaytirgich   kaskadlari   orqali   uzatiladi   (katakcha   holatini   yozish
vaziyati).Boshqa   qatorlarning   xotira   elementlarining   mantiqiy   holati   o‘zgarmaydi
va   chiqish   mantiqiy   darajaga   ta’sir   etmaydi.   Dastur   energiyaga   bog‘liq   xotira
bo‘lib   doimiy   xotira   qurilmalari   (DXQ)   hisoblanadi. DXQ har bir xotira elementi
axborotni  DXQga  kiritishda   (dasturlashtirishda)  uzatilishi  kerak bo‘lgan mantiqiy
holatida   bo‘ladi.   DXQda   boshqariluvchi   dasturni   yozishning   yo‘l   quyiladigan
sikllar   miqdoriga   bog‘liq   bir   karrali   va   ko‘p   karrali   dasturlanadigan   moduliga
ajratiladi.
2.2.Mikrokontroller   dasturiy   xotirasi
23 Dastur   xotirasining   asosiy   xususiyati   bu   uning   iste molʻ   energiyasiga   bog‘liq
bo‘lmaganligidir,   ya ni	
ʻ   manba   bo‘lmagan   holda   ham   dasturlarni   saqlash
imkoniyatidir.   MK   foydalanuvchilari   nuqtai   nazaridan   dasturlarning   energiyaga
bog‘liq   bo‘lmagan   xotirasini   quyidagi   turlarga   bo‘lish   mumkun:
-Maskali   DXQ   turi   –   mask-ROM.   Bu   turdagi   DXQ   yacheykalariga
qiymatlarni   uning   ishlab   chiqarilish   jarayonida   maskalar   yordamida   kiritiladi   va
keyinchalik qiymatlarni o‘zgartirib yoki qayta   dasturlab   bo‘lmaydi.   Shuning   uchun
bu   turdagi   xotirali   mikrokontrollerlarda   dasturlarni   uzoq   vaqt   sinashdan   keyingina
foydalanish   mumkin.   Bu   xotiraning   asosiy   kamchiligi   yangi   shablonlarning
to‘plamini   yaratilishidagi   va   ularni   ishlab   chiqarishga   tatbiqidagi   sarf
harajatlarning   yuqoriligi.   Odatda   bu   jarayon   2   -   3   oyni   tashkil   etadi   va   iqtisodiy
nuqtaiy   nazardan   minglab   nusxada   ishlab   chiqarilgandagina   o‘zini   oqlashi
mumkin.   Maskali   DXQ   axborotlarni   saqlashda   yuqori   ishonchlilikni
ta’minlashining   sababi,   zavod   sharoitida   dasturlanib   so‘ng   maxsulotning   turli
nazoratlardan   o‘tkazilishidir.
Foydalanuvchi   tomonidan   dasturlanuvchi   va   ultra   binafsha   nurlar   bilan
o‘chiruvchi   DXQ   –   EPROM   (Erasable   Programmable   ROM).   Bu   turdagi   DXQ
elektr   signallari   bilan   dasturlanadi   va   ultra   binafsha   nurlash   orqali   o‘chiriladi.
EPROM   xotira   yacheykasi   “suzuvchi”   zatvorli   metal   oksid   yarimo‘tkazgichli
(MOYA) – tranzistorlarda hosil qilingan   va   ularga   zaryad   boshqaruvchi   zatvordan
kerakli   elektr   signali   berilganida   o‘tadi.   Yacheyka   qiymatini   o‘chirish   uchun   uni
ultra binafsha nurlar bilan nurlantiriladi. Bu jarayon bir necha sekunddan bir necha
minutgachan   davom   etishi   mumkin.   EPROM   xotirali   MK   ko‘p   marotaba   qayta
dasturlanishi  mumkin va u turdagi xotiralar keramik g‘ilofda kvarsli  darcha bilan
ishlab   chiqariladi.   Darcha   ultra   binafsha   nurlarni   xotira   yacheykasiga   tushishi
uchun   mo‘ljallanga.   Bunday   g‘ilof   ancha   qimmat   turgani   uchun   MK   narxi   ham
qimmatlashadi   albatta.   EPROM   xotirali   MK   narxini   arzonlatish   uchun   xotirani
darchasiz   ishlab   chiqariladi   (EPROM   bir   marotaba   dasturlanuvchi   versiyasi).   -
Foydalanuvchi   tomonidan   bir   marotaba   dasturlanuvchi   DXQ   -   OTPROM   (One   –
Time Programmable ROM). Bu turdagi xotira, MK narxini arzonlatish uchun 115
xotirani   darchasiz   ishlab   chiqarilgan   EPROM   versiyasidan   iborat.   Bu   kabi
g‘iloflarda   ishlab   chiqarilishi   natijasida   narxini   kamaytirish   shunchalik   etiborliki,
oxirgi   vaqtda   EPROM   versiylari   ko‘pincha   maskali   DXQ   xotira   turi   o‘rniga
ishlatilmoqda. -Elektr o‘chirishli foydalanuvchi tomonidan dasturlanuvchi DXQ –
EEPROM   (Electrically   Erasable   Programmable   ROM).   Bu   turdagi   DXQ   ni
EPROM   ning   yangi   avlodi   deb   hisoblash   mumkin,   ularda   xotira   yacheykasi
shuningdek elektr signali orqali o‘chirish amalga oshiriladi. EEPROM qo‘llanilishi
MK platasini yechib olmasdan o‘chirish va dasturlash imkonini beradi. Shu usulda
sozlashni   amalga   oshirish   va   dasturiy   ta’minotni   yangi   variantlarini   yozish   ham
mumkin.   Bu   esa   mikrokontrollerli   tizimlarni   yaratishning   boshlang‘ich
bosqichlarida   yoki   ularni   o‘rganish   jarayonida,   qachonki   tizimning   ishlamaslik
sababini   topishga   va   dasturlar   xotirasini   o‘chirish-dasturlash   sikllarini   bajarishga
ko‘p   vaqt   ketqazilganda   juda   katta   yutuq   beradi.   EEPROM   narxi   bo‘yicha
24 OTPROM va EPROM larning o‘rtasidagi o‘rinni egallaydi. EEPROM xotirasining
dasturlash   texnologiyasining   yacheykalarni   baytlab   o‘chirish   va   dasturlash
imkoniyati   mavjud.   EEPROM   yaqqol     afzalliklariga   qaramay   MK   faqat   kam
modellarida   bunday   xotira   dasturlarni   saqlashga   ishlatiladi.   Buning   sababi,
birinchidan   EEPROM   chegaralangan   xotira   sig‘imiga   ega.   Ikkinchidan,   deyarli
EEPROM bilan bir vaqtda Flash-DXQ ishlab chiqarildi, ular texnik ko‘rsatgichlari
jihatidan   bir   xil   bo‘lishi   bilan   bir   qatorda,   lekin   Flash-DXQ   narxi   ancha   arzon.
Flash turidagi elektr o‘chirishli DXQ - Flash – ROM. Vazifasi jihatidan Flashxotira
EEPROM dan kam farq qiladi. Asosiy farqi yozilgan axborotni o‘chirish usulida-
dir.   EEPROM   xotirasida   har   bir   yacheyka   alohida   o‘chiriladi,   Flash-xotirada   esa
faqat   bloklab   o‘chirish   mumkin.   Agarda   Flash-xotiraning   bitta   yacheykasining
qiymatini o‘zgartirish kerak bo‘lib qolsa, butun blokni boshqatan dasturlash kerak
bo‘ladi. EEPROM xotirasiga nisbatan dekoderlovchi sxemalarining soddalashishi,
Flash-xotirali   MK   lar   nafaqat   bir   marotaba   dasturlanuvchi   DXQ   li   MK   bilan
raqobatbardoshlik qilmoqda, maskali DXQ bilan ham raqobat qilmoqda.
2.3.Mikrokontroller   ma’lumot   xotirasi
Xotira   ma’lumotlari   MK,   qoida   tariqasida,   statik   RAM   asosida   amalga
oshiriladi.   "Statik"   atamasi   MK   takt   chastotasi   o‘zboshimchalik   bilan   kichik
qiymatlarga   tushirilganda   (quvvat   sarfini   kamaytirish   uchun)   RAM
yaccheykalarining   tarkibi   saqlanib   qolishini   anglatadi.
Ko‘pgina   MKlarda   “ma’lumot   saqlash”   -   USTANDBY   kabi   parametr
mavjud.   Ta’minot   UDDMIN   minimal   qabul   qilingan   darajasidan   pastga   tushsa,
lekin   USTANDBY   darajasidan   yuqori   bo‘lsa,   MK   dasturi   bajarilmaydi,   ammo
operativ   xotiradagi   ma’lumotlar   saqlanadi.   Ta’minot   yuklamasi   tiklanganda   MKni
qayta   tiklash   va   ma’lumotlarni   yo‘qotmasdan   dasturni   davom   ettirish   mumkin
bo‘ladi.   Saqlash   kuchlanish   darajasi   odatda   1   V   ni   tashkil   qiladi,   bu   kerak
bo‘lganda   MK-ni   avtonom   manbadan   (batareyadan)   quvvat   olish   va   ushbu   rejimda
RAM   ma’lumotlarini   saqlashga   imkon   beradi.
MK ma’lumotlarining xotira hajmi odatda kichik, o‘nlab va yuzlab   baytlarni
tashkil   qiladi.   Ushbu   holat   MK   uchun   dasturlarni   ishlab   chiqishda hisobga olinishi
kerak.   Shunday   qilib,   MK   dasturlashda,   agar   iloji   bo‘lsa,   konstantalar
o‘zgaruvchilar   sifatida   saqlanmaydi,   lekin   ROM   dasturiga   kiritiladi.   MK-ning
apparat   imkoniyatlaridan   maksimal   darajada   foydalaniladi,   xususan,   taymerlar.
Ilovalar   katta   hajmdagi   ma’lumotlardan   foydalanmasdan   ishlashga   e'tibor
qaratishlari   kerak.
2.4.Mikrokontroller   registrlari
25 MKlar   uning   manbalarini   boshqarish   uchun   foydalaniladigan   registrlar
to‘plamiga   ega.   Ushbu   registrlar   odatda   protsessor   registrlari   (batareyalar,   holat
registrlari,   indeks   registrlari),   boshqarish   registrlari   (uzilishlarni   boshqarish
registrlari,   taymer   registrlari),   ma’lumotlarning   kirish   /chiqishini   ta’minlovchi
registrlar   (port   registrlari,   parallel,   ketma-   ket   yoki   analog   kirish   /   kirish
registrlari). Ushbu registrlarga kirish turli   yo‘llar   bilan   amalga   oshirilishi   mumkin.
RISC   protsessoriga   ega   bo‘lgan   MKda,   barcha   registrlar   (ko‘pincha
batareya)   aniq   belgilangan   manzillarda   joylashgan.   Bu   protsessorning   ishlashida
ko‘proq   moslashuvchanlikni   ta’minlaydi.   Muhim   masalalardan   biri   bu   ro‘yxatga
olish   kitoblarini   MKning   manzil   maydoniga   joylashtirish.   Ba’zi   MKlarda   barcha
registrlar   va   ma’lumotlar   xotirasi   bitta   manzil   oralig‘ida   joylashgan.   Bu
ma’lumotlar   xotirasi   registrlar   bilan   moslashtirilganligini   anglatadi.   Ushbu
yondashuv   "MK   resurslarini   xotirada   xaritalash"   deb   nomlanadi.
Boshqa   MKlarda   I/O   qurilmalarining   manzil   maydoni   umumiy   xotira
maydonidan   ajratilgan.   I/O   alohida   maydoni   Garvard   arxitekturasi   bilan
ishlaydigan   protsessorlarga   ma’lum   afzalliklarni   beradi,   bu   esa   kirish   /chiqish
registriga   kirishda   buyruqlarni   o‘qish   imkoniyatini   beradi.
2.5.Mikrokontrollerlarda   axborot   kiritish-chiqarish   portlarini
tashkillashtirish   va   strukturasi
Kiritish-chiqarishning   parallel   portlari   mikrokontroller   almashinuvi   va   MK
mikrosxemaning kiritish-chiqarish liniyalari orqali uzatiladigan   mantiqiy signallar
ko‘rinishda   keltirilgan   ma’lumotlarning   tashqi   ob’ekti   uchun   mo‘ljallangan.
Umumiy   holatda   har   bir   port   bilan   ma’lumotlar   registri   (MKdan   ob’ekti
chiqariladigan   axborotni   saqlash   uchun   yoki   MKga   ob’ektga   kiritiladigan
axborotni   saqlash   uchun),   boshqaruv   tizimi   (portning   ishlash   rejimlarini   berish
uchun)   va   signallarni   kuchaytirish   va   qo‘shish   vazifasini   hal   etuvchi   chiqish
kaskadiga bog‘liq bo‘ladi.  Port   tuzilmasi   2. 2 .- rasmda   keltirilgan.
 ichki   magistral
 periferiya   qurilmalarining   kiritish-chiqarish   liniyalari
 MKning   tashqi   kontaktlari
 portning   ma’lumotlar   registri
 chiqish   kaskadi
 ma’lumotlar   o‘qilgan
 ma’lumotlar   yozilgan
 kiritish-chiqarish   porti   tomonidan   boshqaruv   tizimi
 kiritish-chiqarish   portlari   MK   barcha   modellarida   amalga       oshiriladi.
Ma’lumotlar   registri   o‘z   ichiga   MKning   ichki   shinasi   bilan   axborot   registriga
kiritish   yoki   registr   holatining   ichki   shinasiga   chiqarish   imkonini beradigan yozish
va   o‘qishni   boshqarish   liniyalari   bilan   ikki   yo‘nalishli   kiritish-chiqarishning   N-
26 razryadli   registrini   oladi.   MK   yadrosining   protsessori   va   port   registri   o‘rtasidagi
axborot   almashinuvi   momenti   ichki   shina   orqali   yadro   shinasining   kontrollerini
belgilaydi.   Almashinuv   komandalarining   tipiga   muvofiq   (protsessordan   portga
yoki   portdan   protsessorga   uzatish)  WR   yoki   RD   signallari   shakllantiriladi,   keyin
almashinuv   CS   boshqaruv   signali   bilan   stroblanadi.
Umumiy   holatda,   almashinuvning   juda   murakkab   vazifalarini   hal   etish
imkoniyati   uchun   kiritish-chiqarish   portining   tuzilmasiga   signallar   holatini
aniqlash   va   o‘zgartirishning   kombinatsiyalanadigan   sxemasidan   iborat   bo‘lgan
boshqaruv   tizimi,   shuningdek   ushbu   holatni   saqlaydigan   registrni   yozish   va
o‘qish   uchun   dasturiy   qulay   bo‘lgan   registr   kiritiladi.   Bunday   vazifa   ikkita:
kiritish-chiqarish   liniyalarining   multiplekslash   vazifasi   va   almashinuvning
kengaytirilgan   protokollarni   qo‘llab-   quvvatlash   vazifasidir.   Ularni   batafsil   ko‘rib
chiqamiz.
2.2.-   rasm.   Kiritish   chiqarishning   parallel   porti   tuzilmasi
Ma’lumotlar   registridan   tashqari,   bir   xil   va   xuddi   shunday   MK   kontaktlari
ayrim   periferiya   qurilmasi   (masalan,   taymer)   ob’ekt   bilan   (kiritish-chiqarishning
muqobil   funksiyalari   deb   ataladigan)   axborot   almashinuvi   uchun   talab   etilishi
mumkin.   Bunda   qaysi   qurilma   (porti   yoki   boshqa   periferiya   moduli)   bilan   MK
mikrosxemalarning   muayyan   har   bir   kontakti   mahkamlanganligini   aniqlash   zarur
bo‘ladi.   Bunday   rostlash   signallar   kommutatorining   holatini   belgilaydigan   maxsus
kodning   boshqaruv   tizimining   registriga   yoziladi.
Kommutator   kontaktining   holatiga   muvofiq   MK   mikrosxemaning   har   bir
tashqi   kontakti   port   registrining   kiritish-chiqarish   liniyalariga,   yoxud   boshqa
periferiya   qurilmasining   kiritish-chiqarish   liniyalariga   fizik   jihatdan   ulangan
bo‘ladi.   Ma’lumotlarni   MKga   ob’ektdan   uzatishda   ob’ekt   tomonidan
27 shakllanadigan   «ma’lumotlar   yozilgan»   signali   ma’lumotlar   registrining   CS
kirishida   boshqaruv   tizimi   bilan   kommutatsiyalanadi,   boshqaruv   tizimi   bilan   WR
signali   shakllanadi.   Bundan   tashqari,   «Ma’lumotlar   yozilgan»   signali   boshqaruv
tizimi   registrida   xotirada   saqlanadi.   Portning   ma’lumotlar   registrini   o‘qishdan
oldin   amaliy   dastur   ob’ektdan   yangi   ma’lumotlar   mavjudligini   boshqaruv   tizimi
registridan so‘raydi va ushbu dalil aniqlangandan keyin   shina kontrolleri RD va CS
signallarini shakllantiradigan ma’lumotlar   registrini   o‘qishni   amalga   oshiradi.
Boshqaruv   tizimi   RD   signalini   «Ma’lumotlar   o‘qilgan»   liniyasiga
ma’lumotlarning   quyidagi   porsiyasini   qabul   qilishda   MK   tayyorligi   to‘g‘risida
ob’ektga   xabar   bergan   holda   kommutatsiyalaydi.
III-BOB.  AVR  MIKROKONTROLLERLARI VA CODE VISION DASTURI
IMKONIYATLARI
3.1. AVR   mikrokontrollerlari   tarkibi,   parametrlari   va             tashkillashtirish
xususiyatlari
AVR   mikrokontrollerlari   1990   yillarning   oxirida   paydo   bo‘lgan.   Kundan
kunga   ularning   turli   xil   turlari   paydo   bo‘layapti   va   keng   ommaga   taqdim
qilinayapti.   Hozirgi   davrda   bir   turdagi   arxitekturaga   ega mikrokontrollerlar turlari
AVR mikrokontrollerlari mavjud bo‘lib, ular   quyidagi   oilaga   mansub:
• Classic   AVR   (ishlab   chiqarishdan   olib   tashlanyapti);
28 • Tiny   AVR;
• Mega   AVR;
• Mega AVR maxsus   qo‘llanishlar   uchun.
  AVR-mikrokontrolleri   protsessorli   yadrosi   arxitekturasi   Mikrokontroller
oilasi   Tiny   chegaralangan   pereferiyaga   ega   bo‘lib,   katta   bo‘lmagan   dasturiy   va
ma’lumot   xotirasiga   ega.
Mikrokontrollerlar   oilasiga   mansub   Mega   mikrokontrollerlari   rivojlangan
pereferiyaga   ega   bo‘lib,   shu   oilaga   mansub   bo‘lgan  MK   lar   uchun  nisbatan   keng
ma’lumot   va dasturiy xotiraga   ega.   Ular mobil   telefonlarda,   CD-ROM/DVD-ROM
uchun   foydalaniladi.
AVR-mikrokontrollerlar   protsessorli   yadrosi   (CPU)   da   ko‘rsatilganidek
RISC-arxitekturasiga   mansub   bo‘lib   (enhanced   RISC),   mikrokontrollerlar   ish
tezligini   oshirishda foydalaniladi.
Arifmetik-mantiqiy   qurilma   (AMQ)da   hisob   amallari   bajariladi,   ular
bevosita 32 ishchi  registrga   murojaat etadi. Shuning uchun   AMQ   bir   takt   ichida
vazifalarni   bajaradi.
Undan   tashqari   har   bir   komanda   bir   xotira   yacheykasini   egallaydi.   AVR
mikrokontrollerlarida   Garvard   arxitekturasi   qo‘llaniladi.   Bunday   tashkillashtirish
bir   vaqt   ichida   dasturiy   xotira   va   ma’lumot   xotirasi   bilan   ishlash   imkoniyatini
29SPI   interfeysi
32 umumiy
foydalanadigan  
registrlar soni
AMQKomanda 
hisoblagich
Uzilishlar   moduli
Kiritish chiqarish
Qo‘riqchi   taymer Analog 
kompatorKomanda 
deshifratori ARO’TaymerlarKomanda   registri Boshqaruv   registri(EEPROM)OXQ yaratadi.
Dastur   xotirasi Ma’lumot   xotirasi
AVR-Mega   mikrokontrollerlari   xotira   kartasi   Ma’lumot   shinalarining
bo‘linishi   turli   xotira   uchun   turlicha   razryadlar   va   adreslash   usullari   bilan
farqlanadi.   Ikki   pog‘onali   konveyer   usuli   (bir   komanda   bajarilayotganda   parallel
ravishda  ikkinchi  komanda   tanlanib   dekoderlanadi)   ushbu   arxitektura   1   MGs   takt
chastotada   1   MIPS   operatsiyani   bajarish   imkoniyatini   beradi.
AVR   Mega   oilasiga   mansub   mikrokontrollerlar   xarakteristikasi:
• FLASH-dasturiy   xotira   sig‘imi   8   dan   256   Kbayt   (o‘chirib   yozish   sikli   10  
000);
• operativ   xotira   (statik   OXQ)   sig‘imi   512   bayt   dan   8   Kbayt;
• ma’lumot   xotirasi   (EEPROM)   sig‘imi   256   bayt   dan   Kbaytgacha   (o‘chirib  
yozish   sikli   100   000);
• o‘qishdan   himoyalanish   sikli   imkoniyati;
• interfeyslar SPI va JTAG orqali dasturlash  imkoniyatining   mavjudligi;
• o‘z   o‘zini   dasturlash   imkoniyatning   mavjudligi;
• turli usulda sinxronizatsiyalash;   o‘rnatilgan   RS-generator;
• bir   qancha   kam   manba’ talabligi;
• qo‘riqchi   taymer   mavjudligi;
• dasturiy takt generator chastotasini pasayishi.   Periferiya   moduli.
Mikrokontroller   AVR   Mega   23   dan   86   gacha   kiritish   chiqarish  
liniyalariga ega. Undan   tashqari   pereferiya qurilmalariga ega:
• bir   yoki   ikkita   8-bitli   taymer/hisoblagich;
• bittadan   4   gacha   16-bit   taymer/hisoblagich;
• bir-   ikki   kanalli   generatorlar   8-bitli   ShIM-signal   ;
30 • uch-   va   4   kanalli generatorlar   ShIM;
• analog   komparator;
• ko‘p   kanalli   10-bitli   ARO‘   ;
• ketma-ket   sinxron   interfeys   SPI;
• ketma-ket   ikki   yo‘nalishli   interfeys   TWI   ;
• birdan   4   gacha   to‘liq   dupleksli   universal   sinxron/asinxron   qabul   qilib-
uzatgich   (USART);
Dastur   xotirasi   (sig‘imi   8   dan   256   Kbayt)   mikrokontroller   ish   jarayonini
boshqarishda   foydalaniladigan   komandalarni   saqlashda   foydalaniladi.   Dastur
xotirasidan   ma’lumot   xotirasiga   baytlarni   uzatishda   maxsus   komanda   —   LPM
foydalaniladi.
Jadval   ATmega8535   mikrokontrolleri kiritish chiqarish registrlari
Nomi Adres Funksiya
SREG $3F   ($5F) Xolat   registri
SPH $3E   ($5E) Stek   ko‘rsatkichi,   katta   bayt
SPL $3D   ($5D) Stek   ko‘rsatkichi,   kichik   bayt
OCR0 $3C ($5C) Taymer/hisoblagich TO   mosligi
GICR $3B   ($5B) Uzilishlarni   boshqarish   registri
GIFR $3A   ($5A) Uzilishlar   umumiy   bayroq   registri
TIMSK $39   ($59)
Taymer/hisoblagich   uzilishlari   bayroq registri
TIFR $38   ($58)
Taymer/hisoblagich   uzilishlari   bayroq registri
SPMCR $37   ($57)
Dastur   xotirasiga   operatsiyalarni   yozish
xolatini   boshqarish   registri.
TWCR $36   ($56) Boshqarish   registri   TWI
MCUCR $35   ($55) Mikrokontrollerni   boshqarish   registri
MCUC
SR $34   ($54)
Mikroontroller   xolati   va   boshqarish registri
TCCR0 $33   ($53)
Taymer/hisoblagichni TO boshqarish registri
TCNT0 $32   ($52) Taymer/hisoblagich TO   hisob   registri
OSCCAL $31   ($51) Takt   generator   kalibrovka   registri
SFIOR $30   ($50) Maxsus   registr   funksiyasi
31 TCCR1A $2F   ($4F) Registr A taymer/hisoblagich T1 boshqarish
TCCR1B $2E   ($4E)
Registr V taymer/hisoblagich T1 boshqarish
TCNT1H $2D   ($4D)
Taymer/hisoblagich   T1,   katta   bayt   xisob
registri
TCNT1L $2C ($4C)
Taymer/hisoblagich   T1,   kichik   bayt   xisob
registri
OCR1AH $2B ($4B)
Registr A   taymer/hisoblagich T1, katta
bayt mosligi
OCR1AL $2A   ($4A)
Registr A   taymer/hisoblagich T1, katta
bayt mosligi
OCR1BH $29   ($49)
Registr V   taymer/hisoblagich T1, katta
bayt mosligi
OCR1BL $28   ($48)
Registr   A   taymer/hisoblagich  T1,   kichik
bayt mosligi
ICR1H $27   ($47)
Taymer/hisoblagich T1, katta bayt
egallash
ICR1L $26   ($46)
Taymer/hisoblagich T1, kichik bayt
egallash
TCCR2 $25   ($45) Taymer/hisoblagich   T2   boshqarish   registri
TCNT2 $24   ($44) Taymer/hisoblagich   T2   xisob   registri
OCR2 $23   ($43) Taymer/hisoblagich   T2   moslik   registri
ASSR $22   ($42) Asinxron   rejim   registr   xolati
WDTCR $21   ($41) Qo‘riqchi   taymer   boshqarish   registri
UBRRH $20   ($40) Uzatish   registri   USART,   katta   bayt
UCSRC Boshqarish   registri   va   xolati   USART
EEARH $1F   ($3F) Adres   registri   EEPROM,   katta   bayt
EEARL $1E   ($3E) Adres   registri   EEPROM,   kichik   bayt
EEDR $1D   ($3D) Ma’lumot   registri   EEPROM
EECR $1C ($3C) Boshqarish   registri EEPROM
PORTA $1B ($3B) Port A   ma’lumot   registri
DDRA $1A   ($3A) Port   A   ga   ma’lumot   yo‘naltirish   registri
PINA $19   ($39) Port   A   chiqishlari
PORTB $18   ($38) Port V   ma’lumot   registrlari
DDRB $17   ($37) Port V   ma’lumot   yo‘naltirish   registri
PINB $16   ($36) Port   V   chiqishlari
32 PORTC $15   ($35) S   port ma’lumot   registri
DDRC $14   ($34) S   port   ma’lumot   registri   yo‘naltirish
PINC $13   ($33) S   port   chiqishlari
PORTD $12   ($32) D   port ma’lumot   registri
DDRD $11   ($31) D   port   ma’lumot   registri   yo‘naltirish
PIND $10   ($30) Port   D   chiqishlari
SPDR $0F   ($2F) SPI   ma’lumot   registri
SPSR $0E   ($2E) SPI   xolatlar   registri
SPCR $0D   ($2D) SPI   boshqarish   registri
UDR $0C ($2C) USART   ma’lumot   registri
UCSRA $0B ($2B) Registr   A   xolat va   boshqarish   USART
UCSRB $0A   ($2A) Registr   V   xolat va   boshqarish   USART
UBRRL $09   ($29)
Uzatish   tezligi   registri  USART,   kichik bayt
ACSR $08   ($28)
Analog   komparator   xolati  va   boshqarish
registri
ADMUX $07   ($27) ASP   multipleksorini   boshqarish   registri
ADCSRA $06   ($26) Registr   A   boshqarish   va   xolati   ASP
ADCH $05   ($25) ASP   ma’lumot registri,   katta   bayt
ADCL $04   ($24) ASP   ma’lumot registri,   kichik   bayt
TWDR $03   ($23) Ma’lumot   registri   TWI
TWAR $02   ($22) Adres   registri   TWI
TWSR $01   ($21) Xolat   registri   TWI
TWBR $00   ($20) Uzatish   registri   TWI
Mikrokontrollerlar oilasiga mansub Mega mikrokontrollerlari   rivojlangan  
pereferiyaga   ega   bo‘lib,   shu   oilaga   mansub   bo‘lgan   MK   lar uchun   nisbatan   keng
ma’lumot   va   dasturiy   xotiraga   ega.   Ular   mobil   telefonlarda,   CD-ROM/DVD-
ROM   uchun   foydalaniladi.
3.2.Code   Vision   AVR   muxiti   va   uning   imkoniyatlari
Mikrokontrollerlar   uchun   dastur   yozishda   ko‘pincha   C   va   assambler
dasturlash tilidan foydalaniladi. AVR arxitekturasiga doir bir necha C va   assambler
dasturlash   tilini   o‘ziga   qamrab   olgan   bir   necha   dasturlash   muhitlari   mavjud:
CodeVisionAVR,   ImageSraft   C,   MicroC,   AVR   bascom,   MicroPascal   Atmel   Studio
va   boshqalar.
Bundan   tashqari,   bir   qancha   kompilyatorlar   manba   kodni   kompilyatsiya
keyin   mikrokontroller   dasturlanishini   qo‘llab-   quvvatlaydi.
33 CodeVisionAVR   dasturi   HP   InfoTech   kompaniyasi   tomonidan   yaratilgan 
dasturiy muhit bo‘lib, C dasturiy tilini o‘zida mujassam etgan.     Asosiy 
afzalliklaridan 
CodeVisionAVR dasturiy muhiti orqali   talaba   o‘z   bilimini   rivojlantirish  
uchun   juda   qiyin   emas.   Muharriri   bir   vaqtning   o‘zida   ikkita   loyihalar   bilan  
ishlash   imkonini   beradi   va   ishlash
natijalarini   saqlab   avtomatik   vaqtni   belgilash   uchun   imkon   beradi.
CodeVisionAVR dasturi muhitida projektni ishga  tushirishni                ko‘rib  
chiqamiz.
1. CodeVisionAVR   dasturini   ishga   tushiramiz.
2.  Menyular   qatori.
34 3. Kod   kiritiladigan   qismi.
4. Ushbu   panelda   xatolar   va   ogohlantirishlar   ask   ettiriladi   va   qayerda  
qanday   xato   yuzaga   kelganini   ko‘rsatadi.
7. Ushbu panelni vazifasi shundan iboratki tuzilgan
proyekt   nimalardan   iboratligini   va   ularga   qanday   kirishni   ko‘rsatadi.
35 Ushbu   panel   quyidagilardan   iborat:
a. Yangi   sahifa   ochish. 
b. Kerakli   fayllarni   ochish.
c. Saqlash.
d. Chop etish.
e. Hex   faylni   hosil   qilish va   kompelyatsiya   qilish.
f. Tuzatish   va   o‘zgartirishlarni   kiritish.
g. Kod   generatsiya   qilish.
h. Chipga   dastur   yozish.
CodeVisionAVR   qismi   bo‘lgan   asosiy   modullar   quyidagilardan   iborat:
-Periferik   qurilmalar   boshlash   uchun   elementlari;
-   tashqi   qurilmalar   komponentlar   bilan muloqot;
-boshlang‘ich   kod   muharriri;
Misol   tariqasida   oddiy   dasturlash   jarayonlari ko‘rsatib   beriladi.
Sodda dastur nazarida biz oddiygina qilib nur diod yoki svetodiodni   o‘chirib
yoqish   dasturini   tuzamiza.   Buning   uchun   ushbu   dasturlash   muhitini   ishga
tushuramiz,   so‘ng   File→   New   bosamiz   undan   so‘ng   kichik oyna chiqadi va o‘sha
oynada   projec t   ni   belgilab   ok   tugmasini   bosamiz   va   ushbu   dasturlash   muhitida
kodni   generatorini   ishga   tushurishni   so‘raydi   unga   javoban   biz   yes   tugmasini
bosamiz.
3.1–   rasm.   File→   New   bo‘limi
So‘ng   ushbu   muhitda   qo‘shimcha   oyna   chiqadi   va   o‘sha   oyna   yordamida
biz   o‘zimizaga   kerak   bo‘lgan   MK   portlarini   qo‘shimcha   interfeyslarni,   ARO‘   ni
hamda   boshqa   qo‘shimcha   pereferiyani   sozlashimiz   mumkin.
So‘ng   u   yerdan   Ports   deb   yozilgan   menyuga   kiramiz   va   u   yerda
Mikrakontroller   (MK)   ning   4   ta   portidan   birini   tanlaymiz.
36 3.2-rasm.MK   portlarini   sozlash   jarayonlari
Misol   uchun   biz   PORTA   ni   0   bitini   ishlatamiz   va   osha   bitni   chiqish   deb
belgilaymiz. PORTA ni chiqish qilib belgilaganimizadan   so‘ng   kodni   generatsiya
qilishimiz   kerak.   Buning   uchun   File →   Generate,   save   and   exit   bosamiz   va   ushbu
dasturimizni   3   bora   saqlaymiz.   So‘ng   bizlarda   uzun   dastur   kodi   hosil   bo‘ladi:
#include   <mega32.h>
//   Declare   your   global   variables   here   void   main(void)
{ while   (1) {
//   Place   your   code   here
};
}
Endi   biz   dasturimizni   yozamiz:
#include <mega32.h>   #include   <delay.h>
//   Declare   your   global   variables   here
void   main(void)  //   dasturning   asosiy   qismi
{
PORTA=0x00; // PORTA chiqish   DDRA=0x01;
while   (1) {  //   Place   your   code   here
PORTA=0x01;   //   A   portni   o -   elektrodini   yoqamiz
delay_ms(10);  // 100 ms kutamiz   PORTA=0x00;  //o –elektrodni o‘chiramiz  
delay_ms(10);  //   100   ms   kutamiz
};
}
37 3.3. Tinkercad dasturida “Aqlli eshik” loyihasini  tayyorlash
Tinkercad   dasturida   eshik   uchun   kodli   qulf   dasturini   yaratishni   va   ularni
ishlatishni ko`rib o`tamiz.  Buning uchun bizga Ardiuno uno, 16x2 ekran, klaviatura
4x4, mikroservop kerak bo`ladi. (3.3-rasm)
(3.3-rasm)
Dipsleyni rasmda ko`rsatilgan shaklda ardiunoga ulab olamiz. (3.4-rasm)
(3.4-rasm)
38 Klaviatura 4x4 ni ham shu shaklda ardiunoga ulab olamiz. (3.5-rasm)
(3.5-rasm)
Mikroservop (qulf) ni ham ardiunoga ulab olamiz. (3.6-rasm)
(3.6-rasm)
39 Kod buyrug`i orqali kerakli kodlarni tekst shaklida kiritib olamiz. Bajarilgan
ishlarni   tekshirib   ko`ramiz.   Display   birinchi   ishga   tushganda   ozgina   vaqt
ma`lumotlarni yuklaydi. (3.7-rasm)
(3.7-rasm)
Va displeyda “PAROLNI KIRITING” so`zi chiqadi. Undan so`ng klaviatura
4x4 dan parolni teramiz. (3.8-rasm)
(3.8-rasm)
40 Agar parol to`g`ri terilsa ekranda  “ESHIK OCHILDI” so`zi chiqadi. (3.9-rasm)
(3.9- rasm )
Eshikdan   ochilgan   vaqtdan   5   sekund   eshik   qulfi   ochiq   turadi   va   xavfsizlik
uchun   eshik   qulfi   yana   qayta   yopiladi .  (3.10-rasm)
(3.10-rasm)
41 Agar   eshikga   kirishda   parolni   xato   tersangiz   “Parol   xato”   so`zi   chiqadi.
(3.11-rasm)
(3.11- rasm )
42 XULOSA
Xulosa   qilib   aytganda ,   ushbu   kurs   loyiha   ishida   mikrokontrollerlar   va
ularning   qanday   ishlashi   sohalarda   qo ` llanilishi ,   Code   Vision   AVR   dasturi
muhiti   imkoniyatlari   haqida   batafsil   ma ` lumotlar   berib   o ` tildi .   Mikrokontroller
bitta   integral   sxema   ko‘rinishida   amalga   oshiriladigan   hisoblash   tizimidan   iborat
va   o‘z   ichiga   yadro,   dastur   xotirasi,   ma’lumotlar   xotirasi,   periferiya   qurilmalari
kabi   asosiy   bloklarni   o ` z   ichiga   oladi .   Mikrokontroller   yadrosi   dastur
tomonidan beriladigan boshqaruv   jarayonini   amalga   oshiradi.   Mikrokontrollerli
yadro   negizida   integral   sxemasini   ishlab   chiqaruvchi   zavod   tomonidan   modulli
xotira   va   periferiya   qurilmalarining   nomi   ro‘yxati   bo‘yicha   turlicha   bo‘lgan,
lekin   komandalar   tizimi   va   ma’lumotlar   almashinuvi   sikli   bo‘yicha   o‘zaro
moslashadigan   mahsulotlar   ishlab   chiqariladi.   Ushbu   belgi   bo‘yicha   ko‘plab
moslashadigan mikrokontroller (MK) mikrokontrollar turkumi   deb   ataladi.
 
43 FOYDALANILGAN ADABIYOTLAR
1. O‘zbekiston Respublikasi Prezidentining "O‘zbekiston   Respublikasini 
yanada rivojlantirish bo‘yicha harakatlar   strategiyasi to‘g‘risida"gi 
farmoni. (2017-yil 7-fevral, PF-4947-   son).
2. O‘zbekiston Respublikasi Prezidentining "Oliy ta’lim tizimini   yanada  
rivojlantirish   chora-tadbirlari   to‘g‘risida"gi   qarori   (2017
yil   20 aprel,   PQ-2909-son).
3. O‘zbekiston Respublikasi Prezidentining "Oliy ma’lumotli  
mutaxassislar tayyorlash sifatini oshirishda iqtisodiyot sohalari   va 
tarmoqlarining   ishtirokini   yanada   kengaytirish   chora-
tadbirlari   to‘g‘risida"gi   qarori   (2017   yil   27 iyul,   PQ-3151-son).
4. Yunusov   J.Yu.,   Abasxanova   X.Yu.   Raqamli   qurilmalar   va
mikroprosessor tizimlari .O‘quv qo‘llanma. Itisod , Toshkent   2010yil,
.-256   b.
5. Abasxanova   X.Yu.,   Amirsaidov   U.B.   Mikroprotsessorlar.   Oliy
o‘quv   yurtlari   uchun   o‘quv   qo‘llanma.   Toshkent   2017   yil. -350   b.
6. М.Б.ЛебедовCodeVisionAVR Пособие для начинающих .М-   Додека-
XXI.2010.   -592   с.
7. Ю.В.   Новиков.   Основы   микропроцессорной   техники.
Учебное   пособие.   Москва:   ИНТУИТ,   2012.   -   357   с.
8. Жмакин   А.П.   Архитектура   ЭВМ.-СПб.:   БХВ-Петербург,
2014.   -320   с.
9. Преснухин   Л.Н.   Микропроцессоры:   В   3   кн.   Кн.   2:   Средства  
сопряжения. Контролирующие и управляющие системы:   Учеб.для 
техн. Вузов /В.Д. Вернер, Н.В. Воробев, А.В.   Горячев   и   др.;   Под  
ред.   Л.Н. Преснухина.   -   Мн.:   Выш.шк.,
2017.-303   с
10 Зарубин   А.А.   Микропроцессорное   программное   управления.  
Архитектура   IXA.   Методические   рекомендации   к
практическим   занятиям.   СПбГУТ.-   СПб,   2004.
44 ILOVALAR
“Aqlli eshik” loyihasini ishlatish uchun kerakli kodlar
#include <Keypad.h>
#include <LiquidCrystal.h>
#include <Servo.h>
#define Password_Length 5
Servo myservo;
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);
int pos = 0;
char Data[Password_Length];
char Master[Password_Length] = "0721";
byte data_count = 0, master_count = 0;
bool Pass_is_good;
bool door = false;
char customKey;
/*---preparing keypad---*/
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {0, 1, 2, 3};
byte colPins[COLS] = {4, 5, 6, 7};
Keypad customKeypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);
/*--- Main Action ---*/
void setup()
45 {
  myservo.attach(9, 2000, 2400);
  ServoClose();
  lcd.begin(16, 2);
  lcd.print("HIMOYALANGAN");
  loading("YUKLANMOQDA");
  lcd.clear();
}
void loop()
{
  if (door == true)
  {
    customKey = customKeypad.getKey();
    if (customKey == '#')
    {
      lcd.clear();
      ServoClose();
      lcd.print("Door is closed");
      delay(3000);
      door = false;
    }
  }
  else
    Open();
}
void loading (char msg[]) {
  lcd.setCursor(0, 1);
  lcd.print(msg);
  for (int i = 0; i < 9; i++) {
    delay(1000);
    lcd.print(".");
  }
}
void clearData()
{
  while (data_count != 0)
  { 
46     Data[data_count--] = 0;
  }
  return;
}
void ServoClose()
{
  for (pos = 90; pos >= 0; pos -= 10) { 
    myservo.write(pos);
  }
}
void ServoOpen()
{
  for (pos = 0; pos <= 90; pos += 10) {
    myservo.write(pos);  
  }
}
void Open()
{
  lcd.setCursor(0, 0);
  lcd.print("PAROLNI KIRITING");
  
  customKey = customKeypad.getKey();
  if (customKey)
  {
    Data[data_count] = customKey;
    lcd.setCursor(data_count, 1);
    lcd.print(Data[data_count]);
    data_count++;
  }
  if (data_count == Password_Length - 1)
  {
    if (!strcmp(Data, Master))
    {
      lcd.clear();
      ServoOpen();
      lcd.print("  ESHIK OCHILDI ");
      door = true;
      delay(5000);
      loading("KUTILMOQDA");
47       lcd.clear();
      lcd.print(" ESHIK YOPILDI! ");
      delay(1000);
      ServoClose();
      door = false;      
    }
    else
    {
      lcd.clear();
      lcd.print("   PAROL XATO ");
      door = false;
    }
    delay(1000);
    lcd.clear();
    clearData();
  }
}
48

MIKROKONTROLLERLAR, AVR MIKROKONTROLLERLARI VA CODE VISION DASTURI
IMKONIYATLARI

Купить
  • Похожие документы

  • Access dasturi yordamida “dorixona” ma‘lumotlar bazasini yaratish
  • Agile va Scrum metodologiyalari dasturiy ta'minot ishlab chiqish
  • Tashkilot miqyosida masofadan muloqot qilish.
  • Talabalar haqida ma'lumot saqlovchi tizim
  • HTML tili, uning asosiy elementlari. Jadval va rasm hosil qilish. Gipermatn va freymlar joylashtirish

Подтвердить покупку

Да Нет

© Copyright 2019-2025. Created by Foreach.Soft

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha