Mundarija:
- 1 -qadam: Kerakli narsalar
- 2 -qadam: Kod mantig'i va ko'rsatish
- 3 -qadam: displeyni mikrokontroller yordamida boshqarish
- 4 -qadam: Nega ko'paytirish kerak?
- 5 -qadam: Bunga qanday erishish mumkin?
- 6 -qadam: ko'paytirish algoritmi
Video: Pic18f4520 yordamida sekundomer 7 segmentli Proteusda: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Men rasm boshqaruvchisi bilan ishlay boshladim, do'stlarimdan biri undan sekundomer yasashimni so'radi. Menda almashish uchun apparat tasviri yo'q, men Proteus dasturida kod yozdim va uni simulyatsiya qildim.
Men bu erda sxemani baham ko'rdim.
uchta o'zgaruvchan millisekund, soniya, daqiqa aniqlanadi
bu erda biz 10 mslik taymer uzilishidan foydalandik, har 1000 millisekund uchun soniya o'zgaruvchisi ortadi, har 60 soniya uchun o'zgaruvchi ortadi.
1 -qadam: Kerakli narsalar
1 pic18f4520 tekshirgich
2 ta etti segmentli displey
3 bc547 tranzistorlari
Boshlash/to'xtatish/tiklash uchun 4 ta kalit
5 qarshilik 330E, 10K, 1K
Https://www.mikroe.com/mikroc-pic uchun 6 ta mikroC-ni yuklab oling
7 proteusni yuklab oling
2 -qadam: Kod mantig'i va ko'rsatish
Etti segmentli displey (SSD) eng keng tarqalgan, arzon va ishlatish uchun eng oddiy displeylardan biridir. Bu yuqoridagi kabi ko'rinadi.
Bu erda biz 7 segmentli displeyning umumiy katodli turidan foydalanishimiz kerak - SSD umumiy katodli turida, barcha LEDlarning –ve terminali odatda "COM" piniga ulanadi. Tegishli LED segmentiga "1" berilganda va er umumiy tomonga ulanganda segment yoritilishi mumkin. Ichki qismlar 2 -rasmda keltirilgan.
3 -qadam: displeyni mikrokontroller yordamida boshqarish
Men o'z davrimda NPN BC547 tranzistoridan foydalanganman.
BJT-ni kalit sifatida oddiy ishlatish uchun, emitent-kollektor ulanishlari asosiy terminalda kirish signali mavjud bo'lganda qisqa bo'ladi, aks holda u uzilib qoladi. Kirish mos keladigan qarshilik orqali berilishi kerak.
4 -qadam: Nega ko'paytirish kerak?
Ko'pincha biz ikkita, uch yoki undan ko'p SSD -ni ishlatishimiz kerak va bu faqat bitta MCU -dan foydalanadi, lekin biz duch keladigan muammo - bu MCU -da kirish -chiqish pimlarining etishmasligi, chunki bitta SSD 8 ta pinni va shuning uchun uchta SSD -ni oladi. 24 pinni oladi. 18 -rasmda bizda faqat 48 ta kirish -chiqish pinlari bor. Xo'sh, qanday yechim bor?
Bir variant shundaki, biz ko'proq kirish -chiqish pinlari bo'lgan kattaroq MCUdan foydalanamiz. Ammo keyin biz hali ham maksimal 3 ta SSD bilan cheklanganmiz. Bu muammoning yana bir yaxshi va tavsiya etilgan echimi - bu etti segmentli displeylarni ko'paytirish.
Vikipediyada shunday deyilgan: "Telekommunikatsiya va kompyuter tarmoqlarida multipleksing (muxing deb ham ataladi) - bu bir nechta analog xabarlar signallari yoki raqamli ma'lumotlar oqimlarini umumiy axborot uzatish vositasida bitta signalga birlashtirish usuli. Maqsad-qimmatbaho manbani bo'lishish. "Biz etti segmentli displeyni ko'paytirish deganda, biz barcha SSD-larda displeyni berish uchun faqat 7 ta chiqish portidan foydalanamiz.
5 -qadam: Bunga qanday erishish mumkin?
Bu erda biz "Vizyonning barqarorligi" dan foydalanamiz. Endi siz ushbu atamani oldinroq olishingiz kerak. Ha, bu xuddi kinematografiyada qo'llaniladigan texnikadir (tasvirlar shunchalik tez ko'rsatadiki, bizning miyamiz ketma -ket ikkita tasvir orasidagi farqni ajrata olmaydi). Xuddi shunday, biz bir nechta SSD -ni almashtirganimizda, biz bir vaqtning o'zida faqat bitta SSD -ni ko'rsatamiz va biz ularni shu qadar tez almashtiramizki, miyamiz ularni ajrata olmaydi.
Aytaylik, har bir displey bir vaqtning o'zida atigi 5 millisekundda ishlaydi, ya'ni sekundiga 1/0.0045 marta yonadi, bu taxminan sekundiga 222 marta. Bizning ko'zlarimiz o'zgarishni shunchalik tez sezmaydilar, shuning uchun biz ko'rdikki, barcha displeylar bir vaqtning o'zida ishlaydi. Aslida, apparatda nima bo'layapti, MCU pinga '1' beradi (esda tutingki, BJT bazasiga Kollektor va emitent ulanishini qisqartiradi '1'?), Bu tranzistor bazasiga ulangan. tegishli displeylar 5 milisaniyagacha "ON" portini ushlab turadi va keyin uni yana o'chiradi. Ushbu protsedura cheksiz tsiklga o'rnatiladi, shuning uchun biz displeyni doimiy ravishda ko'ramiz.
6 -qadam: ko'paytirish algoritmi
Kodda ikkita portni aniqlang, bittasi ma'lumotlar uzatish porti va segmentni boshqarish porti uchun.
hiyla -nayrang, siz ma'lumotlarni 7 segmentning barchasida ko'rsatasiz. va bu ma'lumotlarni ko'rsatish kerak bo'lgan bitta boshqaruv pinini faollashtiring. ma'lumotlarni o'zgartiring va boshqaruv pinini siljiting.
Bu erda biz 6 ta raqamli multipleksatsiyadan foydalanganmiz, faqat biriktirilgan c faylini o'ting va siz uni tozalaysiz.
Tavsiya:
Arduino va 74HC595 Shift Register yordamida etti segmentli displeyni boshqarish: 6 qadam
Arduino va 74HC595 Shift Register yordamida etti segmentli displeyni boshqarish: Hey, nima bo'ldi, bolalar! Akarsh bu erda CETech -dan. Seven segmentli displeylarni ko'rish yaxshi va har doim ma'lumotlarni raqamlar ko'rinishida ko'rsatishning qulay vositasi, lekin ularning kamchiliklari borki, biz yetti segmentli displeyni real rejimda boshqarganimizda
Namlik va haroratni real vaqtda Arduino UNO va SD-karta yordamida qanday yozish mumkin - DHT11 Proteusda ma'lumotlarni yozish simulyatsiyasi: 5 qadam
Namlik va haroratni real vaqtda Arduino UNO va SD-karta yordamida qanday yozish mumkin | DHT11 Proteusda ma'lumotlarni yozish simulyatsiyasi: Kirish: salom, bu Liono Maker, bu erda YouTube havolasi. Biz Arduino bilan ijodiy loyihani amalga oshirmoqdamiz va ko'milgan tizimlar ustida ishlayapmiz. Ma'lumotlarni yozuvchi: Ma'lumotlarni yozuvchi (shuningdek, ma'lumotlarni yozuvchi yoki ma'lumotlarni yozuvchi)-vaqt o'tishi bilan ma'lumotlarni yozib oladigan elektron qurilma
4 -raqamli 7 segmentli sekundomer: 3 qadam
4-raqamli 7 segmentli sekundomer: Bu ko'rsatma sizga 4-raqamli etti segmentli displeydan real vaqt rejimida to'liq ishlaydigan sekundomerni yaratishni ko'rsatib beradi
VHDL va Basys3 taxtasi yordamida asosiy sekundomer: 9 qadam
VHDL va Basys3 taxtasidan foydalanadigan asosiy sekundomer: Asosiy VHDL va Basys 3 taxtasi yordamida sekundomerni yaratish bo'yicha ko'rsatmaga xush kelibsiz. Siz bilan loyihamizni bo'lishishdan xursandmiz! Bu 2016 yilning kuzida, Cal Poly, SLOda o'tkaziladigan CPE 133 (Raqamli dizayn) kursining yakuniy loyihasi edi. Biz qurayotgan loyiha
Proteusda kontaktlarning zanglashini simulyatsiya qilish+PCB: 10 qadam
Proteusda sxemalar+PCB dizaynini taqlid qilish: Bu muhandislar va havaskorlar uchun bosqichma -bosqich ko'rsatma. Bu ko'rsatma men elektron simülasyonlar haqida muhokama qiladi & PCB -ni Proteus 8 -da loyihalash, oxirida men 5 daqiqa ichida elektr zanjirlarini kesish haqida ham gaplashaman