触摸屏LED彩色台灯的设计

数字信号采集

8人已加入

描述

  一、总体设计

  系统的总体框图如图1 所示。系统可有输入,输出,控制三部分组成,当触摸屏被按下触摸屏芯片读取触摸屏上X 轴与Y 轴的值,然后通过SPI 协议传送到控制器,控制器负责信号的处理,把处理完毕的信号以PWM 方式输出驱动LED.

C语言程序

  图1 系统总体框图

  二、触摸屏的使用

  本系统选择电阻式触摸屏,它将矩形区域中触摸点(X,Y) 的物理位置转换为代表X 坐标和Y 坐标的电压其触摸屏结构如图2 所示。图3 显示了四线触摸屏在两层相接触时的简化模型。对于四线触摸屏,最理想的连接方法是将偏置为VREF 的总线接ADC 的正参考输入端,并将设置为0V 的总线接ADC 的负参考输入端。

C语言程序

  图2 电阻触摸屏结构。

C语言程序

  图3 电阻触摸屏简化模型

  三、接口电路设计

  1. 控制器与触摸屏连接

  本系统采用美国TI 公司生产的ADS7843,该芯片内置12 位AD 转换、低导通电阻模拟开关的SPI 总线接口触摸屏控制。供电电压为2.7 ~ 5.25V,参考电压VREF 为1V~+VCC,转换电压范围为0 ~ VREF,控制器可通过内置的SPI 输出口MOSI、MISO、SCK 与触摸屏芯片进行连接,如图4 所示。

C语言程序

  图4 单片机与触摸屏接口电路图

  2. LED驱动电路

  控制器输出PWM 波形作为驱动电路的驱动信号,三极管Q1 作为斩波器件。当驱动信号为高电平时三极管处于截止状态,LED 不亮;当输入信号为低电平三极管处于导通状态,LED 点亮。红色LED 的驱动电路如图5 所示,绿色与蓝色LED 的驱动电路的结构与红色的相同,单片机的PB7 端为绿色LED 的驱动信号,PD4 为蓝色LED 的驱动信号。

C语言程序

  图5 红色LED的驱动电路图

  四、系统的程序设计

  1.系统总流程图

  系统硬件可以分为输入、控制、输出部分,其中控制部分是连接输入、输出。单片机程序决定输入如何影响输出,输出如何响应输入,其具体框图如图6 所示。单片机对ADS7843 进行读取后对数据进行坐标变换,最后把处理的值输出驱动LED.

C语言程序

  图6 系统软件流程图。

  2.触摸屏坐标读取

  所谓的触摸点坐标是指当触摸屏被按下时触摸芯片读出的X 轴与Y 轴的数值。触摸坐标的读取时非常关键的,它是触摸屏使用过程中最重要的环节,若触摸点坐标有误,将导致单片机错误处理。首先使能ADS7843,然后向ADS7843 写入测量X 坐标的控制字,延时若干毫秒后,读取ADS7843 的转换数据。读取的数据即X 的坐标值;再把测量Y 坐标控制字写入ADS7843,延时若干毫秒后,读取ADS7843 的转换数据,就得到了Y 坐标的值,然后禁止ADS7843.这样既完成了一次读取坐标值的过程。其具体流程如图7所示。

C语言程序

  图7 ADS7843读取框图

  3.系统坐标校准处理

  由于任意两个触摸屏上的点密度都不可能完全一致,所以要求在使用触摸屏之前,必须进行校准。校准方式有两点校准,三点校准,四点校准等。其中,校准的点数越多,触摸屏数据越精确,校准也越繁琐。本系统使用两点校准的方法对触摸屏进行校准。

  (1) 先分别测试触摸屏左下角及右上角的坐标(ads7843_xmin,ads7843_ymin);(ads7843_xmax,ads7843_ymax);

  (2) 计算水平方向的比率(ads7843_xts)和垂直方向的比率(ads7843_yts);

  (3)假设液晶屏中的当前点是液晶屏坐标(X,Y):

  当前点的触摸屏的X 坐标=X× ads7843_xts+ ads7843_xmin ;

  当前点的触摸屏的Y 坐标=Y× ads7843_yts+ ads7843_ymin ;

  系统执行校准程序后把触摸屏左下角, 右下角的坐标值与水平方向的比率存放如单片机EEPROM 中,每当系统重新启动时调用对应的数值有于对触摸位置的判别。

  4.控制器SPI通讯

  控制器ATmega48内部集成SPI通讯所需的软硬件功能,主机和从机之间的SPI 连接如图8所示。系统包括两个移位寄存器和一个主机时钟发生器,通过将从机的 SS引脚拉低,主机启动一次通讯过程。主机和从机将需要发送的数据放入相应的移位寄存器。主机在SCK引脚上产生时钟脉冲以交换数据。主机的数据从主机的MOSI移出,从从机的MOSI移入;从机的数据从从机的MISO移出,从主机的MISO移入。主机通过将从机的SS拉高实现与从机的同步。

C语言程序

  图8 控制器SPI通讯框图

  A D S 7 8 4 3 读写时序如图9 所示。由此可见ADS7843 SPI接口的一次完整操作需要3×8=24个DCLK时钟周期,前8个脉冲接收8位的命令,并在第6个脉冲的上升沿开始A/D转换器进入采样阶段,从第9个脉冲开始进入转换阶段,输出12位采样值,转换结束进入空闲阶段。直到24个DCLK结束,CS置高电平,一次测量结束。

C语言程序

  图9 单端模式的数据读写

  5.控制器PWM输出

  系统使用了控制器快速PWM 模式对驱动控制,当系统采用8MHz 晶振频率是快速PWM 模式频率最大值为31.25KHz.计数器从BOTTOM计到MAX,然后立即回到BOTTOM 重新开始。

  对于普通的比较输出模式,输出比较引脚OCRn在TCNTn 与OCRn 匹配时清零, 在BOTTOM时置位;对于反向比较输出模式,OCRn 的动作正好相反。具体的时序图如图10 所示。图中柱状的TCNTn 表示这是单边斜坡操作。方框图同时包含了普通的PWM 输出以及方向PWM 输出。

  TCNTn 斜坡上的短水平线表示OCRn 和TCNTn的比较匹配。产生PWM 波形的机理是OCRn 寄存器在OCRnX 与TCNTn 匹配时置位( 或清零),以及在计数器清零( 从TOP 变为BOTTOM)的那一个定时器时钟周期清零( 或置位)。输出的PWM 频率可以通过如下公式计算得到:

  变量N 代表分频因子(1、8、64、256 或1024)。

C语言程序

  图10 快速PWM时序图

  五、结论

  LED 在控制电路及控制方式的简易与颜色的多样性使其在多彩照明方面具有极大的发展,多彩LED 只要配以简单的控制方可发出不同的颜色,颜色控制设备的多样性可供用户选择。无论如何LED 的上述特点都是其成为多彩照明中的光源首选,使用LED能为我们未来的生活带来缤纷的色彩。多彩LED 照明系统是一个极具开发前景的课题,随着国家对大功率LED 的进一步推广LED 的造价会继续下降,LED 灯具的普及将会很快到来。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分