www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik DTMF Dekoder und 8051er Passwortabfrage brauche Hilfe!

Autor: Ertan Metin (drbrain)
Datum: 19.03.2008 21:02
Dateianhang: 8870slt.gif (5,2 KB, 33 Downloads)
preview image for 8870slt.gif

Hallo Zusammen :-)

ich zerbreche mir seit 3 Tagen meinen Kopf und ich komme zur keiner
Lösung !

ich habe mir eine DTMF Dekoderschaltung gebaut dazu habe ich den
beliebten Mitel MT8870D-1 Chip verwendet Dekoderschaltplan befindet sich
im Dateianhang.
Die Schaltung funktioniert Reibungslos habe alle Tastenkombination
ausprobiert und alle Ausgänge Q1-Q4 werden ordnungsgemäß mit 5V
angesteuert.


Habe die Schaltung erweitert und die Ausgänge Q1 - Q4 an die Ports
2.0-2.3
meines Atmel C8051ED2 Mikrocontrollers angeschlossen.
Den Est (PIN 16) Ausgang habe ich an meinem P1.0 angeschlossen.


Habe dazu ein kleines Programm geschrieben, womit ich ein 4 stelliges
Passwort abgefragt werden kann.

Programmablauf:

1. mit * also Binär 00001011b kommt man in die Eingabe

2. über den P1.0 (ESt) wird abgefragt ob eine Taste gedrückt wurde, also
High Pegel (der Pegel ist nur für einen Moment da und fällt gleich
wieder ab)

3.abfragebcd BCD code wird abgefragt falls die Eingabe stimmt gehts
weiter zu nächsten Abfrage wenn nicht fängt das Programm von vorne an

4.falls alles Abfragen richtig waren wird auf dem Display Hallo
angezeigt


Mein Problem ist wenn ich das Programm im Debug laufen lasse
funktioniert es ohne Probleme jedoch wenn ich es so laufen lasse
funktionieren die ersten beiden Eingaben also *,9,2 und danach geht
nichts mehr.


Der BCD Code wird auf den Port LED's richtig angzeigt jedoch nicht in
der Abfrageroutine abgefragt bzw. erkannt !

wer kann mir Helfen


der Assembler Code ist hier:


include c51ed2.inc

Extern Code
initLCD,loeschen,loeschzeile1,loeschzeile2,textzeile1,textzeile2,cursorpos,cursoran,cursoraus
Extern Code
textaus,zifferaus,hexaus,dezaus,dualaus,dualaus1,dualaus2,charaus
Extern Code
definierezeichen,loeschzeile3,loeschzeile4,textzeile3,textzeile4

Abfrage data p2


code ;at 0

public start:

lcall initLCD
lcall loeschen

call Eingabebeginn

loop1:
call polling2
cjne a,#9,loop1
lcall dualaus1

call polling2
cjne a,#2,loop1  // bis hier her funktionierts
lcall dualaus1

call polling2
cjne a,#9,loop1 // wird nicht mehr erkannt bzw. ausgeführt
lcall dualaus1  // im Debug läuft es ohne Probleme

call polling2
cjne a,#2,loop1
lcall dualaus1


call polling2
cjne a,#9,loop1
mov dptr,#Text
lcall textaus
Text: db 'Hallo',0

sjmp start


Eingabebeginn:
call abfragebcd
cjne a,#11,Eingabebeginn
ret


polling2:
mov a,p1
ANL a,#1
cjne a,#1,polling2
;jnb P1.0,polling2
call abfragebcd
ret

abfragebcd:
mov a,Abfrage
ANL a,#15 ; Akku wird mit Konstante verundet
ret

entry:
mov dptr,#text1
lcall textaus
text1: db 'Endlich',0
ret

end.


Datenblatt zu dem Mitel MT8870 Chip gibt es hier

http://pdf1.alldatasheet.com/datasheet-pdf/view/77...


ich hoffe Ihr könnt mir da Helfen

Gruß Ertan
Autor: Manni (Gast)
Datum: 19.03.2008 21:11

was verwendest du für quartze??? der 8870 läuft bei mir mit 3.597M...
benutzt du einen externen für dein controller??? eventuell ein
Timing-Problem???
Autor: Ertan Metin (drbrain)
Datum: 19.03.2008 21:51

ich hab einen 3.597Mhz. verwendet und es mit dem Oszilloskop überprüft
:-)!

Antwort schreiben

Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
  • Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net