DTMF-Touch Tone dekoder med hjälp av Microchip PIC mikroprocessor (9 / 9 steg)
Steg 9: Source Code
Ursprungskoden skrivs i församlingen, med verktyget gratis MPASM från Microchip.Filen *.asm innehåller hela koden används för att skapa *.hex-filen bifogas steg 1. Du bör kunna församlingen filen *.asm och få en *.hex fil som fungerar precis som den jag bifogade ursprungligen.
På en hög nivå innehåller programmet koden för att göra följande:
* Kod för programplaneringen.
* Kod för att upptäcka att mottagandet av programmerade strängen med DTMF-siffror.
* Kod för förenklade Goertzel algoritmen.
* Kod för att analysera resultaten av algoritmen Goertzel att avgöra om en giltig DTMF-ton är närvarande.
Kringutrustning:
Koden använder följande kringutrustningsenheter PIC 12F683 processorn:
A/D omvandlare
* Timer1 (16-bitars timer)
* Inre EEPROM, för storaging DTMF programmerade ordningsföljden.
Det finns ingen flyttalsrenderingsmål seriell perifera på denna processor, så jag var tvungen att genomföra det i software ("lite slog")
Andra detaljer:
Koden är avsedd att användas med en extern kristalloscillator 8MHz.
Detta ger en 2MHz instruktion cykel frekvens, så varje instruktion cykel är 0.5 mikrosekunder länge. Den interna 8MHz oscillatorn har för hög en tolerans (upp till 2%) att använda för det här programmet.
Om du tänker port detta till en annan PIC-processor, måste du se till att all kringutrustning, register och andra detaljer har konfigurerats korrekt. Det kan finnas små skillnader mellan andra mycket liknande bilder.