Michael18964
Mitglieder-
Gesamte Inhalte
10 -
Benutzer seit
-
Letzter Besuch
-
Hex Adressen von R0 usw.
Michael18964 antwortete auf Michael18964's Thema in C++: Compiler, IDEs, APIs
assembler -
Hex Adressen von R0 usw.
Michael18964 antwortete auf Michael18964's Thema in C++: Compiler, IDEs, APIs
ok hab da auf der hp geschaut hat sonst noch jemand ne ahnung wo man sowas finden könnte??? mfg michael -
Hex Adressen von R0 usw.
Michael18964 antwortete auf Michael18964's Thema in C++: Compiler, IDEs, APIs
von atmel -
kann mir vll jemand sagen woher man die hex adressen von r0, r1, r2, usw... für ein 8051atmel kontroller bekommt? oder sie vll direkt posten? wäre sehr nett!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! mfg michael
-
also danke mal aber ist dass etz nicht so dass wenn ich es so mache: marke0: CJNE R0, #4d, marke1 MOV R0, #0h ;r0 auf 0 zurück setzen marke: INC R1 ;1/1000sec CJNE R1, #10d, marke ;solange r1 zählen bis 10mal durchgelaufen und somit 1/100sec gedauert hat MOV R1, #0h ;r1 auf 0 zurück setzen marke1: INC R2 ;1/100 CJNE R2, #10d, marke1 ;solange r2 zählen bis 10mal durchgelaufen und somit 1/10sec gedauert hat MOV R2, #0h ;r2 auf 0 zurück setzen müsste ich nicht immer auf marke0 zurück gehen da sonst doch r1, r2 usw. zu schnell erhöht wird. sprich es läuft 4mal bei marke0 durch somit wird r1 um eins erhöht und ist es ungleich 10 wird r1 wieder um eins erhöht ist dass dann nicht zu schnell es sollte ja wieder genau 1000µs dauern damit ich auf die richtige zeit hab... achja und warum: mov r0,#hex-adresse von r5 hex von adresse r5 ist klar aber warum r0 bzw. muss ich dann in dem unterprog vom lcd prog r0 irgendwie als ausgabe definieren? und dass mit der matrix tastatur müssen wir machen genau so dass lcd display dass prob ist ich muss dass morgen eingeltich abgeben und vortragen^^ ach und noch was wir haben nix bekommen wo die hex adressen von r1 r2 usw. stehen hast du ne ahnung wo man die her bkeommen könnte? weil der lehrer hat erstens überhaupt kein plan und hilft net und ich seh ihn vor der abgabe nimmer;-)
-
also mein etziges prob ist wie schreib ich den dass rein dass zb r3 also die 1/10sek ausgeben werden bzw auch r4 r5 usw. eben alles zusammen...und wie macht man da ne leerstelle damit zwischen sekunde minute usw. immer eine zeile frei bleibt? ich habs etz mal so gemacht könnte das funktionieren wäre aber glaub ohne leerstellen und zeigt es dann auch alles gleichzeitig an? INC R5 ;1/10 CJNE R5, #10d, marke1 ;solange r5 zählen bis 10mal durchgelaufen und somit 1sec gedauert hat MOV anzeigen, R5 ;r5 und somit die 1/10sec ausgeben MOV R5, #0h ;r5 auf 0 zurück setzen und wie mach ich dass damit man zb auf 1drückt und die stoppuhr anfängt und wenn man 2drückt stoppt...bzw. dass man eben dass interrupt starten lässt und stoppen wie gesagt unterprogs hab ich für alles...sollt ich die auch ganz posten? mfg michael
-
hey ja schon haben unterprogs bekommen für lcd und matrix aber ka wie ich die einbauen kann bzw. was ich hinschreiben muss damit was ausgegeben wird...
-
die tastatur brauch ich dazu, weil das eine stoppuhr ist, mit der tastatur stopp und starte ich das ganze schonmal vielen dank goblack3, werd mir deine infos mal durch den kopf gehen lassen mfg michael
-
kann mir keiner helfen? schade, ich blick das überhaupt nicht mfg michael
-
Ich muss fürs Abitur eine Jahresarbeit machen und bei der muss ich eine Stoppuhr in Assembler programmieren, mit RIDE!! Ich habe schon Timer und Interrupter soweit schon programmiert, aber ich weiß nicht wie man die Matrix-Tastatur und die LCD-Anzeige ansteuert! Könnte mir da jemand helfen? Ist wichtig für mein Abi und ich habe nurnoch eine Woche dafür Zeit Das ist das was ich bisjetzt habe, ist das bis jetzt richtig? und könnte das jemand vervollständigen? ;timer2.a51 ;Timer0-Interrupt alle 65 ms ;Ausgabe Lauflicht LEDs an P2 $include (reg52.inc) ORG 0000h ljmp init ;Das eigentliche Programm beginnt hinter ORG 000Bh ;den Interrupt-Einsprung-Adressen ljmp count_isr ;******* Initialisierung ************************************************************************************* init: mov TMOD, #00000010b mov TL0, #6d mov TH0, #6d mov TCON, #00010000b SETB ET0 SETB EA ;******** Hauptprogramm ************************************************************************* haupt: sjmp haupt ;Warten auf Interrupts count_isr: INC R0 CJNE R0, #4d, marke1 MOV R0, #0h ;r0 auf 0 zurück setzen INC R1 ;1/1000sec CJNE R1, #10d, marke1 ;solange r1 zählen bis 10mal durchgelaufen und somit 1/100sec gedauert hat MOV R1, #0h ;r1 auf 0 zurück setzen INC R2 ;1/100 CJNE R2, #10d, marke1 ;solange r2 zählen bis 10mal durchgelaufen und somit 1/10sec gedauert hat MOV R2, #0h ;r2 auf 0 zurück setzen INC R3 ;1/10 CJNE R3, #10d, marke1 ;solange r3 zählen bis 10mal durchgelaufen und somit 1sec gedauert hat ;r3 und somit die 1/10sec ausgeben MOV R3, #0h ;r3 auf 0 zurück setzen INC R4 ;sec CJNE R4, #60d, marke1 ;solange r4 zählen bis 60mal durchgelaufen und somit 1min gedauert hat ;r4 und somit die sec ausgeben MOV R4, #0h ;r4 auf 0 zurück setzen INC R5 ;min CJNE R5, #60d, marke1 ;solange r5 zählen bis 60mal durchgelaufen und somit 1h gedauert hat ;r5 und somit die min ausgeben MOV R5, #0h ;r5 auf 0 zurück setzen INC R6 ;min CJNE R6, #60d, marke1 ;solange r6 zählen bis 24mal durchgelaufen und somit 1d gedauert hat ;r6 und somit die h ausgeben MOV R6, #0h ;r6 auf 0 zurück setzen marke1: RETI END Zu den Hardwareangaben: Mikrocontroller 8051 LCD 16 Zeichen Breit und 2 Zeilen hoch Normale Matrix-Tastatur 0-9 Zeichen und Stern und Raute Danke schonmal im Vorraus! PS: Falls es im Falschen Thread ist, dann bitte verschieben diesen Post in den richtigen Bereich, wusste nicht wo es hin gehört!! mfg Michael