PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interrupts?? kennt sich da keiner aus??



Import-Script
25.04.2003, 22:14
hallo! <BR> <BR>kann mir hier echt NIEMAND erklären, wie das mit den interrupts funktioniert?? <BR> <BR>soll nicht vorwurfsvoll klingen, aber ich bräuchte echt hilfe... aus dem sch&#42;&#42;&#42; datenblatt von meinem 80C515 werd ich nicht schlau :-&#40; <BR> <BR>mein problem: ich möchte wissen, wie ich einen interrupt einstellen muss, damit er auslöst, wenn sich die flanke ändert &#40;also von high nach low oder andersrum&#41;. <BR> <BR>danke schonmal! <BR>Thomas

Import-Script
25.04.2003, 22:55
Hi! <BR>Du musst erst mal mitteilen, was f&uuml;r ein Signal,welche Interuptquelle du benutzen willst. Willst du einen Interrupt intern durch einen Timer auslösen oder willst du extern ein Signal &uuml;berwachen, dann benutzt du zweckmäßig p1.0 oder p1.1 usw. Also schreib mal genaueres! <BR>Gr. Holger

Import-Script
25.04.2003, 23:03
sorry... ich hab nen drehimpulsgeber vom conrad angeschlossen. und zwar dachte ich mir, ich schließ pin A vom drehimpulsgeber an INT0 &#40;P3.2&#41; an. wenn sich die flanke ändert wird der interrupt aufgerufen und ich &uuml;berpr&uuml;fe, ob sich die flanke an pin B schon geändert hat, oder nicht. dadurch bekomm ich die drehrichtung des impulsgebers... <BR> <BR>ist vielleich etwas verwirrend, was ich da schreib. prinzipiell könnt ich auch anhand eines tasters erklären, was ich will: <BR>der interrupt soll ausgelöst werden, wenn ich den taster dr&uuml;cke UND wenn ich ihn loslasse. <BR> <BR>ich hoffe, ich hab mich einigermaßen verständlich ausgedr&uuml;ckt... <BR> <BR> <BR>gr&uuml;ße <BR>Thomas

Import-Script
26.04.2003, 10:17
Z.B.: <BR> <BR><a href="http://www.specs.de/users/danni/tutorial/extint/index.htm" target=_top>http://www.specs.de/users/danni/tutorial/extint/index.htm</a> <BR> <BR> <BR>Peter <BR>

Import-Script
26.04.2003, 12:28
supi! dankeschön! <BR> <BR>Thomas

Import-Script
26.04.2003, 13:56
Tip am Rande, <BR>nach meiner Erfahrung kann es vorkommen, dass der Drehimpulsgeber nach dem Drehen in einer Stellung verharrt, wo alle 3 Kontakte &#40;oder auch nur 2&#41; miteinander verbunden sind. <BR> <BR>Mit anderen Worten, der Drehgeber befindet sich nicht in der Ruhestellung. <BR> <BR>Beim schreiben Deines Programms muß dieser Umstand ber&uuml;cksichtigt werden, damit eine ordentliche Auswertung der Impulse erfolgen kann. <BR>

Import-Script
26.04.2003, 17:46
also wenn mich nicht alles täuscht, dann sind bei jedem 2. drehschritt alle 3 kontakte durchgeschalten und bei denen dazwischen sind gar keine kontakte verbunden, oder?? <BR> <BR>jedenfalls hab ich das beim durchmessen rausgefunden und das datenblatt widerspricht mir auch nicht... <BR> <BR>aber mit meinem interrupt problem bin ich immer nocht weiter :-&#40; ich hab grad in nem datenblatt gelesen, dass ich INT1 gar nicht bei positiver spannung auslösen lassen kann. mit INT2 isses anscheinend möglich... <BR> <BR>kann mir da nicht mal jemand gescheite infos geben? <BR> <BR> <BR>gr&uuml;ße <BR>Thomas

Import-Script
26.04.2003, 18:25
Hallo Thomas, <BR>möglicherweise meinst Du ja mit Drehimpulsregler was anderes wie ich. Ich meine sowas hier: <BR> <BR><a href="http://www.wira-electronic.de/HARDWARE/mdx_finetuner_01.htm" target=_top>http://www.wira-electronic.de/HARDWARE/mdx_finetuner_01.htm</a> <BR> <BR>Die Dinger haben 3 Anschl&uuml;sse. In Ruhestellung ist alles offen. Wird gedreht, wird erst der eine, danach der andere &#40;Phasenversaz&#41; mit dem &#62;Schleifer&#60; verbunden. <BR> <BR>Den &#62;Schleifer&#60; legst Du an Masse. Die beiden anderen Anschl&uuml;sse kommen &uuml;ber eine RC-Kombinatin &#40;Entprellung&#41; jeweils an ein Port-Pin. <BR> <BR>Ob das mit Interrupts hinhaut hab ich noch nicht probiert. <BR> <BR>Wenn Du das so machen willst, die bits EA, EX0 und EX1 im Register IE setzen. Damit nicht auf Low-Pegel sondern auf HL-Flanke reagiert wird, m&uuml;ssen im Register TCON die bits IT0 und IT1 gesetzt werden. <BR> <BR>Positive Spannung zu Auslösen ist also nicht erforderlich. <BR> <BR>Willi

Import-Script
26.04.2003, 18:40
also bei meinem drehimpulsgeber ist das so: <BR>beide pins haben den selben zustand &#40;entweder beide high oder beide low&#41;. <BR>sobald man dreht ändern beide pins den zustand. jenachdem welcher pin sich zuerst ändert kann man die drehrichtung bestimmen. <BR> <BR>also bringt es mir leider auch nix, wenn der interrupt auf die HL-flanke reagiert, weil ich dann nur jeden zweiten drehimpuls mitbekomm... <BR> <BR>ich dreh langsam durch! <img src="http://progshop.com/elektronik/diskussion/clipart/crazy.gif" border=0> <BR> <BR>verzweifelte gr&uuml;ße <BR>Thomas

Import-Script
26.04.2003, 18:45
Entweder Du hast meinen Link nicht gelesen oder Du kannst kein English. <BR> <BR>Nat&uuml;rlich kann man auf beide Flanken Interrupts auslösen. <BR> <BR> <BR>Peter <BR>

Import-Script
26.04.2003, 18:54
hab deinen link schon gesehen, nur versteh ichs nicht wirklich... ;-&#41; <BR>da wird nicht beschrieben, welche register ich setzen muss, damit es funktioniert. <BR> <BR>wenn du so freundlich wärst, mir folgende zeilen zu &uuml;bersetzen: <BR> <BR> P1 = 0; <BR> INT0 = 0; <BR> TMOD = T0_M1_ | T0_GA_; <BR> TH0 = 0xFF; <BR> TL0 = 0xFF; <BR> TR0 = 1; <BR> IE = EA_ | ET0_; <BR> <BR>gr&uuml;ße <BR>Thomas

Import-Script
26.04.2003, 18:57
Schau bitte in die &#42;.lst Files. <BR>Da ist der erzeugte Assembler zu sehen. <BR> <BR>Peter <BR>