8-laboratoriya mashg‘uloti
Mavzu: 74HC595 suruvchi registr mikrosxemasi. 4 razryadli matrisani boshqarish.
Ishdan maqsad: 74HC595 suruvchi registr mikrosxemasini o’rganish va ardunio muhutida dasturini tuzush.
Kerakli jihozlar:
Arduino uno
74HC595 registr
Power
Graund
Res
Led
Nazariy ma’lumot
Arduinoda kontrolleridan foydalanishda ko'proq chiqish (pin)lari kerak bo'ladi, bunday holda, eng oson yo'li 74HC595 registrdan foydalanishdir.
74HC595 - sakkiz-bitli ketma-ket, yoki parallel ravishda chiqish amallari va uch holatli chiqishi bilan almashtirish registridir.
Boshqacha qilib aytganda, ushbu registr 8 ta chiqishni boshqaruvchining o'zida bir nechta chiqishlar yordamida boshqarish imkoniyatini beradi. Bundan tashqari, bir nechta bunday registrlar ketma-ket kaskad uchun birlashtirilishi mumkin. Boshqa tegishli registrlarni seriya raqamidagi "595" va "596" kombinatsiyasi orqali qidirish mumkin. Masalan, STP16C596 qo'shimcha qarshiliklardan foydalanmasdan bir vaqtning o'zida 16 LEDni boshqarishi mumkin.
Ushbu sxema sinxronlashtirilgan ketma-ket signal uzatish printsipidan foydalanadi. Kerakli signal qiymatlari (HIGH yoki LOW bit) registrga birma-bir o'tkaziladi va registr soat signalini qabul qiladi, bu signalni kirishdan o'qiydi. Bayt (1 bayt = 8 bit) o'qilganda, barcha 8 bitning qiymatlari natijalarga taqsimlanadi.
Ya'ni signallarni registrga ketma-ket uzatiladi, registrda parallel ravishda 8 ta signalga ega bo’ladi.
74HC595 signallari nafaqat parallel, balki ketma-ket ham yuborishi mumkin. Bu 16 yoki undan ortiq natijalarni olish uchun bir nechta registrlarni birlashtirganda kerak. Bunday holda, signalning dastlabki 8 biti unga parallel chiqish uchun keyingi registrga o'tkaziladi, bu haqda ikkinchi misolda batafsilroq muhokama qilinadi.
Yuqorida aytib o'tilgan uchta mumkin bo'lgan chiqish holatlari shuni anglatadiki, registr chiqishi nafaqat mantiqiy nol yoki bitta (HIGH yoki LOW) bo'lishi mumkin, balki yuqori impedansli (yuqori empedansli) holatda ham bo'lishi mumkin. Agar biz LEDlarni boshqarish haqida gapiradigan bo'lsak, bu ularni boshqa boshqaruvga o'tkazishni xohlaganimizda foydali bo'lishi mumkin. Quyidagi misolda ushbu holat hech qanday tarzda ishlatilmaydi va kamdan-kam hollarda foydali bo'lishi mumkin.
-
SH_CP
|
Takt impulslari uchun kirish
|
ST_CP
|
Chiqishlarni sinxronlashtirish
|
DS
|
Ketma-ket ma'lumotlarni kiritish
|
MR
|
Ro'yxatdan o'tish qiymatlarini tiklash. Qayta tiklash
LOW qabul qilish
|
OE
|
Chiqish holatini yuqori impedansdan ish holatiga o'tkazish uchun kirish
|
Q0 " Q7
|
Parallel chiqishlar
|
Misol uchun:
GND (pin 8) yerga
Vcc (pin 16) 5V quvvat manbaiga
OE (pin 13) yerga
MR (pin 10) 5V quvvat manbaiga
2- rasm. Proteus muhutida yig’ilgan holati.
Proteusda sxemani yig’ish uchun bizga quyudagi elementlar kerak bo’ladi: Darstur kodi
int dataPin = 4; int latchPin = 5; int clockPin = 6; byte leds = 0;
void setup() { pinMode (dataPin, OUTPUT); pinMode (latchPin, OUTPUT); pinMode (clockPin, OUTPUT);
} void loop() {
leds = 0; updateShiftRegister (); delay (200); for (int i = 0; i<8; i++)
{ bitSet (leds, i); updateShiftRegister (); delay (200);
} } void updateShiftRegister () {digitalWrite (latchPin,LOW); shiftOut (dataPin, clockPin, MSBFIRST, leds); digitalWrite (latchPin, HIGH);
}
Do'stlaringiz bilan baham: |