LABORATORIYA ISHI №9
9- Mavzu
. 74NS595 suruvchi registr mikrosxemasi. 4 razryadli matrisani
boshqarish(Arduinoda).
Ishdan maqsad. Arduino 74HC595 bilan qanday ishlashini ko'rib chiqish
va 4-razryadli 7-segmentli matritsani boshqarish uchun Arduino pinlari sonini
kamaytirish ko’nikmasini xosil qilish.
Kerakli komponentlar:
ArduinoUNO kontrolleri;
sxema yig‘ish uchun plata;
74HC595 mikrosxema;
qarshilik 510 Om - 7 ta;
ikki uchida razyomlari bо‘lgan o’tkazgichlar.
Arduino
Nano va UNO raqamli pinlari, hatto ba'zida Arduino Mega ham juda
ko'p sonli pinlarni boshqarish zarur bo'lsa, etarli bo'lmasligi mumkin. Bunday
holda, 74HC595 mikrosxemasidan foydalanish mumkin. 74HC595
mikrosxemasi
ketma-ket kirish bilan 8-razriyadli o'tish registri, ma'lumotlarning ketma-ket yoki
parallel
chiqishi, trigger qulfi va uchta holatli chiqish bilan. 74HC595
mikrosxemasining pin belgilanishi 1- rasmda keltirilgan.
1- rasm. 74HC595 mikrosxemasi.
Boshqarish uchun bizga faqat uchta pin kerak: SH_CP, ST_CP va DS. SH_CP
soat kiritishida mantiq paydo bo'lganda, registr DS ma'lumotlarini kiritishda bir oz
o'qiydi va uni eng kichik razryadga yozadi. Keyingi impuls soat kiritishiga
kelganda, hamma takrorlanadi, faqat oldin yozilgan razryad
bir razryadga siljiydi
va yangi kelgan razryad o'z o'rnini egallaydi. Sakkizta razryad to'lganida va
to'qqizinchi soat kelganda, reestr eng kichik razryaddan yana to'ldirila boshlaydi va
hamma narsa yana takrorlanadi.
Ma'lumotlar Q0 ... Q7 chiqishlarida paydo bo'lishi uchun uni "bosish" kerak.
Buning uchun ST_CP kiritishiga mantiqiy birlik yuborish kerak. Ro'yxatga olish
bilan
nima qilsak ham, uni qayta "bosmagunimizcha", natijalardagi ma'lumotlar
o'zgarmaydi.
Pin Q7 "smenali registrlarni ketma-ket (kaskadli) ulash uchun mo'ljallangan.
Ushbu ulanish bilan birinchi registrdan razryadlar kaskaddagi keyingi registrga,
undan keyingisiga va boshqalarga suriladi. Shunday qilib, ikkitadan iborat kaskad
8 razryadli registrlar razryadta 16 razryadli ishlaydi. Siz xohlagan mikrosxemalarni
ulashingiz mumkin.
LED matritsasi bilan keyingi tajribada biz 74HC595
mikrosxemalarining
kaskadli ulanishini ko'rib chiqamiz, bu tajribada biz faqat bitta mikrosxemadan
foydalanamiz - 74HC595 mikrosxemasining sakkizta
chiqish sakkizta matritsa
segmentiga, razryadni tanlash uchun to'rtta matritsa chiqishi Arduino platasining
to'rtta chiqishiga ulangan. Ulanish sxemasi 2- rasmda keltirilgan.
2- rasm. 74HC595 smenali registrlar sxemasi
0,1 sekundlik aniqlikda sekundomerni 0–999 soniya davomida boshlash va
to'xtatish eskizini yozishni boshlaymiz. Biz
Arduino SPI kutubxonasidan
foydalanamiz. SPI kutubxonasidan foydalanishda Arduino pinlari 11 va 13
ishlatilganligi sababli, biz matritsa registrlarini tanlash uchun Arduino pinalari 4, 5,
6, 7 dan foydalanamiz. Eskizning tarkibi quyidagi dasturda keltirilgan.
// SPI kutubxonasidan foydalanamiz.
int latchPin = 1;
int clockPin = 2;
int dataPin = 0;
int ValSpeed;
byte segments[14] = {
0b00000001, 0b00000011, 0b00000111, 0b00001111, 0b00011111,
0b00111111, 0b01111111, 0b11111110, 0b11111100, 0b11111000,
0b11110000, 0b11100000, 0b11000000, 0b10000000,
};
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop()
{
for (byte i=0; i<14; i++) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, segments[i]);
digitalWrite(latchPin, HIGH);
ValSpeed = analogRead(0);
ValSpeed = map(ValSpeed, 0, 1023, 50, 700);
delay(ValSpeed);
}
}
Hisobot mazmuni.
Laboratoriya mashg’ulot hisobotida quyidagilar kеltirilishi shart:
1. Ishning maqsadi.
2. O’rganilayotgan laboratoriya ishidan tushuncha.
3. Sxemalar ko’rinishlarini word dasturida elektron shaklda tayyorlash.
4. Berilgan topshiriqlar bo’yicha yig’ilgan sxemalar.