Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Programi
  • Višeprogramski tajmer na mikrokontroleru pic16f628a. Jednostavan kuhinjski tajmer na PIC16F628A

Višeprogramski tajmer na mikrokontroleru pic16f628a. Jednostavan kuhinjski tajmer na PIC16F628A

Mikrokontroleri imaju korisnu stvar - tajmer. Tajmer se može koristiti kao brojač ili koristiti za generiranje impulsa određene dužine (PWM). Koristeći tajmer, možete, na primjer, napraviti sat ili generator.

Porodica mikrokontrolera 16 ima 3 tajmera: TRM0, TRM1 i TRM2. Svaki od njih je pogodniji za određenu vrstu posla. Pogledajmo bliže ove tajmere:

  • 8-bitni tajmer (broji od 0 do 255)
  • taktirano sa sistemske frekvencije ili iz vanjskog izvora
  • računa na rastuću ili opadajuću ivicu signala
  • 8-bitni predskaler
  • prekid se generiše kada dođe do prelivanja (prilikom pomeranja sa 255 na 0)
  • tajmer radi konstantno

Ovaj tajmer se može koristiti za generiranje impulsa određene dužine ili za brojanje dolaznih impulsa.

OPTION_REG (OPCIJA u programu).

  • 16-bitni tajmer (0..65535)
  • može se taktirati i iz vanjskog izvora signala i iz
  • dodatni sat kvarc
  • maksimalni predskaler - 1:8
  • tajmer broji samo rastuće ivice signala
  • tajmer može koristiti CCP modul
  • tajmer se može isključiti

Slične aplikacije kao i TMR0.

Tajmer se kontroliše pomoću registra T1CON.

  • 8-bitni tajmer
  • taktirano samo od sistemske frekvencije
  • predskaler 1:1, 1:4, 1:16
  • tajmer se može isključiti

Ovaj tajmer ima drugačiji princip rada. Tajmer broji impulse od nule do date vrijednosti PR2. Kada se TRM2 i PR2 poklapaju, signal ide u 4-bitni razdjelnik i generira se prekid. Ovaj sistem vam omogućava da generišete frekvencije sa minimalnim korakom. Tajmer može slati signale CCP-u kao PWM bazu vremena.

Tajmer se kontroliše pomoću registra T2CON.

Primjer

Pređimo na kod firmvera. Primjer koristi dva brojača TRM0 za brojač ulaznih impulsa i TRM1 za treptanje 2 LED diode.

Uključimo tajmere TRM0 za brojač i TRM1 za treptanje 2 LED diode.

INTCON=0b11100000; // Konfiguriranje prekida OPTION=0b00101000; // Postavljanje TMR0 T1CON =0b00110001; // Postavljanje TMR1 TMR1IE=1;

Glavni kod programa prikazuje samo vrijednost brojača na displeju.

