基于stm32计算器设计

  • @[TOC](基于stm32计算器设计)
  • 1 系统功能设计
  • 2 系统硬件系统分析设计
  • 2.1 STM32单片机核心电路设计
  • 2.2 LCD1602液晶显示模块电路设计
  • 2.3 4X4矩阵键盘模块设计
  • 3 STM32单片机系统软件设计
  • 3.1 编程语言选择
  • 3.2 Keil程序开发环境
  • 3.3 FlyMcu程序烧录软件介绍
  • 3.4 CH340串口程序烧写模块介绍

1 系统功能设计

STM32单片机智能计算器16*16矩阵键盘
本系统由STM32F407ZGT6单片机核心板、矩阵按键、LCD1显示屏。
1、通过按键可以进行数字的加减乘除运算。
2、可以进行连续加减运算,该计算器只能进行整数运算,不能进行小数处理。
3、矩阵按键布局对应一下参数:
7 8 9 /
4 5 6 *
1 2 3 -
C 0 = +

2 系统硬件系统分析设计

2.1 STM32单片机核心电路设计

STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位、支持实时仿真和跟踪的微控制器。选择此款控制芯片是因为本系统设计并非追求成本的最低或更小的功耗,而是在实现本设计功能的前提下能够提供更丰富的接口和功能以便于设计实验系统各实验项目所需的外围扩展电路。此款控制芯片在完成单片机课程的学习后上手较为容易,在医疗器械中应用广泛,具有很好的学习、实验研究价值。

一、STM32的主要优点:

(1)使用ARM最新的、先进架构的Cortex-M3内核

(2) 优异的实时性能

(3) 杰出的功耗控制

(4) 出众及创新的外设

(5) 最大程度的集成整合

(6) 易于开发,可使产品快速将进入市场

二、STM32——最佳的平台选项

对于使用同一平台进行多个项目开发而言,STM32是最

佳的选择:

(1) 从仅需少量的存储空间和管脚应用到需要更多的存储空间和管脚的应用

(2) 从苛求性能的应用到电池供电的应用

(3) 从简单而成本敏感的应用到高端应用

(4) 全系列脚对脚、外设及软件的高度兼容性,给您带来全方位的灵活性。您可以在不必修改您原始框架及软件的条件下,将您的应用升级到需要更多存储空间或精简到使用更少存储空间/ 或改用不同的封装的规格。

STM32F407zgt6单片机核心板接口电路图如下图所示。

stm32写深度学习模型 基于stm32设计_stm32写深度学习模型


STM32单片机核心板接口原理图

stm32写深度学习模型 基于stm32设计_stm32写深度学习模型_02


STM32单片机实物图

2.2 LCD1602液晶显示模块电路设计

LCD显示器分为字段显示和字符显示两种。其中字段显示与LED显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。LCD1602可以显示2行16个汉字。
一、LCD1602主要技术参数如下:
(1)显示容量为16×2个字符;
(2)芯片工作电压为4.5~5.5V;
(3)工作电流为2.0mA(5.0V);
(4)模块最佳工作电压为5.0V;
(5)字符尺寸为2.95×4.35(W×H)mm。
二、LCD1602采用标准的14脚,其接口的引脚说明如下:
(1)第1脚:VSS为地电源。
(2)第2脚:VDD接5V正电源。
(3)第3脚:V0为液晶显示器对比度调整端。
(4)第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
(5)第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
(6)第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
(7)第7~14脚:D0~D7为8位双向数据线。
(8)第15~16脚:空脚
系统中采用LCD1602作为显示器件输出信息。在本电路中电位器可以调节液晶显示的对比度即清晰度。其具体电路原理图如下图所示。

LCD1602液晶显示电路原理图
其实物图如下图所示。

2.3 4X4矩阵键盘模块设计

在单片机按键使用过程中,当键盘中按键数量较多时,为了减少单片机端口的占用,通常将按键排列成矩阵。也就是只需要8个IO口,就可以拥有16个按键的功能。具体的原理和使用方法。。

一、矩阵键盘模块特点:

(1)体积小;

(2)节省空间;

(3)使用方便;

(4)共计16按键;

(5)单片机外扩键盘的上佳选择。

二、模块接口原理图如下图所示。

stm32写深度学习模型 基于stm32设计_串口_03


模块接口电路原理图三、4X4矩阵键盘模块实物图如下图所示。

stm32写深度学习模型 基于stm32设计_嵌入式硬件_04

4X4矩阵键盘模块模块实物图

3 STM32单片机系统软件设计

3.1 编程语言选择

由于整个程序比较复杂,且计算量较大,用到了较多的浮点数计算,所以程序的编写采用了C语言。
对于大多数单片机,使用C语言这样的高级语言与使用汇编语言相比具有如下优点:
(1)不需要了解处理器的指令集,也不必了解存储器结构。
(2)寄存器分配和寻址方式由编译器进行管理,编程时不需要考虑存储器的(3)地址和数据类型等细节。
(4)指定操作的变量选择组合提高了程序的可读性。
(5)可使用与人的思维更相近的关键字和操作函数。
(6)与使用汇编语言相比,程序的开发和调试时间大大缩短。
(7)C语言的库文件提供了许多标准的例程。
(8)通过C语言可实现模块化编程技术,从而可将已编制好的程序加到 新程序中。
(9)C语言可移植性好且非常普及,C语言编译器几乎适用于所有的目标系统,己完成的项目可以很容易的转换到其它的处理器或环境中与汇编语言相比,C语言在功能上、结构性、可读性、可移植性、可维护性上有明显的优势,易学易用。

3.2 Keil程序开发环境

本设计中单片机开发环境是Keil,Keil是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。其中Keil有以下特点:

(1)Keil软件同时支持WINXP和WIN7等多种操作系统,提供了丰富的库函数和功能强大的开发工具。

(2)Keil可以完成从编辑、编译、到连接、调试的一套开发流程。

Keil软件界面如下图所示。

stm32写深度学习模型 基于stm32设计_stm32_05

Keil uVision5开发界面图

3.3 FlyMcu程序烧录软件介绍

FlyMcu是一款好用的stm32烧录程序软件,对于专业的单片机开发者来说应该非常适用,软件可以广泛地应用于电路编程(ICP)和应用编程(IAP)领域,支持进行编程、校验、读器件信息。

可以通过下载器(即CH340等串口烧写模块)下载单片机程序。单片机开发板、下载器以及PC连接好后,首先需要在软件中选择串口号,然后选择项目程序“hex”文件所在的地址,最后就可以点击开“开始编程(P)”按钮即可下载程序。具体下载界面如下图所示。

stm32写深度学习模型 基于stm32设计_嵌入式硬件_06

烧录软件下载界面

3.4 CH340串口程序烧写模块介绍

本设计通过CH340串口烧写模块实现对单片机程序的烧写。CH340串口烧写模块使用USB接口,十分方便的解决了笔记本电脑用户对STC系列单片机的程序烧写问题,本下载器低价格、高性能,是开发 STC 系列单片机的首选优秀工具。

一、CH340串口烧写模块特点:

(1)支持 USB1.1 或 USB2.0 通信;

(2)全面支持 WIN98、 WINME、 WIN2000、 WINXP、 VISTA、 WIN7 等操作系统;

(3)采用 USB 口供电;

(4)在对芯片编程时可以使用目标系统本身电源,也可以使用编程器从 USB 口取电供给目标板,但应保证目标板电流不大于500mA,以免不能正常编程;

(5)编程完成不影响目标板的程序运行;

(6)支持 STC 全系列芯片烧录;

(7)编程器提供 3.3V 与 5V 的电压输出接口;

(8)速度比并口编程更快更稳定,更方便笔记本电脑用户使用;

(9)采用进口原装芯片, 能进行高速稳定编程;

模块如下图所示。

stm32写深度学习模型 基于stm32设计_stm32写深度学习模型_07

CH340串口烧写模块
二、CH340串口烧写模块引脚说明
(1)+5V 5V输出,因有USB电源线,故本开发板不接,不需要
(2)VCC 本开发板不接,不需要
(3)3V3 3.3V输出,本开发板不接,不需要
(4)TXD 接单片机的RXD引脚
(5)RXD 接单片机的RXD引脚
(6)GND 接GND。
三、CH340串口烧写模块与单片机的具体接线图如下表所示。
CH340串口烧写模块与单片机接线:
TXD RXD (单片机引脚PA10)
RXD TXD(单片机引脚PA9)
GND GND