Satura rādītājs:
- 1. darbība. Nepieciešamās lietas
- 2. darbība: koda loģika un displejs
- 3. darbība: displeja vadīšana ar mikrokontrolleri
- 4. solis: Kāpēc multipleksēšana?
- 5. solis: kā to panākt?
- 6. darbība: multipleksēšanas algoritms
Video: Hronometrs, izmantojot Pic18f4520 programmā Proteus ar 7 segmentiem: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Es tikko sāku strādāt ar attēlu kontrolieri, viens no maniem draugiem lūdza no tā izveidot hronometru. Tāpēc man nav aparatūras attēla, ar ko dalīties, esmu uzrakstījis kodu un simulējis to ar Proteus programmatūru.
šeit es esmu kopīgojis tā paša shēmu.
ir definētas trīs mainīgas milisekundes, sekundes, minūtes
šeit mēs esam izmantojuši taimera pārtraukumu 10 ms, uz katrām 1000 milisekundēm palielināsies mainīgais sekundes, un ik pēc 60 sekundēm mainīgais palielināsies.
1. darbība. Nepieciešamās lietas
1 pic18f4520 kontrolieris
2 septiņu segmentu displeji
3 bc547 tranzistori
4 slēdži start/stop/reset
5 rezistori 330E, 10K, 1K
6 lejupielādējiet mikroC attēlu
7 lejupielādēt proteus
2. darbība: koda loģika un displejs
Kas ir septiņu segmentu displejs? Septiņu segmentu displejs (SSD) ir viens no visizplatītākajiem, lētākajiem un vienkāršāk lietojamajiem displejiem. Tas izskatās kā iepriekš.
šeit mums jāizmanto kopējais 7 segmentu displeja katoda tips - parastajā katoda tipa SSD visu gaismas diodes –ve terminālis parasti ir savienots ar “COM” tapu. Segmentu var iedegt, ja attiecīgajam LED segmentam tiek piešķirts “1” un zemējums ir pievienots kopējam. Iekšējie elementi ir parādīti 2. attēlā.
3. darbība: displeja vadīšana ar mikrokontrolleri
Savā ķēdē esmu izmantojis NPN BC547 tranzistoru.
Lai vienkārši izmantotu BJT kā slēdzi, emitera-kolektora savienojumi tiek īsslēgti, ja bāzes terminālī ir ievades signāls, pretējā gadījumā tas paliek izslēgts. Ieeja jāievada caur piemērotu rezistoru.
4. solis: Kāpēc multipleksēšana?
Bieži vien mums ir jāizmanto divi, trīs vai vairāki SSD diski, un arī tas, izmantojot tikai vienu MCU, taču viena problēma, ar kuru mēs saskaramies, ir IU/O kontaktu trūkums MCU, jo vienam SSD būtu nepieciešami 8 tapas, tātad trīs SSD ņemtu 24 tapas. Attēlā mums ir tikai 48 I/O tapas. Tātad, kāds ir risinājums?
Viena iespēja ir tāda, ka mēs izmantojam lielāku MCU ar vairākām I/O tapām. Bet tad mēs joprojām esam ierobežoti līdz maksimāli 3 SSD, kurus var izmantot. Vēl viens daudz labāks un ieteicamākais risinājums šai problēmai ir septiņu segmentu displeju multipleksēšana.
Vikipēdija saka: “Telekomunikācijās un datortīklos multipleksēšana (pazīstama arī kā muxing) ir metode, ar kuras palīdzību vairāki analogie ziņojumu signāli vai digitālās datu plūsmas tiek apvienotas vienā signālā, izmantojot kopīgu datu nesēju. Mērķis ir koplietot dārgu resursu. “Ar septiņu segmentu displeja multipleksēšanu mēs domājam, ka mēs izmantosim tikai 7 izejas portus, lai parādītu displeju visos SSD diskos.
5. solis: kā to panākt?
Šeit mēs izmantosim “Redzes noturību”. Tagad jums šis termins ir jāizmanto jau iepriekš. Jā, šī ir tā pati tehnika, kas tiek izmantota kinematogrāfijā (attēlo attēlus tik ātri, ka mūsu smadzenes nevar atšķirt nekādu nobīdi starp diviem secīgiem attēliem). Līdzīgi, ja mēs sajaucam vairāk nekā vienu SSD, mēs vienlaikus parādām tikai vienu SSD disku, un mēs pārslēdzamies starp tiem tik ātri, ka mūsu smadzenes nevar tos atšķirt.
Pieņemsim, ka katrs displejs vienlaikus ir aktīvs tikai 5 milisekundēs, t.i., tas tiek izgaismots 1/0,0045 reizes sekundē, tas ir aptuveni 222 reizes sekundē. Mūsu acis nevar uztvert izmaiņas tik ātri, un tāpēc mēs redzam, ka visi displeji darbojas vienlaicīgi. Aparatūrā patiesībā notiek tas, ka MCU piespraudei piešķir “1” (atcerieties, dodot “1” BJT šortu pamatnei kolektora un emitētāja savienojumam?), Kas ir savienots ar strāvas tranzistora pamatni atbilstošo displeju, saglabā portu “ON” 5 milisekundēs un pēc tam to atkal izslēdz. Šī procedūra tiek veikta bezgalīgā cilpā, lai mēs nepārtraukti redzētu displeju.
6. darbība: multipleksēšanas algoritms
Definējiet divus portus kodā, vienu segmenta datu portam un segmenta vadības portu.
triks ir tas, ka jūs parādāt datus par visiem 7 segmentiem. un aktivizējiet vienu vadības tapu, uz kuras jums ir jāparāda šie dati. mainīt datus un pārslēgt vadības tapu.
šeit šajā pamācībā mēs esam izmantojuši 6 ciparu multipleksēšanu, vienkārši iziet pievienoto c failu un jūs to izdzēsīsit.
Ieteicams:
Led kontrole, izmantojot lietotni Blynk, izmantojot Nodemcu, izmantojot internetu: 5 soļi
Led kontrole, izmantojot lietotni Blynk, izmantojot Nodemcu, izmantojot internetu: Sveiki, visi šodien, mēs jums parādīsim, kā jūs varat kontrolēt LED, izmantojot viedtālruni internetā
Cēzara šifra programma programmā Python: 4 soļi
Cēzara šifra programma programmā Python: Cēzara šifrs ir sens un plaši izmantots šifrs, kuru ir viegli šifrēt un atšifrēt. Tas darbojas, pārvietojot alfabēta burtus, lai izveidotu pilnīgi jaunu alfabētu (ABCDEF varētu pārvietot vairāk par 4 burtiem un kļūt par EFGHIJ). Cēzars C
Arduino hronometrs, izmantojot I2C LCD: 5 soļi
Arduino hronometrs, izmantojot I2C LCD: Šajā projektā es iemācīšu jums izmantot LCD displeju un Arduino kā interaktīvu hronometru. Kad jūsu projekts ir pabeigts, izmantojot norādīto kodu, tam vajadzētu izskatīties kā iepriekš redzamajā fotoattēlā. Dodieties uz nākamo soli, lai uzzinātu, kur sākt
Pamata hronometrs, izmantojot VHDL un Basys3 Board: 9 soļi
Pamata hronometrs, izmantojot VHDL un Basys3 Board: Laipni lūdzam pamācībā, kā izveidot hronometru, izmantojot pamata VHDL un Basys 3 plates. Mēs esam priecīgi dalīties ar jums mūsu projektā! Šis bija pēdējais projekts kursam CPE 133 (digitālais dizains) Cal Poly, SLO 2016. gada rudenī. Projekts, kuru mēs veidojam
ATSLĒGTĪBA AR 7 SEGMENTIEM, KLĀT MICROCONTROLLER: 4 soļi
ATSLĒGVADĪBA AR 7 SEGMENTIEM, KAS LIETO CLOUDX MICROCONTROLLER: Šim projektam mēs pieņemsim ciparu ievadi no matricas tastatūras un pēc tam parādīsim to septiņu segmentu displeja modulī. Tā kā astoņas gaismas diodes ir apzīmētas no A līdz G un DP (decimāldaļai), ja vēlaties parādīt skaitli 6, tad izmantojiet