Stap 14: DTMF-Decoder Code (Assemblage & C): een Atmel AVR Programming
Hier zal ik de code een beetje uitleggen, de volgende paar stappen zullen een leerprogramma op hoe te laden in de ATtiny2313 een voorbeeld gebruikt, maar dezelfde stappen gelden voor alle van de code die we voor de micro-controllers hebben.
Ik heb zowel de vergadering en de C-code voor dit circuit opgenomen. Zij moeten vrij gelijkaardig in functie. De C code stuurt gewoon wat wordt gelezen door de ATtiny2313 op poort B uit Port D, dit is zodat u kunt controleren of dat het signaal correct met niets komt meer dan een paar blinkinlights op de lagere 4 pinnen van Port B.
De standaardcode is 0000 en kan worden gewijzigd op lijn 99. Nadat u hebt ingevoerd raak de juiste code de knoop van de # op uw telefoon te hebben van de micro valideren van de code. Als u verkeerd drukt een sleutel geen zorgen, gewoon blijven de micro alleen de laatste 4 cijfers opgegeven herinneren zal getallen invoeren.
Eenmaal je die ver en u kunt zien de DTMF codes correct wordt gelezen door de 2313, un-comment de groot blok van code op lijnen 118-121 en 123-261, en commentaar lijn 122 regelmatige functionaliteit inschakelen.
Regels 233-238 zal bevatten de code die u wilt uitgevoerd zodra een geldige code wordt ingevoerd. Poort B is helemaal gratis, dus voor een lage # of sub-systemen kunt u gewoon de volgende telefoon toetsaanslagen activeren subsystemen rechtstreeks op de poort hebben. Een andere optie zou zijn om deze sectie een seriële commando uit om een computer te verzenden of andere subsysteem.
Er is een lockdown wijze voor teveel ongeldige tekens worden ingevoerd, ik het in gebreke gebleven op 2 seconden voor het oplossen van uw problemen maar eenmaal werkt ik zou aanmoedigen upping dit tot enkele minuten of meer voor veiligheid. Lijnen 320-332 hebben de lockdown-code.
Vragen stellen als je ze hebt en ik zal proberen en uitleggen van de gekke Braziliaanse, die ik was in tijdens het coderen van dit. Het is vrij goed heeft al gereageerd en moet niet te moeilijk om te ontcijferen.