5, 10, 15, 20, 25, 30, 35, 40 – variantlar



Yüklə 16,63 Kb.
tarix03.12.2023
ölçüsü16,63 Kb.
#172064
5, 10, 15, 20, 25, 30, 35, 40


5, 10, 15, 20, 25, 30, 35, 40 – variantlar
1. Микроконтроллерларда аппарат ва дастурий узилишларни ташкил этиш.
2. Таймерлар. Таймер/санагичларнинг Phase correct PWM режимда ишлашини тушунтириб беринг.
3. Икки четдан марказга қараб юрувчи светодиодли оловни ташкил этиш.
Javoblar
1. Uskuna va dasturiy ta'minotdagi uzilishlar mikrokontrollerning joriy dasturni bajarishini to'xtatishning ikkita usulidir.
Uskuna uzilishlari
Uskuna uzilishlari tashqi hodisalar, masalan, tugmani bosish yoki sensor holatining o'zgarishi natijasida yuzaga keladi. Mikrokontrollerda bir nechta uzilish chiziqlari mavjud bo'lib, ularning har biri ma'lum bir uzilish manbai bilan bog'langan.
Uskuna uzilishini boshqarish uchun mikrokontroller ushbu uzilishni boshqarish uchun sozlanishi kerak. Buning uchun mos keladigan uzilish chizig'i uchun uzilishni yoqish bitini o'rnatishingiz kerak.
Uskuna uzilishi sodir bo'lganda, mikrokontroller joriy dasturning holatini stekda saqlaydi va uzilishni boshqarishni davom ettiradi. Interruptni qayta ishlash uzilish ishlovchisi deb ataladigan maxsus funktsiyada amalga oshiriladi.
Uzilishlarni qayta ishlash tugallangandan so'ng, mikrokontroller joriy dasturning holatini stekdan tiklaydi va dasturning bajarilishini to'xtatilgan joydan davom ettiradi.
Dasturiy ta'minot uzilishlari
Dasturiy ta'minot uzilishlari dastur kodidan kelib chiqadi. Mikrokontrollerda dasturiy ta'minotning uzilishiga olib keladigan maxsus INT ko'rsatmasi mavjud.
Dasturiy ta'minot uzilishini boshqarish uchun mikrokontroller uzilishni boshqarish uchun sozlanishi kerak. Buning uchun dasturiy ta'minotni uzilishni yoqish bitini o'rnatishingiz kerak.
Dasturiy ta'minot uzilishi sodir bo'lganda, mikrokontroller joriy dasturning holatini stekda saqlaydi va uzilishni boshqarishga kirishadi. Interruptni qayta ishlash uzilish ishlovchisi deb ataladigan maxsus funktsiyada amalga oshiriladi.
Uzilishlarni qayta ishlash tugallangandan so'ng, mikrokontroller joriy dasturning holatini stekdan tiklaydi va dasturning bajarilishini to'xtatilgan joydan davom ettiradi.

2. Fazali to'g'ri PWM rejimidagi taymerlar/hisoblagichlar quyidagicha ishlaydi:
Taymer noldan hisoblashni boshlaydi.
Taymer hisoblagichi taqqoslash registrida belgilangan qiymatga yetganda, taymer chiqishi teskari holatga o'tadi.
Taymer taqqoslash registrida belgilangan qiymatga yetguncha hisoblashni davom ettiradi.
Bu vaqtda taymer chiqishi yana teskari holatga o'tadi.
PWM signalining ish aylanishi chiqish signali yuqori holatda bo'lgan vaqtning signalning umumiy davriga nisbati bilan belgilanadi.
Phase to'g'ri PWM rejimida PWM impuls davomiyligini hisoblash uchun quyidagi formuladan foydalaning:
Puls kengligi = (Registr qiymatini solishtiring) / (Chastotani oldindan o'lchagich)
Misol uchun, agar taqqoslash registrining qiymati 100 va chastotani oldindan o'lchash moslamasi 1 bo'lsa, u holda pulsning davomiyligi 100 mikrosekund bo'ladi.
AVR mikrokontrolörlarida faza to'g'ri PWM rejimi TCCR1A taymer boshqaruv registrlarining WGM11, WGM10 va COM1A1 bitlarini 1 holatiga o'rnatish orqali ta'minlanadi.
Fazali to'g'ri PWM rejimining qo'shimcha xususiyatlari
Phase to'g'ri PWM rejimida AVR taymerlari/hisoblagichlari quyidagi qo'shimcha imkoniyatlarga ega:
Chiqish fazalari: Taymerning chiqishi soat signali bilan fazada yoki fazadan tashqarida bo'lishi mumkin.
Chiqish to'lqin shakli: Taymerning chiqish signali to'rtburchaklar yoki uchburchak shaklida bo'lishi mumkin.
O'lik vaqt davomiyligi: O'lik vaqt - bu taymer chiqishi ikki impuls o'rtasida past bo'lib qoladigan vaqt miqdori.

3. AVR mikrokontrollerida chetdan markazga harakatlanuvchi LED chiroqni yaratish uchun siz quyidagi amallarni bajarishingiz kerak:
LEDlarni mikrokontrollerga ulang. LEDlar mikrokontrollerga oqim cheklovchi rezistorlar orqali ulanadi. Bitta LED pin mikrokontroller piniga, ikkinchisi esa umumiy simga ulangan.
LEDlar ulangan portlarni aniqlang.
Mikrokontrollerni dasturlash.
LEDlarni mikrokontrollerga ulash
LEDlar mikrokontrollerga quyidagi sxema bo'yicha ulanadi:
LED | Port | Xulosa
------- | -------- | --------
1 | PORTA | PA0
2 | PORTA | PA1
3 | PORTA | PA2
4 | PORTA | PA3
5 | PORTA | PA4
6 | PORTA | PA5
7 | PORTA | PA6
8 | PORTA | PA7
Bunday holda, LEDlar mikrokontrollerning birinchi portiga (PORTA) ulanadi. LED pinlari PA0, PA1, PA2, PA3, PA4, PA5, PA6 va PA7 ga ulangan.
LEDlar ulangan portlarni aniqlash
LEDlar ulangan portlarni aniqlash uchun siz quyidagi funktsiyadan foydalanishingiz kerak:
uint8_t get_port(uint8_t pin)
{
return (PORT(pin) >> 5);
}
Bu funksiya pin ulangan port raqamini qaytaradi.
Mikrokontrollerni dasturlash
Chetdan markazga harakatlanadigan LED chiroqni yaratish uchun dasturda quyidagi amallarni bajarishingiz kerak:
LEDlarning holatini saqlash uchun o'zgaruvchilarni e'lon qiling.
Cheksiz ishlaydigan tsiklni dasturlang.
Bir tsiklda LEDlarning holatini tekshiring va ularning holatini teskarisiga o'zgartiring.
LED holati o'zgarishi o'rtasida kechikish hosil qiling.
Misol dasturi
#include
#include
// O'zgaruvchilarni e'lon qilish
uint8_t led_count = 8;
uint8_t led_state[8] = {1, 1, 1, 1, 1, 1, 1, 1};
// Dasturni ishga tushirish
int main(void)
{
// Portlar ishga tushirilmoqda
DDRA = 0xFF;
// Cheksiz tsikl
while (1)
{
// LEDlarning holatini tekshirish
for (int i = led_count - 1; i >= 0; i--)
{
// LED holatini o'zgartirish
led_state[i] = !led_state[i];
// LED holatini sozlash
if (led_state[i])
{
PORTA |= (1 << i);
}
else
{
PORTA &= ~(1 << i);
}
}
// Kechikish
_delay_ms(100);
}
return 0;
}
Yüklə 16,63 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin