触摸屏控制芯片ADS7843中文资料(附c语言程序)

上传人:桔**** 文档编号:492297673 上传时间:2023-11-22 格式:DOCX 页数:19 大小:20.68KB
返回 下载 相关 举报
触摸屏控制芯片ADS7843中文资料(附c语言程序)_第1页
第1页 / 共19页
触摸屏控制芯片ADS7843中文资料(附c语言程序)_第2页
第2页 / 共19页
触摸屏控制芯片ADS7843中文资料(附c语言程序)_第3页
第3页 / 共19页
触摸屏控制芯片ADS7843中文资料(附c语言程序)_第4页
第4页 / 共19页
触摸屏控制芯片ADS7843中文资料(附c语言程序)_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《触摸屏控制芯片ADS7843中文资料(附c语言程序)》由会员分享,可在线阅读,更多相关《触摸屏控制芯片ADS7843中文资料(附c语言程序)(19页珍藏版)》请在金锄头文库上搜索。

1、触摸屏控制芯片ADS7843中文资料ADS7843是一个内置12位模数转换、低导通电阻模拟开关 的串行接口芯片。供电电压275 V,参考电压VREF为1V+VCC,转换电压的输入范围为0 VREF,最高转换速率为125 kHz。ADS7843引脚图及引脚功能说明了:ADS7843 的引脚配置如图3 所示。表1 为引脚功能说明,图4 为典型应用。aDS7843 引脚说明ADS7843 典型应用电路2.2 ADS7843的内部结构及参考电压模式选择ADS7843 之所以能实现对触摸屏的控制,是因为其内部结 构很容易实现电极电压的切换,并能进行快速 A/D 转换。图 5 所示为其内部结构,A2A0和

2、SER为控制寄存器中的控制位, 用来进行开关切换和参考电压的选择。ADS7843 支持两种参考电压输入模式:一种是参考电压固 定为VREF,另一种采取差动模式,参考电压来自驱动电极。这 两种模式分别如图6(a)、(b)所示。采用图6(b)的差动模式可以 消除开关导通压降带来的影响。表2和表3 为两种参考电压输入 模式所对应的内部开关状况。2.3 ADS7843的控制字及数据传输格式ADS7843 的控制字如表 4 所列,其中 S 为数据传输起始标 志位,该位必为1。A2A0进行通道选择(见表2和3)。MODE 用来选择 A/D 转换的精度, 1选择 8 位, 0选择 12 位。SER选择参考电

3、压的输入模式(见表2和3)。PD1、PD0选 择省电模式:00省电模式允许,在两次 A/D 转换之间掉电,且中断允 许;01同00,只是不允许中断;10保留;11禁止省电模式。为了完成一次电极电压切换和 A/D 转换,需要先通过串口 往 ADS7843 发送控制字,转换完成后再通过串口读出电压转换 值。标准的一次转换需要 24个时钟周期,如图 7 所示。由于串 口支持双向同时进行传送,并且在一次读数与下一次发控制字之 间可以重叠,所以转换速率可以提高到每次 16 个时钟周期,如 图8所示。如果条件允许,CPU可以产生15个CLK的话(比如 FPGAs和ASICs),转换速率还可以提高到每次15

4、个时钟周期, 如图 9 所示。2.4 A/D转换时序的程序设计ADS7843的典型应用如图4所示。假设P P接口与51单片 机的 P1.3P1.7 相连,现以一次转换需 24 个时钟周期为例,介 绍A/D转换时序的程序设计。; A/D 接口控制线DCLK BIT P1.3CS BIT P1.4DIN BIT P1.5BUSY BIT P1.6DOUT BIT P1.7; A/D 通道选择命令字和工作寄存器CHX EQU 094H ;通道X+的选择控制字CHY EQU 0D4H;通道Y+的选择控制字CH3 EQU 0A4HCH4 EQU 0E4HAD_CH EQU 35H ;通道选择寄存器AD_

5、RESULTH EQU 36H 存放 12 bit A/D 值AD_RESULTL EQU 37H;存放通道CHX+的A/D值CHXAdResultH EQU 38HCHXAdResultL EQU 39H;存放通道CHY+的A/D值CHYAdResultH EQU 3AHCHYAdResultL EQU 3BH;采集通道CHX+的程序段(CHXAD)CHXAD: MOV AD_CH,#CHXLCALL AD_RUNMOV CHXAdResultH,AD_RESULTHMOV CHXAdResultL,AD_RESULTLRET;采集通道CHY+的程序段(CHYAD)CHYAD: MOV AD

6、_CH,#CHYLCALL AD_RUNMOV CHYAdResultH,AD_RESULTHMOV CHYAdResultL,AD_RESULTLRET;A/D转换子程序(AD_RUN);输入:AD_CH蟆式和通道选择命令字;输出:AD_RESULTH,L ;12 bit的 A/D 转换值; 使用: R2 ;辅助工作寄存器AD_RUN:CLR CS ; 芯片允许CLR DCLKMOV R2,#8 ;先写8 bit命令字MOV A,AD_CHAD_LOOP:MOV C, ACC.7MOV DIN,C ;时钟上升沿锁存DINSETB DCLK ;开始发送命令字CLR DCLK ;时钟脉冲,一共

7、24个RL ADJNZ R2,AD_LOOPNOPNOPNOPNOPADW0: JNB BUSY,AD_WAIT ;等待转换完成SJMP ADW1AD_WAIT:LCALL WATCHDOGNOPSJMP ADW0CLR DINADW1: MOV R2,#12 ;开始读取 12bit 结果SETB DCLKCLR DCLKAD_READ:SETB DCLKCLR DCLK ;用时钟的下降沿读取MOV A,AD_RESULTLMOV C,DOUTRLC AMOV AD_RESULTL,AMOV A,AD_RESULTHRLC AMOV AD_RESULTH,ADJNZ R2,AD_READMOV

8、 R2,#4 ;最后是没用的 4个时钟IGNORE:SETB DCLKCLR DCLKDJNZ R2,IGNORESETB CS ;禁止芯片ANL AD_RESULTH,#0FH ;屏蔽高 4 bitRET2.5 A/D转换结果的数据格式ADS7843 转换结果为二进制格式。需要说明的是,在进行 公式计算时,参考电压在两种输入模式中是不一样的。而且,如 果选取8位的转换精度,1LSB=VREF/256,次转换完成时间 可以提前 4个时钟周期,此时串口时钟速率也可以提高一倍。本 文 来 自 : DZ3W.COM 原 文 网 址 : http:/ V,参考电压VREF为1 V+VCC,转换电压的输

9、入范围为0 VREF,最高转换速率为125 kHz。/= / ADS7843 驱动程序(串行)硬件连接:DCLK P0A0;/CS P0A1;/DIN P0A2;/BUSY P0A3/DOUT P0A4/PENIRQP3A2;/VDD-逻辑电源(+5V)/VSS-GND(0V)/ADS7843.c/writer:谷雨2008年7月23日于EDA实验室/=#include/STC 单片机头文件#include #define uint unsigned int #define uchar unsigned charsbit DCLK = P0A0; sbit CS= P0A1;sbit DIN

10、= P0A2;sbit BUSY = P0A3; sbit DOUT = P0A4; sbit PENIRQ = P3A2;/时钟信号,下降沿有效/片选信号,低电平有效 /串行数据输入/忙信号/串行数据输出/键盘中断请求信号,低电平(负边沿)有效 void Tranfer(char Data); uint average(uint a8);/=函数名称:void delay(uint us)/函数功能:延时子函数入口参数:us延时时间/出口参数:无/= void delay(uint us)while(us-);函数名称:void ADS7843_start(void)函数功能:ADS7843

11、启动/入口参数:无/出口参数:无/= void ADS7843_start(void)DCLK=0;CS=1;DIN=1;DCLK=1;CS=0;/=函数名称:void ADS7843_wr(uchar dat)/函数功能:写 ADS7843入口参数:dat写入的数据/出口参数:无/= void ADS7843_wr(uchar dat)uchar count;DCLK=0;for(count=0;count8;count+) dat=1;DIN=CY;DCLK=0;_nop_();_nop_();_nop_();DCLK=1;_nop_();_nop_();_nop_();函数名称:uint

12、 ADS7843_rd(void)/函数功能:读 ADS7843/入口参数:无/出口参数:读回的坐标值/= uint ADS7843_rd(void)uchar count=0;uint dat=0;for(count=0;count12;count+)dat=1;DCLK=1; _nop_();_nop_();_nop_(); /下降沿有效DCLK=0; _nop_();_nop_();_nop_();if(DOUT)dat+;return(dat);/=函数名称:void intr0_int()/函数功能:外中断 0中断服务函数/入口参数:无/出口参数:无/= void intr0_int() interrupt 0 using 2uint X=0,Y=0,a4,i, avex,avey,x8,y8;IE=0;/关中断delay(100);/中断后延

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 电气技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号