LCD
SSD1289.c@0:c9164866dbb5, 2019-12-20 (annotated)
- Committer:
- amarmay
- Date:
- Fri Dec 20 13:55:02 2019 +0000
- Revision:
- 0:c9164866dbb5
LCD SSD1289
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
amarmay | 0:c9164866dbb5 | 1 | |
amarmay | 0:c9164866dbb5 | 2 | |
amarmay | 0:c9164866dbb5 | 3 | #include "GUI.h" |
amarmay | 0:c9164866dbb5 | 4 | |
amarmay | 0:c9164866dbb5 | 5 | /********************************************************************* |
amarmay | 0:c9164866dbb5 | 6 | * |
amarmay | 0:c9164866dbb5 | 7 | * Hardware configuration |
amarmay | 0:c9164866dbb5 | 8 | * |
amarmay | 0:c9164866dbb5 | 9 | ********************************************************************** |
amarmay | 0:c9164866dbb5 | 10 | */ |
amarmay | 0:c9164866dbb5 | 11 | |
amarmay | 0:c9164866dbb5 | 12 | |
amarmay | 0:c9164866dbb5 | 13 | |
amarmay | 0:c9164866dbb5 | 14 | #define LCD_REG16 (*((volatile U16 *)(0x6F000000))) /* RS = 0 */ |
amarmay | 0:c9164866dbb5 | 15 | #define LCD_DAT16 (*((volatile U16 *)(0x6F010000))) /* RS = 1 */ |
amarmay | 0:c9164866dbb5 | 16 | |
amarmay | 0:c9164866dbb5 | 17 | /********************************************************************* |
amarmay | 0:c9164866dbb5 | 18 | * |
amarmay | 0:c9164866dbb5 | 19 | * Exported code |
amarmay | 0:c9164866dbb5 | 20 | * |
amarmay | 0:c9164866dbb5 | 21 | ********************************************************************* |
amarmay | 0:c9164866dbb5 | 22 | */ |
amarmay | 0:c9164866dbb5 | 23 | /********************************************************************* |
amarmay | 0:c9164866dbb5 | 24 | * |
amarmay | 0:c9164866dbb5 | 25 | * LCD_X_Init |
amarmay | 0:c9164866dbb5 | 26 | * |
amarmay | 0:c9164866dbb5 | 27 | * Purpose: |
amarmay | 0:c9164866dbb5 | 28 | * This routine should be called from your application program |
amarmay | 0:c9164866dbb5 | 29 | * to set port pins to their initial values |
amarmay | 0:c9164866dbb5 | 30 | */ |
amarmay | 0:c9164866dbb5 | 31 | void LCD_X_Init(void) { |
amarmay | 0:c9164866dbb5 | 32 | |
amarmay | 0:c9164866dbb5 | 33 | } |
amarmay | 0:c9164866dbb5 | 34 | |
amarmay | 0:c9164866dbb5 | 35 | |
amarmay | 0:c9164866dbb5 | 36 | /********************************************************************* |
amarmay | 0:c9164866dbb5 | 37 | * |
amarmay | 0:c9164866dbb5 | 38 | * LCD_X_WriteIndex |
amarmay | 0:c9164866dbb5 | 39 | * |
amarmay | 0:c9164866dbb5 | 40 | * |
amarmay | 0:c9164866dbb5 | 41 | * |
amarmay | 0:c9164866dbb5 | 42 | */ |
amarmay | 0:c9164866dbb5 | 43 | void LCD_X_WriteIndex(U16 c) { |
amarmay | 0:c9164866dbb5 | 44 | LCD_REG16 = c; |
amarmay | 0:c9164866dbb5 | 45 | } |
amarmay | 0:c9164866dbb5 | 46 | |
amarmay | 0:c9164866dbb5 | 47 | |
amarmay | 0:c9164866dbb5 | 48 | /********************************************************************* |
amarmay | 0:c9164866dbb5 | 49 | * |
amarmay | 0:c9164866dbb5 | 50 | * LCD_X_WriteData |
amarmay | 0:c9164866dbb5 | 51 | * |
amarmay | 0:c9164866dbb5 | 52 | * |
amarmay | 0:c9164866dbb5 | 53 | * |
amarmay | 0:c9164866dbb5 | 54 | */ |
amarmay | 0:c9164866dbb5 | 55 | void LCD_X_WriteData(U16 c) { |
amarmay | 0:c9164866dbb5 | 56 | LCD_DAT16 = c; |
amarmay | 0:c9164866dbb5 | 57 | } |
amarmay | 0:c9164866dbb5 | 58 | |
amarmay | 0:c9164866dbb5 | 59 | |
amarmay | 0:c9164866dbb5 | 60 | /********************************************************************* |
amarmay | 0:c9164866dbb5 | 61 | * |
amarmay | 0:c9164866dbb5 | 62 | * LCD_X_ReadData |
amarmay | 0:c9164866dbb5 | 63 | * |
amarmay | 0:c9164866dbb5 | 64 | * Purpose: |
amarmay | 0:c9164866dbb5 | 65 | * Read from controller, with A0 = 1 |
amarmay | 0:c9164866dbb5 | 66 | */ |
amarmay | 0:c9164866dbb5 | 67 | U16 LCD_X_ReadData(void) { |
amarmay | 0:c9164866dbb5 | 68 | return (LCD_DAT16); |
amarmay | 0:c9164866dbb5 | 69 | } |
amarmay | 0:c9164866dbb5 | 70 | |
amarmay | 0:c9164866dbb5 | 71 | /********************************************************************* |
amarmay | 0:c9164866dbb5 | 72 | * |
amarmay | 0:c9164866dbb5 | 73 | * LCD_X_WriteMData |
amarmay | 0:c9164866dbb5 | 74 | * |
amarmay | 0:c9164866dbb5 | 75 | * |
amarmay | 0:c9164866dbb5 | 76 | * |
amarmay | 0:c9164866dbb5 | 77 | */ |
amarmay | 0:c9164866dbb5 | 78 | void LCD_X_WriteMData(U16 * pData, int NumWords) { |
amarmay | 0:c9164866dbb5 | 79 | for (; NumWords; NumWords--) { |
amarmay | 0:c9164866dbb5 | 80 | LCD_DAT16 = *pData++; |
amarmay | 0:c9164866dbb5 | 81 | } |
amarmay | 0:c9164866dbb5 | 82 | } |
amarmay | 0:c9164866dbb5 | 83 | |
amarmay | 0:c9164866dbb5 | 84 | /********************************************************************* |
amarmay | 0:c9164866dbb5 | 85 | * |
amarmay | 0:c9164866dbb5 | 86 | * LCD_X_ReadM01_16 |
amarmay | 0:c9164866dbb5 | 87 | * |
amarmay | 0:c9164866dbb5 | 88 | * Purpose: |
amarmay | 0:c9164866dbb5 | 89 | * Read multiple bytes from controller, with A0 = 1 |
amarmay | 0:c9164866dbb5 | 90 | */ |
amarmay | 0:c9164866dbb5 | 91 | void LCD_X_ReadMData(U16 * pData, int NumWords) { |
amarmay | 0:c9164866dbb5 | 92 | for (; NumWords; NumWords--) { |
amarmay | 0:c9164866dbb5 | 93 | *pData++ = LCD_DAT16; |
amarmay | 0:c9164866dbb5 | 94 | } |
amarmay | 0:c9164866dbb5 | 95 | } |
amarmay | 0:c9164866dbb5 | 96 | |
amarmay | 0:c9164866dbb5 | 97 | /*************************** End of file ****************************/ |