精华内容
下载资源
问答
  • 触摸芯片ADS7843+STM32触摸屏教程

    热门讨论 2013-03-29 09:43:11
    ADS7843是TI公司生产的4线电阻触摸屏转换接口芯片。具有内置12位模数转换、低导通电阻模拟开关的串行接口等特点。文档附带有STM32触摸屏开发程序,适合初次开发触摸屏的新手。
  • 触摸ADS7843芯片51驱动单片机程序
  • C语言例程,8051单片机驱动触摸芯片ADS7846ADS7843驱动芯片
  • 触摸芯片ADS7846_ADS7843驱动程序
  • ADS7846触摸屏专用驱动芯片,实现触摸屏快速,准确定位。
  • ADS7846/7843芯片 适合用在4线制触摸屏,它通过标准SPI协议和CPU通信,操作简单,精度高,当触摸屏被按下时(即有触摸事件发生)则ADS7846向CPU发中断请求,CPU接到请求后,应延时一下再响应其请求,目的是为了消除...
  • 触摸屏控制芯片ADS7843中文资料,很实用,翻译准确
  • 触摸屏控制芯片ads7843

    2012-04-12 15:37:00
    触摸屏控制芯片ads7843中文手册,详细资料,敬请参阅
  • 4线电阻触摸屏资料+ADS7843等控制芯片资料+ADS7843驱动程序源码
  • 触摸屏驱动芯片ADS7843在LINUX下驱动程序
  • 介绍触摸屏控制芯片ADS7843及其典型应用
  • C8051F020控制触摸芯片ADS7843源程序
  • 触摸芯片tsc2003

    2011-08-29 17:33:17
    TFT液晶 触摸芯片 tsc2003 四线控制
  • 韩国ADS TS12 触摸芯片驱动程序 C语言编写 经过实践验证成功
  • ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压2.7~5 V,参考电压VREF为1 V~+VCC,转换电压的输入范围为0~ VREF,最高转换速率为125 kHz。
  • ads7843 触摸屏接口

    2009-12-25 10:03:22
    介绍ads7843 触摸屏接口的功能特点和ads7843工作原理探讨了ads7843触摸屏接口芯片的模式选择和应用技巧.
  • ADS7843触摸屏接口

    2011-01-26 19:48:52
    简单介绍了简单介绍了ADS7843触摸屏接口的功能特点和工作原理,探讨了ADS7843触摸屏接口芯片的模式选择 和应用技巧,最后给出了基于该系统的一个实际使用方案。的功能特点和工作原理,探讨了ADS7843触摸屏接口芯片的...
  • ADS7843_四线触摸屏AD芯片初探

    千次阅读 2007-07-26 16:20:00
    /*[文件名] Touch.c[功 能] 8051单片机驱动ADS7846/ADS7843芯片[简 介] ADS7846/7843芯片 适合用在4线制触摸屏,它通过标准SPI协议和CPU通信,操作简单,精度高,当触摸屏被按下时(即有触摸事件发生)则ADS...

    /*
    [文件名] Touch.c
    [功 能] 8051单片机驱动ADS7846/ADS7843芯片
    [简 介] ADS7846/7843芯片 适合用在4线制触摸屏,它通过标准SPI协议和CPU通信,操作简单,精度高,当
    触摸屏被按下时(即有触摸事件发生)则ADS7846向CPU发中断请求,CPU接到请求后,应延时一下再响应
    其请求,目的是为了消除抖动使得采样更准确。如果一次采样不准确。
    [原作者] 鞠春阳
    [版 本] v1.1b
    [最后修改时间] 2004年3月31日 9:11
    */


        #include "reg51.h"
        #include "intrins.h"


        sbit DCLK=P1^6;
        sbit CS=P2^2;
        sbit DIN=P2^3;
        sbit DOUT=P2^4;
        sbit BUSY=P2^5;

        delay(unsigned char i--)
        {
        while(i--);
        }


        void start() //SPI开始
        {
        DCLK=0;
        CS=1;
        DIN=1;
        DCLK=1;
        CS=0;
        }

        WriteCharTo7843(unsigned char num) //SPI写数据
        {
        unsigned char count=0;
        DCLK=0;
        for(count=0;count<8;count++)
        {
        num<<=1;
        DIN=CY;
        DCLK=0; _nop_();_nop_();_nop_(); //上升沿有效
        DCLK=1; _nop_();_nop_();_nop_();
        }
        }


        ReadFromCharFrom7843() //SPI 读数据
        {
        unsigned char count=0;
        unsigned int Num=0;
        for(count=0;count<12;count++)
        {
        Num<<=1;
        DCLK=1; _nop_();_nop_();_nop_(); //下降沿有效
        DCLK=0; _nop_();_nop_();_nop_();
        if(DOUT) Num++;
        }
        return(Num);
        }

        void ZhongDuan() interrupt 0 //外部中断0 用来接受键盘发来的数据
        {
        unsigned int X=0,Y=0;
        delay(10000); //中断后延时以消除抖动,使得采样数据更准确
        start(); //启动SPI
        // while(BUSY); //如果BUSY信号不好使可以删除不用
        delay(2);
        WriteCharTo7843(0x90); //送控制字 10010000 即用差分方式读X坐标 详细请见有关资料
        // while(BUSY); //如果BUSY信号不好使可以删除不用
        delay(2);
        DCLK=1; _nop_();_nop_();_nop_();_nop_();
        DCLK=0; _nop_();_nop_();_nop_();_nop_();
        X=ReadFromCharFrom7843();
        WriteCharTo7843(0xD0); //送控制字 11010000 即用差分方式读Y坐标 详细请见有关资料
        DCLK=1; _nop_();_nop_();_nop_();_nop_();
        DCLK=0; _nop_();_nop_();_nop_();_nop_();
        Y=ReadFromCharFrom7843();
        CS=1;
        }


        main()
        {
        TMOD=0x11; // 记数器0 计数器1 都以 16 位 记数
        TCON=0x00;
        IE=0x83; //1000 0001 EA=1中断允许,
        IP=0x01;
        while(1);
        }

     
    展开全文
  • TSM12S 12键,电容触摸,灵敏度可调,I2C接口,超低功耗
  • 最近弄这个东西,收集了点资料,觉得不错分享下。
  • 介绍了ADS7843的功能特点和工作原理. 探讨了ADS7843触摸屏接口芯片的模式选择 和应用技巧.最后给出了基于该系统的一个实际使用方案
  • 这两个芯片稍有不同, 我还没写出来, 芯片数据手册上面写了的, 请参考~我的彩屏的大小是240*320~以下是代码 //common.h #ifndef __COMMON_H__ #define __COMMON_H__ #include &lt;reg52.h&gt; #...

    这两个芯片稍有不同, 我还没写出来, 芯片数据手册上面写了的, 请参考~

    我的彩屏的大小是240*320~
    以下是代码

    //common.h
    #ifndef __COMMON_H__
    #define __COMMON_H__
    
    #include <reg52.h>
    #include <intrins.h>
    
    typedef unsigned int uint;
    typedef unsigned char uchar;
    
    #endif// !__COMMON_H__
    //TouchPad.c
    #define __TOUCHPAD_C__
    #include "TouchPad.h"
    //我的屏幕接口
    //#include "gdi.h"
    
    sbit TP_CLK = P1^4; //时钟
    sbit TP_CS = P1^5;  //片选
    sbit TP_IN = P1^6;  //数据输入
    //sbit TP_BUSY = P1^3;  //我没有使用忙碌标志
    sbit TP_OUT = P1^7; //数据输出
    sbit TP_IRQ = P3^2; //通过INT0通知MCU
    
    /*
     * 函数:检测触摸屏是否处于中断中,在中断中调用检测
     * 参数:(无)
     * 返回:0-没有,非0:触摸屏被按下
     */
    uchar tp_isirq(void)
    {
        return !(uchar)TP_IRQ;
    }
    
    //开启外部中断1,通过外部中断通知MCU
    void tp_init(void)
    {
        EX0 = 1;
        IT0 = 1;
        EA = 1;
        TP_CS = 1;
        TP_CLK = 1;
        TP_IN = 1;
        TP_CLK = 1;
    }
    /* 函数:SPI方式写一个字节
     * 参数:ch:uchar:字节值
     * 返回:(无)
     */
    void tp_write(uchar ch)
    {
        uchar k;
        TP_CLK = 0;
        for(k=0; k<8; k++){
            ch <<= 1;
            TP_IN = CY;
            TP_CLK = 0;
            _nop_();
            TP_CLK = 1;
            _nop_();
        }
    }
    /*
     * 函数:SPI方式读函数
     * 参数:(无)
     * 返回值:12位有效数据
     */
    uint tp_read(void)
    {
        uchar k;
        uint ret = 0;
        for(k=0; k<12; k++){
            ret <<= 1;
            TP_CLK = 1;
            _nop_();
            TP_CLK = 0;
            _nop_();
            if(TP_OUT)
                ret++;
        }
        return ret;
    }
    
    /*
     * 函数:取得X,Y的坐标,但没有比较采样
     * 参数:struct tp_point 的结构体指针
     * 返回:(无)
     * 注释:外部不要调用, 有误差
     */
    void tp_get_pt(struct tp_point* pt)
    {
        TP_CS = 0;
        tp_write(0x90);//读取Y
        TP_CLK = 1;
        _nop_();
        TP_CLK = 0;
        _nop_();
        pt->y = tp_read();
        tp_write(0xd0);//读取X
        TP_CLK = 1;
        _nop_();
        TP_CLK = 0;
        _nop_();
        pt->x = tp_read();
        TP_CS = 1;
    }
    
    /*
     * 函数:取得触摸屏坐标函数
     * 参数: int型的x,y的指针
     * 返回值:
     *      返回0-采样失败
     *      返回非0-有效采样
    */
    int tp_get(int* px, int* py)
    {
        struct tp_point pt1;
        struct tp_point pt2;
        int x,y;
        //两次取值并采样
        tp_get_pt(&pt1);
        tp_get_pt(&pt2);
        x = pt1.x-pt2.x;
        y = pt1.y-pt2.y;
        //误差不是很大则有效
        if(x<2 && y<2)
        {
            //这个计算还不清楚,资料上的
            *px = 240-(pt1.x-330)*10/142;
            *py = 320-(pt1.y-380)/11;
            return 1;
        }
        return 0;
    }
    //TouchPad.h
    /*
        文件:TouchPad.h
        描述:触摸屏相关支持文件
        时间:2012-11-02
        作者:女孩不哭
        Q--Q:191035066
        文本:ts=4, sw=4, sts=4
    */
    
    
    #ifndef __TOUCHPAD_H__
    #define __TOUCHPAD_H__
    #include "common.h"
    //common.h
    /*
    typedef unsigned char uchar;
    typedef unsigned int uint;
    #include <reg52.h>
    */
    
    
    int tp_get(int* px, int* py);   //获取当前坐标点, 返回值不为零为有效
    void tp_init(void);             //触摸屏初始化函数
    uchar tp_isirq(void);           //判断触摸屏是否依然在中断中
    
    #ifdef __TOUCHPAD_C__
    //内部结构,函数
    struct tp_point{
        int x;
        int y;
    };
    
    void tp_get_pt(struct tp_point* pt);
    uint tp_read(void);
    void tp_write(uchar ch);
    
    #undef __TOUCHPAD_C__
    #endif
    
    
    
    #endif // !__TOUCHPAD_H__
    //示例使用方法
    //main.c
    #include "common.h"
    #include "TouchPad.h"
    
    //触摸屏通过外部中断0方式通知MCU进行采样
    //应该写在主模块中
    void int0(void) interrupt 0
    {
        int x=0,y=0;
        EA = 0;
        while(1){
            if(tp_isirq()){
                if(!tp_get(&x, &y))     
                    continue;   
                //x,y是取得的坐标
                //set_pixel是我的屏幕画点的函数
                //改成自己的使用方法
                //set_pixel(x,y, 0xaaaa);
                //set_pixel(x+1,y, 0xaaaa);
                //set_pixel(x,y+1, 0xaaaa);
                //set_pixel(x+1,y+1, 0xaaaa);
            }else{
                break;
            }
        }
        EA = 1;
    }
            
    
    
    void main(void)
    {
        //delay_ms(200);//自己实现
        tp_init();
        while(1)
            ;
    }

    女孩不哭(QQ:191035066)@2012-11-26 14:40:46 http://www.cnblogs.com/nbsofer

    展开全文
  • 摘 要: 简述了液晶触摸屏控制产品的工作原理以及用于触摸屏控制的专用芯片ADS7843的工作原理。无线数字扩频通信平台是无线扩频通信的一种开放式平台,在此基础上增加液晶触摸屏控制,可实现文字和图形的编辑和无线...
  • 触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点,相比键盘...设计触摸屏时,最重要的问题是准确定位触摸点的坐标位置,本文详细介绍了利用工业级芯片LPC2478与ADS7843设计四线电阻触摸屏的实际方案。
  • 本文介绍的利用芯片LPC2478与ADS7843设计四线电阻触摸屏的实际方案实现了具体功能。实际应用表明,采用LPC2478设计的触摸屏具有较强的可靠性以及环境适应性。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 690
精华内容 276
关键字:

ads触摸芯片