Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • shtëpi
  • Programet
  • Kohëmatësi me shumë programe në mikrokontrolluesin pic16f628a. Kohëmatësi i thjeshtë i kuzhinës në PIC16F628A

Kohëmatësi me shumë programe në mikrokontrolluesin pic16f628a. Kohëmatësi i thjeshtë i kuzhinës në PIC16F628A

Mikrokontrolluesit kanë një gjë të dobishme - një kohëmatës. Kohëmatësi mund të përdoret si numërues ose të përdoret për të gjeneruar impulse me një gjatësi të caktuar (PWM). Duke përdorur një kohëmatës, mund të ndërtoni, për shembull, një orë ose një gjenerator.

Familja e mikrokontrolluesit 16 ka 3 kohëmatës: TRM0, TRM1 dhe TRM2. Secila prej tyre është më e përshtatshme për një lloj të caktuar pune. Le t'i hedhim një vështrim më të afërt këtyre kohëmatësve:

  • Kohëmatësi 8-bit (numëron nga 0 në 255)
  • akorduar nga frekuenca e sistemit ose nga një burim i jashtëm
  • llogaritet në skajin në rritje ose në rënie të sinjalit
  • Parashkallëzues 8-bitësh
  • ndërprerja gjenerohet në tejmbushje (kur lëvizni nga 255 në 0)
  • kohëmatësi funksionon vazhdimisht

Ky kohëmatës mund të përdoret për të gjeneruar impulse të një gjatësi të caktuar ose për të numëruar pulset hyrëse.

OPTION_REG (OPTION në një program).

  • Kohëmatësi 16-bit (0..65535)
  • mund të klockohet si nga një burim sinjali i jashtëm ashtu edhe nga
  • kuarc shtesë i orës
  • parashkallëzuesi maksimal - 1:8
  • kohëmatësi numëron vetëm skajet në rritje të sinjalit
  • kohëmatësi mund të përdoret nga moduli CCP
  • kohëmatësi mund të çaktivizohet

Aplikime të ngjashme me TMR0.

Kohëmatësi kontrollohet nga një regjistër T1CON.

  • Kohëmatësi 8-bit
  • akorduar vetëm nga frekuenca e sistemit
  • parashkallëzues 1:1, 1:4, 1:16
  • kohëmatësi mund të çaktivizohet

Ky kohëmatës ka një parim të ndryshëm funksionimi. Kohëmatësi numëron pulset nga zero në një vlerë të caktuar PR2. Pasi të përputhen TRM2 dhe PR2, sinjali shkon në pasndarësit 4-bit dhe gjenerohet një ndërprerje. Ky sistem ju lejon të gjeneroni frekuenca me një hap minimal. Kohëmatësi mund të dërgojë sinjale te CCP si një bazë kohore PWM.

Kohëmatësi kontrollohet nga një regjistër T2CON.

Shembull

Le të kalojmë te kodi i firmuerit. Shembulli përdor dy numërues TRM0 për numëruesin e impulseve hyrëse dhe TRM1 për ndezjen e 2 LED-ve.

Le të ndezim kohëmatësit TRM0 për numëruesin dhe TRM1 për ndezjen e 2 LED.

INTCON=0b11100000; // Konfigurimi i ndërprerjeve OPTION=0b00101000; // Vendosja e TMR0 T1CON =0b00110001; // Vendosja e TMR1 TMR1IE=1;

Kodi kryesor i programit shfaq vetëm vlerën e numëruesit në ekran.

Void main() ( low_init(); // inicializoni MK InitLCD(); // inicializoni ekranin TMR0=0; // rivendosni kohëmatësin TMR0 LED=0; // rivendosni variablin përgjegjës për LED ndërsa (1= =1) ( IntToLCD (0,0,TMR0); // shfaq përmbajtjen e vonesës së kohëmatësit (1000); // vonesë) )

Veprimi kryesor zhvillohet në mbajtësin e ndërprerjeve.

Ndërprerja e zbrazët isr(void) ( if(T0IF) // kur TMR0 tejmbushet ( T0IF=0; // rivendosni flamurin rreth tejmbushjes së tij ) if(TMR1IF) // kur TMR1 tejmbushet ( LED++; // Kontrolli LED if(LED> 3 ) ( LED=0; ) PORTA=LED TMR1IF=0;

Në mbajtësin e kohëmatësit të parë TRM0: kur del jashtë, asgjë e dobishme nuk ndodh, vetëm flamuri i tejmbushjes rivendoset. Kur tejmbushet kohëmatësi i dytë TRM1: LED-et ndizen në një mënyrë të re (një numërues binar shfaqet në to) dhe flamuri i dytë i tejkalimit të kohëmatësit rivendoset.

Më poshtë është një foto dhe video e shembullit të kohëmatësve që punojnë.

Një vit e gjysmë më parë në faqen për të cilën fola. Komentet erdhën duke kërkuar zëvendësimin e treguesve të katodës së zakonshme me treguesit e anodës së përbashkët. Duke ndjekur dëshirat e mia, rishkrova programin e kohëmatësit. Por nuk u bënë ndryshime të rëndësishme në qarkun elektrik të pajisjes.

Për të thjeshtuar programin, u vendos që të ndryshohet diagrami i lidhjes për LED që tregon fillimin e kohëmatësit. Dalja në LED u zhvendos nga pini 13 i DD1, ky është biti i shtatë i portës B, në pinin e pesëmbëdhjetë - biti i gjashtë i portit A. Përndryshe, qarku mbeti i njëjtë. Nga rruga, unë mendoj se nuk është e këshillueshme të përdorni një transistor të përbërë me tre amper KT973A në këtë dizajn, dhe nuk është gjithmonë në dispozicion në kohën e duhur. Një transistor me fuqi të ulët KT361G mund të jetë gjithashtu i përshtatshëm për një përforcues pulsi të frekuencës audio.


Fuqia e tij kolektore është 150 milivat. Le të shohim tabelën. Por mund të rritet ndjeshëm nëse transistori plotësohet me një lavaman nxehtësie, i cili mund të bëhet nga një shirit bakri. Gjerësia e shiritit është e barabartë me gjerësinë e trupit të tranzitorit, gjatësia është arbitrare. Shiriti është i përkulur në përputhje me foton.


Një kapëse është bërë nga një shirit më i hollë, por mund të bëhet edhe nga i njëjti shirit si vetë ftohësi. Lavamani i nxehtësisë vendoset në trupin e tranzitorit përmes pastës përçuese termike. Një lavaman me cilësi të lartë "ulet" në trupin e tranzitorit mjaft fort dhe fuqia e kolektorit të transistorit mund të arrijë 500... 700 milivat.


Dhe vëllimi i zërit me një fuqi të tillë tranzistor është mjaft i mjaftueshëm edhe për dhoma të mëdha. Për më tepër, transistori në këtë qark funksionon në modalitetin e pulsit, dhe efikasiteti është shumë i lartë. Nëse bëni një vrimë në njërën nga anët e përkulura të shiritit, atëherë një lavaman i tillë i nxehtësisë mund të ngjitet në tabelë duke përdorur një vidë me një diametër prej 2 ... 3 mm. Më duhen pesë minuta për të bërë gjithçka. Vizatimi i tabelës së qarkut të printuar mund të shkarkohet nga artikulli i mëparshëm "

Kjo është e thjeshtë kohëmatës në PIC16F628A mund të përdoret në kuzhinë, dhe jo vetëm në kuzhinë, por kudo që është e nevojshme të llogaritet një periudhë kohore nga 1 deri në 99 minuta. Baza është mikrokontrolluesi PIC16F628A - mjaft popullor dhe jo i shtrenjtë. Në artikujt e mëparshëm, u diskutuan modele të ndryshme në këtë mikrokontrollues, për shembull,.

Kontrollet e kohëmatësit janë një buton dhe një kodues rrotullues. Në fund të numërimit mbrapsht, dëgjohet një sinjal akustik me ndërprerje.

Përshkrimi i funksionimit të një kohëmatësi të thjeshtë në PIC16F628A

Pasi të jetë furnizuar me energji qarku i kohëmatësit, koha e caktuar shfaqet në treguesit LED, LED nuk ndizet. Duke rrotulluar çelësin, është e mundur të ndryshoni cilësimin e kohës nga 1 në 99 minuta.

Qarku i kohëmatësit - treguesit e zakonshëm të katodës

Qarku i kohëmatësit - tregues me një anodë të përbashkët

Pasi të vendosni intervalin e kërkuar kohor, duhet të shtypni butonin, pas së cilës do të tingëllojë një sinjal akustik afatshkurtër dhe kohëmatësi do të aktivizojë numërimin mbrapsht të kohës, LED do të pulsojë dhe koha në ekran do të ulet çdo minutë.

Pasi të ketë kaluar koha, kohëmatësi do të prodhojë sinjale akustike me ndërprerje, LED do të ndizet vazhdimisht. Duke shtypur butonin, sinjali akustik fiket dhe kohëmatësi kthehet në gjendjen e tij origjinale, duke pritur një hyrje të re kohore. Ky ishte një përshkrim i mënyrës sesi funksionoi kohëmatësi me versionin e parë të firmuerit.

Versioni i dytë funksionon në të njëjtën mënyrë si i pari, por ka disa shtesa të vogla. Në gjendjen e zgjedhjes së kohës, nëse koduesi nuk rrotullohet për 2-3 sekonda, në tregues do të shfaqet një mbrojtës i animacionit. Rrotullimi i koduesit ose shtypja e butonit çaktivizon mbrojtësin e ekranit dhe modaliteti i përzgjedhjes së kohës aktivizohet përsëri.

Shperndaje te:
Ky është një tjetër zanat i bërë nga plehra - një kohëmatës për kuzhinë, megjithëse jo domosdoshmërisht për kuzhinë. Ne përdorëm pjesë që ishin të shtrira rreth e qark boshe, veçanërisht treguesit e vjetër ALS, rezistorë të salduar nga dërrasat e vjetra, etj. Baza e pajisjes është mikrokontrolluesi PIC16F628A, një nga më të zakonshëm dhe më të lirë. Kohëmatësi kontrollohet duke përdorur një valkoder dhe një buton. Koha e vonesës varion nga 1 deri në 99 minuta. Në fund të ciklit të kohës, jepet një sinjal zanor me ndërprerje. Ka dy firmware në arkiv, i pari është vetëm një kohëmatës dhe i dyti me disa zile dhe bilbila, më shumë për këtë më poshtë. Ekziston gjithashtu një opsion për treguesit me një anodë të përbashkët. Ju lutemi vini re se firmware për secilën nga skemat është i ndryshëm. Të gjitha dallimet janë të theksuara me të kuqe në diagram.
Pas ndezjes së energjisë, koha e caktuar shfaqet në tregues, LED nuk ndizet. Duke rrotulluar koduesin mund të ndryshoni cilësimin e kohës nga 1 në 99 minuta. Kur caktohet koha, shtypni butonin - tingëllon një bip i shkurtër dhe kohëmatësi fillon të numërojë mbrapsht, LED pulson dhe koha në tregues zvogëlohet çdo minutë. Kur koha ka arritur zero, kohëmatësi lëshon sinjale zanore me ndërprerje dhe LED ndizet vazhdimisht. Tani, duke shtypur butonin, sinjali i zërit hiqet dhe pajisja kthehet në gjendjen e saj origjinale - modaliteti i vendosjes së kohës. Kështu funksionon versioni i parë i firmuerit. Versioni i dytë i firmware-it funksionon njësoj si i pari, por ka disa shtesa. Në modalitetin e cilësimit të kohës, nëse nuk e prekni koduesin për disa sekonda, në ekran fillon të funksionojë një mbrojtës i animuar i ekranit. Shtypja e butonit ose rrotullimi i koduesit do të çaktivizojë animacionin dhe do të kthehet në modalitetin e cilësimit të kohës. Gjatë numërimit mbrapsht, nëse ka mbetur një minutë, ekrani tregon sekonda nga 60 në 00. Kur sinjali zanor aktivizohet, ai nuk do të tingëllojë pafundësisht, por për rreth 20 sekonda. Më pas, ekrani fillon të shfaqë një mbrojtës ekrani të animuar (i ndryshëm nga ai në modalitetin e instalimit). Dhe gjithashtu, pas çdo minutë do t'ju kujtojë me një sinjal të shkurtër zanor. Duke shtypur butonin, ashtu si në firmware-in e parë, kohëmatësi rivendoset në modalitetin e cilësimit të kohës. Kur kanë mbetur 3 sekonda para se kohëmatësi të fiket, kohëmatësi lëshon një bip të shkurtër për çdo sekondë, d.m.th. 3...2...1 dhe më tej punon si zakonisht. Të dy firmware janë të disponueshëm dhe janë në arkiv së bashku me një vizatim të tabelës së qarkut të printuar.
Sinjali i zërit zbatohet duke përdorur harduerin PWM të integruar në mikrokontrollues. Koka dinamike duhet të ketë një rezistencë prej rreth 50 ohms. Ju gjithashtu mund të përdorni koka dinamike me rezistencë të ulët (4 ose 8 ohms), por në këtë rast është më mirë të instaloni një transformator dalës me madhësi të vogël, sepse Një rrymë e madhe do të rrjedhë nëpër kokën 4 ohm, e cila mund të mbingarkojë furnizimin me energji elektrike dhe të shkaktojë një rivendosje të mikrokontrolluesit. Pllaka e qarkut të printuar, version nga Alexey Antonov
Autori: Mamed ARCHIV:Shkarko seksionin:

Ky është një tjetër zanat i bërë nga plehra - një kohëmatës për kuzhinë, megjithëse jo domosdoshmërisht për kuzhinë. Ne përdorëm pjesë që ishin të shtrira rreth e qark boshe, veçanërisht treguesit e vjetër ALS, rezistorë të salduar nga dërrasat e vjetra, etj. Baza e pajisjes është një mikrokontrollues PIC16F628A, një nga më të zakonshmet dhe më të lirat. Kohëmatësi kontrollohet duke përdorur një valkoder dhe një buton. Koha e vonesës varion nga 1 deri në 99 minuta. Në fund të ciklit të kohës, jepet një sinjal zanor me ndërprerje. Ka dy firmware në arkiv, i pari është vetëm një kohëmatës dhe i dyti me disa zile dhe bilbila, më shumë për këtë më poshtë.

Ekziston gjithashtu një opsion për treguesit me një anodë të përbashkët. Ju lutemi vini re se firmware-i për secilën nga skemat është i ndryshëm. Të gjitha dallimet janë të theksuara me të kuqe në diagram.

Pas ndezjes së energjisë, koha e caktuar shfaqet në tregues, LED nuk ndizet. Duke rrotulluar koduesin, mund të ndryshoni cilësimin e kohës nga 1 në 99 minuta. Kur caktohet koha, shtypni butonin - tingëllon një bip i shkurtër dhe kohëmatësi fillon të numërojë mbrapsht, LED pulson dhe koha në tregues zvogëlohet çdo minutë. Kur koha ka arritur zero, kohëmatësi lëshon sinjale zanore me ndërprerje dhe LED ndizet vazhdimisht. Tani, duke shtypur butonin, sinjali i zërit hiqet dhe pajisja kthehet në gjendjen e saj origjinale - modaliteti i vendosjes së kohës. Kështu funksionon versioni i parë i firmuerit.

Versioni i dytë i firmware-it funksionon njësoj si i pari, por ka disa shtesa. Në modalitetin e cilësimit të kohës, nëse nuk e prekni koduesin për disa sekonda, në ekran fillon të funksionojë një mbrojtës i animuar i ekranit. Shtypja e butonit ose rrotullimi i koduesit do të çaktivizojë animacionin dhe do të kthehet në modalitetin e cilësimit të kohës. Gjatë numërimit mbrapsht, nëse mbetet një minutë, ekrani tregon sekonda nga 60 në 00. Kur sinjali i zërit të aktivizohet, nuk do të tingëllojë pafundësisht, por për rreth 20 sekonda. Më pas, ekrani fillon të shfaqë një mbrojtës ekrani të animuar (i ndryshëm nga ai në modalitetin e instalimit). Dhe gjithashtu, pas çdo minutë do t'ju kujtojë me një sinjal të shkurtër zanor. Duke shtypur butonin, ashtu si në firmware-in e parë, kohëmatësi rivendoset në modalitetin e cilësimit të kohës. Kur kanë mbetur 3 sekonda para se kohëmatësi të fiket, kohëmatësi lëshon një bip të shkurtër për çdo sekondë, d.m.th. 3...2...1 dhe më tej punon si zakonisht. Të dy firmware janë të disponueshëm dhe janë në arkiv së bashku me një vizatim të tabelës së qarkut të printuar.

Sinjali i zërit zbatohet duke përdorur harduerin PWM të integruar në mikrokontrollues. Koka dinamike duhet të ketë një rezistencë prej rreth 50 ohms. Ju gjithashtu mund të përdorni koka dinamike me rezistencë të ulët (4 ose 8 ohms), por në këtë rast është më mirë të instaloni një transformator dalës me madhësi të vogël, sepse Një rrymë e madhe do të rrjedhë nëpër kokën 4 ohm, e cila mund të mbingarkojë furnizimin me energji elektrike dhe të shkaktojë një rivendosje të mikrokontrolluesit.

Pllaka e qarkut të printuar, version nga Alexey Antonov

Komentet

1 2

0 #21 kaktuss 14.06.2015 16:08

Unë citoj AntonChip:

Ju mund të shihni një pamje të ekranit të vendosjes së biteve të konfigurimit gjatë programimit


E pyeta autorin se çfarë konfigurimi nevojitej për firmware, ai u përgjigj se gjithçka ishte tashmë në firmware. Prandaj, nuk instalova asgjë, thjesht ngarkova firmware.
Unë do të postoja pamje nga ekrani, por nuk e di se si. Mund t'jua dërgoj me email?

Artikujt më të mirë mbi këtë temë