【不用开发板学习STM32】可设置电子时钟(文末获取代码及工程文件)

原创 智芯Player 2023-10-29 19:14
关注我们
更多精彩等你发现!




不用开发板学习STM32

可设置电子时钟

1

实验环境介绍

• 实验环境

本次实验是通过Proteus+MDK一起模拟完成的。Proteus模拟实际电路,MDK编译代码。Proteus版本是8.9,MDK版本是5.36。需要注意的是,Proteus需要安装8.8以上版本,器件库里面要支持STM32F401VE。

实验目的

通过定时器3TIM3,计数,8位数码管,一个3*4的键盘来实现一个简单的可设置电子时钟。

2

硬件电路



Proteus电路

• 主控:

STM32F401VE,Cotex-M4内核,主频最大84MHz,程序空间512KB,FLASH空间96KB。

• 时钟:

没有用外部晶振,因为Proteus只支持一种时钟树,所以这里采用内部晶振,做实验够了。

• 复位电路:

没有配置相关外设电路,因为Proteus默认是有电压的,默认是复位的,毕竟是仿真软件,主要是验证程序功能。

• IO说明:

我们利用PD0~PD7以及PC0~PC7控制数码管、PE0~PE6控制键盘输入。

3

代码概述



MDK代码目录结构

• 代码目录概述:

USER文件夹:主要包含应用函数的.C文件以及中断函数.C。

HARDWARE文件夹:主要包含底层硬件驱动的.C文件。

CORE文件夹:主要包含STM32的启动的.S文件。

FWLIB文件夹:主要包含ST官方提供的标准外设驱动.C文件(不是HAL库哦)。

• 代码内容概述:

↓↓↓ 按键识别代码如下:

//判断按键是否按下u8 iskeyinput(void){  GPIOE->ODR=0x000f;  if((KEYPORT&0x000f)==0x000f)    return 0;  else    return 1;}//按键识别u8 key_identify(void){  u8 linecode=0,rowcode=0;  u8 i;  u8 scancode=0x00ef;  for(i=0;i<4;i++)  {    GPIOE->ODR=scancode;    if((KEYPORT&0x000f)==0x000f)    {      rowcode++;      scancode=scancode<<1|1;    }    else    {      if(line0==0)linecode=0;      if(line1==0)linecode=3;      if(line2==0)linecode=6;      if(line3==0)linecode=9;      break;    }  }  return linecode+rowcode;}//等待按键松开void wait_key_release(u8 x){  while(1)  {    GPIOE->ODR=0x000f;    if(x==0)seg_disp2();    else seg_disp1(f);    if((KEYPORT&0x000f)==0x000f)      break;  }}//按键扫描u8 key_Scan(u8 x){  u8 keycode=0;    if(iskeyinput())  {    delay_us(100);    if(iskeyinput())    {      keycode=key_identify()+1;      wait_key_release(x);          }  }  return keycode;}

↓↓↓ 电子时钟事件计时代码如下:

void get_time(void){  if(bs>99)  {    bs=0;s++;    if(s==60)    {      s=0;m++;      if(m==60)      {        m=0;h++;        if(h==24)        {h = 0;}        date[0]=h/10;        date[1]=h%10;                }      date[2]=m/10;      date[3]=m%10;    }    date[4]=s/10;    date[5]=s%10;  }  date[6]=bs/10;  date[7]=bs%10;}

↓↓↓ 更详细代码及工程文件,公众号回复关键字就能获取!!

4

实验结果展示



电子时钟效果



设置效果

可以看到,电子时钟能够正常计时并且通过*号按键切换成设置状态,再通过#号按键切换成正常计时状态,至此可设置电子时钟实验完成!!!

关注公众号,后台回复以下内容免费获取





2005


AD封装合集
铝电解系列封装(带3D)
USB Type-A座子系列(带3D)
TF(micro SD)卡座封装大全(带3D)
2.4G PCB天线(量产用)
RJ45座子(带3D)
DC3-2.54板端座子(带3D)
USB3.0板端座子(带3D)
LED发光二极管(带3D)
贴片插件电阻排阻(带3D)
插件压敏电阻(带3D)
继电器(带3D)
按键开关,拨码开关,拨动开关(带3D)
PH2.0座子插件贴片(带3D)
915MHz天线,GPS天线,GSM天线,433MHz天线,13.56Hz天线,LTE天线
FPC座子0.5mm间距1.0mm间距1.25间距(带3D)
贴片及插件二极管-整流桥(带3D)
插件电解电容,贴片电容,钽电容,独石电容(带3D)
VH3.96mm插件座子(带3D)
XH2.54mm座子插件贴片(带3D)
贴片插件晶振(带3D)
micro USB座子,Type C座子,USB-A公头(带3D)
三极管,MOS管,部分LDO(TO,SOT系列)(带3D)
贴片电感(带3D)
插件电感,变压器(带3D)
芯片IC封装-QFP,TQFP,LQFP(带3D)
DC电源接口、音频接口(带3D)
数码管,点阵,屏(带3D)
VGA视频座子,RJ11座子(带3D)
SD卡卡座(带3D)
SIM卡卡座(带3D)
KF2EDGK系列2.54接线端子(带3D)
KF2EDGK系列3.81接线端子(带3D)
KF2EDGK系列5.08接线端子(带3D)
MX1.25mm座子插件贴片(带3D)
ZH1.5mm座子插件贴片(带3D)
2.54间距排针排母插件贴片(带3D)
纽扣电池座插件贴片(带3D)
PADS封装合集
铝电解系列封装(带3D)
Dsub(DB9,DB15d等)公母头座子封装(带3D)
2.4GPCB天线封装(量产用)
不用开发板学习STM32合集
一般流水灯实验(文末获取代码及工程文件
7段数码管0~9定时显示(文末获取代码及工程文件
串口收发+按键控制数码管显示(文末获取代码及工程文件
DS18B20温度采集+OLED显示(文末获取代码及工程文件
必看必读系列
【收藏】32个EMC标准电路!!
【收藏】你应该知道的拓扑结构-开关电源,都在这里!!
【收藏】开关电源你必须知道的专业名字(中英对照)!!
【收藏】优选4层板到12层板叠层经典设计方!!
【收藏】漫画电容器产品及选型指南
【过瘾】电机原理动态图,停不下来!!
【过瘾】各种烙铁头正确使用姿势,你get到了吗?
【较真】细说LDO旁路电容如何选!!
【较真】0欧姆电阻的妙用!!
【必看】10分钟学会看MOSFET手册!!
经典PPT合集
大厂FOC控制理论!
反激式电源同步整流技术!
PCIe6.0官方介绍PPT!
一份完整的EMC报告!
电子元器件基础及选型合集
电阻知识点总结!
电容分类知识点总结!
二极管知识点总结!
电感分类知识点总结!
变压器知识大盘点
必须知道的天线知识及天线图谱
美国线规AWG与公制对照表,拿走不谢~
经典图文,带你一文搞懂MOS管!
超级电容!为什么那么超级!
三极管原理--我见过最通俗易懂的讲法!
功率(PiN)二极管反向恢复机理!
从5个方面,详细讲述旁路电容器原理!
晶振怎么选?有哪些注意点?这里有详细说明!
详解TVS二极管选型攻略,采购不迷路!
划重点!什么是隔离变压器?原理和作用是什么?
保险丝额定电流和熔断电流有什么不同?
趣味试用系列
【RT-Thread RISC-V 评估板】+ 上电,RGB流水灯走一个!
ART-Pi,基于RT-Thread Studio实现快速开发 !
便携USB示波器,入门首先,性价比之王!
为工业应用而生,飞凌嵌入式OKMX8MP-C开发板!
PCB知识库合集
印制电路板(PCB)专业词汇及术语大全!
射频(RF)PCB设计要点!
30张动图沉浸式揭秘PCB制造全过程!

智芯Player 电子创客DIY达人聚集地,发布有趣的DIY作品,实用的教程,板卡试用心得,发布实用的PC手机软件,最新行业动态,兼职外快信息,你想要的这里都有,打造一个可以玩,可以吐槽的工程师小圈子.
评论
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-14 20:56 70浏览
  • 在现代软件开发领域,效率和可靠性是企业在竞争中取胜的关键。本文将深入探讨 ANA Systems 如何通过引入业界领先的 CI/CD 平台——CircleCI,克服传统开发流程的瓶颈,实现开发运营效率的全面提升。同时,本文还将详细解析 CircleCI 的核心优势,包括其强大的自动化功能、广泛的工具整合能力,以及为企业量身定制的支持服务,揭示其如何助力 ANA Systems 在「新一代国内旅客项目」中脱颖而出。这一案例将为企业优化开发流程、提升竞争力提供重要的实践参考。ANA Systems
    艾体宝IT 2024-12-16 16:44 94浏览
  • 近年来,云终端凭借便捷、高效、高性价比的优势正逐步在各行各业渗透。研究机构IDC的数据显示,2024上半年,中国云终端市场总体出货量达到166.3万台,同比增长22.4%,销售额29亿元人民币,同比增长24.9%,均超预期。紫光展锐积极携手各大合作伙伴,共同打造云端生态,大力推动云终端在政企、金融类等领域应用落地。 云终端增长势头良好 两大应用场景被看好云电脑将传统个人电脑的硬件资源和软件应用虚拟化,并通过网络提供给用户。这种模式的核心在于:用户不需要高性能的本地硬件,仅通过互联网连接
    紫光展锐 2024-12-16 18:11 50浏览
  • 霍尔传感器的原理        霍尔传感器是一种固体的传感器,其输出电压与磁场强度成比例。顾名思 义,这种器件是依赖于霍尔效应原理工作的。霍尔效应原理是在导体通电 和加有磁场的情况下,在导体的横向 上会产生电压。电子(在实践中多数载流子最常被使 用)在外部电场的驱动下会产生“漂移”,当暴露于磁场中时,这些运动 的带电粒子会受到一个垂直于电场和 磁场的力的作用。这个力会让导体的边缘充电,一边为正,一边为负。边
    锦正茂科技 2024-12-14 11:41 67浏览
  • 【富芮坤FR3068x-C】+开发环境疑问非常荣欣参加了这次《富芮坤FR3068x-C》评测活动,在搭建开发环境时,本人就遇到很大问题,主要有3个。第1个问题:本人按照《FR306x开发环境说明书》中的1章安装软件,keil5.36版本以上,并且打开sdk中uart工程,按照要求设置了Device配置如下: ARM Compiler选项链接文件配置但是编译结果如下:有23个warning,都是连接脚本中找不到,请问这样工程是否有问题?第2个问题:按照《FR306x开发环境说明书》中要求,需要电脑
    shenwen2007_656583087 2024-12-17 00:59 49浏览
  • 一、引言在数字化时代,芯片作为现代科技的核心,其制造过程却常被视作神秘的黑箱。菊地正典的《大话芯片制造》为我们揭开了这层神秘的面纱,以通俗易懂的方式,全面系统地介绍了芯片制造的各个环节。作为一名电子信息技术专业的教育工作者,我深感这本书不仅为学生提供了宝贵的知识资源,也让我对芯片制造及其在现代社会中的作用有了更深刻的理解。二、生活中的芯片印记芯片的影响渗透到我们日常生活的每一个角落。从智能手机的闹钟唤醒,到交通卡的便捷支付,再到智能家居的智能化功能,芯片以其强大的运算和处理能力,为我们的现代生活
    月光 2024-12-16 11:52 74浏览
  • 全球领先的光学解决方案供应商艾迈斯欧司朗(瑞士证券交易所股票代码:AMS)于10月23日在深圳益田威斯汀酒店举办了艾迈斯欧司朗中国发展中心(以下简称,CDC)圆桌论坛。本次论坛以“智能化时代,以多元应用场景和技术 助力中国市场加速发展”为核心议题,探讨在人工智能驱动的市场趋势下,CDC如何助力中国伙伴把握时代机遇,推动大中华地区业务稳健增长,展示了艾迈斯欧司朗对中国市场的信心。立足中国 贴近本土客户需求在全球经济增速放缓和国际形势复杂多变的背景下,中国市场依然保持了稳定的增长势态,并释放出强大的
    艾迈斯欧司朗 2024-12-16 18:00 111浏览
  • 擎天柱,这个名字听起来就像是从科幻电影里走出来的英雄。但今天,我们要聊的不是那个变形金刚,而是一款同样令人兴奋的实验板——Ai8051U-LQFP48 转 89C52-DIP40 核心功能实验板。这款实验板就像是电子世界的“擎天柱”,它拥有强大的力量和无限的潜力,等待着我们去发掘和探索。 想象一下,你手中握着的不是一块普通的电路板,而是一张通往未来科技世界的门票。Ai8051U芯片,这颗强大的心脏,内置了硬件浮点运算单元(TFPU@120MHz),让你的计算速度飞起来,就像给机器人装上了翅膀。
    丙丁先生 2024-12-16 13:02 97浏览
  • 在现代生活中,我们经常会遇到需要检测电线是否带电的情况。这时,一款好用的数显测电笔就显得尤为重要了。今天,我想跟大家分享一下DELIXI数显测电笔的使用方法,通过一个故事来讲述它如何帮助我们解决生活中的小麻烦。 在一个阳光明媚的周末,小明决定对他家的电路进行一次全面的检查。他知道,虽然自己不是专业的电工,但有了DELIXI数显测电笔的帮助,他也能轻松应对。 小明拿出了DELIXI数显测电笔,这款测电笔设计得非常人性化,操作起来也很简单。他首先注意到了测电笔上的两个按键:DIRECT(A键)和
    丙丁先生 2024-12-16 12:58 70浏览
  • 串口调试助手软件:XCOM 也是一款专为嵌入式开发和硬件调试设计的强大工具,如正点原子串口调试助手 XCOM V2.6。这款软件支持多种串口参数配置,满足不同开发需求,广泛应用于嵌入式系统开发、硬件调试以及电子爱好者的项目开发中。XCOM在嵌入式开发和硬件调试中的作用主要体现在以下几个方面: 1. 串口通信测试:XCOM作为一款强大的串口调试工具,允许用户通过计算机的串口进行数据的发送与接收,从而实现对串口通信的测试。这对于验证硬件设备的通信协议、确保数据传输的正确性至关重要。 2. 数据发
    丙丁先生 2024-12-15 11:56 79浏览
  •        霍尔传感器是一种基于霍尔效应的传感器。霍尔效应指的是当通过一个导体的电流受到外部磁场的影响时,导体内部将会产生一种电场,使得在导体两端的电势差发生变化,这种电势差变化称为霍尔电势差。利用这种现象,可以设计出一种可以测量磁场强度和方向的传感器,即霍尔传感器。  霍尔传感器分为线型霍尔传感器和开关型霍尔传感器两种。  (一)开关型霍尔传感器由稳压器、霍尔元件、差分放大器,斯密特触发器和输出级组成,它输出数字量。开关型霍尔传感器还有一种特
    锦正茂科技 2024-12-14 10:58 64浏览
  • 概述 Cyclone 10 GX器件的ALM结构与Cyclone V类似,所以在Cyclone 10 GX器件上实现TDC功能理论上是可以完全参考甚至移植自Cyclone V系列的成功案例。但是,现实却是更多的问题出现当在Cyclone 10 GX使用和Cyclone V同样策略实现TDC的时候。 本文主要记录在Cyclone 10 GX器件上实现TDC时的探索,并为后续TDC设计、测试等展开前期研究。Cyclone 10 GX ALM结构 如图1所示,Cyclone 10 GX器件的ALM结构
    coyoo 2024-12-14 17:15 81浏览
  • 1. 磁性材料的磁化曲线磁性材料是由铁磁性物质或亚铁磁性物质组成的,在外加磁场H 作用下,必有相应的磁化强度M 或磁感应强度B,它们随磁场强度H 的变化曲线称为磁化曲线(M~H或B~H曲线)。磁化曲线一般来说是非线性的,具有2个特点:磁饱和现象及磁滞现象。即当磁场强度H足够大时,磁化强度M达到一个确定的饱和值Ms,继续增大H,Ms保持不变;以及当材料的M值达到饱和后,外磁场H降低为零时,M并不恢复为零,而是沿MsMr曲线变化。材料的工作状态相当于M~H曲线
    锦正茂科技 2024-12-17 10:40 49浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