Satura rādītājs:

Mazs LED matricas displeja pulkstenis: 8 soļi
Mazs LED matricas displeja pulkstenis: 8 soļi

Video: Mazs LED matricas displeja pulkstenis: 8 soļi

Video: Mazs LED matricas displeja pulkstenis: 8 soļi
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Jūlijs
Anonim
Image
Image
Mazs LED matricas displeja pulkstenis
Mazs LED matricas displeja pulkstenis
Mazs LED matricas displeja pulkstenis
Mazs LED matricas displeja pulkstenis
Mazs LED matricas displeja pulkstenis
Mazs LED matricas displeja pulkstenis

Es vienmēr esmu gribējis, lai būtu vecmodīgs galda pulkstenis, kas izskatās kā kaut kas no 90. gadu filmām, ar diezgan pieticīgu funkcionalitāti: reālā laika pulkstenis, datums, mainīga fona gaisma, pīkstiens un modinātāja iespēja. Tātad, man ir radusies ideja to izveidot: digitāla ierīce, kuras pamatā ir mikrokontrolleris ar visām iepriekš minētajām funkcijām un kuru darbina USB - vai nu dators, vai jebkurš mobilais USB lādētājs. Tā kā es vēlējos to padarīt programmējamu, pielāgojot izvēlnes un iestatījumus, šajā projektā MCU izvietošana bija neizbēgama. ATMEGA328P IC (no kuras sastāv katra Arduino Uno plāksne) tika izvēlēta par ķēdes "smadzenēm" (runājot par to, man to bija tikai daudz). Apvienojot dažas elektroniskās detaļas, piemēram, RGB gaismas diodi, lēnas uzlādes laika uzskaites mikroshēmu un spiedpogas, tika radīts viss projekts-programmējams maza izmēra LED displeja darbvirsmas pulkstenis.

Tātad, pēc tam, kad būsim aptvēruši projekta būtību, izveidosim to

1. solis: ideja

Ideja
Ideja

Kā jau tika minēts iepriekš, mūsu ierīcē ir daži izskatīgi LED matricas displeji, krāsu mainošs RGB LED apgaismojums, strūklas uzlādes laika mikroshēma, ērts USB barošanas bloks un maza izmēra korpuss.

Aprakstīsim ierīces darbības blokshēmu pa daļām:

1. Barošanas bloks:

Tā kā ierīce darbojas ar 5 voltu līdzstrāvu, barošanas bloks sastāv no divām atsevišķām ķēdēm:

  • Mikro -USB ieeja - tiešai lādētāja / datora barošanai.
  • 5V lineārā sprieguma regulatora ķēde, kuras pamatā ir LM7805 IC.

LM7805 IC shēma nav obligāta, ja vien nevēlaties ieviest dažādas barošanas avota pieejamības iespējas. Mūsu ierīcē tiek izmantots mikro-USB barošanas bloks.

2. Mikrokontrollera bloks:

Mikrokontrolleris ATMEGA328P darbojas kā visas ierīces "smadzenes". Tās mērķis ir sazināties ar visām perifērijas shēmām, nodrošināt nepieciešamos datus un vadības ierīces lietotāja saskarni. Tā kā izvēlētais mikrokontrolleris ir ATMEGA328P, mums būs nepieciešamas Atmel Studio un C pamatzināšanas (shēmas un programmēšanas secības ir aprakstītas turpmākajos soļos).

3. Reālā laika pulksteņa ķēde:

Otra svarīgākā ierīces ķēde. Tās mērķis ir nodrošināt datuma un laika datus, prasot tos saglabāt, neatkarīgi no ieejas barošanas savienojuma, ti, laika dati tiek atsvaidzināti reālā laika režīmā. Lai RTC komponents varētu turpināt mainīt laika un datuma datus, ķēdei tiek pievienota 3 V monētu baterija. IC ir DS1302, tā darbība ir aprakstīta turpmākajos soļos.

4. Ievades saskarne - spiedpogu slēdži:

Ievades PB slēdži nodrošina ievades saskarni lietotājam. Šie slēdži tiek apstrādāti MCU un vadības ierīces definētajā programmā.

5. LED matricas displejs

Ierīces displejs sastāv no divām IC iesaiņotām HCMS-2902 burtciparu LED matricām, katrā IC ir 4 rakstzīmes ar 5x7 mazu LED matricu. Šie displeji ir vienkārši lietojami, 3 vadu komunikācija tiek atbalstīta un maza izmēra-viss, kas mums nepieciešams šajā projektā.

6. RGB apgaismojums:

Krāsu maiņas fona apgaismojums ir balstīts uz ārēju RGB LED, ko kontrolē PWM signāli no MCU. Šajā projektā RGB LED kopā ir 4 tapas: R, G, B un parasts, kur R, G, B krāsu paleti kontrolē MCU, izmantojot PWM.

7. Signāls:

Signāla ķēde tiek izmantota kā skaņas izeja, galvenokārt trauksmes nolūkos. BJT slēdzis tiek izmantots, lai skaņas signāla komponentam nodrošinātu pietiekamu strāvu, tāpēc tā skaļums būs pietiekami skaļš, lai pamodinātu dzīvu cilvēku.

2. solis: detaļas un instrumenti

Daļas un instrumenti
Daļas un instrumenti

I. Elektronika:

A. Integrētās un aktīvās sastāvdaļas:

  • 1 x ATMEGA328P - MCU
  • 2 x HCMS2902 - AVAGO displeji
  • 1 x DS1302 - RTC
  • 1 x 2N2222A - BJT (NPN)

B. Pasīvie komponenti:

  • Rezistori:

    • 5 x 10K
    • 1 x 180R
    • 2 x 100R
  • Kondensatori:

    • 3 x 0.1uF
    • 1 x 0.47uF
    • 1 x 100uF
    • 2 x 22pF
  • 1 x 4 kontaktu RGB LED
  • 1 x skaņas signāls
  • 1 x 32.768KHz kristāls

C. Savienotāji:

  • 1 x Micro-USB savienotājs
  • 2 x 6 kontaktu standarta piķa (100 mililitru) savienotājs.
  • 2 x 4 kontaktu standarta piķa (100 mililitru) savienotājs.
  • 1 x monētu šūnu akumulatora korpuss.

D. Dažādi:

  • 3 x SPST spiedpogu slēdži
  • 1 x 3 V monētu šūnu akumulators.

E. Neobligāts PSU:

  • 1 x LM7805 - lineārais regulators
  • 2 x 0.1uF vāciņš
  • 2 x 100uF vāciņš

II. Mehānisks:

  • 1 x plastmasas korpuss
  • 4 x gumijas stiprinājumi
  • 1 x lodēšanas dēļa prototips
  • 1 x MCU galvene (mikrokontrollera kļūmes gadījumā)
  • 2 x mazas 8 mm skrūves
  • 2 x 8 mm paplāksnes

III. Instrumenti un materiāli:

  • Lodēšanas vadi
  • Saraušanās caurules
  • Lodēšanas alva
  • Lodāmurs
  • Kuteris
  • Knaibles
  • Pincetes
  • Urbji
  • Maza izmēra fails
  • Dažādi skrūvgrieži
  • Suports
  • Multimetrs
  • Maizes dēlis (pēc izvēles)
  • Mikro USB kabelis
  • Vidēja izmēra fails
  • Karstās līmes pistole
  • AVR ISP programmētājs

IV. Programmēšana:

  • Atmel Studio 6.3 vai 7.0.
  • ProgISP vai AVRDude
  • Microsoft Excel (displeja rakstzīmju izveidei)

3. darbība. Shēmas apraksts

Shēmas apraksts
Shēmas apraksts

Lai vieglāk izprastu ķēdes darbību, shematiskais solis ir sadalīts septiņās apakšgrupās. Jums jāņem vērā, ka tīkla nosaukumi ir definēti shematiskajā lapā, kas arī nosaka savienojumus starp atsevišķām ierīces apakšshēmām.

A. Galveno komponentu dēlis:

Kā minēts iepriekš, visas atbilstošās apakšshēmas, kuras mēs vēlamies atrasties ierīces iekšpusē, ir novietotas uz viena griezuma prototipa tāfeles. Sāksim skaidrojumu par galvenās plates ievietoto shēmu darbību:

1. Mikrokontrollera ķēde:

Šajā projektā izmantotais MCU ir ATMEGA328P. To darbina ārējs 5V barošanas avots, šajā gadījumā - mikro USB savienotājs. Visas atbilstošās I/O tapas ir savienotas atbilstoši konstrukcijas prasībām. Portu I/O kartēšana ir viegli saprotama, jo visi tīkla nosaukumi ir definēti tieši tā, kā tie tiks izmantoti programmēšanas posmā. MCU ir vienkārša RC atiestatīšanas ķēde, kas tiek izmantota vai nu programmēšanas secībā, gan jaudas inicializācijā.

MCU izšķirošā daļa ir programmēšanas shēma. Ir 6 kontaktu programmēšanas savienotājs - J5, pārliecinieties, ka VCC, GND un RESET tīkli ir kopīgi ārējam ISP programmētājam un galveno komponentu plates.

2. Reālā laika pulksteņa ķēde:

Nākamā shēma ir projekta galvenā perifēriskā daļa. DS1302 ir īslaicīgas uzlādes laika uzskaites IC, kas mūsu apstrādes vienībai nodrošina apstrādātā laika un datuma vērtības. DS1302 sazinās ar MCU, izmantojot 3 vadu saskarni, līdzīgi kā 3 vadu SPI sakari, šādās līnijās:

  • RTC_SCK (izvade): veic braukšanu un datu paraugu ņemšanu, kas tiek pārsūtīti pa SDO līniju.
  • RTC_SDO (I/O): Datu vadīšanas līnija. Darbojas kā ievade MCU, kad tiek saņemti laika/datuma dati, un kā izeja, kad dati tiek pārsūtīti (sīkāku skaidrojumu skatiet sadaļā Programmēšanas pamati).
  • RTC_CE: (Izvade): datu pārraides iespējošanas līnija. Ja MCU ir iestatījis HIGH, dati ir gatavi pārsūtīšanai/saņemšanai.

Lai nodrošinātu atbilstošu ķēdes darbību, DS1302 ir nepieciešams ārējs 32,768 KHz kristāla oscilators. Lai izvairītos no lielām novirzēm ķēdes skaitīšanas sistēmā (dreifēšanas parādības šāda veida integrālajās shēmās ir vienkārši neizbēgamas), uz katra kristāla tapas ir jānovieto divi kalibrēšanas kondensatori (skatiet shēmas X1, C8 un C9 daļas). 22pF bija optimālas vērtības pēc daudziem eksperimentiem ar laika saglabāšanas pasākumiem šajā projektā, tāpēc, kad jūs gatavojaties lodēt ķēdi pavisam, pārliecinieties, vai ir iespēja šos kondensatorus aizstāt ar tiem, kuriem ir citas vērtības. Bet 22pF maza izmēra plāksnei strādāja diezgan labi ļoti mazai novirzei (7 sekundes mēnesī).

Pēdējais, bet ne mazāk svarīgais komponents šajā shēmā-3 V monētu šūnu baterija jāuzliek uz tāfeles, lai piegādātu pietiekami daudz enerģijas DS1302 IC, lai tā turpinātu laika skaitīšanas darbību.

4. 8 rakstzīmju LED matrica:

Ierīces displejs ir balstīts uz 2 x 4 rakstzīmju LED matricas displeja IC, kas ieprogrammēts, izmantojot 3 vadu saskarni, līdzīgi kā RTC shēmas DS1302, ar vienu atšķirību, ka datu piegādes līnija (SDI) tiek definēta kā MCU izeja (ja vien nevēlaties pievienot statusa pārbaudes iespējas jūsu displeja ķēdei). Displeji ir apvienoti sērijveida 3 vadu paplašinājumā, tādējādi abi IC darbojas kā viena displeja ierīce, kur ir iespēja to ieprogrammēt visai displeja rakstzīmju definīcijai (sk. SPI sērijas kombināciju). Visi ķēdes tīkla nosaukumi atbilst MCU atbilstošajiem savienojumiem - ņemiet vērā, ka ir kopīgi tīkli, kas nodrošina saziņu starp displejiem, un nav nepieciešams savienot abus displeju izglītības interfeisus ar MCU. Programmēšana un rakstzīmju veidošanas secība ir definēta turpmākajos posmos.5. Lietotāja saskarnes ķēde:

Lietotāja saskarne ir sadalīta divās apakšgrupās-Ievades un izvades sistēmas: Ievades sistēma: Ierīcei ir lietotāja ievadīta ievade, kas definēta kā trīs SPST spiedpogas slēdži ar papildu uzvilkšanas rezistoriem, lai noteiktu definīciju vadītu vai nu HIGH, vai LOW MCU. Šie slēdži nodrošina vadības sistēmu visam ieprogrammētajam algoritmam, jo ir jāpielāgo laika/datuma vērtības, izvēlnes vadība utt.

6. Izvades sistēma:

A. Buzzer shēma nodrošina skaņas izvadi abos stāvokļos, izvēlnes pārslēgšana apstiprina skaņu un trauksmes algoritmu. NPN tranzistors tiek izmantots kā slēdzis, kas skaņas signālam nodrošina pietiekamu strāvu, padarot to skaņu atbilstošā itensity. Signālu kontrolē tieši MCU programmatūra. B. RGB LED tiek izmantots kā ierīces apgaismojuma daļa. To kontrolē tieši MCU ar četrām fona apgaismojuma iespējām: SARKANS, ZAĻS, ZILS, PWM vai IZSLĒGTS. Ņemiet vērā, ka rezistoriem, kas sērijveidā pievienoti gaismas diodēm R, G un B, ir atšķirīgas vērtības, jo katrai krāsai ir atšķirīga intensitāte pie nemainīgas strāvas. Zaļajām un zilajām gaismas diodēm ir tādas pašas īpašības, ja sarkanai ir nedaudz lielāka intensitāte. Tādējādi sarkanā gaismas diode ir savienota ar lielāku pretestības vērtību - šajā gadījumā: 180 omi (sk. RGB LED skaidrojumu). Savienotāji:

Savienotāji ir novietoti uz galvenās plates, lai nodrošinātu saziņu starp ārējiem interfeisa komponentiem, piemēram: displeju, RGB LED, barošanas ieejas un spiedpogu slēdžiem un pamatplatē. Katrs savienotājs ir paredzēts dažādām shēmām, tāpēc ierīces montāžas sarežģītība ievērojami samazinās. Kā redzams shēmās, katrs savienotājtīklu pasūtījums nav obligāts un to var mainīt, ja tas ievērojami vienkāršo elektroinstalācijas procesu. Pēc tam, kad būsim aptvēruši visas shēmas, pāriesim pie nākamās darbības.

4. solis: lodēšana

Lodēšana
Lodēšana
Lodēšana
Lodēšana
Lodēšana
Lodēšana

Iespējams, dažiem no mums tas ir grūtākais solis visā projektā. Lai pēc iespējas ātrāk atvieglotu ierīces darbību, lodēšanas process ir jāpabeidz šādā secībā:

1. MCU un programmēšanas savienotājs: ieteicams t lodēt 28 kontaktu galviņu, nevis pašu MCU, lai kļūmes gadījumā varētu aizstāt MCU IC. Pārliecinieties, vai ierīci var ieprogrammēt un ieslēgt. Uz programmēšanas savienotāja ieteicams uzlikt tapas apraksta uzlīmi (skat. Trešo attēlu).

2. RTC ķēde: pēc visu nepieciešamo detaļu lodēšanas pārliecinieties, ka kalibrēšanas kondensatorus ir viegli nomainīt. Ja vēlaties izmantot 3 V monētu šūnu akumulatora korpusu - pārliecinieties, vai tas atbilst ierīces korpusa izmēriem.

3. Displejs: uz atsevišķa maza izmēra tāfeles ir jāpielodē divi displeja IC (1. att.). Pēc visu vajadzīgo tīklu lodēšanas ir nepieciešams sagatavot vadus ārpus klāja (4. att.): Šie vadi ir jāpielodē un jāizved displeja plāksnes sānos, ņemiet vērā, ka stieplēm pieliktā spriedze un mehāniskais spriegums ietekmē lodēšanas savienojumus displeja panelī.

4. Uz vadiem no iepriekšējā posma ir jāuzlīmē etiķešu uzlīmes - tas ievērojami atvieglos montāžas procesu turpmākajā solī. Neobligāts solis: katram vadam pievienojiet viena kontakta vīriešu savienotāju (Arduino stils).

5. Lodējiet atlikušos savienotājus uz pamatplates, ieskaitot perifērijas komponentus. Vēlreiz ieteicams katram savienotājam izvietot uzlīmes ar tapas aprakstu.

6. Skaņas signāla ķēde: skaņas signāls atrodas ierīces iekšpusē, tāpēc tas ir jāpielodē pie galvenās plates, nav nepieciešams savienojošais savienotājs.

7. RGB gaismas diode: lai ietaupītu vietu pamatplatē, es esmu lodējis sērijas rezistorus uz LED tapām, kur katrs rezistors atbilst savai saskaņotajai krāsai un atbilstošajai MCU tapai (5. att.).

5. solis: salikšana

Salikšana
Salikšana
Salikšana
Salikšana
Salikšana
Salikšana

Šis solis nosaka projekta izskatu - elektrisko un mehānisko. Ja tika ņemtas vērā visas ieteiktās piezīmes, montāžas process kļūst ļoti vienkāršs. Šī pakāpeniskā secība sniedz pilnīgu informāciju par procesu:

A daļa: korpuss

1. Izurbiet trīs caurumus atbilstoši spiedpogas pogas diametram (šajā gadījumā 3 mm).2. Izurbiet vienu skaņas signālam paredzētu caurumu korpusa sānos. Var izmantot jebkuru vēlamo urbja diametru.3. Izurbiet nelielu caurumu slīpēšanas pamatā atbilstoši USB savienotājam, kas jums jāizmanto (šajā gadījumā Micro USB). Pēc tam veiciet slīpēšanu ar maza izmēra failu, lai tas atbilstu savienotāja izmēriem. Izurbiet samērā lielu caurumu slīpēšanai. Slīpējiet ar vidēja izmēra failu, atbilstoši displeja izmēriem. Pārliecinieties, vai displeja IC atrodas korpusa ārējā pusē. Ierīces apakšā urbiet vidēja izmēra caurumu atbilstoši RGB gaismas diodes diametram. B daļa - pielikumi:

1. Lodējiet divus vadus pie katras no trim spiedpogām (GND un signāls). Ieteicamas uzlīmju uzlīmes un vienas tapas savienotāji uz vadiem.2. Pievienojiet četrus sagatavotos vadus RGB LED tapām. Uz lodēšanas savienojumiem uzlīmējiet etiķešu uzlīmes un saraušanās caurules.3. Ierīces apakšā piestipriniet četras gumijas kājas. C daļa - Daļu savienošana:

1. Novietojiet RGB gaismas diodi korpusa apakšdaļā, pievienojiet to speciālajam savienotājam pamatplatē. Piestipriniet to ar karstu līmi.2. Novietojiet trīs spiedpogas slēdžus, pievienojiet tos speciālajam savienotājam uz galvenās plates, pievienojiet tos ar karstu līmi. Ievietojiet USB savienotāju, pievienojiet to programmēšanas savienotāja barošanas tapām (VCC un GND). Pārliecinieties, vai barošanas līniju polaritāte atbilst lodētām detaļām. Piestipriniet to ar karstu līmi.4. Novietojiet displeja paneli, pievienojiet to speciālajam savienotājam. Pievienojiet to ar karstu līmi. Piezīmes:

1. Galvenajam dēļa korpusam un augšējam vākam ieteicams pievienot skrūvju-uzgriezņu pārus (kā tas ir parādīts šajā gadījumā).2. Lai izvairītos no salauztu vadu atteices, tiek ņemti vērā tie ar izskatu korpusa iekšpusē.

6. darbība. Ievads par īsu programmēšanu

Ievads par īsu programmēšanu
Ievads par īsu programmēšanu
Ievads par īsu programmēšanu
Ievads par īsu programmēšanu
Ievads par īsu programmēšanu
Ievads par īsu programmēšanu

Pēc visu detaļu lodēšanas ieteicams pirms ierīces montāžas pabeigšanas veikt sākotnējo ierīces pārbaudi. MCU kods ir rakstīts C, un ATMEGA328P tiek ieprogrammēts, izmantojot jebkuru ISP programmētāju (Ir dažādi Atmel programmēšanas ierīču veidi: AVR MKII, AVR DRAGON utt. - Esmu izmantojis lētu USB ISP programmētāju no eBay, ko kontrolē ProgISP vai AVRDude programmatūra). Programmēšanas videi jābūt Atmel Studio 4 un jaunākai versijai (es ļoti iesaku jaunākās programmatūras versijas). Ja tiek izmantots ārējs programmētājs, kas nav Atmel Studio, programmēšanas programmatūrai ir jānorāda.hex faila ceļš (parasti tas atrodas projekta atkļūdošanas vai izlaišanas mapē). Pirms montāžas posma pārliecinieties, vai ierīci var ieprogrammēt, un jebkurš pamata AVR veltīts projektu veidošanas un apkopošanas process ir balstīts uz ATMEGA328P mikrokontrolleru (skat. Atmel Studio apmācību).

7. darbība: koda apraksts

Koda apraksts
Koda apraksts
Koda apraksts
Koda apraksts

Decice koda algoritms ir sadalīts divos daļēji atsevišķos slāņos: 1. Pamata slānis: komunikācija ar perifērijas shēmām, ierīces darbības definīcija, inicializācija un komponentu deklarācijas. Saskarnes slānis: lietotāja un ierīces mijiedarbība, izvēlnes funkcionalitāte, pulksteņa/skaņas signāla/krāsu/trauksmes regulēšana. Programmas secība ir aprakstīta attēlā. 1, kur katrs bloks atbilst MCU stāvoklim. Aprakstītā programma darbojas kā pamata "operētājsistēma", kas nodrošina saskarni starp aparatūru un ārpasauli. Turpmākajā skaidrojumā ir aprakstīta programmas būtiskā darbība pa daļām: A daļa: Pamata slānis:

1. MCU I/O inicializācija: Pirmkārt, ir jāinicializē aparatūras komponenti:- koda izmantotās konstantes.- portu I/O- saskarne.- perifērijas sakaru deklarācijas.

2. Vispārīgās pamatfunkcijas: Dažas funkcijas izmanto atsevišķi koda bloki, definējot darbības ar tapām, kuras kontrolē programmatūra:- Iespējot/atspējot RTC un displeja plates komunikāciju.- Buzzer skaņas ģenerēšana ieslēgta/izslēgta.- 3 vadu pulkstenis augšup/Pulksteņa samazināšanas funkcijas.- Parādiet rakstzīmju veidošanas funkcijas. Perifērijas inicializācija: Pēc I/O portu konfigurēšanas notiek saziņa starp shēmu funkcijām. Kad pabeigts - MCU sāk RTC un displeja shēmu inicializāciju, izmantojot iepriekš definētās funkcijas.

4. Pamatfunkciju definīcija: šajā posmā ierīce ir iestatīta un gatava veikt sakarus ar dažām perifērijas shēmām. Šīs funkcijas nosaka:- slēdžu pārslēgšanas vadību;- RGB LED darbību (īpaši PWM);- skaņas signāla kvadrātveida viļņu ģeneratoru

5. Displeja funkcijas: Internetā es daudz neatradu par HSMS IC, ko esmu izmantojis, tāpēc es pats uzrakstīju tās bibliotēku. Displeja funkcijas nodrošina pilnīgu rakstzīmju attēlošanas funkcionalitāti, ieskaitot ASCII rakstzīmju un visu veselu skaitļu parādīšanu. Funkcijas tiek rakstītas vispārinātā veidā, tādēļ, ja ir nepieciešams izsaukt displeja funkcijas no jebkuras koda daļas, tās ir viegli izmantot, jo tās tiek vispārinātas pēc darbības (piemēram: virkņu displejs, vienas rakstzīmes displejs utt.).

6. RTC darbības funkcijas: Visas RTC funkcijas tiek rakstītas vispārinātā veidā (līdzīgi kā iestatītās displeja funkcijas) saskaņā ar DS1302 IC darbību. Kods ir balstīts uz rakstisko bibliotēku, kas ir pieejama daudzās gitHub variācijās. Kā redzēsit galīgajā kodā, displeja un RTC funkciju kopa ir iekļauta atsevišķos.c un.h failos. B daļa - saskarnes slānis:

1. Galvenā funkcija: sadaļā void main () ir visu galveno inicializācijas funkciju deklarācija. Tūlīt pēc visu komponentu inicializācijas MCU nonāk bezgalīgā cilpā, kur ierīces funkcionalitāti kontrolē lietotājs.

2. Reāllaika slēdži, fona apgaismojums un displeja vadība: Darbojoties bezgalīgā ciklā, MCU veic atsvaidzināšanu katrā ierīces daļā. Tā izvēlas, kādus datus parādīt, kura poga tika nospiesta un kāds fona apgaismojuma režīms tika izvēlēts.

3. Lietotāja izvēlnes funkcijas: šīm funkcijām ir kokam līdzīga forma (sk. X zīm.), Kur izvēlņu sistēma un hierarhija ir definēta kā stāvokļa mašīna. Katra stāvokļa mašīna, ko kontrolē lietotāja ievade - spiedpoga pārslēdzas, tādējādi, nospiežot atbilstošo spiedpogu, stāvokļa mašīna mainīs savu vērtību. Tas ir veidots tā, ka visas izvēlnē veiktās ierīces izmaiņas tiek nekavējoties mainītas.

4. Lietotāja izvēlnes pārslēgšana: ja tiek nodrošināta lietotāja ievade, izvēlnes stāvoklim ir jāmaina tās stāvoklis. Tātad šīs funkcijas nodrošina no lietotāja atkarīgu valsts iekārtas kontroli. Šajā konkrētajā gadījumā: nākamais, iepriekšējais un Labi.

8. solis: gala kods un noderīgi faili

Un tas arī viss! Šajā solī varat atrast visus nepieciešamos failus:- Elektriskā shēma- Pilnīgs avota kods- Rādīt rakstzīmju veidotāju Neobligāta funkcija: Displeja IC bibliotēkā ir pieejamas dažādas rakstzīmes, taču dažas no tām nav iekļautas. Ja vēlaties rakstzīmes veidot pats, pievienojiet gadījuma statusu ar ASCII atsauci funkcijā Print_Character ('') (skatiet funkcijas display.c). Ceru, ka jums noderēs šī pamācība:) Paldies, ka izlasījāt!

Ieteicams: