/* Skicka tecken till en 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.*/ bit displayTkn(char ch) /* visar ett tecken på displayen */ { PORTC.4 = 1; // commando=0 tecken=1. Pin 39 på displayen. char bitCount, ti; if(ch == '\0') return 0; if(ch == 'Å') ch = 0b10001111; if(ch == 'Ä') ch = 0b10001110; if(ch == 'Ö') ch = 0b10011001; if(ch == 'å') ch = 0b10000011; if(ch == 'ä') ch = 0b10000100; if(ch == 'ö') ch = 0b10010100; if(ch == '?') ch = 0b00111111; 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 = 3; do ; while( --ti > 0); nop(); // wait ti*5 + 14 us (data stabiliseras) PORTC.2 = 1; // klocka data till extern register ti = 3; do ; while( --ti > 0); nop(); // wait ti*5 + 14 us } return 1; } /* 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) */