Satura rādītājs:

Hronometrs, izmantojot Pic18f4520 programmā Proteus ar 7 segmentiem: 6 soļi
Hronometrs, izmantojot Pic18f4520 programmā Proteus ar 7 segmentiem: 6 soļi

Video: Hronometrs, izmantojot Pic18f4520 programmā Proteus ar 7 segmentiem: 6 soļi

Video: Hronometrs, izmantojot Pic18f4520 programmā Proteus ar 7 segmentiem: 6 soļi
Video: Как использовать SSD1306 128x32 OLED-дисплей I2C с кодом Arduino 2024, Novembris
Anonim
Hronometrs, izmantojot Pic18f4520 Proteus ar 7 segmentiem
Hronometrs, izmantojot Pic18f4520 Proteus ar 7 segmentiem

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

Koda loģika un displejs
Koda loģika un displejs
Koda loģika un displejs
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

Braukšanas displejs ar mikrokontrolleri
Braukšanas displejs 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

Multipleksēšanas algoritms
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: