c51触摸屏ads7843驱动.c

来自「keil c51 写的触摸屏ADS7843驱动程序」· C语言 代码 · 共 87 行

C
87
字号
C51触摸屏ADS7843驱动
#i nclude <reg51.h>
#i nclude <intrins.h>
#define _Nop() _nop_()
sbit 

unsigned char 

delay(unsigned char i){
 unsigned char a;
 while(i--){
 for(a=0;a<5;a++){
 ;}
 }
}

ad_read(){
 unsigned char i,cx_ss;
 busy=0;
 cs=0;
 dclk=0;
 cx_ss=zl_s;
 for(i=0;i<8;i++){
  zl_s=zl_s<<i;
  if(zl_s&0x80){
   din=1;
   }
  else{
   din=0;
   }
  zl_s=cx_ss;
  dclk=1;
  _Nop();
  _Nop();
  dclk=0;
 }
 _Nop();
 _Nop();
 _Nop();
 _Nop();
 while(busy==0);
 for(i=0;i<8;i++){
  dclk=1;
  _Nop();
  _Nop();
  dclk=0;
  adrh=adrh<<1;
  if(dout==1){
   adrh=adrh+1;
   _Nop();
   _Nop();
   }
 }
 for(i=0;i<4;i++){
  dclk=1;
  _Nop();
  _Nop();
  dclk=0;
  adrl=adrl<<1;
  if(dout==1){
   adrl=adrl+1;
   _Nop();
   _Nop();
  }
 }
 for(i=0;i<4;i++){
  dclk=1;
  _Nop();
  _Nop();
  dclk=0;
 }
}

void re_x(){
 zl_s=0x94;
 ad_read();
 adrh_x=adrh;
 adrl_x=adrl;
}

void re_y(){
 zl_s=0xd4;
 ad_read();
 adrh_y=adrh;
 adrl_y=adrl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?