/***********************************************************************************************
*
* 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
Copyright © 2002-2006 SourceBoost Technologies