Guruh talabasi Ostanaquov Muxammadmirzo Laboratoriya ishi №13. Yetti segmentli bitta raqamli k
Download 172.85 Kb. Pdf ko'rish
|
Laboratoriya ishi № 16.
Shift registri 74HC595. Laboratoriya ishining maqsadi: 74HC595 smenali registr bilan tanishish va undan loyihalarda foydalanish. Laboratoriyaning nazariy qismi. 74HC595 - ketma -ket IN - Parallel OUT printsipi bo‘yicha ishlaydigan 8 - bitli smenali registr. Ya'ni, bu o‘zgarish registri kirish ma'lumotlarini ketma -ket oladi va bu ma'lumotni 8 pinli parallel chiqarilishini ta'minlaydi. Uning yordami bilan siz ishlatiladigan mikrokontroller pinlarini (bizning holatda, Arduino platasi) sonini sezilarli darajada kamaytirishingiz mumkin. 74HC595 mikrokontrolerga ulanish uchun 3 ta pinni (Clock, Data & Latch) ishlatadi va uning 8 chiqish pinini kuzatishga imkon beradi. Soat pimi sinxronlashtiruvchi impulslarni uzluksiz etkazib berish uchun ishlatiladi va Ma'lumot pinasi unga kerakli ma'lumotlarni yetkazib berish uchun ishlatiladi. 74HC595 smenali registr SPI interfeysida ishlaydi. 74HC595 uchun pin vazifalari quyidagi ikkita rasmda ko‘rsatilgan. 74HC595 smenali registr kontaktlarining rus tilidagi belgilarining dekodlanishi quyidagicha. Q0 -Q7 - sakkizta umumiy maqsadli parallel chiqish. Bu chiqishlar SPI orqali olingan ma'lumotlarni qandaydir tarzda ishlatishimiz uchun kerak - LED chizig‘ini, yoki indikator segmentlarini, dekoderni va boshqalarni ulash. VCC - bu quvvat kuchlanishi. GND - umumiy sim. Q7 '- ketma-ket ma'lumotlar chiqishi. Aslida, bu MISO. DS - ketma -ket ma'lumotlarni kiritish yoki MOSI. MR - asosiy sozlamalarni tiklash. Barcha chiqishlarni 0 ga qaytaradi. Shift registrining to‘g‘ri ishlashi uchun uning mantig‘i 1 bo‘lishi kerak. SH_CP - bizning holatimizda bu chip tanlash bo‘ladi. ST_CP - bu registrni ushlab turuvchi boshqaruv pimi, bizning holatimizda u soat impulslari qo‘llanilishi kerak bo‘lgan sinxronizatsiya pimi bo‘ladi. Ammo Arduino tegishli buyruqni ishlatganda buni biz uchun avtomatik ravishda bajaradi. OE - chiqishni faollashtirish. Salbiy qiymat bilan ketma -ket chiqish yoqiladi, ijobiy qiymat bilan o‘chiriladi. Shift registri qanday ishlaydi? Chipni ulashni boshlashdan oldin, keling, bu jarayon qanday ishlashini ko‘rib chiqaylik. Aniqlash kerak bo‘lgan birinchi narsa, ikkilik kodni bilmaganlar uchun "bit" tushunchasi. Biz "bit" haqida gapirganda, biz ikkilik qiymatni tashkil etuvchi raqamlardan birini nazarda tutamiz. Oddiy raqamlardan farqli o‘laroq, biz odatda birinchi bitni eng katta deb hisoblaymiz. Shunday qilib, agar biz 10100010 ikkilik qiymatini olsak, birinchi bit aslida 0 va sakkizinchi bit 1 ga teng. Shuni ham ta'kidlash kerakki, agar bu nazarda tutilmagan bo‘lsa, har bir bit faqat 0 yoki 1 bo‘lishi mumkin. Chipda biz chiqish uchun ishlatilishi mumkin bo‘lgan sakkizta pin bor, ularning har biri registrda bir oz bog‘liq. 74HC595 smenali registrda biz ularni QAdan QHgacha ko‘rib chiqamiz. Bu chiqishlarni Arduino orqali yozish uchun biz smenali registrga ikkilik qiymatni yuborishimiz kerak va shu raqamdan smenali registr qaysi chiqishlardan foydalanish kerakligini aniqlay oladi. Masalan, agar biz 10100010 ikkilik qiymatini yuborsak, yuqoridagi rasmda yashil rangda ajratilgan kontaktlar faol bo‘ladi, qizil rangda ajratilganlar esa faol bo‘lmaydi. Bu shuni anglatadiki, eng o‘ng bit QH va eng chap bit QA ga mos keladi. Chiqish, agar u bilan bog‘liq bo‘lgan bit 1 ga o‘rnatilsa, faol deb hisoblanadi. Buni yodda tutish kerak, aks holda qaysi pinlardan foydalanayotganingizni bilish juda qiyin bo‘ladi. Endi biz qanday pinlarni ishlatishni ko‘rsatish uchun bit ofsetni qanday ishlatishni bilib olsak, biz uni Arduinoga ulashni boshlashimiz mumkin. int latchPin = 12; int clockPin = 11; int dataPin = 13; byte leds = 0; int currentLED = 0; void setup() { pinMode(latchPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(clockPin, OUTPUT); leds = 0; } void loop() { leds = 0; if (currentLED == 7) { currentLED = 0; } else { currentLED++; } bitSet(leds, currentLED); digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, leds); digitalWrite(latchPin, HIGH); delay(250); } Download 172.85 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling