/* Skicka instruktioner till DOGM163 display Använder kod från www.elektronikutveckling.com, radera inte denna info om du modifierar eller kopierar delar från denna fil. Använd på egen risk, rätta felaktigheter. */ void displayInstr(char ch ) /* skicka en instruktion till displayen */ { PORTC.4 = 0; // indikerar instruktion=0 eller tecken=1. Pin 39 på displayen. char bitCount, ti; // vänta minst 25us mellan varje instruktion for ( bitCount = 8; bitCount > 0 ; bitCount-- ) { PORTC.2 = 0; // sätt SCL låg (data klockas på +flank) ch = rl( ch ); // OBS skifta ut MSB först till Carry PORTC.1 = Carry; ti = 6; do ; while( --ti > 0); nop(); // wait ti*5 + 14 us (data stabiliseras) PORTC.2 = 1; // klocka data till extern register ti = 6; do ; while( --ti > 0); nop(); // wait ti*5 + 14 us } return; } /* DOGM163 (lcd-module.de) ELfa 75-407-63 Seriell (enkelriktad) och parallell interface (dubbelriktad) Chip= ST7036. Display anslutningar: pin 1-20 inte anslutna pin: 21 inte ansluten 22 inte ansluten 23 gnd 24 5V 25 5V 26 5V 27 gnd 28 in PIC PORTC.1 Seriell Data 29 in PIC PORTC.2 Klocka 30 5V 31 5V 32 5V 33 5V 34 5V 35 5V 36 5V (E) 37 5V (R/W) 38 gnd (CS) 39 in PIC PORTC.4 Controll=1, Data=0 40 5V (RESET) // bra att kunna ch= // 0b00000001 clear display // 0b00001101 grov cursor // 0b00001110 liten cursor // 0b00001100 ingen cursor // 0b00010100 CURSOR HÖGER // 0b00010000 CURSOR vänster // 0b10000000 flytta till possition 0 // 0b10000111 flytta till possition 7 */