Amaliy mashg’ulot №4 atmega 8 da vaqt hisoblagichini ulash va dasturlash Nazariy ma’lumotlar


Download 1.15 Mb.
Sana25.11.2020
Hajmi1.15 Mb.
#151800

Amaliy mashg’ulot № 4

ATmega 8 da vaqt hisoblagichini ulash va dasturlash

Nazariy ma’lumotlar

ATmega8 mikrokontrollerida "o'z-o'zidan bajaradigan" taymerni qanday qilish kerakligini ko'rib chiqamiz, garchi kod boshqa qator AVR MK-larga moslashishi juda oddiy bo'lsa-da. Elektron taymer - bu ma'lum vaqtdan keyin muayyan harakatlar talab qilinadigan barcha sohalarda to'g'ri moslama.

To'rt raqamli dinamik displeyning ulanish sxemasini va kodning asosini takrorlamaslik uchun avvalgi maqoladan olamiz, unda kodning barcha elementlari va dinamik displeyning ishlash printsipi batafsil bayon qilinadi .

Taymerni boshqarish faqat to'rtta tugmachadan iborat:

- son qiymatining oshishi;

- raqam qiymatining pasayishi;

- taymerning boshlanishi;

- taymerni qayta o'rnatish.



Taymerning ishlashining ko'rsatkichi sifatida karnay bilan audio chastotali generator ishlatiladi. Jeneratör Q5 tranzistorli kalit yordamida ishga tushiriladi, bu esa o'z navbatida mikrokontrolörün PC2 portidan keladigan ijobiy potentsial bilan boshlanadi.

Soddalashtirilgan taymer quyidagicha ishlaydi. «+» Va «-» tugmachalari kerakli soniyalarni belgilaydi; boshlash tugmasi taymerni ishga tushiradi. Taymer nolga tenglashganda, Q5 tranzistorini ochadigan ATmega8 mikrokontrolörünün PC2 pinida yuqori potentsial paydo bo'ladi . Keyinchalik, tranzistor kaliti generatorni ishga tushiradi va karnayda ovoz eshitiladi. Taymerni "reset" tugmachasini bosish bilan tiklash. Ovoz chastotasi generatori ikkita tranzistor Q6 va Q7 turli xil yarimo'tkazgichli tuzilmalarga yig'iladi. Bunday generatorlarning ishlash printsipi va kontaktlarning zanglashiga oid ma'lumotni havolani bosish orqali topish mumkin .



Mikrokontrolordagi taymerning algoritmi

Taymerimiz orqaga qaytish vaqtini aniq bir soniyada hisoblab chiqadi, garchi siz boshqa har qanday vaqtni, masalan daqiqalar, soatlar, soniyalarning yuzdan biri va boshqalarni belgilashingiz mumkin.

Bir soniya vaqt oralig'ini hosil qilish uchun biz ATmega8 mikrokontrolörünün birinchi taymerini ishlatamiz. Uning barcha sozlamalarini boshlang'ich funktsiyasida aniqlaymiz . Birinchidan, mikrokontrolörün ish chastotasini 1,000,000 Gts ni 64 ga ajrating va 15,625 Gts yangi chastotani oling. Buning uchun TCCR1B registrining CS10, CS11 va CS12 bitlari javob beradi. Keyinchalik, tasodif bilan tanaffusni amalga oshiramiz va taqqoslash registriga (katta va eng yosh) 15625 ga teng bo'lgan ikkilik raqamni yozamiz va keyin TCNT1 hisobga olish registrini yangilaymiz va TCCR1B registrining WGM12 bitini bitta qilib o'rnatamiz, bu esa agar joriy qiymat yozilgan raqamga to'g'ri kelsa, hisob registrini yangilashga olib keladi. taqqoslash registrlari.

void start (bekor)

{

       TCCR1B & = ~ (1 << CS12);



       TCCR1B | = (1 << CS11) | (1 << CS10); // chastotani 64 = 15625 ga bo'lish

       TIMSK | = (1 << OCIE1A); // mos kelganda uzilishlarni yoqish

       OCR1AH ​​= 0b00111101;

       OCR1AL = 0b000001001; // taqqoslash registri 15625

       TCNT1 = 0;

       TCCR1B | = (1 << WGM12); // mos kelganda asl holatini tiklash

}

Taymer aniq bir soniyani sanaganda, to'xtatuvchi chaqiriladi. To'xtatish funktsiyasining tanasida biz o'zgaruvchining qiymatini bittaga kamaytiramiz. Nol mikrokontrolörün C portining ikkinchi chiqishiga yetganda, yuqori potentsial paydo bo'ladi, u tranzistorni ochadi va generatorni ishga tushiradi, buning natijasida biz karnayda ovoz eshitamiz.



ISR (TIMER1_COMPA_vect)

{

       z—;



       agar (z <0) z = 0;

       agar (z == 0)

       {

             PORTC | = (1 << 2);

       }

       yana

       {

             PORTC & = ~ (1 << 2);

       }

}

Foydalanilgan adabiyotlar:


1. J. YU. Yunusov, X. YU. Abasxonova. Raqamli qurilmalar va mikroprotsessor tizimlari. Kasb-hunar kollejlari uchun o‘quv qo‘llanma. Toshkent 2010.
2. Amirsaidov U.B., X. YU. Abasxanova. Mikroprotsessorlar. o‘quv qo‘llanma. Toshkent 2014.
3. Программирование на ассемблере для AVR-микроконтроллеров: Лаб.практикум по основам микропроцессорной техники / А. Ю. Бальзамов. — Саранск: Изд-во Мордов. ун-та, 2012.
Download 1.15 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling