Frekvens detektor PIC 12F683 Processor med (12 / 12 steg)
Steg 12: Source Code
********************************************************************************************************************************************************************************************************
Viktig uppdatering 31 Jan 2011. Läs!
En betraktare försökte nyligen att församlingen *.asm filen ursprungligen ingår i detta instructable, men receieved många "118" fel från MPLAB assembler. Denna fråga är på grund av att jag skapade koden på en äldre version av MPLAB. Medan den kompilerats fint på den äldre versionen, jag Det verkar som de direktiv som används för att ställa in och reservera utrymme för variabler i RAM har förändrats. Jag noterade också några andra fall där den nya versionen av MPLAB inte tyckte syntax för uttryck som fungerade bra i äldre versioner. Också noga med att välja "absoluta kod" när försöker montera filen *.asm medföljer. Jag har uppdaterat den *.asm arkivera och fäst den här. De enda ändringar som gjorts är de skyldiga att montera utan fel. Den uppdaterade filen har "Nytt" i namnet. Jag har lämnat den gamla filen bifogas också, ifall någon behöver det, men bara vara medveten att om du använder den senaste MPLAB det kommer att generera många fel om du använder den ursprungliga asm fil jag bifogat. Den *.hex filen genereras från uppdaterade koden verkar vara identisk med den som jag ursprungligen, så jag inte har fäst en annan fil. Den ursprungliga *.hex filen bör fungera bra för bara programmering en del med koden som den är konfigurerad i den medföljande *.asm filen.
fick samma fel när jag provade på en ny version.
****************************************************************************************************
****************************************************************************************************
Källkoden för den *.hex filen levereras är bifogat nedan. Programmet skrevs att använda PIC 12F683 processorerna inbyggd oscillator som klockan, verksam på 8MHz. Om du planerar att återanvända kod i ett program där du kommer att använda en annan klockfrekvens, har du att redogöra för skillnaden i programvaran. De parametrar som Ställ in samplingsfrekvensen måste ändras.
Om du ändrar samplingsfrekvensen (som är 4400Hz för programmet som det är skrivet nu) så måste du generera nya titt upp tabeller för sinus och cosinus koefficienterna, eftersom dessa är beroende av provtagningsfrekvensen.
Om du ändrar antalet prover används i algoritm (som är 200 för programmet som det är skrivet nu) måste du skapa en ny uppslagstabell för med hjälp av funktionen.
Det är relativt enkelt att port här koden till en annan 8 bitars PIC mikroprocessor. De viktigaste sakerna att tänka är oscillator frekvensen som beskrivs ovan, och den exakta setup av register är associerad med den kringutrustning som används. Dessa är oftast mycket lika mellan de 8 bit PIC processorerna, men de kan mycket lite. Processorn valt måste ha en A/D-omvandlare för att läsa de analoga ingångarna, och en 16-bitars timer för att ställa in samplingsfrekvensen.