Stap 10: Lees een digitale waarde
Vervolgens laat je digitale ingang uit de switch. Wanneer de schakelaar uitstaat zal we hebben het programma doen wat het heeft gedaan allemaal mee en als de schakelaar op het programma zullen de vaste LED verlicht tot de switch opnieuw wordt uitgeschakeld.- Als u wilt een pincode instellen als een input, schrijven een 1 aan dat pinnen registreren TRIS bit-
TRISAbits.TRISA2 = 1;
- Als een pin analoge functies deelt, wellicht om het te zetten naar digitaal door te schakelen van de betreffende bit in ANCONx registreren
- Bij het schrijven van een waarde naar een pin-gebruik de LAT register; echter wanneer het lezen van een waarde uit een pin gebruik het register van de poort -
value = PORTAbits.RA2;
- Belangrijkste als volgt wijzigen:
voidmain(void){ uint16_t adc_value; // variable to hold ADC conversion result in /* Configure the oscillator for the device */ ConfigureOscillator(); /* Initialize I/O and Peripherals for application */ InitApp(); TRISAbits.TRISA0 =0; // set pin as output TRISAbits.TRISA2 =1; // set pin as input ANCON0bits.ANSEL2=0; // set pin as digital while(1) { if(PORTAbits.RA2) // if the pin is high { LATAbits.LATA0 =1; // set the pin as high } else // if the pin is low { // blink the LED LATAbits.LATA0 =0; // set pin LOW adc_value = adc_convert(1);// preform A/D conversion on channel 1 wait_ms(adc_value>>2); // wait some time LATAbits.LATA0 =1; // set pin HIGH adc_value = adc_convert(1);// preform A/D conversion on channel 1 wait_ms(adc_value>>2); // wait some time } }}
That's it! U hebt nu de basiskennis van hoe een nieuw project opgezet, te lezen en te schrijven naar digitale pinnen, en hoe om te lezen van analoge pins. Deze drie functies kan je 90% van de projecten die met behulp van foto's op het Internet. Ook, als u doorgaat met uw verkenning naar PIC microcontrollers vindt u dat de meeste andere functies zeer vergelijkbare stappen vereisen voor het configureren van randapparatuur, en lees- en terecht-registers.