Example #1
0
void ledSchalterTest(void){
	if (s1() == 1)
	{
		for (int i=1;i <= 10; i++) {
			ledPB1(1);
			warte_ms(100);
			ledPB2(1);
			warte_ms(100);
			ledPC2(1);
			warte_ms(100);
			ledPC3(1);
			warte_ms(100);
			ledPB1(0);
			ledPB2(0);
			ledPC2(0);
			ledPC3(0);
			warte_ms(100);  
		};
	}
	else
	{
		ledPB1(0);
		ledPB2(0);
		ledPC2(0);
		ledPC3(0);
	};
}
Example #2
0
/* ein Byte in das ???-Register des ST7036 senden */
void ST7036_write_byte( char data )
{
signed char	u8_zahl = 8;
char c_data;
	// Chip-Select auf log.0
	Clear_Bit( ST7036_CSB );
	c_data = data;

	do
	{
		_delay_loop_2(6);
		if ( c_data & 0x80 )		// oberstes Bit von c_data betrachten
			Set_Bit(ST7036_SI);		// und Datenleitung entsprechend setzen
		else
			Clear_Bit(ST7036_SI);

		_delay_loop_2(5);			// einen Clockpuls erzeugen
		Clear_Bit(ST7036_CLK);
		_delay_loop_2(6);
		Set_Bit(ST7036_CLK);

		c_data = c_data << 1;
		u8_zahl --;

	} while (u8_zahl > 0);

	// Chip-Select wieder auf log.1
	warte_ms( 2 );
	Set_Bit( ST7036_CSB );
}
Example #3
0
/* Reset durchführen */
void ST7036_reset(void)
{
#ifdef ST7036_RESET
	Clear_Bit(lcdReset);	// Hardware-Reset log.0 an den ST7036 anlegen
	warte_ms( 100 );
	Set_Bit(lcdReset);
#endif
}
Example #4
0
void akkuSpannungPruefen(int schwellwert)
{
// Prüfe die AkkuSpannung nur, wenn Schalter 4 an ist und nur nach einem Reset!!
// alle LEDs blinken, wenn Akku-Spannung < Schwellwert !!
	analogwertAkku=adc(7);
	if (analogwertAkku < schwellwert)
	{
	    ledPB1(1);
        ledPB2(1);
        ledPC2(1);
        ledPC3(1);
        warte_ms(blinkT/2);
        ledPB1(0);
        ledPB2(0);
        ledPC2(0);
        ledPC3(0);
        warte_ms(blinkT/2);
	}
}
Example #5
0
/* ein Byte in das Daten-Register des KS0073 senden */
void ST7036_init(void)
{

Set_Bit(ST7036_CLK);
Set_Bit(ST7036_CSB);

//ST7036_reset();


	warte_ms(50);		// mehr als 40ms warten

//	ST7036_write_command_byte( 0x38 );	// Function set; 8 bit Datenlänge, 2 Zeilen

	warte_us(50);		// mehr als 26,3µs warten

	ST7036_write_command_byte( 0x39 );	// Function set; 8 bit Datenlänge, 2 Zeilen, Instruction table 1
	warte_us(50);		// mehr als 26,3µs warten

	ST7036_write_command_byte( 0x1d );	// Bias Set; BS 1/5; 3 zeiliges Display /1d
	warte_us(50);		// mehr als 26,3µs warten

	ST7036_write_command_byte( 0x7c );	// Kontrast C3, C2, C1 setzen /7c
	warte_us(50);		// mehr als 26,3µs warten

	ST7036_write_command_byte( 0x50 );	// Booster aus; Kontrast C5, C4 setzen /50
	warte_us(50);		// mehr als 26,3µs warten

	ST7036_write_command_byte( 0x6c );	// Spannungsfolger und Verstärkung setzen /6c
	warte_ms( 500 );	// mehr als 200ms warten !!!

	ST7036_write_command_byte( 0x0f );	// Display EIN, Cursor EIN, Cursor BLINKEN /0f
	warte_us(50);		// mehr als 26,3µs warten

	ST7036_write_command_byte( 0x01 );	// Display löschen, Cursor Home
	warte_ms(400);		//

	ST7036_write_command_byte( 0x06 );	// Cursor Auto-Increment
	warte_us(50);		// mehr als 26,3µs warten

}