1 / 11

Programování mikrokontrolerů PIC 16F84A

Programování mikrokontrolerů PIC 16F84A. 4-ŘSVS. Program - cíl. Zapojení maticové klávesnice (4x4) První stlačení - desítky pulzů Druhé stlačení jednotky pulzů Zapojení krokového motoru Tak aby vykonal tolik kroků, kolik jsme si navolili na klávesnici. KEYB. zmacknuto. 10/1 Test,0=0.

lois-pratt
Download Presentation

Programování mikrokontrolerů PIC 16F84A

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programování mikrokontrolerů PIC 16F84A 4-ŘSVS

  2. Program - cíl • Zapojení maticové klávesnice (4x4) • První stlačení - desítky pulzů • Druhé stlačení jednotky pulzů • Zapojení krokového motoru • Tak aby vykonal tolik kroků, kolik jsme si navolili na klávesnici

  3. KEYB zmacknuto 10/1 Test,0=0 jednotky Desitky Set test,0 krokovat krok1 Pulzy=0 Konec krokovani Test,0=0 MOVLW 0 Pulzy=0 krok1 Pulzy=0 krok1 Pulzy=0 krok1 END

  4. Program - počáteční hodn. • Na začátku je nutné vynulovat výstupy a střadač. BCF TEST,0 (jen jednou na začátku programu) MOVLW 0 MOVWF PORTA MOVWF PORTB

  5. Program - princip • Klávesnice - matice spínačů • Testujeme postupně jedn. Čísla • Test Tl. 2 - pustit signál na výstup RB4 • Otestovat RB2 (pokud bylo stlačeno, signál prošel) - Uložení do paměti (temp) BSF PORTB,4 BTFSC PORTB,1 MOVLW 1 BTFSC PORTB,2 MOVLW 2 ... MOVWF temp

  6. Program - princip • Klávesnice - bylo zmáčknuto vůbec něco? • Po proběhnutí cyklu zjišťování stisknutých tlačítek • Max zapisovaná hodnota do temp - 9 • Stačí kontrolovat jen poslední 4 bity • Pokud jsou prázdné - znovu na kontrolu tlačítek (keyb) • Pokud je na nějakém hodnota - pokračovat dál BTFSC temp,0 GOTO desetkrat BTFSC temp,1 GOTO desetkrat ... GOTO keyb

  7. Program - princip • Klávesnice - zapsání hodnoty • Zapisujeme hodnoty 1 až 99 pulzů • Zapsání desítek - (první stisk) • Pokud bylo zmáčknuto - zapsat číslo a vynásobit 10 krát • Protože bude následovat připsání desítek, je nutné vytvořit si příznak že desítky již byly zapsány BTFSC test,0 GOTO jednotky BSF test,0 ... Následuje zápis desetinásobku čísla

  8. Program - princip • Klávesnice - zapsání hodnoty • Desetinásobek - n-krát přičíst desítku (n - zmáčknuté číslo uložené v temp) • Poté pauza, aby se nenačetlo 2krát stejná hodnota při jednom stisku MOVLW 0 nasobky ADDLW 10 DECFSZ temp,1 GOTO nasobky MOVWF pulzy CALL cekej MOVLW 0 GOTO keyb

  9. Program - princip • Klávesnice - zapsání hodnoty - jednotky • Desetinásobek je již zapsán (příznak) • Přičtení jednotek (jsou ve střadači) jednotky ADDWF pulzy,1 GOTO ... • Jednotky jsou zapsány, pokračujeme k obsluze motoru

  10. Program - princip • Motor - pulzování, odečítání pulzů Jako při rozsvěcení LED 0011 - 0110 - 1100 - 1001 - 0011 Stále dokola až do odečtení všech pulzů (DECFSZ...). krokovat krok1 BCF PORTA,2 BSF PORTA,0 CALL cekej DECFSZ pulzy,1 GOTO krok2 GOTO koneckrok Krok2 ....

  11. Program - princip • Motor - konec • vynulujem pulzy (taktéž CLRF pulzy) • vynulujem příznak zapsány desítky • návrat na zjišťování zmáčknutých tlačítek koneckrok MOVLW 0 MOVWF pulzy BCF test,0 GOTO keyb Časovač(e) end

More Related