Programmering PIC mikrokontroller (10 / 10 steg)
Steg 10: Läs ett digitalt värde
Nästa kan få digital ingång från växeln. När växeln är avstängd kommer vi låta programmet göra vad det har gjort hela tiden och när växeln är på programmet kommer att lysa upp lampan fast tills växeln stängs av igen.- Om du vill ange en PIN-kod som indata, skriva en 1 till att stiften TRIS registrerar bit -
- Om en PIN-kod har analoga funktioner, kan det vara nödvändigt att ställa in den till digital genom att avmarkera lämplig bit i ANCONx register
- När du skriver ett värde till en pin använda LAT registret. dock läser ett värde från en PIN-kod när använda registret över PORT -
- Ändra huvudsakliga till följande:
voidmain(void) {
uint16_t adc_value; variabel att hålla ADC konvertering resultat i
/ * Konfigurera oscillator för enheten * /
ConfigureOscillator();
/ * Initiera I/O och kringutrustning för ansökan * /
InitApp();
TRISAbits.TRISA0 = 0; Ange PIN-kod
TRISAbits.TRISA2 = 1; Ställ in pinkodsskydd som indata
ANCON0bits.ANSEL2=0; Ställ in pinkodsskydd som digital
While(1)
{
IF(PORTAbits.RA2) / / om stiftet är hög
{
LATAbits.LATA0 = 1; Ange PIN-koden som hög
}
annat / / om stiftet är låg
{/ / blinkar lysdioden
LATAbits.LATA0 = 0; ställa in pin låg
adc_value = adc_convert(1); / / preform A/D omvandling på kanal 1
wait_ms (adc_value >> 2); vänta lite tid
LATAbits.LATA0 = 1; Ställ in pinkodsskydd hög
adc_value = adc_convert(1); / / preform A/D omvandling på kanal 1
wait_ms (adc_value >> 2); vänta lite tid
}
}}
Det är det! Nu har du grundläggande kunskap om hur man ställer in ett nytt projekt, läsa och skriva till digital stift och hur man läser från analoga pins. Dessa tre funktioner gör att du kan göra 90% av projekten med hjälp av bilder på Internet. Också, som du fortsätter din utforskning in PIC mikrokontroller hittar du att de flesta andra funktioner kräver mycket liknande steg för att konfigurera kringutrustning och läs och rätt register.