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