Initialize--------------void pwm_init(){ TSC = 0x30; //Timer stoppen und zurücksetzen TMODH = 0x00; //PWM-Grundfrequenz setzen (ca. 20kHz) TMODL = 0xA0; //PWM-Grundfrequenz setzen (ca. 20kHz) TCH0H = 0x00; //PWM-DutyCycle setzen TCH0L = 0x00; //PWM-DutyCycle setzen TSC0 = 0x1A; //PWM-Generator konfigurieren //TSC = 0x00; //Timer starten}Main-program------------------ //BETRIEBSART POTI ////////////////// //Falls Poti in Nullstellung ist while (TRUE){ if (ADR == 0x00) { TSC = 0x30; //Timer stoppen und zurücksetzen PTA = 0x00; //PWM-Port löschen ADR = 0x00; } //Falls Poti in Maximalstellung (0xA0 = Maximum weil PWM Grundfrequenz!) if (ADR > 0x9F) { TSC = 0x30; //Timer stoppen und zurücksetzen PTA = 0x01; //PWM-Port immer setzen ADR = 0x00; } //Falls Poti in gültiger Stellung ist if ((ADR > 0x00) && (ADR <= 0x9F)) { TSC = 0x00; //Timer starten TCH0L = ADR; //PWM-DutyCycle (lowerByte) fix einstellen } }
Message Edited by Alban on 2007-01-15 12:06 PM
if (ADR > 0x9F) TSC0 = 0x1B; if (ADR <= 0x9F) TSC0 = 0x1A;
Message Edited by bigmac on 2007-01-1503:20 PM