2, 7, 12, 17, 22, 27, 32, 37 – variantlar



Yüklə 21,92 Kb.
tarix03.12.2023
ölçüsü21,92 Kb.
#172066
2, 7, 12, 17, 22, 27, 32, 37


2, 7, 12, 17, 22, 27, 32, 37 – variantlar

1. АВР микроконтроллерларининг ички хотиралари.


2. Таймерлар. Таймер/санагичларнинг Normal режимда ишлашини тушунтириб беринг.
3. Саккизта светодиодли қаторда еттита светодиодли юрувчи оловнинг у ёқдан бу ёққа югуриб юриши.
Javoblar
1. AVR mikrokontrollerlari ikki xil ichki xotiraga ega:
* Buyruqning Flash xotirasi: dastur kodini saqlash uchun ishlatiladi.
* EEPROM: quvvat o'chirilgandan keyin ham saqlanishi kerak bo'lgan ma'lumotlarni saqlash uchun ishlatiladi.
Buyruqning flesh xotirasi
AVR mikrokontrolleri buyruqlarining flesh xotirasi dasturlashtiriladi va qayta dasturlashtiriladi. Bu shuni anglatadiki, u mikrokontrollerni almashtirmasdan o'zgartirilishi yoki yangilanishi mumkin bo'lgan dastur kodini saqlash uchun ishlatilishi mumkin.
AVR mikrokontrolleri buyruqlari uchun flesh xotira miqdori modeldan modelga farq qiladi. Eng oddiy modellar 8 KB flesh-xotiraga ega, eng murakkablari esa 256 KB.
EEPROM
AVR mikrokontrollerlarining EEPROMlari quvvat o'chirilgandan keyin ham saqlanishi kerak bo'lgan ma'lumotlarni saqlash uchun ishlatiladi. Bunga qurilma konfiguratsiyasi, foydalanuvchi sozlamalari yoki jurnal maʼlumotlari kabi maʼlumotlar kirishi mumkin.
AVR mikrokontrollerlarining EEPROM sig'imi modeldan modelga farq qiladi. Eng oddiy modellarda EEPROM 128 bayt, eng murakkablarida esa 4 KB mavjud.
AVR mikrokontrollerlari, shuningdek, dasturni bajarish uchun zarur bo'lgan ma'lumotlarni saqlash uchun ishlatiladigan oz miqdordagi RAM ga ega. AVR mikrokontrollerlarining operativ xotira hajmi modeldan modelga farq qiladi. Eng oddiy modellar 8 KB operativ xotiraga ega, eng murakkablari esa 32 KB.
AVR mikrokontrollerlarining ichki xotirasi dastur kodini, ma'lumotlarni va boshqa muhim ma'lumotlarni saqlash imkonini beruvchi muhim komponent hisoblanadi. AVR mikrokontrollerlarining turli modellari turli xil hajmdagi ichki xotiraga ega, shuning uchun mikrokontrollerni tanlashda dasturning xotira talablarini hisobga olish kerak.

2. Taymerlar / hisoblagichlar odatdagidek ishlaydi:
Taymer soat impulslarini ichki yoki tashqi manbadan oladi.
Har bir taktik impuls taymer hisoblagichining qiymatini bittaga oshiradi.
Hisoblagich qiymati belgilangan chegaraga yetganda, taymer nolga qaytariladi va uzilishga olib keladi.
Oddiy rejimda taymer ikki rejimda ishlashi mumkin:
Limitgacha hisoblash: taymer belgilangan chegaraga qadar hisoblab chiqadi va keyin nolga qaytariladi.
O'yin oldidan hisoblash: taymer belgilangan qiymatga qadar hisoblab chiqadi va keyin uzilishni keltirib chiqaradi.
Chegaraga hisoblash
Limitgacha hisoblash rejimida taymer belgilangan chegaraga qadar hisoblab chiqadi va keyin nolga qaytariladi. Bu kechikish yaratish yoki davriy signal yaratish uchun ishlatilishi mumkin.
Masalan, 1 soniyali kechikishni yaratish uchun taymer hisoblagichining chegarasini 16000 ga o'rnatish mumkin, bu ichki chastota generatorining 16000 taktikasiga to'g'ri keladi. Hisoblagich qiymati 16000 ga yetganda, taymer nolga qaytadi va uzilishga olib keladi.
Mos kelguncha hisoblash
Mos kelguncha hisoblash rejimida taymer belgilangan qiymatga qadar hisoblab chiqadi va keyin uzilishni keltirib chiqaradi. Bu impulslarni yaratish yoki vaqtni o'lchash uchun ishlatilishi mumkin.
Masalan, 100 Gts chastotali impulslarni yaratish uchun taymer hisoblagichining qiymatini 100 ga o'rnatish mumkin. Hisoblagich qiymati 100 ga yetganda, taymer uzilishga olib keladi.
Uzilishlar
Taymer uzilishni keltirib chiqarganda, mikrokontroller uzilish ishlovchisini bajarishga o'tadi. Uzilish ishlovchisi taymer ishga tushganda bajarilishi kerak bo'lgan har qanday amalni bajarishi mumkin.
Masalan, uzilish ishlovchisi LEDni yoqishi, xabarni ekranga chiqarishi yoki boshqa vazifani bajarishi mumkin.
Taymerlar/hisoblagichlarni qo'llash
Taymerlar / hisoblagichlar juda ko'p foydalanishga ega, jumladan:
Kechikishni yaratish
Davriy signalni yaratish
Impulslarni yaratish
Vaqtni o'lchash
Elektr motorlarini boshqarish
LEDlarni boshqarish
Tashqi qurilmalarni boshqarish
Taymerlar / hisoblagichlar mikrokontrollerlarning muhim tarkibiy qismlari bo'lib, oddiy maishiy texnikadan tortib murakkab sanoat tizimlarigacha bo'lgan turli xil qurilmalarda qo'llaniladi.

3. Ushbu dastur quyidagicha ishlaydi:
Init_ports () funktsiyasi LED chizig'i uchun i / u portlarini sozlaydi.
Start_led_strip () funktsiyasi LED chiziqli LEDlarni o'z ichiga oladi.
Asosiy tsiklda dastur LED chizig'ining ledlarini almashtiradi.
LEDlarning oldinga va orqaga harakatlanish effektini yaratish uchun dastur 100 mikrosaniyali kechikish bilan LED chiziqli LEDlarni almashtiradi. Shunday qilib, ledlar avval o'ngga, keyin chapga o'tadi.
Bu erda LEDlarning bu erga harakatlanish effektini yaratish uchun kod qanday ko'rinishi mumkinligiga misol:
C
#include
#include
// Kirish-chiqish portlarini ishga tushirish
void init_ports() {
// Chiqish sifatida b portini sozlang
DDRB = 0xFF;
}
// LED tasmasini ishga tushiring
void start_led_strip() {
// LEDlarni yoqing
PORTB = 0xFF;
}
// Asosiy tsikl
void main() {
// Kirish-chiqish portlarini ishga tushirish
init_ports();
// LED tasmasini ishga tushiring
start_led_strip();
while (1) {
// LEDlarni almashtiring
for (int i = 0; i < 8; i++) {
PORTB ^= (1 << i);
// Kechikishni kutish
delayMicroseconds(100);
}
// LEDlarni chapga siljiting
for (int i = 7; i >= 1; i--) {
PORTB &= ~(1 << i);
PORTB |= (1 << (i - 1));
// Kechikishni kutish
delayMicroseconds(100);
}
// Birinchi LEDga erishganimizni tekshiring
if (PORTB == 0x01) {
// LEDlarni o'ngga siljiting
for (int i = 0; i < 7; i++) {
PORTB &= ~(1 << i);
PORTB |= (1 << (i + 1));
// Kechikishni kutish
delayMicroseconds(100);
}
}
}
}
Yüklə 21,92 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