触摸屏控制器ADS7843的底层驱动程序设计,使用C写的
触摸屏控制器ADS7843的底层驱动程序设计,使用C写的
//=====================================================================
// ADS7843 驱动程序(串行)
//硬件连接: DCLK ——P0^0;
// CS ——P0^1; ! I/ f" _! j. U! Z' x3 U
// DIN ——P0^2; 9 I9 d4 u. W" I% U6 T R
// BUSY ——P0^3
// DOUT ——P0^4) v, W" L% J" ?& h8 L
// PENIRQ——P3^2;
// VDD--逻辑电源(+5V)
// VSS--GND(0V)
//ADS7843.c5 ]' X8 [! h4 X; o3 v5 G6 {
//2008年7月23日于EDA实验室. `) G; R. x# j; B4 ?" a: I3 M
//=====================================================================
#include //STC单片机头文件
#include
#define uint unsigned int
#define uchar unsigned char5
sbit DCLK = P0^0; //时钟信号,下降沿有效
sbit CS = P0^1; //片选信号,低电平有效
sbit DIN = P0^2; //串行数据输入) t9 p
sbit BUSY = P0^3; //忙信号
sbit DOUT = P0^4; //串行数据输出
sbit PENIRQ = P3^2; //键盘中断请求信号,低电平(负边沿)有效
void Tranfer(char Data);/
uint average(uint a[8]);
//====================================================================================
void delay(uint us)
{$
while(us--);
}
//====================================================================================
//函数名称:void ADS7843_start(void)
//函数功能:ADS7843启动2 Y) X- E,
//入口参数:无
//出口参数:无
//====================================================================================
void ADS7843_start(void)+ ~#
{
DCLK=0;; s4 ]'
CS=1;)
DIN=1;
DCLK=1;
CS=0;.
}
//====================================================================================
//函数名称:void ADS7843_wr(uchar dat): C! n0 D: t/ c
//函数功能:写ADS7843
//入口参数:dat 写入的数据 o$ z0 `$ m0 i6 Z1 r
//出口参数:无
//====================================================================================
void ADS7843_wr(uchar dat): A1 r; Q- u7 \# |1 V
{
uchar count;
DCLK=0;
for(count=0;count<8;count++)
{* |3 U- ^ @5 ?: S
dat<<=1;
DIN=CY;
DCLK=0;,
_nop_();
_nop_();
_nop_();
DCLK=1;9
_nop_();
_nop_();
_nop_();
}
}
//====================================================================================
//函数名称:uint ADS7843_rd(void)* i/ Z0 z y6 A& \, _. O# _
//函数功能:读ADS7843' E; t0 z/ A# V5 l, i8 h" o0 Y
//入口参数:无2 v* H, t( i7 b
//出口参数:读回的坐标值( ?+ g! ?, q$ y% p, e0 \
//====================================================================================
uint ADS7843_rd(void)
{
uchar count=0;5 w/ X
uint dat=0;"
for(count=0;count<12;c
ount++)6 u) q.
{" E2
dat<<=1;' Z
DCLK=1; _nop_();_nop_();_nop_(); //下降沿有效
DCLK=0; _nop_();_nop_();_nop_();
if(DOUT)
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科触摸屏控制器ADS7843的底层驱动程序设计,使用C写的全文阅读和word下载服务。
相关推荐: