Re: Cum să executați corect un cuarț extern?
Ne pare rău, creierul deja fierbe, acum voi explica totul.
Vreau să înțeleg principiile de lucru cu μ, scriu un program pentru un cronometru simplu pe pic16f628a. Înțeles cu indicația dinamică (este în întreruperea mea TMR0), acum am început să numărăm timpul. Judecând după datasheet, puteți utiliza cuarț extern cu TMR1. Un cuarț de 4 MHz, cu doi condensatori, este conectat la OSC1 și OSC2. OSC2 este configurat ca ieșire, OSC1 este intrarea (TRISA = 0b10000000;).
lisergin. Vârful începe, dar cuartul exterior ignoră.
Dacă înțeleg corect, atunci trebuie să executați un oscilator intern - acesta alimentează un sinusoid la OSC2, și înapoi semnalul de la rezonator merge la OSC1. Și nu există sinusoidă. Deci generatorul nu funcționează? Sau altceva?
Iată codul:
Un cuarț de 4 MHz, cu doi condensatori, este conectat la OSC1 și OSC2. OSC2 este configurat ca ieșire, OSC1 este intrarea (TRISA = 0b10000000;).
lisergin. Vârful începe, dar cuartul exterior ignoră.
Dacă înțeleg corect, atunci trebuie să executați un oscilator intern - acesta alimentează un sinusoid la OSC2, și înapoi semnalul de la rezonator merge la OSC1. Și nu există sinusoidă. Deci generatorul nu funcționează? Sau ceva
E ciudat cumva toate astea. Este necesar intern dacă nu există nici un element extern
CCS are un "vrăjitor" simplu, în care fuzze, pini, cronometre etc. puteți expune cu ușurință, aici este o bucată de cod de la "wizard"
__________________
Dacă aceasta nu funcționează - să o numim versiunea beta.
Re: Cum sa incepeti cu adevarat un cuart extern?
Iar naiba nu a funcționat (
1. Am înțeles proteul. Acolo era necesar ca proprietățile μ să permită ieșirea semnalului de la CLKOUT.
2. De asemenea, întreruperile create de Wizard nu funcționează. Și din moment ce indicația dinamică: portul are un semnal, portA este silențios. Taymer0 - văzut în Proteus - contează și resetare, dar doar a încercat să clipească un LED pe portul, a constatat că o întrerupere apare numai 1 ora (1 timp se aprinde intermitent pe și în afara), și încercările de a reseta T0IF pavilion la nimic plumb.
Și asta este. Chiar și aici au spus: descrie-ți algoritmul pentru tine, nu va dura, dar va salva o bucată de timp și apoi gesturile mai îndepărtate, mai puțin de neînțeles.
algoritmul este simplu:
adăugați un al doilea - a ajuns la 999: a scăzut la 000; Nu am ajuns - ne gândim mai departe.
trageți valoarea pe indicator
Acum, principalul lucru pentru mine este să-l fac să funcționeze.