Hallo,
ich baue derzeit eine Binäruhr und möchte die LEDs dimbar gestalten.
Der PIC wird mit einem 4.096 MHz Oscillation extern getaktet.
Für die Uhr habe ich mit dem Timer0 einen 4ms Takt
Daraus leite ich dann weitere Raster z.B. 100 ms ab.
Wenn ich die Ausgabe der LEDs dimmer will reicht die 4ms Zeitbasis nicht
aus (flackert stark).
Daher würde ich gerne den Timer1 zum dimmen nutzen.
Hier mein Settings in der Init funktion:
1 | T1CONbits.TMR1ON = 1; //Timer ON
|
2 | T1CONbits.TMR1CS = 0; //Internal clock (FOSC/4)
|
3 | T1CONbits.T1OSCEN = 0; //Timer1 oscillator is shut off
|
4 | T1CONbits.T1CKPS1 = 0; //No Prescaler
|
5 | T1CONbits.T1CKPS0 = 0; //No Prescaler
|
6 | T1CONbits.RD16 = 0; // 8 bit counter
|
7 | T1CONbits.T1RUN =1;
|
Mein Main sieht zum Testen wie folgt aus:
1 | void main(void) {
|
2 |
|
3 | Init();
|
4 |
|
5 | while (1) {
|
6 |
|
7 | if (INTCONbits.TMR0IF){ //FAST timer
|
8 | LED_Alarm_SET =~ LED_Alarm_SET;// Toggle LED ausgabe
|
9 | }
|
10 | }
|
Die LED Flackert allerdings immer noch. Kann mir bitte jemand einen Tipp
geben?