#define HINTERGRUND 1 #define CONTRAST 2 void LCDClock(void); void LCD_control(unsigned int LCD, unsigned int lcd_value); void main(void){ int c; WDTCTL = WDTPW + WDTHOLD; // Stop WDT BCSCTL1 |= XTS; // XT = HF XTAL ADC12CTL0 = !REF2_5V + REFON; // Internal 1.5V ref on DAC12_0CTL = DAC12IR + DAC12AMP_5 +DAC12ENC; // internal reference gain 1 encode P1SEL &= 0xDF; // Ausgang für Hintergrund P1DIR |= 0x20; // Ausgang für Hintergrund P5SEL = 0x00; // Ausgänge für LCD P5DIR = 0x1F; // P5.0 bis P5.4 ==> Output P5OUT = 0x00; P5OUT |= 0x01; //CS high P5OUT |= 0x08; // Clock auf High P5OUT &= 0xEF; // Reset auf LOW LCD_control(HINTERGRUND,ON); LCD_control(CONTRAST, 0xFFFF); // Initialiase wait(50000); LED_control(1,GELB); c=0; //############################# LCD Clear P5OUT &= 0xFE; //CS low beginn of Data P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 Synchronisieren LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT |= 0x04; // --> 1 Reset LCDClock(); // SID = 1 D0 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D1 LCDClock(); // SID = 0 D2 LCDClock(); // SID = 0 D3 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D4 LCDClock(); // SID = 0 D5 LCDClock(); // SID = 0 D6 LCDClock(); // SID = 0 D7 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT |= 0x01; // CS high //############################# LCD Clear LED_control(1,GRUEN); wait(5000); LED_control(1,GELB); //############################# Return Home P5OUT &= 0xFE; //CS low beginn of Data P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 Synchronisieren LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT |= 0x04; // --> 1Return Home LCDClock(); // SID = 1 D0 LCDClock(); // SID = 1 D1 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D2 LCDClock(); // SID = 0 D3 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D4 LCDClock(); // SID = 0 D5 LCDClock(); // SID = 0 D6 LCDClock(); // SID = 0 D7 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT |= 0x01; // CS high / //############################# Return Home LED_control(1,GRUEN); wait(5000); LED_control(1,GELB); //############################# Entry Mode Set P5OUT &= 0xFE; //CS low beginn of Data P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 Synchronisieren LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT &= 0xFB; // --> 0 Entry Mode LCDClock(); // SID = 0 D0 LCDClock(); // SID = 0 D1 P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 D2 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D3 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D4 LCDClock(); // SID = 0 D5 LCDClock(); // SID = 0 D6 LCDClock(); // SID = 0 D7 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT |= 0x01; // CS high / //############################# Entry Mode Set LED_control(1,GRUEN); wait(5000); LED_control(1,GELB); //############################# Display ON/OFF Control P5OUT &= 0xFE; //CS low beginn of Data P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 Synchronisieren LCDClock(); // SID = 1 LCDClock // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D0 P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 D1 LCDClock(); // SID = 1 D2 LCDClock(); // SID = 1 D P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D4 LCDClock(); // SID = 0 D5 LCDClock(); // SID = 0 D6 LCDClock(); // SID = 0 D7 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT |= 0x01; // CS high / //############################# Display ON/OFF Control LED_control(1,GRUEN); wait(5000); LED_control(1,GELB); //############################# Mode P5OUT &= 0xFE; //CS low beginn of Data P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 Synchronisieren LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 D0 LCDClock(); // SID = 1 D1 LCDClock(); // SID = 1 D2 LCDClock(); // SID = 1 D3 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D4 LCDClock(); // SID = 0 D5 LCDClock(); // SID = 0 D6 LCDClock(); // SID = 0 D7 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT |= 0x01; // CS high / //############################# Mode LED_control(1,GRUEN); wait(5000); LED_control(1,GELB); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ c=0; while(c!=100) { //############################# DATA P5OUT &= 0xFE; //CS low beginn of Data wait(1000); P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 Synchronisieren LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 LCDClock(); // SID = 1 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 R/W P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 RS P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D0 schreibe f P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 D1 LCDClock(); // SID = 1 D2 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D3 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D4 P5OUT |= 0x04; // --> 1 LCDClock(); // SID = 1 D5 LCDClock(); // SID = 1 D6 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 D7 P5OUT &= 0xFB; // --> 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 LCDClock(); // SID = 0 P5OUT |= 0x01; // CS high / //############################# DATA LED_control(1,ROT); wait(1000); c++; } LED_control(1,GRUEN); } void wait(unsigned int i) // delay function { unsigned int j; for(j=0;j= 1){ P1OUT |= 0x20; // Hintergrundbeleuchtung einschalten } } if(LCD == CONTRAST){ DAC12_0DAT = lcd_value; //setze Kontrastwert } if(LCD == INIT){ } }