(完整word版)基于STM32的简易计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于STM32的简易计算器
一.总体方案设计
1.任务要求
(1)在开发板的显示屏上设计并显示一个简易的计算器界面,包括结果显示窗、0~9数字键、+、-、×、÷、X2、√、=、Del等按键;
(2)可使用开发板上的键盘或触摸屏输入上述按键,并在显示窗中显示计算结果;
(3)支持基本的整数加减乘除运算;
2.设计方案
设计的整体思路:选用意法半导体基于ARM Cortex—M3内核的STM32F103ZET6芯片来处理计算器中加减乘除运算,选用3.5寸的TFT-LCD电阻触摸屏模块来进行控制输入并同时将输入参数及运算结果显示出来,同时通过移植emWin,优化计算器界面,使计算器在视觉上效果上更为人性化。
二.系统硬件设计
系统主要器件包括ALIENTEK精英STM32F103V1开发板,3.5寸TFTLCD触摸屏。
1.最小系统开发板
1.1 微控制器
Cortex-M3采用ARM V7构架,不仅支持Thumb-2指令集,而且拥有很多新特性。较之ARM7 TDMI,Cortex-M3拥有更强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成本、低功耗等众多优势。
STM32的优异性体现在如下几个方面:
1. 超低的价格。以8位机的价格,得到32位机,是STM32最大的优势。
2. 超多的外设。STM32拥有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等众多外设及功能,具有极高的集成度。
3. 丰富的型号。STM32仅M3内核就拥有F100、F101、F102、F103、F105、F107、F207、F217等8个系列上百种型号,具有QFN、LQFP、BGA等封装可供选择。同时STM32还推出了STM32L和STM32W等超低功耗和无线应用型的M3芯片。
4. 优异的实时性能。84个中断,16级可编程优先级,并且所有的引脚都可以作为中断输入。
5. 杰出的功耗控制。STM32各个外设都有自己的独立时钟开关,可以通过关闭相应外设的时钟来降低功耗。
6. 极低的开发成本。STM32的开发不需要昂贵的仿真器,只需要一个串口即可下载代码,并且支持SWD和JTAG两种调试口。SWD调试可以为你的设计带来跟多的方便,只需要2个IO口,即可实现仿真调试。
MCU部分原理图如图1-1所示:
图1-1MCU部分原理图1.2 复位电路
STM32F103的复位电路如图1-2所示:
图1-2
因为STM32是低电平复位,所以设计的电路也是低电平复位的,这里的R2和C10构成了上述复位电路。
1.3 电源电路
STM32F103板载的电源供电部分,如图1-3所示:
图1-3
图中,有两个稳压芯片:MP2359和AMS117,DC-IN用于外部直流电源流入,范围是DC6-24V,输入电压经过MP2359DC-DC芯片转换为5V电压输出,其中D4是防反接二极管,避免外部直流电源极性相反的时候,烧坏开发板,K1为开发板的总电源开关,F1为1000ma自恢复保险丝,用于保护USB。AMS117为3.3V 稳压芯片,给开发板供电。
2.TFT-LCD电阻触摸屏
2.1 电阻触摸屏原理
电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理,光滑防擦的塑料层,它的内表面也涂有一层涂层,在它们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计算出(X,Y)的位置,再根据获得的位置模拟鼠标的方式运作。这就是电阻技术触摸屏的最基本原理。
电阻触摸屏的优点;精度高、价格便宜、抗干扰能力强、稳定性好
电阻触摸屏的缺点:容易被划伤、透光性不太好、不支持多点触摸
TFT-LCD模块原理图如图2-1所示:
TFT-LCD模块采用2*17的2.54公排针与外部连接,接口定义如图2-2所示:
从图2-2中可以看出,TFT-LCD模块采用16位的并方式与外部连接,之所
以不采用8位的方式,是因为彩屏的数据量比较大,尤其在显示图片的时候,如果用8位数据线,就会比16位的方式慢一倍以上,所以选择16位接口。
TFT-LCD模块采用8080并行接口方式,使得MCU可以快速的访问,该模块的8080并口有如下信号线:
CS:TFT-LCD片选信号线。
WR:向TFT-LCD写入数据。
RD:从TFT-LCD读取数据。
D[15:0]:16位双向数据线。
RST:硬复位TFT-LCD。
RS:命令/数据标志(0,读写命令;1,读写数据)。
2.2 触摸屏控制芯片
从图2-1中可以看出,TFT-LCD模块的触摸屏控制芯片为XPT2046。XPT2046是一款4导线制触摸屏控制器,内含12位分辨率125KHZ转换速率逐步逼近型A/D转换器。XPT2046支持从1.5V到5.25V的低电压I/O口接口。XPT能通过执行两次A/D转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力。内部自带2.5V参考电压可以作为辅助输入、温度测量和电池监测模式之用,电池监测的电压范围可以从0V到6V。
3.FSMC简介
大容量,且引脚数目在100脚以上的STM32F103芯片都带有FSMC接口,本次实验所采用的开发板的主芯片为STM32F103ZET6,是带有FSMC接口的。
FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和16位PC存储卡连接,STM32的FSMC接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM 等存储器。FSMC框图如图3-1所示: