⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chuping.lst

📁 触摸屏幕资料!还有电路图!可以借鉴的!是初学者的好资料
💻 LST
字号:
C51 COMPILER V6.12  CHUPING                                                                10/12/2004 16:53:41 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE CHUPING
OBJECT MODULE PLACED IN D:\WORK\X6\CHUPING\CHUPING.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE D:\WORK\X6\CHUPING\CHUPING.C DB SB OE

stmt level    source

   1          /*
   2            [文件名]  Touch.c
   3            [功  能]  8051单片机驱动ADS7846/ADS7843芯片
   4            [简  介]  ADS7846/7843芯片 适合用在4线制触摸屏,它通过标准SPI协议和CPU通信,操作简单,精度高,当
   5                      触摸屏被按下时(即有触摸事件发生)则ADS7846向CPU发中断请求,CPU接到请求后,应延时一下再响应
   6                      其请求,目的是为了消除抖动使得采样更准确。如果一次采样不准确。
   7            [原作者]  鞠春阳
   8            [版  本]  v1.1b
   9            [最后修改时间]  2004年3月31日 9:11
  10            [版  权]  哈尔滨众邦龙科技开发有限公司  单片机坐标网:www.mcuzb.com
  11          */
  12          
  13          
  14          #include "reg51.h"
  15          #include "intrins.h"
  16          
  17          
  18          sbit DCLK=P1^6;
  19          sbit CS=P1^7;
  20          sbit DIN=P2^4;
  21          sbit DOUT=P2^6;
  22          sbit BUSY=P2^5;
  23          
  24          unsigned char Key=0;
  25          
  26          delay(unsigned char i)
  27          {
  28   1       while(i--);
  29   1      }
  30          
  31          
  32          void start()   //SPI开始
  33          {
  34   1        DCLK=0;
  35   1        CS=1;
  36   1        DIN=1;
  37   1        DCLK=1;
  38   1        CS=0;
  39   1      }
  40          
  41          WriteCharTo7843(unsigned char num)  //SPI写数据
  42          {
  43   1       unsigned char count=0;
  44   1       DCLK=0;
  45   1       for(count=0;count<8;count++)
  46   1        {
  47   2         num<<=1;
  48   2         DIN=CY;
  49   2         DCLK=0;       _nop_();_nop_();_nop_();  //上升沿有效
  50   2         DCLK=1;       _nop_();_nop_();_nop_();
  51   2        }
  52   1      }
  53          
  54          
  55          ReadFromCharFrom7843()     //SPI 读数据
C51 COMPILER V6.12  CHUPING                                                                10/12/2004 16:53:41 PAGE 2   

  56          {
  57   1       unsigned char count=0;
  58   1       unsigned int Num=0;
  59   1       for(count=0;count<12;count++)
  60   1        {
  61   2         Num<<=1;
  62   2         DCLK=1;        _nop_();_nop_();_nop_(); //下降沿有效
  63   2         DCLK=0;        _nop_();_nop_();_nop_();
  64   2         if(DOUT) Num++;
  65   2        }
  66   1       return(Num);
  67   1      }
  68          
  69          void ZhongDuan()  interrupt 0        //外部中断0  用来接受键盘发来的数据
  70           {
  71   1        unsigned int X=0,Y=0;
  72   1        delay(10000);  //中断后延时以消除抖动,使得采样数据更准确
  73   1        start();        //启动SPI
  74   1      //  while(BUSY);  //如果BUSY信号不好使可以删除不用
  75   1        delay(2);
  76   1        WriteCharTo7843(0x90);  //送控制字  10010000  即用差分方式读X坐标  详细请见有关资料
  77   1      //  while(BUSY);  //如果BUSY信号不好使可以删除不用
  78   1        delay(2);
  79   1        DCLK=1;  _nop_();_nop_();_nop_();_nop_();
  80   1        DCLK=0;  _nop_();_nop_();_nop_();_nop_();
  81   1        X=ReadFromCharFrom7843();
  82   1        WriteCharTo7843(0xD0);  //送控制字  11010000  即用差分方式读Y坐标  详细请见有关资料
  83   1        DCLK=1;  _nop_();_nop_();_nop_();_nop_();
  84   1        DCLK=0;  _nop_();_nop_();_nop_();_nop_();
  85   1        Y=ReadFromCharFrom7843();
  86   1        CS=1;
  87   1      
  88   1        if(X>1535 && X<2992 && Y>450 && Y<1467) { Key=10; return; } //喷漆
  89   1      
  90   1        if(X>1571 && X<3024 && Y>1587 && Y<2611) { Key=11;return; } //烤漆
  91   1      
  92   1      
  93   1      }
  94          
  95          
  96          main()
  97          {
  98   1       TMOD=0x11; // 记数器0  计数器1  都以 16 位 记数
  99   1       TCON=0x00;
 100   1       IE=0x83;   //1000 0001  EA=1中断允许,
 101   1       IP=0x01;
 102   1       while(1);
 103   1      
 104   1      
 105   1      
 106   1      }
 107          
 108          
C51 COMPILER V6.12  CHUPING                                                                10/12/2004 16:53:41 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
ReadFromCharFrom7843 . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  count. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  Num. . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
_WriteCharTo7843 . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  num. . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  count. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
ZhongDuan. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  X. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
  Y. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0002H  2
CS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
DCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
Key. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
start. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
DOUT . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A6H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
BUSY . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A5H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
C51 COMPILER V6.12  CHUPING                                                                10/12/2004 16:53:41 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
DIN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A4H  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
_delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    297    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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