Stap 9: Broncode
De broncode is geschreven in de vergadering, met behulp van de gratis tool MPASM van Microchip.Het bestand *.asm bevat de volledige code gebruikt voor het maken van het *.hex-bestand gekoppeld aan stap 1. U moet zitten kundig voor vergadering de *.asm bestand en je een *.hex-bestand dat werkt precies zoals ik oorspronkelijk bijgevoegd.
Op een hoog niveau bevat het programma code om het volgende te doen:
* Code voor het programmeringsproces.
* Code voor het opsporen van dat na ontvangst van de geprogrammeerde tekenreeks van DTMF-cijfers.
* Code voor het vereenvoudigde Goertzel-algoritme.
* Code voor het analyseren van de resultaten van de Goertzel-algoritme om te bepalen of een geldig DTMF Toon aanwezig is.
Randapparatuur:
De code wordt de volgende randapparatuur van de PIC 12F683 processor:
* A/D converter
* Timer1 (16-bits timer)
* Interne EEPROM, voor storaging de geprogrammeerde DTMF-reeks.
Er is geen harware seriƫle randapparaat op deze processor, dus ik had om het te implementeren in software ("bits geneukt")
Andere Details:
De code is ontworpen voor gebruik met een 8MHz externe kristal oscillator.
Dit geeft een 2MHz frequentie voor de cyclus van de instructie, dus elke instructiecyclus 0.5 microseconden lang is. De interne 8MHz oscillator heeft teveel een tolerantie (maximaal 2%) te gebruiken voor deze toepassing.
Als u van plan bent aan haven dit aan een andere PIC processor, zul je om ervoor te zorgen dat alle randapparatuur, registers en andere details correct zijn geconfigureerd. Er kunnen kleine verschillen zijn tussen de andere zeer vergelijkbaar PICs.