Also, dass ich in meinem Alter noch mal was jungfraeuliches bekomme....naja zumindest das Forum fuer die 430er 
Ich wollte einen kleinen PWM-Dimmer meine 12V Halogen Beleuchtung in der Galarie bauen.
Lange, lange, habe ich diese LaunchPads hier rumfliegen sowie rund 3 Dutzend der kleinsten der MSP430er (MSP430G2001).
Hier mal mein Erguss (ein Schelm wer boeses dabei denkt) fuer das Programm....
An P1.3 und P1.7 haengen die beiden Taster (Up / Down)
und an P1.1 liegt das PWM Signal an, welches ich dann entsprechend einem Leistungs FET zugefuehrt habe...
Geht sicherlich auch besser...aber funktioniert...und sehr preiswert....der Controller liegt bei run 0,30 EUR !!!
LG
Klaus
Ich wollte einen kleinen PWM-Dimmer meine 12V Halogen Beleuchtung in der Galarie bauen.
Lange, lange, habe ich diese LaunchPads hier rumfliegen sowie rund 3 Dutzend der kleinsten der MSP430er (MSP430G2001).
Hier mal mein Erguss (ein Schelm wer boeses dabei denkt) fuer das Programm....
Code:
[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]
[/COLOR][/SIZE][/COLOR][/SIZE][/B]
#include <msp430.h>
int pw, old;
void pulsewidth(int pw);
int checkbutton(void);
int main(void)
{
WDTCTL = WDTPW | WDTHOLD;
BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0;
DCOCTL = 0x00;
__delay_cycles(100000);
DCOCTL = DCO0 + DCO1;
BCSCTL1 = XT2OFF + DIVA_0 + RSEL0 + RSEL1 + RSEL2 + RSEL3;
BCSCTL3 = XT2S_0 + LFXT1S_2 + XCAP_1;
P1OUT = BIT3 + BIT7;
P1SEL = BIT1 + BIT4 + BIT6;
P1DIR = BIT1 + BIT4 + BIT6;
P1REN = BIT3 + BIT7;
P1IES = 0;
P1IFG = 0;
P2OUT = 0;
P2DIR = 0;
P2IES = 0;
P2IFG = 0;
pw=25;
for(;;)
{
old = pw;
while(old==pw)
{
pw=checkbutton();
}
pulsewidth(pw);
}
}
void pulsewidth(int pw)
{
TACCTL0 = CM_0 + CCIS_0 + OUTMOD_0 + OUT;
TACCTL1 = CM_0 + CCIS_0 + OUTMOD_7;
TACCR0 = 50;
TACCR1 = pw;
TACTL = TASSEL_2 + ID_0 + MC_1;
}
int checkbutton(void)
{
int math1, math2;
unsigned long z;
math1 = P1IN;
math2 = math1 |= 247;
if(math2 == 247)
{
pw++;
}
math1 = P1IN;
math2 = math1 |=127;
if(math2 == 127)
{
pw--;
}
if(pw>50)
{
pw=50;
}
if(pw<1)
{
pw=1;
}
for(z=0;z<1000000;z++)
{
}
return(pw);
}
An P1.3 und P1.7 haengen die beiden Taster (Up / Down)
und an P1.1 liegt das PWM Signal an, welches ich dann entsprechend einem Leistungs FET zugefuehrt habe...
Geht sicherlich auch besser...aber funktioniert...und sehr preiswert....der Controller liegt bei run 0,30 EUR !!!
LG
Klaus