版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARMSTM32开STM32开发板库函数--实战STM32触摸屏工作原理及程序设概触摸屏原的触摸屏技术4种,即四线电阻式、电容式、红线式、表面声波式,在这里微快速的触碰(响应时间最快3ms),所以它不怕污染和带手套触摸等,但控制器侦测到这个接通后,进行A/D换,并将得到的电压5V比,式触摸屏都采用分压器原理来产生代表X标和Y的电压。分压器是通款电阻触摸屏,具体参考“图4.33.2外扩的触摸屏实物”,主要有三种规格:2.4寸、3.2寸、4.3寸。2.43.24.34.33.13.2触摸片位置”红色矩形区域所示,我们的触摸屏模块直接插到这个插座上就了图4.33.23.2寸触摸屏触控位XPT2046触摸屏控制说XPT2046是一款4线制电阻式触摸屏控制器,内含12位分辨率125KHz转换速率逐步近型A/D转换器。XPT2046支持从1.5V到5.25V的低电压I/OXPT2046通过执行两次A/D换查出被按的屏幕位0V6V。XPT2046片内集成有一个温度传感器。在2.7V的典型工作状态在2.7V的典型工作状态下,关闭参考电压,功耗可小于0.75mW。XPT2046用微小的封装形式:TSSOP-16,QFN-16和VFBGA-48。工作温范围为-40℃~+85℃。与ADS7846、TSC2046、AK4182A完全兼容。XPT2046主要特1.5V~5.25V数电源电压测量内建结温测量功触摸压力测采用3线制SPI通具有自动省电功XPT2046引脚功能说号TSSOP脚VFBGA脚名说1忙时信号线CS为高电平时为高阻2上升沿锁存进3片选信号。控制转换时序和使能串行输入输出存器,高电平时ADC4外部时钟信号输51B1电源输入627384956G4地7电源监视输入8ADC辅助输入通9参考电压输入/输数字电源输入笔接触中断引串行数据输出端。数据在DCLK的下降沿CS为高电平时为高阻态XPT2046数字接中展示的信号来自带有基本串行接口的单片机或数据信号处理器。处理转换器之间的通信需要8个时钟周期,可采用SPI同步串行接口。一次完整的转换需要24个串行同步时钟(DCLK)来完成。前8个时钟用来通过DIN引脚输入控制字节。当转换器获取有关下一次转转换器进入转换状态。接12时钟周期将完成真正的模数转13个时钟将输出转换结果的最后一位。剩下的3个多时钟周期将用来完成被转换器忽略的最后字节(DOUT置低)。4.33.3时设置ADC分辨率,配置和XPT2046掉电控制。附3给出控制字控制位的详细说明S位名功能描S6-A2-3位分辨2单端输入方式/查分输入方式选择位。为1是单端输入方式,为0是差输入方1-PD1-低功率模式选择位。若为11,器件总处于供电状态;若为00,器件换之间处于低起始位——第一位,即S位。控制字的首位必须是1,即S=1。在的DIN引脚检测到起始位前,所有的输入将被忽略-Y-位X-位Z1-位Z2-位驱001测011测100测101测MODE——模式选择位,用于设置ADC分辨率。MODE=0,下一次的转换将是12位模式;MODE=1,下一次的转换将是8位模式。模式(SER/DFR=0)。在X标、Y标和触摸压力测量中,为达到最佳性转换器的参考电压固定为VREF相对于GND引脚的电压。PD0和PD1——ADC内部参考电压可以单独关闭或者打开,但是,在转换间的。另外还得注意,当BUSY是高电平的时候,内部参考源进入掉电入命令附表 掉电和内部参考电压选功能说00使在两次A/D转换之间掉电,下次转换一开始,立即进入完全上电状态而无需额外的延时。在这种模式下,YN开关一直处于ON状态01参考电压关闭,ADC打10使参考电压打开,ADC关11处于上电状态,参考电压和ADC总是打XPT2046工作时详细工作时序请参考《XPT2046用户手册》实验目通过这个实验我们要熟悉3.2寸触摸屏的基本程序设计结构,通过程序图,因为所有程序的编写都要严格按照硬件工作的时序来设计,硬大黄蜂实验板触摸屏硬件设3.2即可。触摸屏采用标准的SPI通讯方式。下面简单介绍LCD接口功能。4.33.4触摸屏扩展槽PD7-LCD-CS:LCD片选信号PE1-LCD-RST:LCD复位信号PD5-nWE:写使能,连接LCDRWPD4-nOE:输出使能连接LCD的RD脚16位双向数据线;PD13-LIGHT-:LCD背光控制软件设软件设计说1、采用SPI通讯方式2、这套程序严格按照SPI工作时序编写,要使触摸屏正常工作,在程序设计中要关闭以太网和FLASH,因为他们公用SPI接口,必须以多选一通讯3、在这个实验程序中,我们为了程序简单化,就采用查询的方式STM32库函数文Misc.c//中断控制字(优先级设置)库函数stm32f10x_exti.c//外部中断库处理函数stm32f10x_tim.c//定时器库处理函数stm32f10x_usart.c//串口通讯函数stm32f10x_fsmc.c//FSMC通讯函数stm32f10x_spi.c//SPI通讯函数以上库文件包含了本次实验所有要用到的函数功自定义头文pbdata.h文件里的内容#ifndef#ifndef_pbdata_H#define#include"misc.h"#include"stm32f10x_exti.h"#include"stm32f10x_tim.h"#include"stm32f10x_spi.h"#include"stm32_spi.h"stm32_spi.h#include"stm32_touch.h"stm32_touch.h#include"stdio.h"#include"stm32_fsmc.h"stm32_fsmcexternu8dt;voiddelay(u32nCount);voiddelay_us(u32nus);voiddelay_ms(u16现错误提示。如果不加这两条语句,当两个文件同时调用pbdata件时,pbdata.c文件里的内容下面是pbdata.c文件详细内容,在文件开始还是“pbdata.h”文件u8dt=0;{RCC_DeInit();/*将外设RCC寄存器重设为缺省值*/ if(RCC_WaitForHSEStartUp()SUCCESS)/*HSE起振,—AHB时钟——APB2时钟——APB1HCLK /*使能PLL*/while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)RESET)/*RCC while(RCC_GetSYSCLKSource()!= /*0x08:PLL作为系统时钟}}voiddelay(u32{for(;nCount!=0;nCount--} 称:delay_us(u32 能:微秒延时函参数:u32 明voiddelay_us(u32{u32SysTick->LOAD={temp=SysTick- SysTick->CTRL=0x00;SysTick->VAL=0X00;} 称:delay_ms(u16 能:毫秒延时函参数:u16 明voiddelay_ms(u16{u32SysTick->LOAD=9000*nms;{ SysTick->CTRL=0x00;//关闭计数器SysTick->VAL=0X00;}STM32系统时钟配置每个工程都必须在开始时配置并启动STM32系统时钟,这点很重要GPIO引脚时钟使}本节实验用到了PA端口、PB端口、PC端口、PD端口、PE端口,所以要打开这些端口的使能;串口1时钟源是通过APB2预分频器得到的,串口是一定要打开FSMC功能服用,FSMC时钟是AHB产生,这点要注意。GPIO在主程序中采用while(1)循环语句{{{{{}tp_x=tp_x/17;//3.2寸}}}stm32_spi.h文件里的内#ifndef#ifndef_STM32_SPI_H#defineu8SPI1_SendByte(u8byte);stm32_spi.c文件里的内#include#includevoid{SPI_InitTypeDefSPI_InitStructure; //flash片选SPI_InitStructure.SPI_CRCPolynomial=7;SPI_Cmd(SPI1,ENABLE);//使能SPI FLASH}u8SPI1_SendByte(u8{returnSPI_I2S_ReceiveData(SPI1);}stm32_touch.h文件里的内注释中。stm32_touch.h的内容如下#ifndef#ifndef#define#include#define#define#definePENGPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6)//voidTouch_GPIO(void);// u16TPReadX(void);// 触摸屏X轴函数u16TPReadY(void);// 触摸屏Y轴函数stm32_touch.c文件里的内#include#includevoidTouch_GPIO(void)//{GPIO_InitTypeDef}u16u16 { 12return}u16{u16return}main.c文件里的内容#include#includevoidRCC_Configuration(void);voidvoidintfputc(intch,FILE{returnch;}int{u16u16buffer[2][10]={{0},{0}};//定义二维数组SPI1_Configuration();//SPI1初始化{{{{{}tp_x=tp_x/17;//3.2寸触摸屏}}}}void{}void{GPIO_InitTypeDef//FSMC管脚初始化GPIO_InitStructure.GPIO_Pin=GPIO_Pin_14|GPIO_Pin_15 GPIO_InitStructure.GPIO_Pin |GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;//NE1}voidvoid{NVIC_InitTypeDefNVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语文-山东省淄博市2024-2025学年第一学期高三期末摸底质量检测试题和答案
- 幼儿园后勤个人工作总结6篇
- 小学数学二年级加减法练习题
- 《新闻采访和写作》课件
- 高考语文试题分类汇编词语运用
- 《小讲课糖尿病》课件
- 《淘宝网用户特征》课件
- 早餐行业客服工作总结微笑服务增添早餐味道
- 《淋病医学》课件
- 泌尿科医生的工作总结
- 中央2024年国家药品监督管理局中国食品药品检定研究院招聘笔试历年典型考题及考点附答案解析
- 小学语文四年级上册单元作业整体设计案例
- DB32-T 4752-2024 一体化污水处理设备通.用技术要求
- 2024年新高考Ⅰ卷作文审题立意及写作指导+课件
- 2024年山东临沂市恒源热力集团限公司高校毕业生招聘9人重点基础提升难、易点模拟试题(共500题)附带答案详解
- 2024年房屋顶账协议模板(二篇)
- 美国史智慧树知到期末考试答案章节答案2024年东北师范大学
- 售后服务方案及运维方案
- 机加工工作计划安排
- 2024年巴西手游市场市场前景及投资研究报告
- 习惯性违章培训
评论
0/150
提交评论