Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 教育论文 > 正文

基于 STM32F103 的画图实验教学项目设计论文

发布时间:2021-05-19 13:27:36 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):

摘要:为了学生更好地学习嵌入式系统,研究设计了一个画图实验教学项目,让学生可以学习触摸屏以及把触摸屏当画图板进行绘画的编程实验,硬件主要利用STM32F103RCT6芯片为主控制器,TFTLCD显示电路为辅,加上必要的电源电路以及调试下载电路设计而成,当然主板也预留了一些IO接口,实验基于项目开发模式进行教学,对于学生学习嵌入式人机交互有很大帮助。

关键词:嵌入式开发;触摸屏;主控制器;显示电路

本文引用格式:陈渭力.基于STM32F103的画图实验教学项目设计[J].教育现代化,2020,7(44):10-13,32.

Design of Drawing Experiment Teaching Project based on STM32F103

CHEN Wei-li

(Keyi College of Zhejiang Sci-Tech University,Shaoxing Zhejiang)

Abstract:In order to better learn embedded system,this paper studies and designs a drawing experiment teaching project,which enables students to learn touch screen and use touch screen as drawing board for drawing programming experiment.The hardware mainly uses stm32f103rct6 chip as the main controller,TFTLCD display circuit as the auxiliary,and necessary power circuit and debugging download circuit design.Of course,the main board some IO interfaces are reserved.The experiment is based on the project development mode,which is very helpful for students to learn embedded human-computer interaction.

Key words:Embedded development;Touch screen;Main controller;Display circuit

一 引言

如今大家对触摸屏的接触已经很频繁,其作为人机交互使用最广泛的媒体,重要性不言而喻,也算是学习嵌入式开发必不可少的知识点,本实验项目就是基于此目的而设计,在此实验项目设计中,主要任务分为硬件设计和软件程序设计。

\

 
二 硬件整体设计

我们设计的实验装置以STM32F103RCT6为主控制器[1],触摸显示屏采用战舰公司生产的2.8寸TFTLCD模块,实验电路的硬件整体设计如图1,系统中的电源电路给主控制器和各个模块电路供电,USB转串口电路用来连接上位机和控制器,并提供下载程序接口,JTAG口用来仿真调试下载程序,实验板中还配备了4个发光二极管和4个按键,以方便设计各种实验项目,当然一个嵌入式系统还需要必不可少的复位电路等。

另外,此实验装置还设计预留了很多IO口,以备设计扩展其他实验项目用,例如OLED的实验项目等。整个电路用PROTEL99SE进行绘制设计,并制作PCB文件送加工单位进行印刷电路板制作。

\

三 主要模块硬件设计

(一)主控制器


由整体设计可知,我们实验项目的主控制器采用STM32F103RC,其主要特点有以下几方面:芯片采用常规的64引脚LQFP封装,内部集成有256K的FLASH以及48K的RAM空间,11个TIMER定时器,51个GPIO口,5个USART,1个USB口,若干其他接口[2]。其资源完全能满足本实验项目的硬件需求,特别是其内部集成的FLASH和RAM空间足够大,也使得设计的电路板比传统ARM(需要外扩存储器)设计的电路板更简单可靠[3],且节省时间和成本;另外CPU内部集成足够多的外设接口,使得CPU和其他电路的连接非常方便。主控器引脚连接如图2。


\
 

(二)触摸显示屏电路接口设计

由于此系统为学生实验教学而设计,旨在让学生了解熟悉触摸显示屏的相关知识和基本使用,因此屏幕采用了尺寸比较小的2.8寸TFT-LCD模块,TFT-LCD即薄膜晶体管液晶显示器,该屏可实现65K彩色,显示的分辨率为320×240点阵,可支持16位或8位的数据接口进行通讯,自带触摸屏,完全能满足实验需求。从原理上来分析,此屏可以分为由ILI9341驱动芯片驱动的LCD液晶屏和电阻型触摸屏两部分组合而成[4],因此我们在硬件电路板上只需要设计控制总线和数据总线接口分别与其连接就可以,接插件采用双排34脚的2.54MM间距的插座即可,如图3,接插件前26个引脚为LCD液晶屏的连接,而后8个引脚为触摸屏连接,电路设计中利用主控器的16位GPIOB口与此LCD屏数据信号线相连,另外用4个GPIOC口分别连LCD的选择控制、读控制、写控制、片选控制引脚;而另外用5个GPIOC口去连接触摸屏的5根数据控制线:数据输入(SPI总线),数据输出(SPI总线),中断检测,片选控制,时钟控制。除此之外就是需要通过接插件给触摸显示屏提供合适的电源,需要注意的是,此电阻型触摸屏工作电压为5V。

\
 
(三)USB转串口电路

作为一个给学生做实验教学用的实验装置,程序目标文件下载电路必不可少,此实验板不仅提供了常规的JTAG口进行调试仿真,还提供了一个很有特色的快速程序下载电路[5],这个电路与其他ARM开发板下载电路有所不同,设计如图4,其设计思想是根据主控制器的启动模式来决定的,STM32F103的启动模式由BOOT0和BOOT1决定,从其数据手册中可以知道当boot0为0时,CPU从内部FLASH启动,当BOOT0为1,BOOT1为0时,使系统从BootLoader运行[6,7],配合上位机的下载软件引导程序下载;上位机的下载软件MCUISP通过USB接口来控制电路中的DTR和RTS的电平(由USB转串口芯片CH340产生)[8],从而控制对应三极管的导通,来改变主控制器的复位和BOOT0电平。在系统正常工作状态下,此串口又可作为普通数据通信接口用,典型的用法是用来作为串口打印提示字符的接口。




\
 

四 软件程序设计

本实验项目需要开发相应的DEMO程序,程序采用Keil MDK v5.21集成开发环境开发[9],由于主芯片是STM32F103,需要另外添加安装STM32F1xx_DFP.2.0.0.pack芯片支持包,然后为实验项目创建项目文件,由于芯片厂商提供了很多开发函数库,采用库函数方式编程,比较省心,因此在创建项目后,需要添加相关库函数文件和头文件,在程序设计中根据实验项目要求,只需要完成对触摸液晶屏相关IO口初始化,LCD和触摸屏的校准以及完成两个主要任务:液晶显示程序和触摸屏检测程序。设计DEMO程序大致主流程如下图5。

\
 
(一)LCD液晶显示程序设计

该项目作为人机交互的液晶显示绘图实验,液晶显示除了显示必要的提示信息[10],最主要是画点程序,需要能根据检测到的触摸笔坐标,把相应坐标位置的点显示出来,因此液晶显示程序主要操作需要对液晶屏进行初始化;编写字符显示函数来显示一些提示信息;编写画点函数用来实现画图的基本操作。

在初始化程序中,由于主控制器都是通过液晶屏的驱动芯片对屏进行控制的,所以相关初始化主要围绕此芯片来操作,需要事先知道驱动芯片的型号,然后根据型号来编写命令函数,初始化程序首先是相关IO口的工作模式方式设置;液晶屏ID的读取;然后根据ID来编写各种读写操作的命令函数以及显示函数。

(二)触摸屏检测定位程序设计

很显然绘图实验最主要和最难的就是对触摸屏的操作[11,12],也往往是学生做此实验项目比较难的一点,难点最主要在于检测定位,因此我们有必要了解一些触摸屏的基本知识,由于本系统采用的是电阻型触摸屏[13,14],电阻屏的电阻值在一个方向上是线性变化的,即电阻的变化与位置的变化成线性比例关系,因此可以通过电压检测,然后根据分压值来实现定位,如图6所示。


\

若屏幕上T点被触压,则需要分两次分别检测X方向和Y方向的该点电压,由于触摸屏集成的XPT2046芯片,其内部自带AD转换电路,通过其SPI接口可以直接发送不同的命令,检测不同方向的电压值,并通过SPI接口读取每次转换的AD值,需要注意的是读取的AD值只有高12位有效,因此其转换得到的最小值为0,最大值为4095,然后通过公式可以取得T点的X和Y坐标值如下

TX=x0+K1*T1 (1)

Ty=y0+K2*T2 (2)

式(1)和式(2)中的x0,y0,系数K1,K2可以由校准检测电路检测计算所得,T1为T点在X方向检测时的分压值,T2为Y方向检测时的分压值。我们在检测接触点坐标时[15],需要先进行触摸屏校准检测,校准检测可以采用四点法进行,首先在液晶屏四个角的固定位置显示四个校准点(S1,S2,S3,S4),然后利用触摸笔按规定好的顺序在四个点(尽可能的与S1,S2,S3,S4重叠,实际中因为人的操作、视角等原因,不可能完全重叠)上触压,若触摸屏上的四个点为M1,M2,M3,M4,如下图7。


\


记M1和M2之间的距离为d1,M1和M3之间的距离为d2,M3和M4之间的距离为d3,M2和M4之间的距离为d4,则需要满足d1=d3,d2=d4,d5=d6,由于不可能完全相同,所以在程序中需要设定每两个比较值之间的差值在一定范围内才行。根据以上算法和原理,我们编写相应的坐标检测程序和校准程序,然后配合其他配套的函数,就基本能实现我们的实验项目了。

五 实验效果

DEMO项目中所有文件编写完成后,通过集成环境自带的编译软件,设置必要的参数,编译后可生成目标文件(.hex文件),然后可通过JTAG口,利用仿真器下载目标程序到主控制器中,也可通过MCUISP软件,利用一键下载电路下载。下载完成后,系统重新上电复位后,显示屏显示提示信息,进入坐标校准界面,按照提示用触摸笔进行定位校准后,就可进入绘画环节,实验效果如图8所示。

\
 
六 结论

由上综述,本实验项目硬件设计简单,制作成本低,且实验设计的画图软件能完成普通电脑中绘图软件的基本功能,实验效果比较直观,能大大提高学生学习的兴趣和积极性。实验教学中,除了进行基本的绘图实验外,还可以设计一些基础的显示实验,比如菜单设置,汉字显示,也可以用来设计一些动态动画显示,可视化提示显示[16]等应用,适合学校推广,具有很好的应用范围和推广意义。

参考文献

[1]冯新宇.ARM CORTEX-M3体系结构与编程[M].北京:清华大学出版社.2016.
[2]杨百军.轻松玩转STM32Cube[M].北京:电子工业出版社,2017.
[3]王红亮,庞佳.基于CORTEX-M3变压器运行状态在线监测系统设计[J].东北电力技术,2018,(7):26-29.
[4]张兴武,赵庆志,张林华,等.基于STM32F103的嵌入式图像采集系统[J].山东理工大学学报(自然科学版),2018,32(05):23-26.
[5]程立敏.基于CH341的USB总线数据采集系统设计[J].科技视界,2016(25):227+225.
[6]顾东袁,傅晓婕,陈爱军,等.基于STM32的Bootloader实验系统设计[J].实验技术与管理,2019,36(11):89-93.
[7]GUO J,CHEN W.BOOTLOADER Analysis Construction and U-BOOT Porting Based on S3C2440[C]//2018 2nd IEEE Advanced Information Management,Communicates,Electronic and Automation Control Conference(IMCEC).IEEE,2018:1893–1897.
[8]黄同,邵思飞.一种基于CH340T的STC89C52RC编程器设计[J].电子测试,2013(12):16-17.
[9]Anonymous.DrStockPick:Learn to Create and Debug Embedded Applications Using SmartFusion Devices and Keil MDK[J].M2 Presswire,2010.
[10]包嘉铭.电热开水器控制人机界面的设计与开发[J].电子技术与软件工程,2018(18):40-42.
[11]汪勇.基于STM32F103VET6的触摸屏导引系统设计[J].中国设备工程,2018(24):147-148.
[12]高芹,刘作栋.基于S3C2410的触摸屏手写应用程序设计[J].湖北理工学院学报,2014,30(01):39-43.
[13]江秀红,段富海,曹阳,等.电阻式触摸屏多点校准及触摸压力研究[J].计算机测量与控制,2012,20(08):2278-2280.
[14]蔡红娟,高恒强,蔡苗.电阻式触摸屏校准算法的优化[J].制造业自动化,2012,34(13):21-23.
[15]郭泉江.关于嵌入式智能仪表中触摸屏校准算法的研究[J].计算机光盘软件与应用,2012(10):189-190.
[16]Wen-Chin Li,Andreas Horn,Zhen Sun,Jingyi Zhang,Graham Braithwaite.Augmented visualization cues on primary flight display facilitating pilot’s monitoring performance[J].International Journal of Human-Computer Studies,2020,135.


关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!


文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/31285.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml