基于单片机的卷曲纠偏系统的设计学士学位论文.doc

上传人:laozhun 文档编号:4022490 上传时间:2023-04-01 格式:DOC 页数:48 大小:2.40MB
返回 下载 相关 举报
基于单片机的卷曲纠偏系统的设计学士学位论文.doc_第1页
第1页 / 共48页
基于单片机的卷曲纠偏系统的设计学士学位论文.doc_第2页
第2页 / 共48页
基于单片机的卷曲纠偏系统的设计学士学位论文.doc_第3页
第3页 / 共48页
基于单片机的卷曲纠偏系统的设计学士学位论文.doc_第4页
第4页 / 共48页
基于单片机的卷曲纠偏系统的设计学士学位论文.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于单片机的卷曲纠偏系统的设计学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的卷曲纠偏系统的设计学士学位论文.doc(48页珍藏版)》请在三一办公上搜索。

1、北方民族大学学士学位论文 论文题目: 基于单片机的卷曲纠偏系统的设计 院(部)名 称: 电气信息工程学院 学 生 姓 名: 赵斌 专 业: 电气自动化 学 号: 20093401 指导教师姓名: 郑华 论文提交时间: 2013年5月20日 论文答辩时间: 2013年5月25日 学位授予时间: 北方民族大学教务处摘 要随着工业生产,社会的进步的发展,人们对工业生产的生产线的自动化要求越来越高。在自动生产线中,纠偏系统的作用更显得尤为突出,它的主要作用是检测生产线上的物料是否出现偏移,当出现偏移的时候,纠偏系统可以对物料进行调整控制,让其恢复到正常位置,以保证卷绕、分切的整齐。本文论述了一种由Co

2、rtex-M3控制器组成的具有自动模式和手动模式的纠偏系统。该系统由光电传感器电路、时钟和复位电路、TFT触摸屏电路、控制输出电路和处理器模块构成。通过光电传感器检测边线的位置,拾取边线位置偏差信号,当发现出现偏差时,启动PWM信号和方向信号控制输出电路输出,及时纠正位置偏差。系统使用TFT显示屏对系统工作状态、工作模式进行显示,使用触摸屏界面上的按钮对工作模式、手动模式下左移和右移进行切换。同时系统还有左、右限位开关,起到防止系统失控的作用。关键词:自动控制,Cortex-M3,纠偏系统AbstractWith the development of industrial production

3、, automation of production lines have become increasingly demanding. In automated production lines, the correction system is particularly prominent role, his main role is to detect whether the material production line offset when offset correction system can adjust the material control, to return it

4、 to its normal position, in order to ensure winding, slitting and tidy.This paper discusses a Cortex-M3 controller correction system with automatic and manual modes. The system uses the position of the photoelectric sensor detects edges, pick up the edge position deviation signal to start the PWM si

5、gnal and the direction signal control output circuit output, and promptly correct position deviation when the deviation. System uses TFT screen display system status, operating mode, use the buttons on the touch-screen interface on the operating mode, manual mode to switch the left and the right. Sy

6、stem as well as the left and right limit switch, play a role to prevent the system out of control.Keywords: Automatic control, Cortex-M3, the correction system目 录摘 要IAbstractII目 录III第1章 系统总体设计11.1 系统背景及意义11.2 设计任务及要求11.3 系统总体设计方案1第2章 系统硬件各模块设计32.1 STM32简介32.2 STM32结构52.3 STM32处理器硬件电路设计62.4 电源电路设计72.

7、5 光电传感器电路设计82.6 TFT触摸屏电路设计92.7 控制电路设计132.7.1 PWM简介132.7.2 STM32的PWM模式132.7.3 控制输出电路设计15第3章 系统编程环境搭建及软件设计173.1 系统软件设计173.2 显示模块设计173.3触摸屏软件设计203.3 控制输出软件设计283.3 显示界面设计29第4章 系统调试与总结314.1 JLink介绍314.2 软件调试324.3 总结34致 谢35参考文献36附 录 137第1章 系统总体设计1.1 系统背景及意义随着现代科学技术水平的不断提高,工厂生产自动化水平也越来越高。目前,物料的放卷、收卷、传送等操作已

8、基本实现自动化,然而在生产流水线中经常会因为各种原因导致物料在传送过程中产生偏差,比如物料在放卷、收卷、传送时会发生纵向偏移;物料在前后进行拼接的过程中,可能前后拼接不整齐等等1。这些问题在工业生产中都是不允许出现的,所以我们需要设计一套具有自动纠偏功能的控制系统。1.2 设计任务及要求设计一纠偏控制系统,跟踪输送过程的产品物料的标志线或者边缘线,对此过程中的位置偏移进行修正,保证物料在卷绕、分切时的整齐性。该系统可以自动检测,并对出现的偏差进行修正,同时还具有手动调整的功能。设计的纠偏控制系统具有自动跟踪、检测、纠偏等功能。系统采用STM32单片机实现,通过光电传感器检测标志线和边缘线,对出

9、现的偏差发出信号,TFT屏显示系统工作状态,工作模式,触摸屏控制系统的工作模式,手动模式下微调物料。1.3 系统总体设计方案系统工作原理:光电传感器检测物料的边缘线和标志线,获取位置的偏差信号,当该信号超过一定值后,处理器识别并逻辑运算,然后启动位置纠偏控制执行装置对物料进行位置调整,直到物料回到正常位置,系统停止纠偏控制执行装置。纠偏控制执行装置通过脉冲信号和方向信号控制,系统工作状态通过显示屏显示,手动调整操作通过触摸屏实现。系统采用了STM32F103处理器,结构框图如下图所示,由光电传感器电路、时钟和复位电路、TFT触摸屏电路、控制输出电路和处理器模块构成。其中光电传感器电路检测物料是

10、否超出边界,当超出边界的时候,发出控制信号。在系统控制中需要两种电源,分别是3.3V和5V,3.3V用于驱动TFT触摸显示屏电路,5V用于驱动光电传感器电路和控制输出电路,所以电源电路为系统提供这两种所需的电源。TFT触摸屏电路是系统的人机接口电路,通过TFT触摸屏可以显示系统状态、系统工作模式(自动模式或者手动模式)、以及在手动模式下通过触摸左右按键来控制输出。作为系统的核心,STM32F103在工作中检测光电传感器信号,当信号有效时,配置参数控制电路输出信号,同时控制TFT触摸屏显示系统状态和工作模式。图1 系统结构框图第2章 系统硬件各模块设计2.1 STM32简介STM32系列单片机是

11、为高性能、低成本、低功耗的嵌入式Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz2。STM32的I/O接口的驱动电压为2.0-3.6V,内部有经过调校的RC振荡电路

12、40kHz和8MHz ,用于CPU的锁相环PLL。时钟RTC采用32kHz晶振。STM32具有DMA控制器,总共有12个通道。分别包含有,USART,DAC,SPI,定时器,ADC,I2C。A/D转换器有2个,12位精度,采样时间都是us级,采样电压在0-3.6 V,具有双采样和保持能力。STM32集成一个内部温度传感器,通过A/D采用可以获取,不过温度的精度不高。STM32具有高达112个的Fast的I/O端口,根据型号有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16个外部中断向量。I/O端口都可以接受5V电压。具有11个定时器,16位的定时器4个,每个有4个独立的

13、IC/OC/PWM或者脉冲计数器。6个通道能配置成PWM输出,还具有2个看门狗定时器,Systick定时器,24位倒计数器,2个16位基本定时器用于驱动DAC。通信接口包括有2个I2C,5个USART,3个SPI,CAN总线(2.0B),USB 2.03。本文采用的STM32F103属于STM32F103xx,起特点有如下:STM32F103xx集成Flash和SRAM存储器,具有ARM Cortex-M3内核。内置多达128KB的嵌入式Flash,存储程序和数据。配置时钟具有多个预比较器可以用于配置AHB频率,包括高速APB(PB2)和低速APB(APB1),高速APB最高的频率为72MHz

14、,低速APB最高的频率为36MHz。启动模式:通过手动选择BOOT0和BOOT1的连接方式可以从不同的模式启动。STM32有三种启动模式,分别为:用户Flash,系统存储器,SRAM。当开关P1的BOOT0为0时,系统从用户Flash启动;当BOOT0为1时,BOOT1为0时,系统从系统存储器启动;当BOOT0为1时,BOOT1为1时,系统从SRAM启动4。2.2 STM32结构STM32F103xx的总体结构框图如图2-1所示。内部总线和两条APB总线将片上系统和外设资源紧密地连接起来,其中内部总线是主系统总线,连接了CPU、存储器和系统时钟等。APB1总线连接高速外设,APB2总线连接系统

15、通用外设和中断控制5。I/O端口包括PA、PB、PC、PD、PE、PF和PG七个16位的端口,其它的外设接口引脚都和I/O端口的引脚作用复用,图中的AF即表示作用复用引脚。STM32F103xx的总体内核结构图如图2-1所示:图2-1 STM32F103xx内核结构图2.3 STM32处理器硬件电路设计这是STM32的最小系统原理图,复位引脚NRST接一个10K电阻到VCC,接一个104的电容到地,即可构成上电复位的电路。OSC_IN和OSC_OUT之间连接一个8MHz晶振,晶振两端分别对地连接接20pF电容,即构成单片机的外部振荡时钟电路。OSC32_IN和OSC32_OUT之间连接32.7

16、68kHz晶振,22pF的C1和C2电容连接在晶振和地之间,这个晶振是为系统内部时钟,即万年历时钟源。P1为STM32启动模式选择开关,P1的3脚和4脚,通过10k电阻分别连接CPU的BOOT1管脚和BOOT0管脚,P1的1、2脚连接3.3V电平,5、6脚接地,通过手动选择BOOT0和BOOT1的连接方式可以从不同的模式启动。STM32有三种启动模式,分别为:用户Flash,系统存储器,SRAM。当开关P1的BOOT0为0时,系统从用户Flash启动;当BOOT0为1时,BOOT1为0时,系统从系统存储器启动;当BOOT0为1时,BOOT1为1时,系统从SRAM启动。电路图如图2-2所示。图2

17、-2 STM32最小系统原理图2.4 电源电路设计CPU内核电源为3.3V,触摸显示屏也为3.3V,其他外设电路5V,电源有两种不同的电源,所以需要设计一个电源供电电路为CPU、触摸显示屏和外设供电。供电电源电路由USB接口供电,如图2-3所示。电路中连接了两个USB,一个USB_232接口连接USB转串口芯片,作为系统在开发时调试输出用;一个USB接口为USB设备的接口。S2为电源开关,AMS1117-3.3芯片是集成稳压芯片,芯片把从USB取得的5V电压转换输出为3.3V电压6。3.3V电压连接了R21电阻和发光二极管D1,用于指示电源电路工作状态。电路中C14、C15、C16、C17为电

18、源的滤波电路,提高电源系统的抗干扰能力。AMS1117-3.3稳压芯片输出的3.3V,供给STM32和触摸显示屏使用。图2-3 电源电路原理图2.5 光电传感器电路设计光电传感器输入电路用到的硬件有限位开关,光电传感器。限位开关是一种控制元件,它利用生产机械某些运动部件的碰撞来发出控制指令的主令电器,在本套系统中作为安全开关使用,当材料超出所定界限时,进入中断,产生警告信息,通知操作人员。光电传感器是一种能把光量的变化转换成电量变化的器件。它利用被检测物体对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。光电传感器把检测的信号通过输出口供给给单片机,让单片机控制步进电机,调整物料位置

19、。传感器与单片机接口电路如图所示: 图2-4 光电传感器检测电路图2-4为光电传感器电路图,G1A和G2A两个光电传感器的电源与电源VCC相连,GND与地线相连,信号输出端分别经过5.1k的限流电阻后,与IC2光耦连接,光耦的输出端经过5.1k上拉电阻拉高,同时输出端还与,输出端与单片机的PB0 端和PB1端相连。电路中当光耦输入端为高电平时,光耦内部二极管导通,射级输出端导通,单片机检测到电平为低电平。当光耦输入端为低电平时,光耦内部二极管截止,射级输出截止,单片机检测到的电平为高电平。系统默认时低电平有效。光耦在电路具有隔离作用,提高了系统的稳定的性。2.6 TFT触摸屏电路设计2.6.1

20、 TFT显示屏TFT-LCD即薄膜晶体管液晶显示器, 主要用于显示文本及图形信息。液晶显示模块是一种将液晶显示器件、连接件、集成电路线路板、背光源等装配在一起的组件。液晶显示屏具有轻薄、体积小、功耗低、易于彩色化、画质高而且不易闪烁灯有点5。TFT-LCD也被叫做真彩液晶显示器。TFT液晶显示屏的特点是亮度好、对比度高、层次感强、颜色鲜艳,但也存在着比较耗电和成本过高的不足。TFT型的液晶显示器主要的构成包括:萤光管、导光板、偏光板、滤光板、玻璃基板、配向膜、液晶材料、薄模式晶体管等等。我们这里使用的一种ILI9320模块有如下特点:显示屏的大小2.8寸,分辨率320240,16位真彩色,自带

21、有XPT2046芯片的触摸屏,16位并行的通用的接口,触摸屏数据通过SPI接口。该模块采用的控制器为ILI9320。触摸屏显示模块采用80并口方式与外部连接,采用16位数据线该模块的80并口有如下一些信号线:CS:触摸屏显示片选信号。WR:向触摸屏显示写入数据。RD:从触摸屏显示读取数据。D15:0:16位双向数据线。RST:硬复位触摸屏显示。RS:命令/数据标志(0,读写命令;1,读写数据)。触摸屏显示模块的RST复位信号线与STM32的复位脚相连接,触摸屏显示的背光控制需要IO口来控制触摸屏显示的背光。触摸屏显示总共需要的IO口数目为21个。模块的控制器为ILI9320,该控制器自带显存,

22、其显存总大小为172820(240*320*18/8),即18位模式(26万色)下的显存量。模块的16位数据线与显寸的对应关系为565方式,如下图所示:图2-5 TFT显示屏数据与显存关系在计算机中,常见的颜色有 8位、16位、24位、32位色,其中24位及以上称为真彩,我们这里使用的是16位,最低5位代表蓝色,中间6位为绿色,最高5位为红色。数值越大,表示该颜色越深。我们这里使用的是RGB模式,RGB色彩就是常说的三原色,R代表Red(红色),G代表Green(绿色),B代表Blue(蓝色)。2.6.2 触摸屏我们常用液晶的触摸屏,大都是电阻式触摸屏了,电阻屏与现在手机流行的电容优势在于,操

23、作稳定性好,需要一定力度才能触发事件,适合控制工业场合。TFTLCD自带的触摸屏属于电阻式触摸屏,下面简单介绍下电阻式触摸屏的原理。电阻式触摸屏利用压力感应进行控制。电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘8。当触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送触摸屏控制器。

24、控制器侦测到这一接触并计算出(X,Y)的位置,再根据获得的位置模拟鼠标的方式运作9。这就是电阻触摸屏技术的原理。电阻触摸屏的有,不怕灰尘、水汽和油污;可以用任何物体来触摸,可以用来写字画画;电阻触摸屏的精度只取决于A/D转换精度等优点。触摸屏都需要一个AD转换器,一般来说是需要一个控制器。触摸屏显示模块选择的是四线电阻式触摸屏,这种控制芯片的种类有比较多,如:ADS7846AK4182、XPT2046、ADS7843、和TSC2046等等。这几款芯片的驱动基本上是一样,且封装也一样,很方便实现替换。触摸屏显示模块自带的触摸屏控制芯片为XPT2046。XPT2046是一款4导线制触摸屏控制器,内

25、含12位分辨率125KHz转换速率逐步逼近型A/D转换器10。XPT2046支持从1.5V到5.25V的低电压I/O接口。XPT2046能通过执行两次A/D转换查出被按的屏幕位置, 除此之外,还可以测量加在触摸屏上的压力10。内部自带2.5V参考电压可以作为辅助输入、温度测量和电池监测模式之用,电池监测的电压范围可以从0V到6V。XPT2046片内集成有一个温度传感器。在2.7V的典型工作状态下,关闭参考电压,功耗可小于0.75mW。工作温度范围为-40+8510。2.6.3 电路设计TFT触摸显示屏电路如图2-6所示。触摸屏和显示屏集成在一个模块中,模块接口如电路中LCD1接口。引脚定义如下

26、:LCD_CS:触摸屏显示片选信号。LCD_WR:向触摸屏显示写入数据。LCD_RD:从触摸屏显示触显示CD读取数据。LCD_D15:0:16位双向数据线。RESET:硬复位触摸屏显示。LCED_RS:命令/数据标志(0,读写命令;1,读写数据)。LCD_BL:触摸屏背光源的控制引脚。T_MISO:触摸屏串行数据输出端。T_MOSI:触摸屏串行数据输入端。T_SCK:触摸屏时钟信号端。T_CS:触摸屏片选端。T_PEN:触摸屏中断输出端。图2-6 触摸显示屏接口电路LCD的控制信号线LCD_CS连接STM32的PC9管脚, LCD_RS连接PC8管脚, LCD_WR连接PC7管脚, LCD_R

27、D连接PC6管脚。触摸屏的数据总线T_MISO触摸屏串行数据输出端连接STM32芯片的PC2管脚,T_MOSI触摸屏串行数据输入端连接STM32芯片的PC3管脚,T_SCK触摸屏时钟信号端连接STM32芯片的的PC0管脚。T_CS触摸屏片选端STM32芯片的的PC13管脚,T_PEN:触摸屏中断输出端连接STM32芯片的的PC1管脚。电路中C12、C13为3.3V和5V电源的滤波电路。2.7 控制电路设计2.7.1 PWM简介PWM是Pulse Width Modulation的缩写,中文意思就是脉冲宽度调制,简称脉宽调制11。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术

28、,其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制方式,其应用领域包括测量,通信,功率控制与变换,电动机控制、伺服控制、调光、开关电源,甚至某些音频放大器,因此研究基于PWM技术的正负脉宽数控调制信号发生器具有十分重要的现实意义12。目前,运动控制系统或电动机控制系统中实现PWM的方法主要有传统的数字电路方式、专用的PWM集成电路、单片机实现方式和可编程逻辑器件实现方式。2.7.2 STM32的PWM模式 脉冲宽调制模式可以产生一个由 TIM1_ARR寄存器确定频、由 TIM1_CCRx寄存器确定占空比的信号。在 TIM1_CCMRx寄存器中的 OCxM位写入“110”(P

29、WM模式 1)或“111”(PWM模式 2),能够独地设置每个通道工作在 PWM模式,每个 OCx输出一路PWM。必须通过设置 TIM1_CCMRx寄存器 OCxPE位使能相应的预装载寄存器,最后还要设置 TIM1_CR1寄存器的 ARPE位使能自动重装载的预装载寄存器(在向上计数或中心对称模式中)。 因为仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器,因此在计数器开始计数之前,必须通过设置 TIM1_EGR寄存器中的 UG位来初始化所有的寄存器。 OCx的极性可以通过软件在 TIM1_CCER寄存器中的 CCxP位设置,它可以设置为高电平有效活和低电平有效。OCx输出通过 C

30、CxE、CCxNE、MOE、OSSI和OSSR位(在 TIM1_CCER和 TIM1_BDTR寄存器中)的组合控制。在 PWM模式(模式 1或模式 2)下,TIM1_CNT和 TIM1_CCRx始终在进比较,(依据计数器的计数方向)以确定是否符合 TIM1_CCRxTIM1_CNT或者TIM1_CNTTIM1_CCRx。根据 TIM1_CR1寄存器中 CMS位的状态,定时器能够产生边沿对齐的或中央对齐的 PWM信号。PWM 边沿对齐模式 向上计数配置 当TIM1_CR1寄存器中的DIR位为低的时候执向上计数。当TIM1_CNTTIM1_CCRx时参考信号 OCxREF为低,否则为高。如果 TI