Void main() ( low_init(); // inicijalizira MK InitLCD(); // inicijalizira prikaz TMR0=0; // resetiraj tajmer TMR0 LED=0; // resetiraj varijablu odgovornu za LED dok(1= =1) ( IntToLCD (0,0,TMR0); // prikaz sadržaja tajmera kašnjenja(1000); // kašnjenje) )

Glavna radnja se odvija u rukovaocu prekida.

Void prekid isr(void) ( if(T0IF) // kada TMR0 prelije (T0IF=0; // resetiraj zastavicu o njegovom prelivu) if(TMR1IF) // kada se TMR1 prelije ( LED++; // LED kontrola if(LED> 3 ) ( LED=0; ) PORTA=LED;

U rukovatelju prvog tajmera TRM0: kada se prelije, ništa se korisno ne događa, samo se resetuje zastavica prelivanja. Kada se drugi tajmer TRM1 prepuni: LED diode svijetle na novi način (na njima se prikazuje binarni brojač), a druga zastavica prelivanja tajmera se resetuje.

Ispod je fotografija i video primjera rada tajmera.

Prije godinu i po dana na stranici o kojoj sam govorio. Dolazili su komentari u kojima se tražilo da se indikatori sa zajedničkom katodom zamijene indikatorima sa zajedničkom anodom. Prateći svoju želju, prepisao sam program za tajmer. Ali u električnom krugu uređaja nisu napravljene značajne promjene.

Da bi se program pojednostavio, odlučeno je da se promijeni dijagram povezivanja za LED koji označava početak tajmera. Izlaz na LED diodu je premješten sa pina 13 DD1, ovo je sedmi bit porta B, na petnaesti pin - šesti bit porta A. Inače, kolo je ostalo isto. Inače, mislim da nije preporučljivo koristiti kompozitni tranzistor od tri ampera KT973A u ovom dizajnu, a nije uvijek pri ruci u pravo vrijeme. Tranzistor male snage KT361G također može biti prikladan za impulsno pojačalo audio frekvencije.


Snaga kolektora mu je 150 milivata. Pogledajmo tabelu. Ali može se značajno povećati ako se tranzistor dopuni hladnjakom, koji se može napraviti od bakrene trake. Širina trake je jednaka širini tijela tranzistora, dužina je proizvoljna. Traka je savijena u skladu sa fotografijom.


Stezaljka se pravi od tanje trake, ali se može napraviti i od iste trake kao i sam hladnjak. Hladnjak se postavlja na tijelo tranzistora kroz termo provodljivu pastu. Visokokvalitetni hladnjak "sjedi" na tijelu tranzistora prilično čvrsto, a snaga kolektora tranzistora može doseći 500...700 milivata.


A jačina zvuka s takvom snagom tranzistora sasvim je dovoljna čak i za velike prostorije. Štaviše, tranzistor u ovom krugu radi u impulsnom režimu, a efikasnost je vrlo visoka. Ako napravite rupu na jednoj od savijenih strana trake, tada se takav hladnjak može pričvrstiti na ploču pomoću vijka promjera 2...3 mm. Treba mi pet minuta da sve uradim. Crtež štampane ploče možete preuzeti iz prethodnog članka “

Ovaj je jednostavan tajmer na PIC16F628A može se koristiti u kuhinji, i to ne samo u kuhinji, već svuda gde je potrebno računati vremenski period od 1 do 99 minuta. Osnova je mikrokontroler PIC16F628A - prilično popularan i nije skup. U prethodnim člancima, na primjer, raspravljalo se o različitim dizajnima ovog mikrokontrolera.

Kontrole tajmera su jedno dugme i rotirajući enkoder. Na kraju odbrojavanja čuje se isprekidani zvučni signal.

Opis rada jednostavnog tajmera na PIC16F628A

Nakon napajanja kruga tajmera, postavljeno vrijeme se prikazuje na LED indikatorima, LED ne svijetli. Okretanjem dugmeta moguće je promeniti podešavanje vremena od 1 do 99 minuta.

Tajmerski krug - indikatori uobičajene katode

Krug tajmera - indikatori sa zajedničkom anodom

Nakon podešavanja željenog vremenskog raspona, morate pritisnuti dugme, nakon čega će se oglasiti kratkotrajni zvučni signal, a tajmer će aktivirati odbrojavanje vremena, LED će treptati, a vrijeme na displeju će se smanjivati ​​svake minute.

Nakon isteka vremena, tajmer će proizvoditi isprekidane zvučne signale, LED će svijetliti neprekidno. Pritiskom na dugme isključuje se zvučni signal i tajmer se vraća u prvobitno stanje, čekajući novi unos vremena. Ovo je bio opis kako je tajmer radio s prvom verzijom firmvera.

Druga verzija funkcionira isto kao i prva, ali ima neke manje dodatke. U stanju odabira vremena, ako se enkoder ne okreće 2-3 sekunde, na indikatoru će se pojaviti animacijski screensaver. Rotiranjem enkodera ili pritiskom na dugme isključuje se čuvar ekrana i ponovo se aktivira režim odabira vremena.

Podijeli na:
Ovo je još jedan zanat napravljen od smeća - tajmer za kuhinju, iako ne nužno za kuhinju. Koristili smo dijelove koji su ležali u praznom hodu, posebno stare ALS indikatore, otpornike zalemljene sa starih ploča, itd. Osnova uređaja je mikrokontroler PIC16F628A, jedan od najčešćih i najjeftinijih. Tajmerom se upravlja pomoću valkodera i jednog dugmeta. Vremensko kašnjenje se kreće od 1 do 99 minuta. Na kraju ciklusa vremena daje se isprekidani zvučni signal. U arhivi se nalaze dva firmvera, prvi je samo tajmer, a drugi sa nekim zvonima i zviždaljkama, više o tome u nastavku. Postoji i opcija za indikatore sa zajedničkom anodom. Imajte na umu da se firmver za svaku od shema razlikuje. Sve razlike su na dijagramu označene crvenom bojom.
Nakon uključivanja napajanja, postavljeno vrijeme se prikazuje na indikatorima, LED ne svijetli. Okretanjem okretnog točkića možete promijeniti postavku vremena od 1 do 99 minuta. Kada je vreme podešeno, pritisnite dugme - čuje se kratak zvučni signal i tajmer počinje da odbrojava, LED treperi, a vreme na indikatoru se smanjuje svake minute. Kada vrijeme dođe do nule, tajmer emituje isprekidane zvučne signale i LED svijetli neprekidno. Sada se pritiskom na dugme uklanja zvučni signal i uređaj se vraća u prvobitno stanje – režim podešavanja vremena. Ovako radi prva verzija firmvera. Druga verzija firmvera radi isto kao i prva, ali ima nekoliko dodataka. U režimu podešavanja vremena, ako ne dodirnete koder nekoliko sekundi, animirani screensaver počinje da se pokreće na ekranu. Pritiskom na tipku ili rotiranjem enkodera će se isključiti animacija i vratiti se u način podešavanja vremena. Tokom odbrojavanja, ako preostane jedan minut, displej prikazuje sekunde od 60 do 00. Kada se aktivira zvučni signal, neće se oglašavati beskonačno, već oko 20 sekundi. Zatim, ekran počinje da prikazuje animirani screensaver (različit od onog u režimu instalacije). Također, nakon svake minute će vas podsjetiti kratkim zvučnim signalom. Pritiskom na dugme, baš kao iu prvom firmveru, tajmer se resetuje u režim podešavanja vremena. Kada preostane 3 sekunde prije nego što se tajmer isključi, tajmer emituje kratak zvučni signal za svaku sekundu, tj. 3...2...1 i dalje radi uobičajeno. Oba firmvera su dostupna i nalaze se u arhivi zajedno sa crtežom štampane ploče.
Zvučni signal je implementiran pomoću hardverskog PWM ugrađenog u mikrokontroler. Dinamička glava treba da ima otpor od oko 50 oma. Možete koristiti i dinamičke glave niske impedancije (4 ili 8 oma), ali je u ovom slučaju bolje ugraditi izlazni transformator male veličine, jer Velika struja će teći kroz glavu od 4 oma, što može preopteretiti napajanje i pokrenuti resetovanje mikrokontrolera. Štampana ploča, verzija Alekseja Antonova
Autor: Mamed ARHIVA:Preuzmi sekciju:

Ovo je još jedan zanat napravljen od smeća - tajmer za kuhinju, iako ne nužno za kuhinju. Koristili smo dijelove koji su ležali u praznom hodu, posebno stare ALS indikatore, otpornike zalemljene sa starih ploča, itd. Osnova uređaja je mikrokontroler PIC16F628A, jedan od najčešćih i najjeftinijih. Tajmerom se upravlja pomoću valkodera i jednog dugmeta. Vremensko kašnjenje se kreće od 1 do 99 minuta. Na kraju ciklusa vremena daje se isprekidani zvučni signal. U arhivi se nalaze dva firmvera, prvi je samo tajmer, a drugi sa nekim zvonima i zviždaljkama, više o tome u nastavku.

Postoji i opcija za indikatore sa zajedničkom anodom. Imajte na umu da se firmver za svaku od shema razlikuje. Sve razlike su na dijagramu označene crvenom bojom.

Nakon uključivanja napajanja, postavljeno vrijeme se prikazuje na indikatorima, LED ne svijetli. Okretanjem okretnog točkića možete promijeniti postavku vremena od 1 do 99 minuta. Kada je vreme podešeno, pritisnite dugme - čuje se kratak zvučni signal i tajmer počinje da odbrojava, LED treperi, a vreme na indikatoru se smanjuje svake minute. Kada vrijeme dođe do nule, tajmer emituje isprekidane zvučne signale i LED svijetli neprekidno. Sada se pritiskom na dugme uklanja zvučni signal i uređaj se vraća u prvobitno stanje – režim podešavanja vremena. Ovako radi prva verzija firmvera.

Druga verzija firmvera radi isto kao i prva, ali ima nekoliko dodataka. U režimu podešavanja vremena, ako ne dodirnete koder nekoliko sekundi, animirani screensaver počinje da se pokreće na ekranu. Pritiskom na tipku ili rotiranjem enkodera će se isključiti animacija i vratiti se u način podešavanja vremena. Tokom odbrojavanja, ako preostane jedan minut, displej prikazuje sekunde od 60 do 00. Kada se aktivira zvučni signal, neće se oglašavati beskonačno, već oko 20 sekundi. Zatim, ekran počinje da prikazuje animirani screensaver (različit od onog u režimu instalacije). Također, nakon svake minute će vas podsjetiti kratkim zvučnim signalom. Pritiskom na dugme, baš kao iu prvom firmveru, tajmer se resetuje u režim podešavanja vremena. Kada preostane 3 sekunde prije nego što se tajmer isključi, tajmer emituje kratak zvučni signal za svaku sekundu, tj. 3...2...1 i dalje radi uobičajeno. Oba firmvera su dostupna i nalaze se u arhivi zajedno sa crtežom štampane ploče.

Zvučni signal je implementiran pomoću hardverskog PWM ugrađenog u mikrokontroler. Dinamička glava treba da ima otpor od oko 50 oma. Možete koristiti i dinamičke glave niske impedancije (4 ili 8 oma), ali je u ovom slučaju bolje ugraditi izlazni transformator male veličine, jer Velika struja će teći kroz glavu od 4 oma, što može preopteretiti napajanje i pokrenuti resetovanje mikrokontrolera.

Štampana ploča, verzija Alekseja Antonova

Komentari

1 2

0 #21 kaktuss 14.06.2015 16:08

Citiram AntonChip:

Možete vidjeti snimak ekrana postavljanja konfiguracijskih bitova tokom programiranja


Pitao sam autora koja je konfiguracija potrebna za firmver, on je odgovorio da je sve već u firmveru. Stoga, nisam ništa instalirao, samo sam uploadovao firmver.
Postavio bih snimke ekrana, ali ne znam kako. Mogu li vam ga poslati e-poštom?

Najbolji članci na ovu temu