TMRO a prepínač funkcie MikroC

B

bbgil

Guest
Dobrý deň. Mám tento jednoduchý kód, ktorý má sa obrátiť na 7-segmentový displej (spoločná anóda) počítanie 0-9. Som pomocou prepínača funkcií a TMR0. Problém je v tom nemôžem robiť to počítať. sa drží na 8. Myslím, že problém je moja TMRO a ako počítať tak, že ovládanie prepínač funkcie. Žiadnu pomoc od guru C tam ocenia. stále učí, ako používať C. Tu je kód. thnx vopred. nepodpísané CNT, nepodpísané CNT1 void interrupt () {CNT + +; if (CNT == 400) {CNT = 0; CNT1 = CNT1 + +;} / / hodnota prírastku CNT na každom prerušení INTCON = 0x20; TMR0 = 96 / / Set T0IE, jasné T0IF} / / ~ void main () {OPTION_REG = 0x84, / / Priradenie Prescaler na TMR0 TRISB = 0, / / PORTB je výstup PORTB = 0xFF; / / inicializácia PORTB TMR0 = 0x96; INTCON = 0xA0, / / Povoliť TMRO prerušenia CNT = 0; CNT1 = 0, / / inicializácia CNT do {if (CNT1
 
Ahoj Napísal som tento kód odpočítavanie, ale zastaví u nula . Počíta, že 9-0, ale zastaviť u slučky zero.No. do {for (i = 9; i> = 0, i -) {/ / / unsigned PORTA = 0; PORTB = maska (i); PORTA = 2 / / / 5V na pin RA1 Delay_ms (1000);} } while (1), / / nekonečná slučka Vďaka vopred
 
Ahoj, zmeňte to na:
Code:
 do {for (i = 9, i> 0, i -) {/ / / unsigned PORTA = 0; PORTB = maska (i); PORTA = 2 / / / 5V pinu RA1 Delay_ms (1000);} if (i == 0) {PORTA = 0; PORTB = maska (i); PORTA = 2 / / / 5V na pin RA1 Delay_ms (1000);}} while (1); / / nekonečná slučka
Dúfam, že to pomôže. Tahmid.

<span style="color: grey;"><span style="font-size: 10px">---------- Príspevok pridaný v 14:52 ---------- Predchádzajúci príspevok bol v 14:49 --- -------</span></span>
, alebo
Code:
 {do PORTA = 0; PORTB = maska (i); PORTA = 2; Delay_ms (1000); if (i> 0) {i -;} else {i = 9;}} while (1),
Dúfam, že to pomôže. Tahmid.

<span style="color: grey;"><span style="font-size: 10px">---------- Príspevok pridaný v 14:54 ---------- Predchádzajúci príspevok bol v 14:52 --- -------</span></span>
Skúste to. Problém je v I je deklarovaný ako nepodpísané. Takže, keď to sa rovná 0, podmienka v cykle for je stále platný, ale to nemôže byť znížená. Takže vidíte, .....
 

Welcome to EDABoard.com

Sponsor

Back
Top