31、M1_CCRx中的比较值大于 TIM1_ARR中的自动重装载值,则OCxREF保持为“1。该模式下能产生 0的 PWM波形。 PWM 中央对齐模式 当TIM1_CR1寄存器中的CMS位为 00时为中央对齐模式(所有其他的配置对OCxREF/OCx信号都有相同的作用)。根据同的CMS位的设置,比较标志可能在计数器向上计数时被置 1、在计数器向下计数时被置 1、或在计数器向上和向下计数时被置 1。TIM1_CR1寄存器中的计数方向位(DIR)由硬件新,要用软件修改它。 图 2-8给出一些中央对齐的PWM波形的子,TIM1_ARR=8 ,PWM模式 1,TIM1_CR1 寄存器中的 CMS=01,在

32、中央对齐模式 1 时,当计数器向下计数时标志被设置。图2-8 中央对齐的 PWM波形(APR=8)2.7.3 控制输出电路设计在系统控制中,当检测到物料超过边缘线时,步进电机慢速运动,控制物料恢复到正常位置后步进电机停止运转。这个过程中,STM32通过输出PWM波形来驱动步进电机。定时器输出的PWM波形控制步进电机动作,步进电机带有驱动器,这里只需要一个方向信号Dir和PULSE信号,当Dir等于1的时候,步进电机正转,当Dir等于0的时候,步进电机反转。输出的PULSE信号给步进电机驱动器驱动步进电机动作。步进电机驱动器需要的电压为5V。输出控制电路如图2-9所示,电路图中PULSE信号和D

33、ir信号经过OC门反相器74LS06芯片,芯片的输出先经过R19和R20电阻上拉到5V,R22和R23电阻为限流电阻。JP5为步进电机驱动器的接口。图2-9 控制输出电路原理图第3章 系统编程环境搭建及软件设计3.1 系统软件设计系统软件设计主要有主程序设计、人机接口软件设计和控制输出软件设计。其中主程序设计的流程图如下图所示,首先初始化STM32的I/O管脚、处理器工作频率、定时器,接着初始化控制输出归零、TFT触摸屏初始化、显示初始化。最后主程序进入一个循环,不断查询是否有触摸屏事件和光电传感器事件,如果有对应事件发生,则对响应事件进行处理。系统软件流程图如图3-1所示。图3-1 系统软件

34、流程图3.2 显示模块设计显示模块程序由LCD初始化程序和定时器中断程序,首先由LCD初始化程序将屏幕上需要显示的按键,再由定时器中断程序定时刷新屏幕显示区域。LCD初始化流程图如下:图3-2 LCD初始化流程图LCD初始化程序设计:/* * 函数名称:void LCD_Init(void) * 函数功能:初始化LCD * 输入参数:无 * 输出参数:无*/void LCD_Init(void) RCC-APB2ENR|=1APB2ENR|=1APB2ENR|=1CRH&=0XFFFFF000;GPIOC-CRH|=0X00000333; GPIOC-CRL&=0X00FFFFFF;GPIOC

35、-CRL|=0X33000000; GPIOC-ODR|=0X07C0; /PORTB 推挽输出 GPIOB-CRH=0X33333333;GPIOB-CRL=0X33333333; GPIOB-ODR=0XFFFF;delay_ms(50); / delay 50 ms LCD_WriteReg(0x0000,0x0001);delay_ms(50); / delay 50 ms LCD_WriteReg(0X00,0X0001); delay_ms(10); LCD_WriteReg(0X10,0X1628); LCD_WriteReg(0X12,0X000e);/0x0006 LCD_W

36、riteReg(0X13,0X0A39); delay_ms(10); LCD_WriteReg(0X11,0X0040); LCD_WriteReg(0X15,0X0050); delay_ms(10); LCD_WriteReg(0X12,0X001e);/16 delay_ms(10); LCD_WriteReg(0X10,0X1620); LCD_WriteReg(0X13,0X2A39); delay_ms(10); LCD_WriteReg(0X01,0X0100); LCD_WriteReg(0X02,0X0300); LCD_WriteReg(0X03,0X1030);/改变方

37、向的 LCD_WriteReg(0X08,0X0202); LCD_WriteReg(0X0A,0X0008); LCD_WriteReg(0X30,0X0000); LCD_WriteReg(0X31,0X0402); LCD_WriteReg(0X32,0X0106); LCD_WriteReg(0X33,0X0503); LCD_WriteReg(0X34,0X0104); LCD_WriteReg(0X35,0X0301); LCD_WriteReg(0X36,0X0707); LCD_WriteReg(0X37,0X0305); LCD_WriteReg(0X38,0X0208);

38、LCD_WriteReg(0X39,0X0F0B); LCD_WriteReg(0X41,0X0002); LCD_WriteReg(0X60,0X2700); LCD_WriteReg(0X61,0X0001); LCD_WriteReg(0X90,0X0210); LCD_WriteReg(0X92,0X010A); LCD_WriteReg(0X93,0X0004); LCD_WriteReg(0XA0,0X0100); LCD_WriteReg(0X07,0X0001); LCD_WriteReg(0X07,0X0021); LCD_WriteReg(0X07,0X0023); LCD

39、_WriteReg(0X07,0X0033); LCD_WriteReg(0X07,0X0133); LCD_WriteReg(0XA0,0X0000); LCD_LED=1;/点亮背光 LCD_Clear(white);3.3触摸屏软件设计在触摸屏使用时,系统首先要检测触摸屏是否经过校准。若没有则程序进入到校准模式,执行触摸屏校准操作,同时用户也可以在系统上电时通过按键进入触摸屏校准模式。校准模式是通过用户点击触摸屏几个校准框来进行,触摸屏上电检测校准流程图如图3-3所示。在流程图中,处理器检测触摸屏是否已经校准了,没有校准进入校准模式,既触摸屏校准。然后开启中断,系统则进入了校准模式。图3

40、-3 上电检测触摸屏校准流程图触摸屏的初始化程序设计:/* * 函数名称:void Touch_Init(void) * 函数功能:触摸屏初始化 * 输入参数:无 * 输出参数:无*/void Touch_Init(void) /注意,时钟使能之后,对GPIO的操作才有效/所以上拉之前,必须使能时钟.才能实现真正的上拉输出RCC-APB2ENR|=1APB2ENR|=1CRL&=0XFFFF0000;/PC03GPIOC-CRL|=0X00003883; GPIOC-CRH&=0XFF0FFFFF;/PC13GPIOC-CRH|=0X00300000;/PC13推挽输出 GPIOC-ODR|=

41、0X200f; /PC03 13 全部上拉 Read_ADS(&Pen_Point.X,&Pen_Point.Y);/第一次读取初始化 MY_NVIC_Init(2,0,EXTI1_IRQChannel,2); Ex_NVIC_Config(GPIO_C,1,FTIR);/将line1映射到PC.1,下降沿触发.#ifdef ADJ_SAVE_ENABLE AT24CXX_Init();/初始化24CXXif(Get_Adjdata()return;/已经校准else /未校准? LCD_Clear(white);/清屏 Touch_Adjust(); /屏幕校准 Save_Adjdata()

42、; Get_Adjdata();#elseLCD_Clear(white);/清屏 Touch_Adjust(); /屏幕校准,带自动保存 #endif 下面是触摸屏校准程序:void Touch_Adjust(void) signed short pos_temp42;/坐标缓存值u8 cnt=0;u16 d1,d2;u32 tem1,tem2;float fac; cnt=0;POINT_COLOR=BLUE;BACK_COLOR =WHITE;LCD_Clear(WHITE);/清屏 POINT_COLOR=RED;/红色 LCD_Clear(WHITE);/清屏 Drow_Touch_

43、Point(20,20);/画点1 Pen_Point.Key_Sta=Key_Up;/消除触发信号 Pen_Point.xfac=0;/xfac用来标记是否校准过,所以校准之前必须清掉!以免错误 while(1)if(Pen_Point.Key_Sta=Key_Down)/按键按下了if(Read_TP_Once()/得到单次按键值 pos_tempcnt0=Pen_Point.X;pos_tempcnt1=Pen_Point.Y;cnt+; switch(cnt) case 1:LCD_Clear(WHITE);/清屏 Drow_Touch_Point(220,20);/画点2break;case 2:LCD_Clear(WHITE);/清屏 Drow_Touch_Point(20,300);/画点3break;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号