An attempt tp port Arduino ST1201 code to the KL25Z
KTMS1201.h@0:76906da6c1ad, 2013-11-25 (annotated)
- Committer:
- n5kzw
- Date:
- Mon Nov 25 21:02:23 2013 +0000
- Revision:
- 0:76906da6c1ad
First try
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
n5kzw | 0:76906da6c1ad | 1 | /* Header file for Arduino and KTM-S1201 LCD module |
n5kzw | 0:76906da6c1ad | 2 | Originally Written by Jeff Albertson Ver 1.0 |
n5kzw | 0:76906da6c1ad | 3 | Modifications and code normalisation by Robert W. Mech rob@mechsoftware.com |
n5kzw | 0:76906da6c1ad | 4 | Modified by John Boxall 11/March/2013 |
n5kzw | 0:76906da6c1ad | 5 | |
n5kzw | 0:76906da6c1ad | 6 | These are the pins that are output on the KTM-S1201 |
n5kzw | 0:76906da6c1ad | 7 | |
n5kzw | 0:76906da6c1ad | 8 | LCD pin number |
n5kzw | 0:76906da6c1ad | 9 | Pin 1 LcdVcc +5V dc power |
n5kzw | 0:76906da6c1ad | 10 | pin 2 LcdVss GND |
n5kzw | 0:76906da6c1ad | 11 | pin 3 LcdnSck Not Serial clock |
n5kzw | 0:76906da6c1ad | 12 | pin 4 LcdSi Serial data |
n5kzw | 0:76906da6c1ad | 13 | pin 5 LcdCnD Select Command or Data mode |
n5kzw | 0:76906da6c1ad | 14 | pin 6 LcdnRes Reset LCD |
n5kzw | 0:76906da6c1ad | 15 | pin 7 LcdnBus LCD not busy |
n5kzw | 0:76906da6c1ad | 16 | pin 8 LcdnCs LCD not Chip select |
n5kzw | 0:76906da6c1ad | 17 | pin 9 Pot wiper Vlc LCD Contrast Connect POT between pin 9 and GND |
n5kzw | 0:76906da6c1ad | 18 | pin 10 NC |
n5kzw | 0:76906da6c1ad | 19 | */ |
n5kzw | 0:76906da6c1ad | 20 | |
n5kzw | 0:76906da6c1ad | 21 | #define HIGH 1 |
n5kzw | 0:76906da6c1ad | 22 | #define LOW 0 |
n5kzw | 0:76906da6c1ad | 23 | |
n5kzw | 0:76906da6c1ad | 24 | // Here we set which LCD pins will connect to which Arduino pin |
n5kzw | 0:76906da6c1ad | 25 | /* |
n5kzw | 0:76906da6c1ad | 26 | #define LcdSck 4 //Not Serial clock |
n5kzw | 0:76906da6c1ad | 27 | #define LcdSi 5 //Serial data in |
n5kzw | 0:76906da6c1ad | 28 | #define LcdCnD 6 //Command or Not data in |
n5kzw | 0:76906da6c1ad | 29 | #define LcdnRes 7 //Not reset low = reset |
n5kzw | 0:76906da6c1ad | 30 | #define LcdnBus 9// Not Busy output from LCD not used if delay(1) after LcdnCs changes |
n5kzw | 0:76906da6c1ad | 31 | #define LcdnCs 8 //Not Chip select Low = LCD selected |
n5kzw | 0:76906da6c1ad | 32 | THESE DEFINITION MOVED TO DigitalOut FUNCTIONS IN main.cpp |
n5kzw | 0:76906da6c1ad | 33 | */ |
n5kzw | 0:76906da6c1ad | 34 | // Put a delay(1) after every LcdnCs change or check LcdnBus |
n5kzw | 0:76906da6c1ad | 35 | #define t 100 |
n5kzw | 0:76906da6c1ad | 36 | #define t1 10 |
n5kzw | 0:76906da6c1ad | 37 | |
n5kzw | 0:76906da6c1ad | 38 | // The Not Chip select pin is the only unique |
n5kzw | 0:76906da6c1ad | 39 | // Pin on the LCD all other pins can be paralleled |
n5kzw | 0:76906da6c1ad | 40 | // for more ktm-s1201 displays |
n5kzw | 0:76906da6c1ad | 41 | #define _Mode 0x40 |
n5kzw | 0:76906da6c1ad | 42 | #define _USync 0x31 |
n5kzw | 0:76906da6c1ad | 43 | #define _FBlink 0x1b |
n5kzw | 0:76906da6c1ad | 44 | #define _SBlink 0x1a |
n5kzw | 0:76906da6c1ad | 45 | #define _NoBlink 0x18 |
n5kzw | 0:76906da6c1ad | 46 | #define _DispOn 0x11 |
n5kzw | 0:76906da6c1ad | 47 | #define _Decode 0x15 |
n5kzw | 0:76906da6c1ad | 48 | #define _NoDecode 0x14 |
n5kzw | 0:76906da6c1ad | 49 | #define _LoadPtr 0xE0 |
n5kzw | 0:76906da6c1ad | 50 | #define _SetDp 0xb8 // Set decimal point (Dp) |
n5kzw | 0:76906da6c1ad | 51 | #define _ClearDp 0x9f // Clear decimal point (Dp) |
n5kzw | 0:76906da6c1ad | 52 | #define _ClearDsp 0x20 // Clear display memory |
n5kzw | 0:76906da6c1ad | 53 | |
n5kzw | 0:76906da6c1ad | 54 | // To set Dp you must be in NoDecode mode and point to character (LoadPtr) |
n5kzw | 0:76906da6c1ad | 55 | // --- 0x01 |
n5kzw | 0:76906da6c1ad | 56 | //0x10 | | 0x02 |
n5kzw | 0:76906da6c1ad | 57 | //0x20 --- |
n5kzw | 0:76906da6c1ad | 58 | //0x40 | | 0x04 |
n5kzw | 0:76906da6c1ad | 59 | //0x80 --- o 0x08 |
n5kzw | 0:76906da6c1ad | 60 | |
n5kzw | 0:76906da6c1ad | 61 | #define _cet 0x31 // Celsius |
n5kzw | 0:76906da6c1ad | 62 | #define _ 0x0 // Space |
n5kzw | 0:76906da6c1ad | 63 | #define _A 0x77 // |
n5kzw | 0:76906da6c1ad | 64 | #define _B 0xF4 // |
n5kzw | 0:76906da6c1ad | 65 | #define _C 0xE0 // |
n5kzw | 0:76906da6c1ad | 66 | #define _D 0xE6 // |
n5kzw | 0:76906da6c1ad | 67 | #define _E 0xF1 // |
n5kzw | 0:76906da6c1ad | 68 | #define _F 0x71 // |
n5kzw | 0:76906da6c1ad | 69 | #define _G 0xD5 // |
n5kzw | 0:76906da6c1ad | 70 | #define _H 0x74 // |
n5kzw | 0:76906da6c1ad | 71 | #define _I 0x04 // |
n5kzw | 0:76906da6c1ad | 72 | #define _J 0x86 // |
n5kzw | 0:76906da6c1ad | 73 | #define _K 0x70 // |
n5kzw | 0:76906da6c1ad | 74 | #define _L 0xD0 // |
n5kzw | 0:76906da6c1ad | 75 | #define _M 0x76 // |
n5kzw | 0:76906da6c1ad | 76 | #define _N 0x64 // |
n5kzw | 0:76906da6c1ad | 77 | #define _O 0xE4 // |
n5kzw | 0:76906da6c1ad | 78 | #define _P 0x73 // |
n5kzw | 0:76906da6c1ad | 79 | #define _Q 0xDF // |
n5kzw | 0:76906da6c1ad | 80 | #define _R 0x60 // |
n5kzw | 0:76906da6c1ad | 81 | #define _S 0xB5 // |
n5kzw | 0:76906da6c1ad | 82 | #define _T 0xF0 // |
n5kzw | 0:76906da6c1ad | 83 | #define _U 0xC4 // |
n5kzw | 0:76906da6c1ad | 84 | #define _V 0xD6 // |
n5kzw | 0:76906da6c1ad | 85 | #define _W 0xF6 // |
n5kzw | 0:76906da6c1ad | 86 | #define _X 0x56 // |
n5kzw | 0:76906da6c1ad | 87 | #define _Y 0x72 // |
n5kzw | 0:76906da6c1ad | 88 | #define _Z 0xEB // |
n5kzw | 0:76906da6c1ad | 89 | #define _1 0x06 // |
n5kzw | 0:76906da6c1ad | 90 | #define _2 0xE3 // |
n5kzw | 0:76906da6c1ad | 91 | #define _3 0xA7 // |
n5kzw | 0:76906da6c1ad | 92 | #define _4 0x36 // |
n5kzw | 0:76906da6c1ad | 93 | #define _5 0xB5 // |
n5kzw | 0:76906da6c1ad | 94 | #define _6 0xF4 // |
n5kzw | 0:76906da6c1ad | 95 | #define _7 0x07 // |
n5kzw | 0:76906da6c1ad | 96 | #define _8 0xF7 // |
n5kzw | 0:76906da6c1ad | 97 | #define _9 0x37 // |
n5kzw | 0:76906da6c1ad | 98 | #define _0 0xD7 // |
n5kzw | 0:76906da6c1ad | 99 | #define _DASH 0x20 // |
n5kzw | 0:76906da6c1ad | 100 | #define _DEGREE 0x33 // |
n5kzw | 0:76906da6c1ad | 101 | |
n5kzw | 0:76906da6c1ad | 102 |