发布时间:2023-09-16 12:00来源:www.51edu.com作者:畅畅
proteusstm32利用独立按键数码管显示数字
实验环境
本次实验是通过Proteus+MDK一起模拟完成的。Proteus模拟实际电路,MDK编译代码。Proteus版本是8.13,MDK版本是5.21。需要注意的是,Proteus需要安装8.8以上版本,器件库里面要支持STM32F103C6。
• 实验目的
通过一个按键控制数码管0~9循环显示,并且把对应数字发给串口。通过接收串口数据,控制数码管0~9循环显示。实验目的,学会按键检测方法,这边用的是开源库multi_button,学会串口怎么用。
Proteus硬件电路
虚拟串口示意
• 主控:
STM32F103C6(本来想用C8的,但是Proteus只有C6,本质上只有Flash和SRAM大小的区别,所以没有必要纠结)
• 时钟:
没有用外部晶振,因为Proteus只支持一种时钟树,所以这里采用内部晶振,做实验够了,内部晶振配置为40MHz。
• 复位电路:
复位电路如图,包含了上电复位电路一个10K电阻(图上用的是100K实际应该都是可以的)+一个100nF电容。按键复位电路,包含了一个自复位按键,按下后,RST管脚就会短路到GND,MCU就会复位。
•电路上还要接一个Proteus虚拟串口,在自己电脑上也要用虚拟串口软件虚拟一对串口出来,上图所示,PC端我们用的是COM5,那么Proteus端我们用COM4。
• IO说明:
→ 我们利用PA0~PA6来控制7段数码管,高电平点亮;
→PB0用作LED的控制,指示程序状态;
→PB4作为按键输入状态读取;
→PA9,PA10是串口输入输出;
2.代码概述
目录结构
• 代码目录概述:
→APP文件夹:主要包含应用函数的.C文件。
→BSP文件夹:主要包含底层硬件驱动的.C文件。
→MDK-ARM文件夹:主要包含STM32的启动的.S文件。
→StdPeriph_Driver文件夹:主要包含ST官方提供的标准外设驱动.C文件(不是HAL库哦)。
→CMSIS文件夹:系统内核配置文件,标准库自带的。
→按键驱动使用的是multi_button。
→串口接收0x09这个代码1次就会反转数码管1次,0~9循环。
→按键按1次就会反转数码管1次,0~9循环。
→按键按下LED灯亮,松开灭。
【不用开发板学习STM32】串口收发+按键控制数码管显示(文末获取代码及工程文件)
可以显示,功能描述:
1.两位数码管显示,数码管可以显示0-99两位数字。需要用数码管驱动芯片
2.按一下加按键,数字加1,按到99之后数字变0。按一下减按键,数字减1,按到0之后变数字99。初始化显示为学号后两位。
使数码管逐个从1显示到9,然后循环往复,达到一位数码管显示的效果。
下一篇:哈曼卡顿功放电源开关继电器不工作
流浪法师出装,英雄联盟手游小法师怎么出装
勇者斗恶龙7安卓攻略,勇者斗恶龙7安卓
lol小鱼皮肤哪个手感好,菲兹皮肤手感排行
妄想山海香料蘑菇怎么做,妄想山海臭豆腐配方和制作方法分享
厄运之槌地图走法,魔兽厄运之槌副本入口
另一个伊甸奈岐角色任务,另一个伊甸奈岐技能介绍及强度测评
西部荒野稀有乌尔图斯,外域稀有精英分布图
奶茶制作方法,妄想山海烤全鱼配方和制作方法分享
洛克王国酷拉要刷多少次,洛克王国酷拉在哪
开心消消乐
类型:休闲益智
解压宝盒
类型:休闲益智
迷你世界
类型:休闲益智
恐怖奶奶
类型:休闲益智
老板挪个车2
类型:休闲益智
我的狗狗
类型:休闲益智
贪吃蛇大作战
类型:休闲益智
白块儿达人-节奏钢琴黑白块
类型:休闲益智
解压模拟大师
类型:休闲益智