Guten Tag miteinander Habe eine Projektarbeit (mache auf dem Mikrokontroller 80c51f020 eine 7-Segment-Anzeige, die mit 3 Schaltern bestückt ist für sek|min|h|-Einstellung und einem Umschalter mit 3 Zuständen: einer für den Programmiermodus der Zeit, einer für die Uhrzeit und einer für die Temperaturanzeige) am laufen und komme gerade nicht weiter. Nun ich habe den Eingang auf P3 und den Ausgang auf P2. Wenn ich im Assembler einen Port initialisieren wollte, musste ich nur z.B "h_switch equ P1.0" und der Schalter machte was ich wollte. Kann mir jemand sagen, welche Befehle ich benötige, das ich die Schalter korrekt initialisiere? (Habe den Rest der C-Datei weggelassen) * * * #include <c8051F020.h> * * * sek=P3^0; // Sekundenumschalter min=P3^1; // Minutenumschalter stu=P3^2; // Stundenumschalter pro=P3^3; // Programmumschalter tem=P3^4; // Temperaturumschalter uhr=P3^5; // Uhranzeigeumschalter sbit sanz=P2^0; // Erste Sekundenanzeige sbit ssanz=P2^1; // Zweite Sekundenanzeige sbit manz=P2^2; // Erste Minutenanzeige sbit mmanz=P2^3; // Zweite Minutenanzeige sbit hanz=P2^4; // Erste Stundenanzeige sbit hhanz=P2^5; // Zweite Stundenanzeige
Ich geh mal davon aus das du nicht nur eine 7Segment-Anzeige hast, den zum darstellen einer Uhrzeit im HH-MM-SS braucht man mindestens 6. > Schalter korrekt initialisiere? Was meinst du mit initialisieren? >Assembler einen Port initialisieren wollte, musste ich nur z.B "h_switch >equ P1.0" und der Schalter machte was ich wollte. Was soll er denn machen? Möchtest du das zB. eine Sekunde hochgezählt wird wenn du den schalter betätigst? Könntest du bitte mal ne Stromlaufplan und den gesamten Quelltext posten Ach ja welchen Compiler benutzt du denn?
Hallo
Ja ich habe 6-7-Segment-Displays.
Ja ich möchte softwaremässig raufzählen wenn ich den Taster betätige.
Ich arbeite mit dem Keil Uvision3
> Schalter korrekt initialisiere?
Damit meine ich, dass ich die die 3 Taster und den Umschalter mit
Variablen brauchen kann.
zb:
#define P3.0 sekswitch
#define P3.1 minswitch
etc...
Naja das Prog kann nicht Funktionieren alles was du bisher zustande bekommen hast ist ne schleife. Hast du eigentlich erfahrung mit C? Hast du noch nen Stromlaufplan würd gern mal sehen wie du die 7Segmentanzeigen an den µC Angeschlossen hast. Schau dir mal den link an http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige So wie dein Code im Moment aussieht bist du glaub ich voll auf dem Holzweg.
Ja ich habe schon Erfahrung mit C, doch habe ich noch nie eine eigene Hardware dazu gefertigt und hatte nun Mühe mit dem Zuweisen der Ports... Danke für die Infos, habe es jetzt endlich hingebracht.
Ich habe momentan Mühe mit programmieren, da ich schon länger nichts mehr gemacht habe. Wieso meinst du ich sei völlig auf dem Holzweg? Ich habe das Schema leider nicht hier, doch du kannst es dir gut vorstellen: insgesamt 6x das Schieberegister (74HC595D). Je einen Vorwiderstand für die Siebensegmentanzeigen und pro Schalter/Taster einen Pull-Up-Widerstand.
ja ok wusste nicht das du schieberegister verwendest. also gehts jetzt?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.