Programmering PIC mikrokontroller (9 / 10 steg)

Steg 9: Läsa en analoga värde

Så långt kan programmet blinka en LED. Nästa kan ge det några användarindata. Vi använder en potentiometer för att skapa en analog signal som kommer att ändra hastigheten på LED. ADC tar en analog spänning, och ger ett digitalt värde.

  1. Öppna user.c under källfiler i projektbläddraren
  2. Ovanför InitApp funktion skapar en ny funktion void init_adc(void)
  3. Ange följande kod för att ADC modulen att initiera

/ ** * Initiera Analog till Digital omvandlare. */uint16_t adc_convert(uint8_t channel){
TRISAbits.TRISA1 = 0b1; Ställ in pinkodsskydd som indata
ANCON0bits.ANSEL1 = 0b1; Ange PIN-kod som analog
ADCON1bits.VCFG = 0b00; / / ange v + referens till Vdd
ADCON1bits.VNCFG = 0b0; Ange v-referens till GND
ADCON1bits.CHSN = 0b000; / / set negativa bidrag till GND
ADCON2bits.ADFM = 0b1; Högerjustera utdata
ADCON2bits.ACQT = 0b110; / / 16 TAD
ADCON2bits.ADCS = 0b101; / / använda Fosc/16 för klocka källa
ADCON0bits.ADON = 0b1; slå på ADC}

  1. Därefter skapar en annan funktion omedelbart efter kallas init_adc()

/ ** * Prestera en analog till digital konvertering. * kanal ADC input kanalen. * Värdet av omvandlingen. */
uint16_t adc_convert(uint8_t);{
ADCON0bits.CHS = kanal; Välj den given kanalen
ADCON0bits.go = 0b1; Starta konverteringen
While(ADCON0bits.Done); vänta för konvertering till slut
Return (ADRESH << 8) | ADRESL; returnera resultatet}

  1. I InitApp funktionen Lägg till rad TRISAbits.TRISA2 = 1;
  2. Fil user.h lägga till prototypen value = PORTAbits.RA2;
  3. Ändra viktigaste att matcha 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
While(1)
{
LATAbits.LATA0 = 0; ställa in pin låg
adc_value = adc_convert(1); prestera A/D omvandling på kanal 1
wait_ms (adc_value >> 2); vänta med 0,5 sekunder
LATAbits.LATA0 = 1; Ställ in pinkodsskydd hög
adc_value = adc_convert(1); prestera A/D omvandling på kanal 1
wait_ms (adc_value >> 2); vänta med 0,5 sekunder
}}

  1. Bygga och hämta koden. När du vrider POTTEN hastigheten LED blinkar ska ändra
Se Steg
Relaterade Ämnen

Hur ska blinka en Led med hjälp av PIC mikrokontroller?

Denna tutorial är för PIC mikrokontroller nybörjare.* steg för att installera MP Lab* steg för att installera xc8 kompilator-programmet till Blink* Bygga projektet och bränna den till pic McSteg 1: Komponenter som krävs 1) PIC16F886-12) 8 Mhz kristal...

PIC mikrokontroller volym Adjuster Program(Proteus 8 Stimulation)

Hej alla,Den viktiga aspekten av varje lärande är att framkalla nyfikenhet och göra något meningsfullt för att övertyga om att. Med hjälp av denna nyfikenhet, jag gör här en volym adjuster program som liknar samma i de flesta enheter men inte så myck...

LED LYT Meter: LED, PIC mikrokontroller och flytta genomsnittliga kod

Hej alla, tack för att kolla min första Instructable. Jag har njutit av att se dina skapelser under åren och älskar vad ni alla bidrar. Detta projekt är en spin off av en som jag nyligen såg här och jag måste ge en ropa ut till Bot1398 eftersom han v...

Intro till PIC-mikrokontroller

ett minimum av vad du behöver för att få igång programmering PIC micros för användning i elektronik projekt (robotics, etc)Steg 1: Vad du behöver för projektet Obs: verkar som om du har windows XP, det finns ingen gratis PIC programmerare programvara...

Trådlös radiofrekvens modulen med PIC mikrokontroller.

Det är en mikrokontroller bygger DIY elektronik projekt. Namnet trådlös RF modulen med PIC mikrokontroller. RF modulen är en liten elektronisk krets som används för att överföra, ta emot eller transceive radiovågor på en av ett antal bärfrekvenser. R...

GSM baserade mångsidig Robotic fordonet med hjälp av PIC mikrokontroller

detta projekt syftar till att utveckla som en robot som kan styras av en mobiltelefoner. DTMF-kommandon från en telefon skicka till en annan mobiltelefon som är monterad på robotic fordonet. Dessa kommandon matas till en PIC mikrokontroller för 8-bit...

Hur man programmerar en PIC mikrokontroller & läsa en kodare

Inledning: från elektroniska leksaker & spel att mikrovågsugnar, microcontrollers finns nästan överallt dessa dagar! Men hur kan vi göra dessa små datorer fungera för våra egna elektronik projekt? Det är där denna tutorial kommer - med detaljerade an...

Förstå ICSP för PIC mikrokontroller

programmera mikrokontroller är inte svårt. Bygga en programmerare gör en bra första elektronik projekt. Målet med detta instructable är att förklara enkla 'i krets Seriell programmering' metod används med mikrochip bilder.Steg 1: Varför ICSP? Program...

Sinusvåg frekvens mätning med hjälp av pic mikrokontroller

Sinusvåg frekvens projekt är konstruerad med pic mikrokontroller. Detta projekt mäter frekvensen av sinusvåg. Noll korsning upptäckt teknik används att mäta frekvens av sinusvåg. Noll korsning detektering med pic mikrokontroller har gjorts. PIC16F877...

Ren sinusvåg växelriktare med pic mikrokontroller

Ren sinusvåg växelriktare med pic mikrokontroller är utformad i detta projekt. Ferritkärna eller chopper baserade ren sinusvåg växelriktare är utformad i detta projekt. Det finns två huvudsakliga delar av detta projekt1.DC till DC-omvandlare med push...

Gränsyta 16 X 2 LCD med PIC mikrokontroller

här, du lär dig hur gränssnittet 16 × 2 LCD till PIC18F4550 mikrokontroller som är familjen PIC18F. PIC18F4550 är en 8 bitars mikrokontroller och använder RISC-arkitektur. PIC18F4550 har 40 stiften i PDIP (dubbel i rad paketet) och 44 pin i TQFP (Qua...

Max Spider - drivs av LEGO och PIC mikrokontroller

så Max spindeln besökte oss i labbet idag, och ville komma in i halloween anda. "Jag skulle vilja släppa ner på folk i hissen," flinade han, på ett sätt som bara en spindel kunde."Jag har bara en sak," jag blinkade och sätta lite något...

Programmera PIC med Arduino

Detta är bara en annan "Visa och berätta", men återigen, det finns gerber filer och så vidare ingår.Denna Arduino shield är en PCB version av en krets som är designad av Rhys Weatherley. När används tillsammans med två arduino skisser och ett vä...

Skateboard med PIC mikrokontroller och lysdioder

vad gör du när en elektroingenjör bygger en Skateboard från början för en 13-årig julklapp? Du får en skateboard med åtta vita lysdioder (strålkastare), åtta röda lysdioder (tailights) alla kontrolleras via PIC microntroller! Och jag vill tillägga, e...

Med hjälp av Bootloaders PIC mikrokontroller

I denna första video kommer vi att titta på hårdvara hookup som lite kort information om hur bootloaders arbete.Länken för den lilla bootloadern nedan:http://www.etc.ugal.ro/cchiculita/Software/picbootloader.htmJag ber om ursäkt för att ha att dela d...

Super Mario Bros på en 8 x 8 RGB LED matrix displayen med hjälp av en pic mikrokontroller

detta är det senaste videoklippet: (se nedan för gamla video) jag kommer att lägga upp en instructable på hur du kan göra din egen LEDBOY spel system som gör att du kan spela detta spel. Observera att detta spel är fortfarande ett pågående arbete som...

Programmera en mikrokontroller med 12Blocks

när jag gjorde webben klickern, jag plockade upp en kopia av visningsområdet för felsökning och det var en livräddare. Visningsområdet ritades av Hanno Sander. Han utvecklade också en alternativ IDE för Prop kallas 12Blocks.Jag först såg 12Blocks på...

Fjärrstyrda hinder undvika Robot med PIC mikrokontroller

Jag använder pic 16f877aservo motor ultraljud modul inriktad motor motor driver och 20 mhz kristall.I robotteknik är hinder skatteundandragande uppgiften att tillfredsställa vissa kontroll mål omfattas av icke-korsningen eller icke-kollision position...

Använda en PIC mikrokontroller för att styra en Hobby Servo

detta instructable beskriver hur man integrerar hobby servon (den typ som används i RC flygplan, bilar, etc.) i dina microcontroller projekt.Steg 1: Hur servon är skiljer sig från vanliga motorer i en vanlig DC motor, vridmoment motorn utövar på axel...