《基于STM32的简易电子计算器设计与实现》由会员分享,可在线阅读,更多相关《基于STM32的简易电子计算器设计与实现(26页珍藏版)》请在金锄头文库上搜索。
1、嵌入式系统设计实验综合设计报告四川师范大学成都学院通信工程学院基于STM32的简易电子计算器设计与实现-实验综合设计报告 学生姓名陶龑学 号2016301033所在学院通信工程学院专业名称嵌入式系统课程设计班 级2014级软件班指导教师刘强成 绩 四川师范大学成都学院二一六年十一月基于STM32的简易电子计算器设计与实现内容摘要:电子计算器即将传统意义上的计算器进行电子化和数字化,为其减少时间误差和体积,并提供更多的扩展实用功能,从而使电子计算器的应用更加广泛。在经过资料的查找与收集后,本论文以该理念设计了一款基于STM32芯片作为核心控制器,使用Keil5平台,以C语言为基础进行软件编程的简
2、易电子计算器,其内在TFT-LCD液晶屏进行输出,以四个按键进行输入,从而实现显示输入数据以及加减乘除运算的基本功能。通过软件程序的编写、硬件电路原理的实现、电子计算器正常工作的流程、原理图仿真实现、硬件实物的安装制作与硬件实物的调试过程,该简易电子计算器现可用于日常生活和工作中。关键词:简易电子计算器 STM32 C语言 Keil5Design and implementation of Multi Function Electronic Clock based on STM32Abstract: The traditional electronic calculator calculato
3、r for electronic and digital, to reduce the time error and volume, and provide more extended utility function, so that the more extensive application of electronic calculators. After searching and collecting data, in this paper, the concept of a design based on STM32 chip as the core controller, usi
4、ng Keil5 platform, simple electronic calculator based on C language software programming, the TFT-LCD LCD screen for input and output, with four keys, so as to realize the display of input data and the basic the function of add, subtract, multiply and divide operations.Through the software program,
5、hardware circuit principle of the electronic calculator realization, normal work process and the principle of graph simulation, hardware installation and hardware debugging process, the simple electronic calculator is used in daily life and work.Key words: Simple electronic calculator STM32 language
6、 C Keil5 目 录前 言11 设计要求22 设计目的与作用23 所用设备及软件24 系统设计方案24.1 系统总体设计24.2 简要阐述系统工作原理35 系统硬件设计45.1 系统整体设计45.2 各单元电路设计45.2.1 电源电路45.2.2 LCD液晶显示电路45.2.3 简易电子计算器电路55.2.4 按键电路55.2.5 蜂鸣器电路55.2.6 复位电路65.2.7 串口电路66 系统软件设计66.1 主程序设计66.2 子程序设计76.2.1 显示模块76.2.2 按键处理模块86.2.3 实时简易电子计算器万年历模块87 仿真调试分析98 设计中的问题及解决方法109 学习
7、心得10附 录12附录1:主程序代码12附录2:系统总体结构电路原理图19参考文献20基于STM32的简易电子计算器设计与实现前 言最早的计算工具诞生在中国。中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也有用木头、兽骨充当材料的,约二百七十枚一束,放在布袋里可随身携带。直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。17世纪初,西方国家的计算工具有了较大的发展。英国数学家纳皮尔发明了“纳皮尔算筹”,英国牧师奥却德发明了圆柱形对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数、指数函
8、数和对数函数。这些计算工具为现代计算器的发展奠定了良好的基础。1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器。在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是只能做加减计算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,到了20世纪50年代末,电子计算器问世。而现在我们所说的计算器一般是指“电子计算器”,该名词由日文传入中国。计算器是能进行数学运算的手持机器,拥有集成电路芯片,结构简单,功能较弱,但由于它使用方便、操作简单、价格低廉,
9、因而广泛运用于商业交易中,也是必备的办公用品之一。随着电子技术的飞速发展,为了进行大量的运算,电子计算器应用于各个领域,从而使电子计算器的应用更为广泛,不仅改变传统意义的手持计算器功能,使计算器支持彩屏的显示,界面更友好,可扩展性能更强,为生活和工作带来了便捷。本设计的简易电子计算器以STM32微控制器芯片作为核心控制器,由于其基于ARM Cortex-M3处理器,可用于满足大部分通用型应用的需求,故选用STM32。具体需要硬件的调试以及软件程序的编写和实现来完成。1 设计要求l 具有通过四个按键来选择的功能; l 具有彩屏显示以及界面功能;l 具有显示输入的第一位数字和第二位数字的功能; l
10、 具有除法保留小数位数的功能;l 具有基本的加减乘除功能;2 设计目的与作用设计目的:简易电子计算器设计首要的工作是结合以往所学C语言的编写理论和编写规则来编写简易电子计算器的软件部分,编写时要结合STM32开发板的管脚功能和其他硬件电路,如输入模块和TFT-LCD液晶显示屏。利用开发板硬件电路实现软硬件结合,能够掌握简易电子计算器的设计、组装与调试方法。设计作用:通过对简易电子计算器的设计与实现,巩固和加深嵌入式系统应用的知识面,更近一步了解STM32的具体使用,并能够掌握简易电子计算器的设计思路,提高及灵活运用所学知识。在设计与实现的过程中,熟悉软硬件设计的方法、内容及步骤,提高动手实践能
11、力、提高科学的思维能力,对于论文的编写,培养书写综合实验报告的能力。3 所用设备及软件本次设计采用的设备为STM32开发板,以及keil MDK软件和C语言的编写。4 系统设计方案4.1 系统总体设计本设计采用意法半导体基于Cortex-M3的STM32F103,意法半导体的板子具有良好的性价比、低功耗、易开发等特点,而且其体系和架构资料丰富,用它能够快速的开发出整个系统。显示屏的选择,现有的液晶显示屏的种类很多,本设计选用的是2.8寸带触摸的彩屏,分辨率为320x240,支持16位色,这个就足够本设计使用了。可把数据利用软件来进行处理,从而把数据传输到LCD液晶显示模块,实现简易电子计算器用
12、户操作界面的显示,在开发板上可使用四个独立按键进行光标上下左右的移动,根据软件程序的设置,开发板加减乘数的计算功能。系统整体框图如图4.1所示: STM32电源简易电子计算器电路复位电路蜂鸣器电路串口电路LCD液晶显示模块独立按键处理模块图4.1 系统整体框图4.2 简要阐述系统工作原理整个系统用STM32单片机作为中央控制器,由单片机执行采集内部RTC值,简易电子计算器信号通过单片机I/O传给LCD显示屏,单片机模块控制驱动模块驱动显示模块,通过显示模块来实现信号的输出、LCD显示屏的显示及相关的控制功能。系统设有按键模块用于对数字进行调整。系统流程图如图4.2所示:图4.2 系统流程图5
13、系统硬件设计5.1 系统整体设计本数字简易电子计算器设计计时采用开发板自带RTC模块,使用4个独立按键实现对时间的调整,1个按键进行复位操作,蜂鸣器对于整点报时及闹铃进行响应。系统总体结构电路原理图见附录2。5.2 各单元电路设计该多功能数字简易电子计算器电路原理设计是基于最小系统包括电源电路、复位电路、按键电路、计算电路、LCD液晶显示电路、蜂鸣器电路、串口电路。5.2.1 电源电路本数字简易电子计算器设计使用开发板配置的数据线与电脑USB接口直接连接进行通电,作为硬件电路电源。电源电路图如图5.2.1所示:图5.2.1 电源电路图5.2.2 LCD液晶显示电路本数字简易电子计算器设计所需显
14、示屏为TFT-LCD液晶显示屏,通过软硬件的结合,可实现计算及数字的显示。LCD液晶显示电路图如图5.2.2所示:图5.2.2 LCD液晶显示电路图5.2.3 简易电子计算器电路本数字简易电子计算器显示采用STM32自带RTC模块,RTC模块拥有一组连续计数的计数器,通过软件的编写,可实现简易电子计算器的功能,在系统复位或待机唤醒后,简易电子计算器电路图如图5.2.3所示:图5.2.3 简易电子计算器电路图5.2.4 按键电路本数字简易电子计算器设计四个按键用于进行显示时间的调整,芯片的4个I/O口与开发板的独立按键直接相连,通过软件编写,芯片可控制按键的开关,以达到时间调整的要求。按键电路图
15、如图5.2.4所示:图5.2.4 按键电路图5.2.5 蜂鸣器电路本数字简易电子计算器设计可进行整点报时与闹铃的功能,经过软硬件的结合,由软件指使芯片控制蜂鸣器的响应。电路图如图5.2.5所示:图5.2.5 蜂鸣器电路图5.2.6 复位电路本数字简易电子计算器设计一个按键用于对整个程序及硬件进行重新复位的功能,以芯片与按键和其他部件组成的复位电路直接相连。复位电路图如图5.2.6所示:图5.2.6 复位电路图5.2.7 串口电路本数字简易电子计算器所用STM32开发板支持USB下载,由USB转串口TTL电路进行自动下载控制,由此可将程序下载于开发板上。串口电路图如图5.2.7所示:图5.2.7 串口电路图6 系统软件设计整个软件系统采用模块化思想,将TFT-LCD液晶屏和RTC实时简易电子计算器分别集成一体,使程序模块化,结构层次分明。本设计的软件系统分为五个部分:T