HELP! Ansteuerung DC Motordrehzahl mit PIC16F877A mit hallo-Tech-

J

jun86dia

Guest
hier ist mein codes.Pls tun es versuchen .. und mir sagen, wo das Problem aufgetreten ist. Das Problem ist, wenn i-Eingang 1 bis RB0, CCP1 in der Lage, Impuls für 3 oder 4 Zyklen only.then generieren gibt es keine Puls anymore.pls helfen .. thankz im Voraus!
Code:
 # include # include # include # include "delay.h" # include void main (void) {/ / Initialisierung TRISB = 0xff; TRISC = 0x00; PORTB = 0x00; PORTC = 0x00; while (1) {/ / PORTB0 = 1; T2CON = 0b00000100; CCP1CON = 0b00001100; PR2 = 255; switch (PORTB) {case 0b00000001: {CCPR1L = 127; break;} default: {CCPR1L = 200; break;}}}}
[ code] [/code]
 
Hallo jun86dia, Sind Sie sicher, dass RB0 kontinuierlich hoch gemacht? Wenn nicht, dann nach dem Code wird die CCPR1L registrieren Wert verändert und damit können Sie nicht immer die richtige Ausgabe. Sie können auch die Initialisierungen (T2CON, CCP2CON ,...) aus der while-Schleife zu entfernen. Es gibt keine Notwendigkeit, sie immer zu initialisieren. Sie können es einmal zu tun vor dem Betreten der while-Schleife. Regards, VHN
 
hey VHN, na ja, ist es kontinuierlich RB0 Eingang hoch ist. aus meinem Code, wenn die RB0 Eingang hoch ist für einen bestimmten Zeitraum, thn standardmäßig die CPPR1L wird 200.however, war der Ausgang LOW. was meinst du? Btw thankz für die info .. ich werde bearbeiten die while-Schleife ..=)-jun-[size = 2] [color = # 999999] Hinzugefügt nach 3 Minuten: [/color] [/size] hey VHN, thankz. .. jetzt funktioniert es .. nach dem Entfernen der Initialisierungen (T2CON, CCP2CON ,...) aus der while-Schleife. Schätzen Sie Ihre Hilfe =)-jun-
 

Welcome to EDABoard.com

Sponsor

Back
Top