触摸屏芯片ADS7846/ADS7843驱动程序(C51)

发布者:心灵清澈最新更新时间:2012-09-29 来源: 21ic 关键字:触摸屏  ADS7846 手机看文章 扫描二维码
随时随地手机看文章

/*
[文件名] 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);
    }

关键字:触摸屏  ADS7846 引用地址:触摸屏芯片ADS7846/ADS7843驱动程序(C51)

上一篇:AT24C01/02/04/08/16/32系列EEPROM读写程序
下一篇:单片机应用中的实用技巧(二)

推荐阅读最新更新时间:2024-03-16 13:09

基于C8051F040的模型车无线控制系统的设计
0 引 言     汽车耐久性试验是汽车试验的重要组成部分,而在试验过程中试验人员驾驶行为的变化,往往导致实验结果不一致,从而降低了实验数据的有效性。因此各大汽车公司相继采用驾驶机器人代替试验人员进行汽车试验。利用驾驶机器人进行试验对于减轻人类劳动强度,降低试验环境对试验人员的伤害,提高试验效率、试验结果的客观性和准确度,节省试验费用,进而加速汽车研发进度都有重要的意义。     为了测试驾驶机器人以及驾驶算法的可靠性,必须有一个仿真驾驶系统能满足驾驶机器人的要求。本文所设计模型车无线控制系统则是实现机器人仿真驾驶的主要环节,为驾驶机器人及其驾驶算法提供了实验平台。     系统采用了1:10电动模型车,速度的调节由电子调速器和一个
[嵌入式]
基于嵌入式系统中触摸屏交互功能模块设计
  1 引 言   嵌入式系统拉近了人与计算机的距离,形成一个人机和谐的工作与生活环境。从某一个角度来看,触摸屏作为嵌入式计算机系统中一体化的输入输出设备,在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均得到广泛应用,影响到人类工作与生活的各个领域并极具应用前景,它与嵌入式系统的交互功能的程序设计是整个系统设计的关键。本文描述的这样的设计过程,对其中的技术问题给出了详细的解释。功能设计基于ARM920T内核的S3C2410芯片,以GX开发板为硬件平台,是以 Windows CE为操作系统实现的图文交互界面模块。   2 系统交互功能的设计   2.1 系统构架   通常嵌入式系统
[单片机]
基于嵌入式系统中<font color='red'>触摸屏</font>交互功能模块设计
苹果收购特斯拉大猜想:触摸屏迎新机遇
    近来,苹果这类互联网巨头的一举一动,均能在全球资本市场引发广泛的跟风潮。据国外媒体报道,苹果从去年开始就已在考虑收购著名电动汽车厂商特斯拉(Tesla)。据消息人士透露,苹果合并与收购部门负责人阿德瑞安·派瑞卡(Adrian Perica)去年春天曾与特斯拉CEO艾伦·马斯克(Elon Musk)在苹果总部会面;与此同时,马斯克当时似乎也和苹果CEO蒂姆·库克(Tim Cook)进行了会面。业内人士表示,不排除苹果与特斯拉高层的会面存在将会谈主题转向收购的可能。作为目前各自行业中最热门的企业,一旦苹果与特斯拉宣布合作,则无疑会加速推进汽车智能化的发展,尤其是特斯拉“挖”来苹果硬件VP,更会对车载电子硬件的革命化浪潮起到推波助
[手机便携]
爱特梅尔推出业界首个用于最大15.6英寸触摸屏的 超低功率单芯片触摸控制器
微控制器及触摸技术解决方案的领导厂商爱特梅尔公司(Atmel® Corporation)宣布推出支持最大23英寸触摸屏的下一代产品系列maXTouch® T Series,用于手机、平板电脑、Ultrabook、笔记本电脑和一体式电脑等应用。 该系列中的首款器件mXT2952T是世界上首个超低功率单芯片器件,支持最大15.6英寸的Windows® 8认证过的触摸屏,并且优化支持覆层玻璃厚度薄至0.4mm的触摸屏。 全新T系列提供了具有互电容和自电容的革新性自适应感测架构,以优化其性能。maXTouch T系列自动控制选择最佳的感测架构,实现无缝开关,以达到更高的性能和更低的功耗。互电容实现了真正的多点触摸跟踪,同时自电容提
[单片机]
博世推出专为智能家居虚拟触摸屏BML100PI模块
在中国上海举行的慕尼黑上海电子展上,Bosch Sensortec展示了BML100PI,这是一款能够为智能家居各类表面增加虚拟触摸屏的互动投影模块,可将普通储物架变为个人助理。 BML100PI模块为交互式投影提供了一套完整的即用型解决方案,可实现高度灵活的虚拟触摸屏。所生成的激光束可在任何表面上创建无需聚焦图像,然后逐行扫描以检测任何手势或手指移动。准确的手势和触摸识别无需校准或调整。Bosch Sensortec的交互式投影模块为所有智能家居设备增添触摸屏,并可实现高度直观的用户体验,与静态物理屏幕相比,可谓是一种完全灵活的替代产品。 智能家居的私人助理 家用设备制造商可以使用BML100PI来创建“智能储物架”,包
[嵌入式]
博世推出专为智能家居虚拟<font color='red'>触摸屏</font>BML100PI模块
ATMEL8051系列单片机选型指南
ATMEL8051系列单片机主要特性列表 (一) 型号/特性 AT89C51 AT89C52 AT89S51 AT89S52 AT89S53 AT87F51 AT87F52 程序存储器 4k Flash 8k Flash 4k Flash 8k Flash 12k Flash 4k OTP 8k OTP 数据存储器 128 256 128 256 128 256 工作频率(MHz) 33 24 33 定时/计数器 2 3 2 3 2 3 UART通道 1 A/D转换器 WDT - yes S
[单片机]
基于LabVIEW和C8051F350的纺丝张力监控系统
摘要:针对纺纱、假捻加工过程中丝线张力不稳定而影响产品质量的问题,对基于LabVIEW和C8051F350单片机的纺丝在线张力监控系统进行了研究。系统运用全新虚拟仪器开发平台LabVIEW作为上住机,结合嵌入式混合信号微处理芯片C8051F350单片机测量系统,对纺丝张力进行监控。实验表明,该监控系统可使张力的数据采集和处理变得更加简单、方便,可节省大量的人力、物力资源。 关键词:LabVIEW;C8051F350;张力传感器;数据采集 0 引言 丝线张力是纺纱、假捻等加工过程中影响产品质量与加工效率的一个重要参数。其中,丝线张力波动越大,产品质量越差,并将影响后序加工产品的外观及舒适性。因此需对生产过程中丝线张力加以监测、
[单片机]
基于LabVIEW和C<font color='red'>8051</font>F350的纺丝张力监控系统
通过利用C8051F020单片机实现立体声信号相位差电平差测试仪的设计
将LR立体声信号经频谱分析、整形及占空比检测电路进行处理,采用过零鉴相法,通过测矩形波占空比,实现相位差的测试。将LR信号用AD736专用芯片实现AC/DC转换,通过单片机编程,得到LR电平差。 在立体声播音或放音时,如果左右声道信号存在相位差和电平差,对播音或放音质量将会产生一定影响,出现声像漂移、音量减小、噪音增大和失真等故障现象。左右声道相位差电平差越大,音质也越差,严重时还会造成无音故障。 为此文中设计了立体声信号相位差电平差测试仪,只有准确测出相位差电平差,再用补偿电路进行修正,才能保证播音或放音质量,更好地满足人们欣赏到音质优美的广播或音乐的需要。 1 设计方案 如图1所示,是立体声信号相位差电平差测试仪原理方
[单片机]
通过利用C<font color='red'>8051</font>F020单片机实现立体声信号相位差电平差测试仪的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved