Laboratoriya mashg‘ulot №1
Laboratoriya mashg‘ulot № 4
Download 206.18 Kb.
|
O'TDT labaratoriyalar
- Bu sahifa navigatsiya:
- Kerakli jixozlar
- Dasturdan foydalanish
- C++ dasturlash muhitda dastur yozish
Laboratoriya mashg‘ulot № 4Mavzu: Taymerlarni boshqarishni o’rganish Ishdan maqsad: Arduino qurilmasi taymerni ulash orqali qanday texnik qulay imkoniyatlarni va xayotimizda texnik ish unumdorligini oshirish uchun Arduino qurilmasini o‘rganib chiqamiz. Kerakli jixozlar: Arduino plata qurilmasi. Breadboard. USB Kabel. Kerakli ehtiyot qismlari. Jixozlarning vazifalari: 8 bitli AVR chipidagi standart Arduino taxtalarida bir vaqtning o'zida bir nechta taymer mavjud. Atmega168 va Atmega328 chiplarida uchta Timer0, Timer1 va Timer2 taymerlari mavjud. Shuningdek, ularda nosozlikdan himoya qilish yoki dasturni qayta tiklash mexanizmi sifatida foydalanish mumkin bo'lgan qo'riqchi taymeri mavjud. Har bir taymerning ba'zi xususiyatlari. Taymer0: Taymer0 - bu 8 bitli taymer, demak uning hisoblash registrida 255 tagacha raqamlar saqlanishi mumkin (ya'ni, imzosiz bayt). Timer0 standart Arduino vaqtinchalik funktsiyalari (masalan, kechikish () va millis () tomonidan ishlatiladi, shuning uchun oqibatlari haqida qayg'ursangiz, uni chalkashtirmaslik yaxshiroqdir. Dasturdan foydalanish: Ushbu taymerlardan foydalanish uchun AVR-da sozlash registrlari mavjud. Taymerlarda juda ko'p bunday registrlar mavjud. Ulardan ikkitasi - taymer / hisoblagichni boshqarish registrlari sozlama parametrlarini o'z ichiga oladi va TCCRxA va TCCRxB deb nomlanadi, bu erda x - taymerning raqami (TCCR1A va TCCR1B va boshqalar). Har bir registr 8 bitdan iborat va har bir bit konfiguratsion o'zgaruvchini saqlaydi. Atmega328 ma'lumotlar jadvalidan olingan tafsilotlar: C++ dasturlash muhitda dastur yozish // avr-libc kutubxonasi o'z ichiga oladi # o'z ichiga oladi # o'z ichiga oladi # aniq LEDPIN 13 bo'sh joyni o'rnatish () { pinMode (LEDPIN, OUTPUT); // Timer1-ni ishga tushirish cli (); // global uzilishlarni o'chirish TCCR1A = 0; // TCCR1A registrini 0 ga o'rnating TCCR1B = 0; // to'xtatib qo'yish Timer1 toshishini yoqish: TIMSK1 = (1 << TOIE1); // CS10 bitini sozlang, shunda taymer soat tezligida ishlaydi: TCCR1B | = (1 << CS10); sei (); // global uzilishlarni yoqish } ____ bo'sh joyni o'rnatish () { pinMode (LEDPIN, OUTPUT); // Timer1-ni ishga tushirish cli (); // global uzilishlarni o'chirish TCCR1A = 0; // registrlarni 0 ga sozlang TCCR1B = 0; OCR1A = 15624; // match registrini o'rnatish TCCR1B | = (1 << WGM12); // CTC rejimida yoqish // Bitlarni CS10 va CS12 ni 1024 ga bo'lish nisbati bilan sozlang TCCR1B | = (1 << CS10); TCCR1B | = (1 << CS12);
sei (); // global uzilishlarni yoqish } Xulosa Men ushbu labaratoriya ishini bajarish davomida Arduino qurilmasi taymerni ulash orqali qanday texnik qulay imkoniyatlarni va xayotimizda texnik ish unumdorligini oshirish uchun Arduino qurilmasini o‘rganib chiqdim Download 206.18 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling