找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2849|回复: 0
打印 上一主题 下一主题
收起左侧

众拳STM8的触摸屏实验 附源代码

[复制链接]
跳转到指定楼层
楼主



用触摸笔在触摸屏上写字,画画等等。
芯片封装与管脚定义:


数字接口:
XPT2046数据接口是串行接口,其典型工作时序如图12所示,图中展示的信号来自带有基本串行接口的单片机或数据信号处理器。处理器和转换器之间的通信需要8个时钟周期,可采用SPI同步串行接口。一次完整的转换需要24个串行同步时钟(DCLK)来完成。
    前8个时钟用来通过DIN引脚输入控制字节。当转换器获取有关下一次转换的足够信息后,将进入采样模式。3个多时钟周期后,控制字节设置完成,转换器进入转换状态。接着的12个时钟周期将完成真正的模数转换,第13个时钟将输出转换结果的最后一位。剩下的3个多时钟周期将用来完成被转换器忽略的最后字节(DOUT置低)。


控制字节由DIN输入的控制字如表5所示,它用来启动转换,寻址,设置ADC分辨率,配置和对XPT2046进行掉电控制。表6给出控制字的各控制位的详细说明。


起始位——第一位,即S位。控制字的首位必须是1,即S=1。在XPT2046的DIN引脚检测到起始位前,所有的输入将被忽略。
地址——接下来的3位(A2、A1和A0)选择多路选择器的现行通道,触摸屏驱动和参考源输入。



MODE——模式选择位,用于设置ADC的分辨率。MODE=0,下一次的转换将是12位模式;MODE=1,下一次的转换将是8位模式。

SER/DFR——位控制参考源模式,选择单端模式(SER/DFR=1),或者差分模式(SER/DFR=0)。在X坐标、Y坐标和触摸压力测量中,为达到最佳性能,首选差分工作模式。参考电压来自开关驱动器的电压。在单端模式下,转换器的参考电压固定为VREF相对于GND引脚的电压。

PD0和PD1——ADC的内部参考电压可以单独关闭或者打开,但是,在转换前,需要额外的时间让内部参考电压稳定到最终稳定值;如果内部参考源处于掉电状态,还要确保有足够的唤醒时间。ADC要求是即时使用,无唤醒时间的。另外还得注意,当BUSY是高电平的时候,内部参考源禁止进入掉电模式。XPT2046的通道改变后,如果要关闭参考源,则要重新对XPT2046写入命令。



单片机源程序如下:
  1. /***********************************************************************
  2. *   说    明: 点亮第一个发光二极管
  3. *   开发平台: 剑齿虎STM8开发板        
  4. *
  5. *   作    者: 刘洋 张殿东
  6. *   版    本: V1.0
  7. *   日    期: 2016-05-03   
  8. *
  9. *   IAR开发环境    版本 V2.20.1
  10. *   ST库函数       版本 V2.2.0
  11. ***********************************************************************/

  12. #include "pbdata.h"//引入自定义公共头文件

  13. void BSP_Configuration(void);//硬件初始化函数声明

  14. /***********************************************************************
  15. *   函 数 名: main
  16. *   功能说明: c程序入口
  17. *   形    参:无
  18. *   返 回 值: 错误代码(无需处理)
  19. ***********************************************************************/
  20. int main(void)
  21. {
  22.   BSP_Configuration();//硬件驱动初始化函数
  23.   
  24.   LCD_Demo();
  25.   while(1)//主程序循环,反复执行循环体里的语句
  26.   {
  27.     TP_Demo();
  28.   }
  29. }
  30. /***********************************************************************
  31. *   函 数 名: BSP_Configuration
  32. *   功能说明: 初始化硬件设备。只需要调用一次。该函数配置CPU寄存器和外设的寄存器并初始化一些全局变量。
  33. *   形    参:无
  34. *   返 回 值: 无
  35. ***********************************************************************/
  36. void BSP_Configuration(void)
  37. {  
  38.   CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//时钟速度为内部16M,1分频,
  39.   UART1_Congfiguration();//调用RS232串口1初始化函数
  40.   LED_Init();//调用LED初始化函数
  41.   LCD_Init();
  42.   SPI_Configuration();
  43.   TP_Init();
  44.   rim();//打开总中断
  45. }

  46. /*断言函数:它的作用是在编程的过程中为程序提供参数检查*/
  47. #ifdef USE_FULL_ASSERT
  48. ……………………

  49. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码


所有资料51hei提供下载:
【众拳】剑齿虎STM8的代码下载:
众拳剑齿虎触摸屏程序.zip (2.44 MB, 下载次数: 17)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表