can you see what i am doing wrong.......
Code: Select all
// Glcd module connections
sbit GLCD_D7 at RD7_bit;
sbit GLCD_D6 at RD6_bit;
sbit GLCD_D5 at RD4_bit;
sbit GLCD_D4 at RD4_bit;
sbit GLCD_D3 at RD3_bit;
sbit GLCD_D2 at RD2_bit;
sbit GLCD_D1 at RD1_bit;
sbit GLCD_D0 at RD0_bit;
sbit GLCD_D7_Direction at TRISD7_bit;
sbit GLCD_D6_Direction at TRISD6_bit;
sbit GLCD_D5_Direction at TRISD5_bit;
sbit GLCD_D4_Direction at TRISD4_bit;
sbit GLCD_D3_Direction at TRISD3_bit;
sbit GLCD_D2_Direction at TRISD2_bit;
sbit GLCD_D1_Direction at TRISD1_bit;
sbit GLCD_D0_Direction at TRISD0_bit;
sbit GLCD_CS1 at LATB2_bit;
sbit GLCD_CS2 at LATB3_bit;
sbit GLCD_RS at LATB4_bit;
sbit GLCD_RW at LATB5_bit;
sbit GLCD_EN at LATB6_bit;
sbit GLCD_RST at LATB7_bit;
sbit GLCD_CS1_Direction at TRISB2_bit;
sbit GLCD_CS2_Direction at TRISB3_bit;
sbit GLCD_RS_Direction at TRISB4_bit;
sbit GLCD_RW_Direction at TRISB5_bit;
sbit GLCD_EN_Direction at TRISB6_bit;
sbit GLCD_RST_Direction at TRISB7_bit;
// End Glcd module connections
// Touch Panel module connections
sbit DriveA at LATD10_bit;
sbit DriveB at LATD11_bit;
sbit DriveA_Direction at TRISD10_bit;
sbit DriveB_Direction at TRISD11_bit;
// End Touch Panel module connection
bit write_erase;
char pen_size;
char write_msg[] = "WRITE";
// GLCD menu messages
char clear_msg[] = "CLEAR";
char erase_msg[] = "ERASE";
unsigned int x_coord, y_coord;
void Initialize() {
ADPCFG = 0xF3FF; // set AN8 and AN9 channel pins as analog
DriveA_Direction = 0; // Set DriveA pin as output
DriveB_Direction = 0; // Set DriveB pin as output
Glcd_Init(); // Initialize GLCD
Delay_ms(500);
Glcd_Fill(0); // Clear GLCD
ADC1_Init(); // Initalize ADC module
TP_Init(128, 64, 6, 7); // Initialize touch panel
TP_Set_ADC_Threshold(3900); // Set touch panel ADC threshold
}
void Calibrate() {
Glcd_Dot(0,63,1); // Draw bottom left dot
Glcd_Write_Text("TOUCH BOTTOM LEFT",12,3,1);
TP_Calibrate_Bottom_Left(); // Calibration of bottom left corner
//RE7_bit=1; for testing only
Delay_ms(1000);
Glcd_Dot(0,63,0); // Clear bottom left dot
Glcd_Dot(127,0,1); // Draw upper right dot
Glcd_Write_Text(" ",12,3,1);
Glcd_Write_Text("TOUCH UPPER RIGHT",12,4,1);
TP_Calibrate_Upper_Right(); // Calibration of upper right corner
Delay_ms(1000);
}
void main()
{
PORTE = 0;
TRISE = 0x00;
//RE7_bit =1; for testing only
Initialize();
Glcd_Write_Text("CALIBRATION",12,3,1);
Delay_ms(5000);
Glcd_Fill(0); // Clear GLCD
Calibrate();
Glcd_Fill(0);
Glcd_Write_Text("WRITE ON SCREEN", 20, 5, 1) ;
Delay_ms(1000);
Glcd_Fill(0); // Clear GLCD
Glcd_V_Line(0,7,0,1);
Glcd_Write_Text(clear_msg,1,0,0);
Glcd_V_Line(0,7,97,1);
Glcd_Write_Text(erase_msg,98,0,0);
// Pen Menu:
Glcd_Rectangle(41,0,52,9,1);
Glcd_Box(45,3,48,6,1);
Glcd_Rectangle(63,0,70,7,1);
Glcd_Box(66,3,67,4,1);
Glcd_Rectangle(80,0,86,6,1);
Glcd_Dot(83,3,1);
write_erase = 1;
pen_size = 1;
while (1)