基于STM32的多功能画板设计资料Word文档下载推荐.docx
- 文档编号:14527776
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:12
- 大小:843.37KB
基于STM32的多功能画板设计资料Word文档下载推荐.docx
《基于STM32的多功能画板设计资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于STM32的多功能画板设计资料Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
1.系统描述
1.1综述
本系统是基于STM32微控制器所设计的多功能画板,该画板具有基本的绘画功能及画布颜色的选择,触摸屏校正等功能。
整个系统模块分为三个模块:
MCU主芯片最小板、液晶显示。
MCU是STM32主芯片的最小板,上面有芯片工作需要的最少资源:
时钟控制电路、复位电路、JTAG控制口以及与外围电路相连的接口。
液晶屏采用的是显尚光电的DST2001PHTFTLCD,DST2001PH的控制器为ILI9320,采用26万色的TFTLCD屏,分辨率为320×
240,采用16位的80并口。
1.2系统框图
本设计采用STM32F103RBT6作为微控制器,其外围硬件模块主要包括电源模块﹑微处理器模块﹑按键及液晶显示屏接口。
电源采用USB供电,在设计过程中用PC供电。
其系统框图如图1.2所示。
1.3功能实现
1.基本绘画功能,可以用手写笔在液晶屏画出一些简单的图形;
2.屏幕矫正,当按下KEY0时即进入屏幕矫正模式,按照指示用手写笔点击矫正标志,四次后如果矫正成功则进入绘画模式,否则显示误差并继续矫正;
3.画布颜色选择,每次进入绘画模式前都要进行画布颜色选择,在按RST标志后也可选择画布颜色;
4.画笔颜色选择;
在绘画模式下,可随时点击下方的画笔颜色选择区以选择画笔颜色。
2.硬件设计
2.1总体框架
图2.1为硬件设计的系统框架图,核心板主要有微控器及其必要的外围电路,还提供LCD的接口。
2.2STM32微控制器
2.2.1芯片介绍
STM32F103RBT6增强型系列使用高性能的ARMCortex-M332位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。
所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:
多达2个I2C和SPI、3个USART、一个USB和一个CAN。
其管脚图如图2.2.2所示:
2.2.2管脚图
图2.2.2STM32F103RBT6增强型LQFP管脚
2.2.3电路原理图
2.2.3.1STM32外围电路
STM32微控制器的工作电路如图2.2.3.1所示:
2.2.3.1STM32外围电路原理图
2.2.3.2按键
WK_UP为电路板的复位键连接PA0引脚,KEY0和KEY1分别接到芯片的PA13、PA15引脚。
连接电路如图2.3.2所示:
图2.3.2按键电路
2.3液晶屏
2.3.1TFT彩屏简介
TFT-LCD即薄膜晶体管液晶显示器。
其英文全称为:
ThinFilmTransistor-LiquidCrystalDisplay。
TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。
TFT-LCD也被叫做真彩液晶显示器。
该模块有如下特点:
1.2.4/2.8两种大小的屏幕可选;
2.320×
240的分辨率;
3.16位真彩显示;
4.自带触摸屏,可以用来作为控制输入;
5.通用的接口。
本设计采用2.8寸TFTLCD屏。
2.3.2原理图
TFTLCD工作电路原理图如图2.3.2.1和图2.3.2.2所示:
图2.3.2.12.8寸TFTLCD模块原理图
图2.3.2.22.8寸TFTLCD模块接口图
3.软件设计
3.1系统流程图
系统开机后工作的流程图如图3.1所示:
3.2主要函数介绍
3.2.1主函数
intmain(void)
{
u8key;
//变量定义
u8i=0;
Stm32_Clock_Init(9);
//系统时钟初始化
delay_init(72);
//延时初始化
LCD_Init();
//液晶屏初始化
KEY_Init();
//按键初始化
LED_Init();
//LED初始化
POINT_COLOR=BLUE;
//画笔颜色初始化
Touch_Init();
//触摸功能初始化
Load_Drow_Dialog();
//准备桌面
FillColorPad();
//填充可选颜色面板
while
(1)
{
key=KEY_Scan();
//扫描按键
ScanColorPad();
//扫描色板
if(Pen_Point.Key_Sta==Key_Down)//如果触摸屏被按下
{
Pen_Int_Set(0);
//关闭触摸屏中断
do
{
Convert_Pos();
//AD转换
Pen_Point.Key_Sta=Key_Up;
//清除触摸屏状态
if(Pen_Point.X0>
216&
&
Pen_Point.Y0<
16)//RST被按下
{
Load_Drow_Dialog();
FillColorPad();
//填充可选颜色面板
}
else
Draw_Big_Point(Pen_Point.X0,Pen_Point.Y0);
//画图GPIOC->
ODR|=1<
<
1;
//PC1上拉
}while(PEN==0);
//如果PEN一直有效,则一直执行
Pen_Int_Set
(1);
//打开中断
}
else
delay_ms(10);
//延时10ms
if(key==1)//KEY0被按下
LCD_Clear(WHITE);
//清屏
Touch_Adjust();
//屏幕校准
Save_Adjdata();
//保存较准过数据
Load_Drow_Dialog();
//初始化桌面
FillColorPad();
//填充色板
i++;
if(i==20)
i=0;
LED0=!
LED0;
//LED0闪烁
};
}
3.2.2触摸屏函数介绍
1.voidTouch_Init(void);
外部中断初始化函数
2.voidTouch_Adjust(void);
触摸屏校正函数,得到四个校正参数
3.voidSave_Adjdata(void);
4.保存较正参数;
5.voidConvert_Pos(void);
转换结果,根据触摸屏的校准参数来决定转换后的结果,保存在X0,Y0中
6.u16ADS_Read_AD(u8CMD);
SPI读数据,从7843读取ADC的值。
3.2.3LCD函数介绍
1.voidLCD_Init(void);
初始化LCD
2.voidLCD_Clear(u16Color);
LCD清屏;
3.voidLCD_DrawPoint(u16x,u16y);
画点;
4.voidLCD_DrawLine(u16x1,u16y1,u16x2,u16y2);
画线;
5.voidLCD_DrawRectangle(u16x1,u16y1,u16x2,u16y2);
画一个矩形;
6.voidLCD_Fill(u16sx,u16sy,u16ex,u16ey,u16color);
在一个矩形中填充为color的颜色;
7.voidLCD_ShowString(u16x,u16y,constu8*p);
在某个坐标位置显示字符串。
4.开发与测试
4.1开发环境
4.1.1硬件设备
1.ULINK仿真器;
2.示波器;
3.万用表。
4.1.2软件环境
1.AltiumDesigner13.1.2;
2.mcuisp;
3.Keil4forMDK;
4.串口调试软件SSCOM32.EXE
4.2开发步骤
4.2.1需求分析
根据本次的课程设计题目,为了与实际结合,同时增加趣味性和实用性,我们决定设计一款基于STM32的多功能画板,除了完成基本的画板功能外还可以实现许多拓展。
4.2.2芯片选择
●微处理器方面选择了stm32f103RBT6这款芯片,因为它具有足够大的闪存和内存,同时外围接口丰富,便于扩展功能。
●TFTLCD方面选择了2.8寸的带有触摸功能的显示屏。
,该模块采用的是显尚光电的DST2001PHTFTLCD,DST2001PH的控制器为ILI9320,采用26万色的TFTLCD屏,分辨率为320×
因为这是一款主流的而且不至于太昂贵的显示屏。
4.2.3电路图设计
这一部分熟悉了AltiumDesigner的使用,包括原理图的绘制以及pcb的绘制。
同时也接触到了一些基本元件,包括特性,封装等。
4.2.4系统总体设计与测试
首先在开发板上实现了一些基本功能,最后把所有用到的功能组合在一起,经过调试就成功做出了预测的功能。
4.3成果展示
作品在绘图模式下屏幕显示分为三大部分,其中包括RST按键区、绘画区及画笔颜色选择区,具体如图4.3所示:
图4.3作品展示
5.心得体会
首先非常感谢老师给了这样一个题目,让我们接触到Cortex-M3这样比较新的技术,让我们有机会把课堂学到的知识应用到实际过程中,而且在这过程中我发现我对原先学到的理论知识有了新的认识。
虽然设计和实现的过程中,每一步都会遇到许多挫折,时常被一些奇怪的问题弄的晕头转向,但在老师的指导和同学的帮助下,以及成功后带来的巨大的成就感的驱动下,还是挺过了一个又一个难关,最终实现了可以校正触摸屏的画板的功能,成功的喜悦还是弥补了探索过程中的郁闷。
虽然花了很多时间,但学到了很多东西,感觉还是很值得的。
再次感谢老师的悉心指导。
6.参考文献
1、周立功,从51到ARM-32位嵌入式系统入门[M]北京航空航天大学出版社2006
2、周立功,ARM嵌入式系统基础教程[M]北京航空航天大学出版社2008
3、邱铁,ARM嵌入式系统结构与编程清华大学出版社2008
4、STM32F103RBT6数据开发手
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 多功能 画板 设计 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)