Re: Testování vstupů na mikrokontrolelerch PIC
talanda.moje2@seznam.cz
talanda.moje2@seznam.cz
Pondělí Květen 26 21:23:19 CEST 2008
No tak takhle nějak to mám a stejně nefunguje. můj pokus vypadal takto:
#pragma config OSC=INTIO2
#pragma config PWRT=ON
#pragma config BOR=ON
#pragma config BORV=42
#pragma config WDT=OFF
#pragma config LVP=OFF
#include <p18f1220.h>
void main(void)
OSCCONbits.IRCF2 = 1;
OSCCONbits.IRCF1 = 1;
OSCCONbits.IRCF0 = 1;
PORTA=0x00;
PORTB=0x00;
ADCON1=0b11111111; //nastaví PORTA jako digitální
TRISA= 0b11111111; //nastaví všechny piny PORTA jako vstupní
TRISB= 0b11111111; //nastaví všechny piny PORTB jako vstupní
while (1){
if(PORTAbits.RA1==1){ ... }
if(PORTAbits.RA2==1){ ... }
if(PORTAbits.RA3==1){ ... }
if(PORTBbits.RB2==0){ ... }
} // end while
} // end main
Vstupy mám galvanicky odděleny pomocí optočlenu PC817.
> ------------ Původní zpráva ------------
> Od: Dipl.-Ing. Michal Kováčik <kovacik@toolsquare.com>
> Předmět: Re: Testování vstupů na mikrokontrolelerch PIC
> Datum: 26.5.2008 13:14:13
> ----------------------------------------
> na zaciatok programu si kazdy pouzity pin procesora pomenujem napr.:
>
> #define btnOK PORTBbits.RB6 // button OK
>
> v programe musim pin nastavit ako vstupny.
>
> TRISB = 0bX1XXXXXX; // za X dosadte 0 - pre vystup alebo 1 pre vstup.
> Tymto nastavite vstupy/vystupy pre cely port B (RB0 az RB7)
>
> zistovabnie co je na vstupe je velmi jednoduche. Napr.
>
> if(btnOK == 0)
> {
> //na vstupe je nula
> }
> else
> {
> //na vstupe je jednotka
> }
>
> skratene vyrazy s ktorymi sa mozete stretnut:
>
> if(!btnOK)
> {
> //na vstupe je nula
> }
> else
> {
> //na vstupe je jednotka
> }
>
> if(btnOK)
> {
> //na vstupe je jednotka
> }
> else
> {
> //na vstupe je nula
> }
>
> Pozor pri analogovych pinoch, nestaci len urcit, ze sa jedna o vyspupny pin,
> treba aj urcit, ze sa jedna o digitalny pin. To znamena spravne nastavit
> ADCON registre.
>
>
>
> >Hezký den,
> >snažím se naučit programovat mikrokontroler PIC18F1220 a narazil jsem na
> >problém, že nevím jak zjišťovat, jestli mám na vstupech log 0 nebo log1.
> >nemohl by někdo poradit?
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
Další informace o konferenci Hw-list