📄 touch_drv.i
字号:
#line 1 "Driver\touch_drv.c" /0 #line 1 "system\reg51.h" /0 sfr P0 = 0x80; sbit P0_0 = P0^0; sbit P0_1 = P0^1; sbit P0_2 = P0^2; sbit P0_3 = P0^3; sbit P0_4 = P0^4; sbit P0_5 = P0^5; sbit P0_6 = P0^6; sbit P0_7 = P0^7; sfr P1 = 0x90; sbit P1_0 = P1^0; sbit P1_1 = P1^1; sbit P1_2 = P1^2; sbit P1_3 = P1^3; sbit P1_4 = P1^4; sbit P1_5 = P1^5; sbit P1_6 = P1^6; sbit P1_7 = P1^7; sfr P2 = 0xA0; sbit P2_0 = P2^0; sbit P2_1 = P2^1; sbit P2_2 = P2^2; sbit P2_3 = P2^3; sbit P2_4 = P2^4; sbit P2_5 = P2^5; sbit P2_6 = P2^6; sbit P2_7 = P2^7; sfr P3 = 0xB0; sbit P3_0 = P3^0; sbit P3_1 = P3^1; sbit P3_2 = P3^2; sbit P3_3 = P3^3; sbit P3_4 = P3^4; sbit P3_5 = P3^5; sbit P3_6 = P3^6; sbit P3_7 = P3^7; sfr PSW = 0xD0; sfr ACC = 0xE0; sfr B = 0xF0; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr IE = 0xA8; sfr IP = 0xB8; sfr SCON = 0x98; sfr SBUF = 0x99; sbit CY = 0xD7; sbit AC = 0xD6; sbit F0 = 0xD5; sbit RS1 = 0xD4; sbit RS0 = 0xD3; sbit OV = 0xD2; sbit P = 0xD0; sbit TF1 = 0x8F; sbit TR1 = 0x8E; sbit TF0 = 0x8D; sbit TR0 = 0x8C; sbit IE1 = 0x8B; sbit IT1 = 0x8A; sbit IE0 = 0x89; sbit IT0 = 0x88; sbit EA = 0xAF; sbit ES = 0xAC; sbit ET1 = 0xAB; sbit EX1 = 0xAA; sbit ET0 = 0xA9; sbit EX0 = 0xA8; sbit PS = 0xBC; sbit PT1 = 0xBB; sbit PX1 = 0xBA; sbit PT0 = 0xB9; sbit PX0 = 0xB8; sbit RD = 0xB7; sbit WR = 0xB6; sbit T1 = 0xB5; sbit T0 = 0xB4; sbit INT1 = 0xB3; sbit INT0 = 0xB2; sbit TXD = 0xB1; sbit RXD = 0xB0; sbit SM0 = 0x9F; sbit SM1 = 0x9E; sbit SM2 = 0x9D; sbit REN = 0x9C; sbit TB8 = 0x9B; sbit RB8 = 0x9A; sbit TI = 0x99; sbit RI = 0x98; #line 11 "Driver\touch_drv.c" /0 #line 1 "system\compiler.h" /0 typedef unsigned char Byte; typedef unsigned char Uchar; typedef unsigned int Uint16; typedef int Int16; typedef float Float16; typedef unsigned long int Uint32; typedef long int Int32; #line 12 "Driver\touch_drv.c" /0 #line 1 "system\config.h" /0 #line 171 "system\config.h" /1 #line 177 "system\config.h" /0 #line 13 "Driver\touch_drv.c" /0 #line 1 "Driver\io_def.h" /0 #line 14 "Driver\touch_drv.c" /0 #line 1 "Driver\touch_drv.h" /0 bit Touch_PositionXY (void); Byte Touch_PositionA (void); bit Touch_Read (void); bit Touch_Write (Byte PID, Byte bRegister); Byte Touch_scanByteLSB (Byte bBit); void Touch_getMSB (Byte bByte); void Touch_start (void); void Touch_stop (void); bit Touch_Wait (void); void DelayX25us(Byte count); extern idata Byte TouchPad[5];#line 15 "Driver\touch_drv.c" /0 bit Touch_PositionXY (void) { Touch_Write (0x52, 0x20); if(!(Touch_Wait())) {Touch_stop();return(0);} if(!(Touch_Read())) {Touch_stop();return(0);} TouchPad[2] = TouchPad[0]; TouchPad[3] = TouchPad[1]; return(1); } Byte Touch_PositionA (void) { Touch_Write (0x52, 0x30); if(!(Touch_Wait())) {Touch_stop();return(0);} if(!(Touch_Read())) {Touch_stop();return(0);} return(TouchPad[1]); } bit Touch_Read (void) { Byte bTemp = 0x00; Touch_start(); bTemp = Touch_scanByteLSB(4); if( bTemp != 0x05) return(0); bTemp = Touch_scanByteLSB(8); TouchPad[0] = Touch_scanByteLSB(8); TouchPad[1] = Touch_scanByteLSB(8); bTemp = Touch_scanByteLSB(4); if( bTemp != 0x01) return(0); Touch_stop(); return(1); } bit Touch_Write (Byte PID, Byte bRegister) { Touch_start(); Touch_getMSB(PID); Touch_getMSB(bRegister); Touch_getMSB(0x00); Touch_getMSB(0x01); Touch_stop(); return(1); } Byte Touch_scanByteLSB (Byte bBit) { Byte bCount = 0x00,i; Byte bByte = 0x00,temp; for (i=0; i<bBit;) { while(!P0_5 && bCount<20) { bCount++; } while(P0_5){ if (P0_3) { temp = 0x01; temp <<= i; bByte |= temp; } } bCount =0;i++; } return(bByte); } void Touch_getMSB (Byte bByte) { Byte bCount = 0x00,i; for (i=0; i<8;) { while(!P0_5){ if (bByte & 0x80) P0_3 = 1; else P0_3 = 0; } while(P0_5 && bCount<20){ bCount++; } bByte <<= 1; bCount =0; i++; } } void Touch_start (void) { P0_3 = 1; P0_4 = 1; P0_5 = 1; P0_6 = 0; } void Touch_stop (void) { P0_6 = 1; P0_3 = 1; P0_4 = 1; P0_5 = 1; } bit Touch_Wait (void) { Byte bCount; for (bCount=0; P0_5 && bCount < 6; bCount++) { DelayX25us(1); } if(bCount > 6) return(0); else return(1); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -