|
O‘rnatilgan tizimlari fanidan 3-amaliy ish topshirig‘i mavzu: : 8x8 yorug‘lik diodi, pezonurlatgich va 74NS595 suruvchi registr xususiyatlarini o‘rganish
|
Sana | 28.04.2024 | Hajmi | 0.79 Mb. | | #210173 |
Bog'liq 3-topshiriq OT Somali. Xalilov B, klark, 5-sinf-ona-tili-1, 1 soatlik dars ishlanmasi ¹2, konchilik-sanoatida-quduqlarni-skvajina-burg-ilash-turlari-va-usullari-yoshlik-koni-uchun-maqbul-burg-ilash-dastgohini-tanlash, Burg\'ilash mashinalari va uskunalari (A.Aminov va b.)
O‘ZBEKISTON RESPUBLIKASI
RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Kompyuter injiniringi fakulteti
Sun’iy intellekt kafedrasi
O‘rnatilgan tizimlari fanidan
3-AMALIY ISH TOPSHIRIG‘I
Mavzu: : 8x8 yorug‘lik diodi, pezonurlatgich va 74NS595 suruvchi registr xususiyatlarini o‘rganish.
Bajardi: 830-21 guruh talabasi
Maqsadov Akbar
Tekshirdi: Jurayev D.B.
TOSHKENT – 2024
3-topshiriq
Ishdan maqsad: 8x8 yorug‘lik diodi, pezonurlatgich va 74NS595 suruvchi registr xususiyatlarini haqida ma’lumot berish. Ularni boshqarish uchun datchiklarning ishlash prinsiplari, qurilmaga ulanishi va dastur yozish ko‘nikmalarini hosil qilish
Vazifalar:
Jadvalda berilgan topshiriqlarni bajarish.
Online simulyatorlarda sxemani topshiriq bo‘yicha yig‘ish va dastur yozish
Amaliy ish bo‘yicha hisobot tayyorlash (qisqacha nazariy qism, amaliy qism, kod qismi, ulanish sxemasi rasmlari, xulosa)
Topshiriqlar https://wokwi.com yoki https://www.tinkercad.com onlayn simulyatorlarda amaliy bajarilib hisobotga ulanish sxemasi va dastur kodi ilova qilinishi zarur. Hisobotda dastlab qo‘llanilgan modul va datchiklar haqida umumiy ma’lumotlar keltirilishi va xulosa yozilishi shart. Ishni simulyatorda bajarilgan manzili ilovasi berilishi zarur.
3 - Topshiriq
№
Topshiriq mavzusi
Talabaning jurnaldagi tartib raqami
10
74NS595 suruvchi registr mikrosxemasida 1 razryadli 7 segmetli indikatorda sonlarni o
‘sish va kamayish tartibida chiqarish
9
Kod:
#include "SevSegShift.h"
#include
SevSeg sevseg;
const int increaseButtonPin = 10; // Oshirish tugmasidagi pin raqami
const int decreaseButtonPin = 11; // Kamaytirish tugmasidagi pin raqami
const int resetButtonPin = 12; // Qaytarish tugmasidagi pin raqami
int buttonPushCounter = 0; // Tugma bosilishlarini sanaydigan o'zgaruvchi
const int LATCH_PIN = A1; // Latch pin raqami
const int DATA_PIN = A0; // DATA pin raqami
const int CLOCK_PIN = A2; // CLOCK pin raqami
byte segmentPatterns[] = {0b11000000, 0b11111001, 0b10100100, 0b10110000, 0b10011001, 0b10010010, 0b10000010, 0b11111000, 0b10000000, 0b10010000};
Bounce increaseButton = Bounce(); // Oshirish tugmasi
Bounce decreaseButton = Bounce(); // Kamaytirish tugmasi
Bounce resetButton = Bounce(); // Qaytarish tugmasi
void setup() {
byte numDigits = 1; // Raqam soni
byte digitPins[] = {2}; // Raqam pinlari
byte segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9}; // Segment pinlari (A dan G gacha)
bool resistorsOnSegments = true;
byte hardwareConfig = COMMON_ANODE;
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
sevseg.setBrightness(90); // Yorug`lik darajasi
pinMode(increaseButtonPin, INPUT_PULLUP); // Oshirish tugmasini sozlash
pinMode(decreaseButtonPin, INPUT_PULLUP); // Kamaytirish tugmasini sozlash
pinMode(resetButtonPin, INPUT_PULLUP); // Qaytarish tugmasini sozlash
pinMode(LATCH_PIN, OUTPUT); // Latch pinini sozlash
pinMode(CLOCK_PIN, OUTPUT); // CLOCK pinini sozlash
pinMode(DATA_PIN, OUTPUT); // DATA pinini sozlash
increaseButton.attach(increaseButtonPin); // Oshirish tugmasini ulash
decreaseButton.attach(decreaseButtonPin); // Kamaytirish tugmasini ulash
resetButton.attach(resetButtonPin); // Qaytarish tugmasini ulash
}
void loop() {
increaseButton.update(); // Oshirish tugmasini yangilash
decreaseButton.update(); // Kamaytirish tugmasini yangilash
resetButton.update(); // Qaytarish tugmasini yangilash
if (increaseButton.fell()) { // Oshirish tugmasi bosilganda
buttonPushCounter = (buttonPushCounter + 1) % 10; // Qiymatni oshirish
updateDisplay(); // Displeyga yangi qiymatni chiqarish
}
if (decreaseButton.fell()) { // Kamaytirish tugmasi bosilganda
buttonPushCounter = (buttonPushCounter - 1 + 10) % 10; // Qiymatni kamaytirish
updateDisplay(); // Displeyga yangi qiymatni chiqarish
}
if (resetButton.fell()) { // Qaytarish tugmasi bosilganda
buttonPushCounter = 0; // Qiymatni nol qilish
updateDisplay(); // Displeyga yangi qiymatni chiqarish
}
}
void updateDisplay() {
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, segmentPatterns[buttonPushCounter]);
digitalWrite(LATCH_PIN, HIGH); // Latch pinini yuqoriga sozlash
digitalWrite(LATCH_PIN, LOW); // Latch pinini pastga sozlash
}
Havola: https://wokwi.com/projects/396250842048453633
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
O‘rnatilgan tizimlari fanidan 3-amaliy ish topshirig‘i mavzu: : 8x8 yorug‘lik diodi, pezonurlatgich va 74NS595 suruvchi registr xususiyatlarini o‘rganish
|