?? chuping.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 + -