Taktli generator
Taktli generator MK ning barcha turg’unlarini sinxron ishlashi uchun impuls ishlab chiqaradi.Ichki AVR taktli generatorining ishga tushurish uchun tashqi generator, tashqi kvarsli, rezonator, ichki yoki tashqi RC zanjiri, chastota manbai sifatida ishtirok etadi.Ruhsat etilgan minimal chastotaning qiymati hech narsa bilan chagaralanmagan.MK ning ruhsat etilgan maksimal chastotasi esa uning turiga va yozib qo’yilgan xarakeristikasiga binoan aniqlanadi.
Ta’minlash manbai
AVR ishla turishini ta’minlash uchun 1.8 dan 6.0 Voltgacha kuchlanish talab qiladi.Iste’mol qilinuvchi tok aktiv rejimda talab qilinuvchi qiymati esa MK ning qanday kuchlanish va chastotada ishlayotganiga bog’liq.Misol uchun 50 kGs chastotada 1mA , 5MGs da 6mA va 12 MGs da 8.9 mA tok saqlaydi.
AVR energiya ta’minoti tejamkorligining 3 xil rejimiga dastiriy ta’minot orqali o’tkazilishi mumkin.
8-rasm. Mikrokontroller asosida masofani o’lchovchi qurilmaning ko’rinish keltirilgan;
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
turn();
if(distance >= 0 && distance <= 99)
{
digitalWrite(1, 1);
digitalWrite(11, 0);
switch(distance % 10)
{
case 0: nol(); break;
case 1: bir(); break;
case 2: ikki(); break;
case 3: uch(); break;
case 4: tort(); break;
case 5: besh(); break;
[Введите содержимое боковой полосы. Боковая полоса представляет собой независимое дополнение к основному документу. Обычно она выровнена по левому или правому краю страницы либо расположена в самом верху или в самом низу. Для изменения форматирования надписи, содержащей боковую полосу, используйте вкладку "Средства рисования".]
{
case 0: nol(); break;
case 1: bir(); break;
case 2: ikki(); break;
case 3: uch(); break;
case 4: tort(); break;
case 5: besh(); break;
case 6: olti(); break;
case 7: yetti(); break;
case 8: sakkiz(); break;
case 9: toqqiz(); break;
}
}
delay(5);
turn();
if(distance > 9 && distance <= 99)
{
digitalWrite(11, 1);
digitalWrite(1, 0);
switch((distance % 100) / 10)
{
case 0: nol(); break;
case 1: bir(); break;
case 2: ikki(); break;
case 3: uch(); break;
Quyida : Mikrokontroller asosida masofani o’lchavchi qurilmaning dastur kodi keltirilgan;
#define A 8
#define B 7
#define C 10
#define D 12
#define E 13
#define F 9
#define G 0
#define dg1 1
#define dg0 11
#define echoPin 5
#define trigPin 6
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(10, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
delay(50);
digitalWrite(E, 0);
digitalWrite(F, 1);
delay(50);
digitalWrite(F, 0);
digitalWrite(A, 1);
delay(50);
digitalWrite(A, 0);
}
}
void turn()
{
digitalWrite(A, 0);
digitalWrite(B, 0);
digitalWrite(C, 0);
digitalWrite(D, 0);
digitalWrite(E, 0);
digitalWrite(F, 0);
digitalWrite(G, 0);
}
void nol()
{
digitalWrite(A, 1);
digitalWrite(B, 1);
digitalWrite(C, 1);
digitalWrite(D, 1);
digitalWrite(E, 1);
digitalWrite(F, 1);
Do'stlaringiz bilan baham: |