Lcd873.h

Code for a varitron 128 x 64 LCD display which use a T6363 LCD controller (by Jan van Gelder).



/***********************************************************************************************
*  
*  Filename : LCD873.h
*  Discription : header file for LCD873.c
*
*
************************************************************************************************/

#ifndef _LCD873_H_
#define _LCD873_H_

#pragma CLOCK_FREQ       11059200 

//////////////////////////////////////////////////////////////////////////////////////////////////


#define CURSOR_PTR_SET      0x21    //Cursor Pointer Set: Data = X,Y
#define OFFSET_REG_SET      0x22    //Offset Register Set: Data = data,0
#define ADDR_PTR_SET        0x24    //Address Pointer Set: Data = low, high addr

//////////////////////////////////////////////////////////////////////////////////////////////////
//                          Control Word Set commands:-                                         //
//////////////////////////////////////////////////////////////////////////////////////////////////

#define TEXT_HOME_SET       0x40    //Text Home Address Set: Data = low, high addr
#define TEXT_AREA_SET       0x41    //Text Area Set: Data = columns, 0
#define GRAPH_HOME_SET      0x42    //Graphics Home address Set: Data = low, high addr
#define GRAPH_AREA_SET      0x43    //Graphics Area Set: Data = columns, 0

//////////////////////////////////////////////////////////////////////////////////////////////////
//                        Mode Set commands (OR with CG rom commands)                           //
//////////////////////////////////////////////////////////////////////////////////////////////////

#define OR_MODE             0x80    //logisch OR t.o.v grafisch mode met Internal CG ROM mode
#define XOR_MODE            0x81    //XOR mode t.o.v grafisch met Internal CG ROM mode
#define AND_MODE            0x83    //AND mode t.o.v grafisch met Internal CG ROM mode
#define TEXT_ATTR_MODE      0x84    //Text Attribute mode
#define INT_CG_MODE         0x80    //Internal CG ROM mode
#define EXT_CG_MODE         0x88    //External CG ROM mode

//////////////////////////////////////////////////////////////////////////////////////////////////
//                  Display Mode commands (OR together required bits)                           //
//////////////////////////////////////////////////////////////////////////////////////////////////


#define DISPLAY_OFF         0x90    //display off
#define BLINK_ON            0x93    //cursor on with blinking
#define CURSOR_ON           0x92    //cursor on with out blinking
#define TEXT_ON             0x94    //only text in LCD  with out cursor
#define GRAPHIC_ON          0x98    //only graphic mode on 
#define TXT_GRH_ON          0x9C    //text mode and grafische mode on without cursor



//////////////////////////////////////////////////////////////////////////////////////////////////
//           Cursor Pattern Select how many lines is cursor high                                //  
//////////////////////////////////////////////////////////////////////////////////////////////////

#define CURSOR_1LINE        0xA0
#define CURSOR_2LINE        0xA1
#define CURSOR_3LINE        0xA2
#define CURSOR_4LINE        0xA3
#define CURSOR_5LINE        0xA4
#define CURSOR_6LINE        0xA5
#define CURSOR_7LINE        0xA6
#define CURSOR_8LINE        0xA7

//////////////////////////////////////////////////////////////////////////////////////////////////
//                                  Data Auto Read/Write                                        //
//////////////////////////////////////////////////////////////////////////////////////////////////

#define DATA_AUTO_WR         0xB0
#define DATA_AUTO_RD         0xB1
#define AUTO_DATA_RESET      0xB2

//////////////////////////////////////////////////////////////////////////////////////////////////
//                                  Data Read/Write                                             //
//////////////////////////////////////////////////////////////////////////////////////////////////

#define DATA_WR_INC          0xC0   // Data write and increment addrespointer: Data = data
#define DATA_RD_INC          0xC1   // Data read and increment  addrespointer
#define DATA_WR_DEC          0xC2   // Data write and decrement addrespointer: Data = data
#define DATA_RD_DEC          0xC3   // Data read and decrement  addrespointer
#define DATA_WR              0xC4   // Data write - no addr change: Data = data
#define DATA_RD              0xC5   // Data read  - no addr change

//////////////////////////////////////////////////////////////////////////////////////////////////
//                                     Screen Peek                                              //   
//////////////////////////////////////////////////////////////////////////////////////////////////

#define SCREEN_PEEK          0xE0

//////////////////////////////////////////////////////////////////////////////////////////////////
//                                     Screen Copy                                              //
//////////////////////////////////////////////////////////////////////////////////////////////////

#define SCREEN_COPY          0xE8

//////////////////////////////////////////////////////////////////////////////////////////////////
//       Bit Set/Reset (0-7) DIT ZIJN DE BITS VAN DE BYTE AANGEGEVEN DOOR DE ADRESPOINTER       //
//////////////////////////////////////////////////////////////////////////////////////////////////

#define BIT0_SET             0xF8
#define BIT1_SET             0xF9 
#define BIT2_SET             0xFA    
#define BIT3_SET             0xFB
#define BIT4_SET             0xFC
#define BIT5_SET             0xFD
#define BIT6_SET             0xFE
#define BIT7_SET             0xFF

#define BIT0_CLEAR           0xF0
#define BIT1_CLEAR           0xF1
#define BIT2_CLEAR           0xF2
#define BIT3_CLEAR           0xF3
#define BIT4_CLEAR           0xF4
#define BIT5_CLEAR           0xF5
#define BIT6_CLEAR           0xF6
#define BIT7_CLEAR           0xF7


//////////////////////////////////////////////////////////////////////////////////////////////////
//                                       STATUS bits                                            //
//////////////////////////////////////////////////////////////////////////////////////////////////

#define STA0_BUSY            0x00       //command excution status
#define STA1_BUSY            0x01       //data read/write status
#define STA2_BUSY            0x02       //auto data read status
#define STA3_BUSY            0x03       //auto data write status
#define STA5_BUSY            0x05       //controller status
#define STA6_BUSY            0x06       //peek/copy error flag
#define STA7_BUSY            0x07       //blink? or blank? status

//////////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                              //
//////////////////////////////////////////////////////////////////////////////////////////////////

//------------------------------------------------------------------------------------------------
//       Predefined  Graphic page 1 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE1G         4096  
#define LINE2_PAGE1G         4112
#define LINE3_PAGE1G         4128
#define LINE4_PAGE1G         4144
#define LINE5_PAGE1G         4160
#define LINE6_PAGE1G         4176
#define LINE7_PAGE1G         4192
#define LINE8_PAGE1G         4208
#define LINE9_PAGE1G         4224
#define LINE10_PAGE1G        4240
#define LINE11_PAGE1G        4256
#define LINE12_PAGE1G        4272
#define LINE13_PAGE1G        4288
#define LINE14_PAGE1G        4304
#define LINE15_PAGE1G        4320
#define LINE16_PAGE1G        4336
#define LINE17_PAGE1G        4352
#define LINE18_PAGE1G        4368
#define LINE19_PAGE1G        4384
#define LINE20_PAGE1G        4400
#define LINE21_PAGE1G        4416
#define LINE22_PAGE1G        4432
#define LINE23_PAGE1G        4448
#define LINE24_PAGE1G        4464
#define LINE25_PAGE1G        4480
#define LINE26_PAGE1G        4496
#define LINE27_PAGE1G        4512
#define LINE28_PAGE1G        4528
#define LINE29_PAGE1G        4544
#define LINE30_PAGE1G        4560
#define LINE31_PAGE1G        4576
#define LINE32_PAGE1G        4592
#define LINE33_PAGE1G        4608
#define LINE34_PAGE1G        4624
#define LINE35_PAGE1G        4640
#define LINE36_PAGE1G        4656
#define LINE37_PAGE1G        4672
#define LINE38_PAGE1G        4688
#define LINE39_PAGE1G        4704
#define LINE40_PAGE1G        4720
#define LINE41_PAGE1G        4736
#define LINE42_PAGE1G        4752
#define LINE43_PAGE1G        4768
#define LINE44_PAGE1G        4784
#define LINE45_PAGE1G        4800
#define LINE46_PAGE1G        4816
#define LINE47_PAGE1G        4832
#define LINE48_PAGE1G        4848
#define LINE49_PAGE1G        4864
#define LINE50_PAGE1G        4880
#define LINE51_PAGE1G        4896
#define LINE52_PAGE1G        4912
#define LINE53_PAGE1G        4928
#define LINE54_PAGE1G        4944
#define LINE55_PAGE1G        4960
#define LINE56_PAGE1G        4976
#define LINE57_PAGE1G        4992
#define LINE58_PAGE1G        5008
#define LINE59_PAGE1G        5024
#define LINE60_PAGE1G        5040
#define LINE61_PAGE1G        5056
#define LINE62_PAGE1G        5072
#define LINE63_PAGE1G        5088
#define LINE64_PAGE1G        5104

//------------------------------------------------------------------------------------------------
//       Predefined  Graphic page 2 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE2G         5120
#define LINE2_PAGE2G         5136
#define LINE3_PAGE2G         5152
#define LINE4_PAGE2G         5168
#define LINE5_PAGE2G         5184
#define LINE6_PAGE2G         5200
#define LINE7_PAGE2G         5216
#define LINE8_PAGE2G         5232
#define LINE9_PAGE2G         5248
#define LINE10_PAGE2G        5264
#define LINE11_PAGE2G        5280
#define LINE12_PAGE2G        5296
#define LINE13_PAGE2G        5312
#define LINE14_PAGE2G        5328
#define LINE15_PAGE2G        5344
#define LINE16_PAGE2G        5360
#define LINE17_PAGE2G        5376
#define LINE18_PAGE2G        5392
#define LINE19_PAGE2G        5408
#define LINE20_PAGE2G        5424
#define LINE21_PAGE2G        5440
#define LINE22_PAGE2G        5456
#define LINE23_PAGE2G        5472
#define LINE24_PAGE2G        5488
#define LINE25_PAGE2G        5504
#define LINE26_PAGE2G        5520
#define LINE27_PAGE2G        5536
#define LINE28_PAGE2G        5552
#define LINE29_PAGE2G        5568
#define LINE30_PAGE2G        5584
#define LINE31_PAGE2G        5600
#define LINE32_PAGE2G        5616
#define LINE33_PAGE2G        5632
#define LINE34_PAGE2G        5648
#define LINE35_PAGE2G        5664
#define LINE36_PAGE2G        5680
#define LINE37_PAGE2G        5696
#define LINE38_PAGE2G        5712
#define LINE39_PAGE2G        5728
#define LINE40_PAGE2G        5744
#define LINE41_PAGE2G        5760
#define LINE42_PAGE2G        5776
#define LINE43_PAGE2G        5792
#define LINE44_PAGE2G        5808
#define LINE45_PAGE2G        5824
#define LINE46_PAGE2G        5840
#define LINE47_PAGE2G        5856
#define LINE48_PAGE2G        5872
#define LINE49_PAGE2G        5888
#define LINE50_PAGE2G        5904
#define LINE51_PAGE2G        5920
#define LINE52_PAGE2G        5936
#define LINE53_PAGE2G        5952
#define LINE54_PAGE2G        5968
#define LINE55_PAGE2G        5984
#define LINE56_PAGE2G        6000
#define LINE57_PAGE2G        6016
#define LINE58_PAGE2G        6032
#define LINE59_PAGE2G        6048
#define LINE60_PAGE2G        6064
#define LINE61_PAGE2G        6080
#define LINE62_PAGE2G        6096
#define LINE63_PAGE2G        6112
#define LINE64_PAGE2G        6128

//------------------------------------------------------------------------------------------------
//       Predefined  Graphic page 3 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE3G         6144
#define LINE2_PAGE3G         6160
#define LINE3_PAGE3G         6176
#define LINE4_PAGE3G         6192
#define LINE5_PAGE3G         6208
#define LINE6_PAGE3G         6224
#define LINE7_PAGE3G         6240
#define LINE8_PAGE3G         6256
#define LINE9_PAGE3G         6272
#define LINE10_PAGE3G        6288
#define LINE11_PAGE3G        6304
#define LINE12_PAGE3G        6320
#define LINE13_PAGE3G        6336
#define LINE14_PAGE3G        6352
#define LINE15_PAGE3G        6368
#define LINE16_PAGE3G        6384
#define LINE17_PAGE3G        6400
#define LINE18_PAGE3G        6416
#define LINE19_PAGE3G        6432
#define LINE20_PAGE3G        6448
#define LINE21_PAGE3G        6464
#define LINE22_PAGE3G        6480
#define LINE23_PAGE3G        6496
#define LINE24_PAGE3G        6512
#define LINE25_PAGE3G        6528
#define LINE26_PAGE3G        6544
#define LINE27_PAGE3G        6560
#define LINE28_PAGE3G        6576
#define LINE29_PAGE3G        6592
#define LINE30_PAGE3G        6608
#define LINE31_PAGE3G        6624
#define LINE32_PAGE3G        6640
#define LINE33_PAGE3G        6656
#define LINE34_PAGE3G        6672
#define LINE35_PAGE3G        6688
#define LINE36_PAGE3G        6704
#define LINE37_PAGE3G        6720
#define LINE38_PAGE3G        6736
#define LINE39_PAGE3G        6752
#define LINE40_PAGE3G        6768
#define LINE41_PAGE3G        6784
#define LINE42_PAGE3G        6800
#define LINE43_PAGE3G        6816
#define LINE44_PAGE3G        6832
#define LINE45_PAGE3G        6848
#define LINE46_PAGE3G        6864
#define LINE47_PAGE3G        6880
#define LINE48_PAGE3G        6896
#define LINE49_PAGE3G        6912
#define LINE50_PAGE3G        6928
#define LINE51_PAGE3G        6944
#define LINE52_PAGE3G        6960
#define LINE53_PAGE3G        6976
#define LINE54_PAGE3G        6992
#define LINE55_PAGE3G        7008
#define LINE56_PAGE3G        7024
#define LINE57_PAGE3G        7040
#define LINE58_PAGE3G        7056
#define LINE59_PAGE3G        7072
#define LINE60_PAGE3G        7088
#define LINE61_PAGE3G        7104
#define LINE62_PAGE3G        7120
#define LINE63_PAGE3G        7136
#define LINE64_PAGE3G        7152

//------------------------------------------------------------------------------------------------
//       Predefined  Graphic page 4 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE4G         7168 
#define LINE2_PAGE4G         7184
#define LINE3_PAGE4G         7200
#define LINE4_PAGE4G         7216
#define LINE5_PAGE4G         7232
#define LINE6_PAGE4G         7248
#define LINE7_PAGE4G         7264
#define LINE8_PAGE4G         7280
#define LINE9_PAGE4G         7296
#define LINE10_PAGE4G        7312
#define LINE11_PAGE4G        7328
#define LINE12_PAGE4G        7344
#define LINE13_PAGE4G        7360
#define LINE14_PAGE4G        7376
#define LINE15_PAGE4G        7392
#define LINE16_PAGE4G        7408
#define LINE17_PAGE4G        7424
#define LINE18_PAGE4G        7440
#define LINE19_PAGE4G        7456
#define LINE20_PAGE4G        7472
#define LINE21_PAGE4G        7488
#define LINE22_PAGE4G        7504
#define LINE23_PAGE4G        7520
#define LINE24_PAGE4G        7536
#define LINE25_PAGE4G        7552
#define LINE26_PAGE4G        7568
#define LINE27_PAGE4G        7584
#define LINE28_PAGE4G        7600
#define LINE29_PAGE4G        7616
#define LINE30_PAGE4G        7632
#define LINE31_PAGE4G        7648
#define LINE32_PAGE4G        7664
#define LINE33_PAGE4G        7680
#define LINE34_PAGE4G        7696
#define LINE35_PAGE4G        7712
#define LINE36_PAGE4G        7728
#define LINE37_PAGE4G        7744
#define LINE38_PAGE4G        7760
#define LINE39_PAGE4G        7776
#define LINE40_PAGE4G        7792
#define LINE41_PAGE4G        7808
#define LINE42_PAGE4G        7824
#define LINE43_PAGE4G        7840
#define LINE44_PAGE4G        7856
#define LINE45_PAGE4G        7872
#define LINE46_PAGE4G        7888
#define LINE47_PAGE4G        7904
#define LINE48_PAGE4G        7920
#define LINE49_PAGE4G        7936
#define LINE50_PAGE4G        7952
#define LINE51_PAGE4G        7968
#define LINE52_PAGE4G        7984
#define LINE53_PAGE4G        8000
#define LINE54_PAGE4G        8016
#define LINE55_PAGE4G        8032
#define LINE56_PAGE4G        8048
#define LINE57_PAGE4G        8064
#define LINE58_PAGE4G        8080
#define LINE59_PAGE4G        8096
#define LINE60_PAGE4G        8112
#define LINE61_PAGE4G        8128
#define LINE62_PAGE4G        8144
#define LINE63_PAGE4G        8160
#define LINE64_PAGE4G        8176

//------------------------------------------------------------------------------------------------
//       Predefined  Graphic page 5 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE5G         1024  
#define LINE2_PAGE5G         1040
#define LINE3_PAGE5G         1056
#define LINE4_PAGE5G         1072
#define LINE5_PAGE5G         1088
#define LINE6_PAGE5G         1104
#define LINE7_PAGE5G         1120
#define LINE8_PAGE5G         1136
#define LINE9_PAGE5G         1152
#define LINE10_PAGE5G        1168
#define LINE11_PAGE5G        1184
#define LINE12_PAGE5G        1200
#define LINE13_PAGE5G        1216
#define LINE14_PAGE5G        1232
#define LINE15_PAGE5G        1248
#define LINE16_PAGE5G        1264
#define LINE17_PAGE5G        1280
#define LINE18_PAGE5G        1296
#define LINE19_PAGE5G        1312
#define LINE20_PAGE5G        1328
#define LINE21_PAGE5G        1344
#define LINE22_PAGE5G        1360
#define LINE23_PAGE5G        1376
#define LINE24_PAGE5G        1392
#define LINE25_PAGE5G        1408
#define LINE26_PAGE5G        1424
#define LINE27_PAGE5G        1440
#define LINE28_PAGE5G        1456
#define LINE29_PAGE5G        1472
#define LINE30_PAGE5G        1488
#define LINE31_PAGE5G        1504
#define LINE32_PAGE5G        1520
#define LINE33_PAGE5G        1536
#define LINE34_PAGE5G        1552
#define LINE35_PAGE5G        1568
#define LINE36_PAGE5G        1584
#define LINE37_PAGE5G        1600
#define LINE38_PAGE5G        1616
#define LINE39_PAGE5G        1632
#define LINE40_PAGE5G        1648
#define LINE41_PAGE5G        1664
#define LINE42_PAGE5G        1680
#define LINE43_PAGE5G        1696
#define LINE44_PAGE5G        1712
#define LINE45_PAGE5G        1728
#define LINE46_PAGE5G        1744
#define LINE47_PAGE5G        1760
#define LINE48_PAGE5G        1776
#define LINE49_PAGE5G        1792
#define LINE50_PAGE5G        1808
#define LINE51_PAGE5G        1824
#define LINE52_PAGE5G        1840
#define LINE53_PAGE5G        1856
#define LINE54_PAGE5G        1872
#define LINE55_PAGE5G        1888
#define LINE56_PAGE5G        1904
#define LINE57_PAGE5G        1920
#define LINE58_PAGE5G        1936
#define LINE59_PAGE5G        1952
#define LINE60_PAGE5G        1968
#define LINE61_PAGE5G        1984
#define LINE62_PAGE5G        2000
#define LINE63_PAGE5G        2016
#define LINE64_PAGE5G        2032

//------------------------------------------------------------------------------------------------
//       Predefined  Graphic page 6 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE6G         2048  
#define LINE2_PAGE6G         2064
#define LINE3_PAGE6G         2080
#define LINE4_PAGE6G         2096
#define LINE5_PAGE6G         2112
#define LINE6_PAGE6G         2128
#define LINE7_PAGE6G         2144
#define LINE8_PAGE6G         2160
#define LINE9_PAGE6G         2176
#define LINE10_PAGE6G        2192
#define LINE11_PAGE6G        2208
#define LINE12_PAGE6G        2224
#define LINE13_PAGE6G        2240
#define LINE14_PAGE6G        2256
#define LINE15_PAGE6G        2272
#define LINE16_PAGE6G        2288
#define LINE17_PAGE6G        2304
#define LINE18_PAGE6G        2320
#define LINE19_PAGE6G        2336
#define LINE20_PAGE6G        2352
#define LINE21_PAGE6G        2368
#define LINE22_PAGE6G        2384
#define LINE23_PAGE6G        2400
#define LINE24_PAGE6G        2416
#define LINE25_PAGE6G        2432
#define LINE26_PAGE6G        2448
#define LINE27_PAGE6G        2464
#define LINE28_PAGE6G        2480
#define LINE29_PAGE6G        2496
#define LINE30_PAGE6G        2512
#define LINE31_PAGE6G        2528
#define LINE32_PAGE6G        2544
#define LINE33_PAGE6G        2560
#define LINE34_PAGE6G        2576
#define LINE35_PAGE6G        2592
#define LINE36_PAGE6G        2608
#define LINE37_PAGE6G        2624
#define LINE38_PAGE6G        2640
#define LINE39_PAGE6G        2656
#define LINE40_PAGE6G        2672
#define LINE41_PAGE6G        2688
#define LINE42_PAGE6G        2704
#define LINE43_PAGE6G        2720
#define LINE44_PAGE6G        2736
#define LINE45_PAGE6G        2752
#define LINE46_PAGE6G        2768
#define LINE47_PAGE6G        2784
#define LINE48_PAGE6G        2800
#define LINE49_PAGE6G        2816
#define LINE50_PAGE6G        2832
#define LINE51_PAGE6G        2848
#define LINE52_PAGE6G        2864
#define LINE53_PAGE6G        2880
#define LINE54_PAGE6G        2896
#define LINE55_PAGE6G        2912
#define LINE56_PAGE6G        2928
#define LINE57_PAGE6G        2944
#define LINE58_PAGE6G        2960
#define LINE59_PAGE6G        2976
#define LINE60_PAGE6G        2992
#define LINE61_PAGE6G        3008
#define LINE62_PAGE6G        3024
#define LINE63_PAGE6G        3040
#define LINE64_PAGE6G        3056

//------------------------------------------------------------------------------------------------
//       Predefined  Graphic page 7 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE7G         3072
#define LINE2_PAGE7G         3088
#define LINE3_PAGE7G         3104
#define LINE4_PAGE7G         3120
#define LINE5_PAGE7G         3136
#define LINE6_PAGE7G         3152
#define LINE7_PAGE7G         3168
#define LINE8_PAGE7G         3184
#define LINE9_PAGE7G         3200
#define LINE10_PAGE7G        3216
#define LINE11_PAGE7G        3232
#define LINE12_PAGE7G        3248
#define LINE13_PAGE7G        3264
#define LINE14_PAGE7G        3280
#define LINE15_PAGE7G        3296
#define LINE16_PAGE7G        3312
#define LINE17_PAGE7G        3328
#define LINE18_PAGE7G        3344
#define LINE19_PAGE7G        3360
#define LINE20_PAGE7G        3376
#define LINE21_PAGE7G        3392
#define LINE22_PAGE7G        3408
#define LINE23_PAGE7G        3424
#define LINE24_PAGE7G        3440
#define LINE25_PAGE7G        3456
#define LINE26_PAGE7G        3472
#define LINE27_PAGE7G        3488
#define LINE28_PAGE7G        3504
#define LINE29_PAGE7G        3520
#define LINE30_PAGE7G        3536
#define LINE31_PAGE7G        3552
#define LINE32_PAGE7G        3568
#define LINE33_PAGE7G        3584
#define LINE34_PAGE7G        3600
#define LINE35_PAGE7G        3616
#define LINE36_PAGE7G        3632
#define LINE37_PAGE7G        3648
#define LINE38_PAGE7G        3664
#define LINE39_PAGE7G        3680
#define LINE40_PAGE7G        3696
#define LINE41_PAGE7G        3712
#define LINE42_PAGE7G        3728
#define LINE43_PAGE7G        3744
#define LINE44_PAGE7G        3760
#define LINE45_PAGE7G        3776
#define LINE46_PAGE7G        3792
#define LINE47_PAGE7G        3808
#define LINE48_PAGE7G        3824
#define LINE49_PAGE7G        3840
#define LINE50_PAGE7G        3856
#define LINE51_PAGE7G        3872
#define LINE52_PAGE7G        3888
#define LINE53_PAGE7G        3904
#define LINE54_PAGE7G        3920
#define LINE55_PAGE7G        3936
#define LINE56_PAGE7G        3952
#define LINE57_PAGE7G        3968
#define LINE58_PAGE7G        3984
#define LINE59_PAGE7G        4000
#define LINE60_PAGE7G        4016
#define LINE61_PAGE7G        4032
#define LINE62_PAGE7G        4048
#define LINE63_PAGE7G        4064
#define LINE64_PAGE7G        4080

//------------------------------------------------------------------------------------------------
//       Predefined  Text page 1 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE1T           0  
#define LINE2_PAGE1T           16
#define LINE3_PAGE1T           32
#define LINE4_PAGE1T           48
#define LINE5_PAGE1T           64
#define LINE6_PAGE1T           80
#define LINE7_PAGE1T           96
#define LINE8_PAGE1T           112

//------------------------------------------------------------------------------------------------
//       Predefined  Text page 2 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE2T           128  
#define LINE2_PAGE2T           144
#define LINE3_PAGE2T           160
#define LINE4_PAGE2T           176
#define LINE5_PAGE2T           192
#define LINE6_PAGE2T           208
#define LINE7_PAGE2T           224
#define LINE8_PAGE2T           240

//------------------------------------------------------------------------------------------------
//       Predefined  Text page 3 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE3T           256  
#define LINE2_PAGE3T           272
#define LINE3_PAGE3T           288
#define LINE4_PAGE3T           304
#define LINE5_PAGE3T           320
#define LINE6_PAGE3T           336
#define LINE7_PAGE3T           352
#define LINE8_PAGE3T           368

//------------------------------------------------------------------------------------------------
//       Predefined  Text page 4 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE4T           384  
#define LINE2_PAGE4T           400
#define LINE3_PAGE4T           416
#define LINE4_PAGE4T           432
#define LINE5_PAGE4T           448
#define LINE6_PAGE4T           464
#define LINE7_PAGE4T           480
#define LINE8_PAGE4T           496

//------------------------------------------------------------------------------------------------
//       Predefined  Text page 5 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE5T           512  
#define LINE2_PAGE5T           528
#define LINE3_PAGE5T           544
#define LINE4_PAGE5T           560
#define LINE5_PAGE5T           576
#define LINE6_PAGE5T           592
#define LINE7_PAGE5T           608
#define LINE8_PAGE5T           624

//------------------------------------------------------------------------------------------------
//       Predefined  Text page 6 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE6T           640  
#define LINE2_PAGE6T           656
#define LINE3_PAGE6T           672
#define LINE4_PAGE6T           688
#define LINE5_PAGE6T           704
#define LINE6_PAGE6T           720
#define LINE7_PAGE6T           736
#define LINE8_PAGE6T           752

//------------------------------------------------------------------------------------------------
//       Predefined  Text page 7 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE7T           768  
#define LINE2_PAGE7T           784
#define LINE3_PAGE7T           800
#define LINE4_PAGE7T           816
#define LINE5_PAGE7T           832
#define LINE6_PAGE7T           848
#define LINE7_PAGE7T           864
#define LINE8_PAGE7T           880

//------------------------------------------------------------------------------------------------
//       Predefined  Text page 8 line numbers
//------------------------------------------------------------------------------------------------

#define LINE1_PAGE8T           896  
#define LINE2_PAGE8T           912
#define LINE3_PAGE8T           928
#define LINE4_PAGE8T           944
#define LINE5_PAGE8T           960
#define LINE6_PAGE8T           976
#define LINE7_PAGE8T           992
#define LINE8_PAGE8T           1008


//------------------------------------------------------------------------------------------------
//                              LCD reg's do not chance !!!!!!!! 
//------------------------------------------------------------------------------------------------


char DATABUFA@0x20;         // LCD BYTE  REGISTER  
char DATABUFB@0x21;         // LCD BYTE  REGISTER 
char COMMANDBUF@0x22;       // COMMAND BYTE REGISTER
char TEXTREG@0x23;          // TEXT CHARACTER REGISTER WHICH WIL BE SEND TO DISPLAY
char XCOUNT@0x24;           // MULTI FUNCTIONAL HELPREGISTER     
char YCOUNT@0x25;           // MULTI FUNCTIONAL HELPREGISTER
char ADRES_HIGH@0x26;       // ADRESPOINTER MSB
char ADRES_LOW@0x27;        // ADRESPOINTER LSB
unsigned int ADRESPOINT;    // ADRESPOINTER ALS INTEGER
unsigned int LINE_OFFSET;   // LINE ADRESPOINTER WITH OFFSET
char PIXEL_OFFSET;          // PIXEL NUMBER WITH OFFSET

//------------------------------------------------------------------------------------------------
//                                     LCD DEFINES 
//------------------------------------------------------------------------------------------------

#define      LINE_OVERFLOW   0x00
#define      VALUE_BIGGER    0x02

#define      SETPIXEL        0xF8
#define      CLEARPIXEL      0xF0 

#define      VERTICAL_BAR_STEPSIZE  5   // 255 / 5 = 51 PIXELS MAX SIZE OF BAR 
#define      PIXELHIGHT             51  // <---------|| 51 PIXELS BAR SIZE  
#define      SIGNAL_METER_STEPSIZE  22  // 

//================================================================================================
//
//================================================================================================

#define      SOLID             11111111b
#define      DOTS1             01010101b           
#define      DASH1             11001100b   
#define      DOTS2             10101010b
#define      DASH              11110000b
#define      CLEAR             00000000b




//----------------------------------------------------------------------------------------------//
//                  user can select between portc or porta for LCD control 
//        #define portC_LCDcontrol  used if portc is used for CE/RD/WR or C/D lines
//        #define portA_LCDcontrol  used if porta is used for CE/RD/WR or C/D lines
//----------------------------------------------------------------------------------------------//


//#define portC_LCDcontrol  // used if portc is used for CE/RD/WR or C/D lines
#define portA_LCDcontrol       // used if porta is used for CE/RD/WR or C/D lines

#define LCD_CE           0x03       // LCD Enable control line pin number
#define LCD_RD           0x02       // LCD Read control line  pin number
#define LCD_WR           0x01       // LCD Write control line pin number
#define LCD_C_D          0x04       // LCD Control/data Select line ( Commando or Data ) pin number

#define PortAConfig      10000001b  // porta I/O config
#define PortBConfig      11111111b  // porta I/O config
#define PortCConfig      10100100b  // porta I/O config

//================================================================================================
//
//================================================================================================


//==============================================================================================//

#define  old_C2C            // used when a old C2C version is used
                            // which have no input_pin_port_a()
                            // input_pin_port_b() and input_pin_port_c()
                            // function's

//==============================================================================================//

#ifdef   old_C2C
char input_pin_port_b(char pinNumber);
char input_pin_port_c(char pinNumber);
char input_pin_port_a(char pinNumber);
#endif


void lcd_AutoSend(void);
void lcd_AutoStatusCheck(void);
void lcd_Send2DataCMD(void);
void lcd_Send1DataCMD(void);
void lcd_BusyCheck(void);
void lcd_SendCMD(void);
char lcd_MakeASCII(char textReg);
void lcd_GrhModeSet(void);
void lcd_DisplayXORMode(void);
void lcd_TxtModeOn(void);
void lcd_GrhModeOn(void);
void lcd_GrhTxtModeOn(void);
void lcd_GrhHomeArea(void);
void lcd_GrhHomeAdres(void);
void lcd_SetCursor(void);
void lcd_HomePointer(void);
void lcd_TxtHomeAdres(void);       // SET FIRST ADRES OF TEXT ADRES IN DISPLAY
void lcd_TxtHomeArea(void);    // SET TEXT COLLUM WITH  
void lcd_WriteGrhInc(char data);
void lcd_WriteGrhDec(char data);
void lcd_WriteGrhNor(char data);
void lcd_WriteASCII_Dec(char data);
void lcd_WriteASCII_Nor(char data);



void LCDputchar(char data);
void LCDIniSet(void);
void LCDSetAdresPointer(unsigned int lineNumber);
void LCDDrawHorLine(char lineShape, char lineSize);
void LCDDrawVerLine(char lineShape, char lineSize, char bitPosition);
void LCDClearTextRAM(void);
void LCDClearTextPage(char pageNumber);
void LCDClearGraphicRAM(void);
void LCDClearGraphicPage(char pageNumber);
void LCDSetOrClearPixel(unsigned int lineNumber, char pixelNumber, char setOrClear);
void LCDPortIOInit(char portAInit, char portBInit, char portCInit);
void LCDDrawSquare(unsigned int lineNumber, char sizeHor, char sizeVer);
void LCDEraseSquare(unsigned int lineNumber , char sizeHor, char sizeVer);
void LCDIncAdresPoint1Line(void);
void LCDDrawTextBox(unsigned int lineNumber , char sizeHor, char sizeVer);
void LCDEraseTextBox(unsigned int lineNumber , char sizeHor, char sizeVer);
void LCDSelectGraphicPage(char pageNumber);
void LCDSelectTextPage(char pageNumber);
void LCDDrawVerticalBar(unsigned int lineNumber, char pixelNumber, char valueToDraw);
void LCDDrawSignalMeter(unsigned int lineNumber, char pixelNumber, char valueToDraw);
void LCDBlinkingText(int blinkOn_OffTime, char howManyBlinks,char pageNumber);

#endif
 #endif



http://www.sourceboost.com/home.html

Copyright © 2002-2006 SourceBoost Technologies