Shift Registrini Arduino-ga Qanday Ulash Mumkin

Mundarija:

Shift Registrini Arduino-ga Qanday Ulash Mumkin
Shift Registrini Arduino-ga Qanday Ulash Mumkin

Video: Shift Registrini Arduino-ga Qanday Ulash Mumkin

Video: Shift Registrini Arduino-ga Qanday Ulash Mumkin
Video: Сдвиговый регистр 74HC165 или как увеличить количество входов Arduino 2024, May
Anonim

Avvalgi maqolalardan birida biz smenali registrdan, xususan, 74HC595 dan foydalanishga qisqacha to'xtaldik. Keling, ushbu mikrosxem bilan ishlash imkoniyatlari va tartibini batafsil ko'rib chiqamiz.

Shift registri 74HC595
Shift registri 74HC595

Kerakli

  • - Arduino;
  • - 74HC595 smenali registr;
  • - ulash simlari.

Ko'rsatmalar

1-qadam

Shift registri 74HC595 va shunga o'xshashlar ketma-ket ma'lumotlarni parallelga aylantirish uchun moslamalar sifatida ishlatiladi, shuningdek, uzatilgan holatni ushlab turuvchi ma'lumotlar uchun "latch" sifatida ishlatilishi mumkin.

Pinout (pinout) chapdagi rasmda ko'rsatilgan. Ularning maqsadi quyidagicha.

Q0… Q7 - ma'lumotlarning parallel chiqishi;

GND - tuproq (0 V);

Q7 '- ketma-ket ma'lumotlar chiqishi;

^ MR - reset master (faol past);

SHcp - smenali registr soatini kiritish;

STcp - "latch" soat impulsini kiritish;

^ OE - chiqishni yoqish (faol past);

Ds - ketma-ket ma'lumotlarni kiritish;

Vcc - quvvat manbai +5 V.

Strukturaviy ravishda mikrosxem bir necha turdagi holatlarda amalga oshiriladi; O'ngdagi rasmda ko'rsatilganidan foydalanaman - chiqish - chunki non taxtasi bilan ishlatish osonroq.

Shift registrining ko'rinishi va pinout
Shift registrining ko'rinishi va pinout

2-qadam

Qisqacha SPI seriyali interfeysini eslayman, biz uni ma'lumotni smenali registrga uzatish uchun foydalanamiz.

SPI - bu to'rt simli ikki yo'nalishli ketma-ket interfeys, unda usta va qul qatnashadi. Bizning ishimizdagi xo'jayin Arduino bo'ladi, qul 74HC595 ro'yxatga olinadi.

Arduino uchun ishlab chiqish muhiti SPI interfeysi ustida ishlash uchun o'rnatilgan kutubxonaga ega. Uni qo'llashda quyidagi rasmda ko'rsatilgan xulosalar qo'llaniladi:

SCLK - SPI soat chiqishi;

MOSI - xo'jayindan qulgacha bo'lgan ma'lumotlar;

MISO - quldan mastergacha bo'lgan ma'lumotlar;

SS - qullarni tanlash.

Arduino kengashi standart SPI pinlari
Arduino kengashi standart SPI pinlari

3-qadam

Rasmdagi kabi sxemani yig'amiz.

Shuningdek, men mantiqiy analizatorni smenali registr mikrosxemasining barcha pimlariga ulayman. Uning yordamida biz jismoniy darajada nima bo'layotganini, qanday signallar qaerga ketayotganini ko'rib chiqamiz va ularning ma'nosini aniqlaymiz. Bu fotosuratga o'xshash bo'lishi kerak.

Arduino-ga 74HC595 smenali registr uchun ulanish sxemasi
Arduino-ga 74HC595 smenali registr uchun ulanish sxemasi

4-qadam

Keling, shunday eskiz yozamiz va Arduino xotirasiga yuklaymiz.

PIN_SPI_SS o'zgaruvchisi bu erda foydalanadigan SPI interfeysining ustasi sifatida ishlatilganda Arduino piniga "10" mos keladigan ichki standart doimiydir. Printsipial jihatdan, biz Arduino-da boshqa raqamli pinlardan ham foydalanishimiz mumkin; keyin biz buni e'lon qilishimiz va uning ish rejimini belgilashimiz kerak edi.

Ushbu PIN-kodni ozgina berish orqali biz uzatish / qabul qilish uchun smenali registrimizni faollashtiramiz. Etkazib berishdan keyin biz yana kuchlanishni yuqori darajaga ko'taramiz va almashinish tugaydi.

Shift registrining ishlashini namoyish etish uchun eskiz
Shift registrining ishlashini namoyish etish uchun eskiz

5-qadam

Keling, bizning sxemani ishga aylantiramiz va mantiqiy analizator bizga nimani ko'rsatishini ko'rib chiqaylik. Vaqt diagrammasining umumiy ko'rinishi rasmda ko'rsatilgan.

Moviy chiziq 4 SPI chizig'ini, qizil chiziq esa smenali registrning parallel ma'lumotlarining 8 kanalini ko'rsatadi.

Vaqt shkalasidagi A nuqta - bu "210" raqami smenali registrga o'tkazilgan moment, B - "0" raqami yozilgan moment, C - boshidan takrorlanadigan tsikl.

Ko'rib turganingizdek, deyarli eskizda biz so'raganimizdek, A dan B - 10,03 millisekundalar, B dan C gacha - 90,12 millisekundalar. 0, 03 va 0, 12 msdagi kichik qo'shimchalar Arduino-dan ketma-ket ma'lumotlarni uzatish vaqti, shuning uchun bizda bu erda to'liq 10 va 90 ms mavjud emas.

Arduino almashinuvi va 74HC595 smenali registrning ishlash sxemasi
Arduino almashinuvi va 74HC595 smenali registrning ishlash sxemasi

6-qadam

Keling, A bo'limini batafsil ko'rib chiqamiz.

Eng yuqori qismida Arduino SPI-ENABLE liniyasida uzatishni boshlaydigan uzun zarba - qul tanlash. Ayni paytda SPI-CLOCK soat impulslari hosil bo'la boshlaydi (yuqoridan ikkinchi qator), 8 dona (1 baytni o'tkazish uchun).

Yuqoridan keyingi qator SPI-MOSI - biz Arduino-dan smenali registrga o'tkazadigan ma'lumotlar. Bu bizning "210" raqamimiz ikkilikda - "11010010".

O'tkazish tugagandan so'ng, SPI-ENABLE impulsining oxirida biz smenali registrning 8 oyog'iga bir xil qiymatni o'rnatganligini ko'ramiz. Men buni ko'k nuqta bilan ta'kidladim va aniqlik uchun qiymatlarni belgiladim.

210 raqamini SPI orqali parallel avtobusga o'rnatish
210 raqamini SPI orqali parallel avtobusga o'rnatish

7-qadam

Endi e'tiborimizni B bo'limiga qaratamiz.

Shunga qaramay, barchasi qulni tanlash va 8 soatlik impulslarni yaratish bilan boshlanadi.

SPI-MOSI liniyasidagi ma'lumotlar endi "0" ga teng. Ya'ni, hozirgi paytda biz "0" raqamini reestrga yozamiz.

Ammo pul o'tkazmasi tugaguniga qadar registrda "11010010" qiymati saqlanadi. U Q0.. Q7 parallel pinlariga chiqariladi va biz bu erda ko'rib turganimiz Q7 'parallel chiqishdan SPI-MISO chizig'igacha chiziqda soat impulslari mavjud bo'lganda chiqadi.

SPI orqali parallel avtobusda 0 raqamini o'rnatish
SPI orqali parallel avtobusda 0 raqamini o'rnatish

8-qadam

Shunday qilib, biz Arduino bo'lgan asosiy qurilma va 74HC595 smenali registr o'rtasidagi ma'lumot almashinuvi masalasini batafsil o'rganib chiqdik. Biz smena registrini qanday ulashni, unga ma'lumotlarni yozishni va undan ma'lumotlarni o'qishni o'rgandik.

Tavsiya: