数码管计时器

来自Microduino Wikipedia
1183296105@qq.com讨论 | 贡献2015年1月21日 (三) 09:00的版本 结果
跳转至: 导航搜索

目的

结合上次课LED数码管显示实验,今天用两个共阳极的数码管做一个倒计时计数器,增加对LED数码管的理解。

设备

Microduino-CoreSTM32是Microduino系列的核心模块之一,采用 STM32F103CBT6芯片的ARM开发板。Microduino-CoreSTM32是一个开放源码硬件与Maple Mini兼容,可利用 Microduino 扩展模块和其他电子元件、模块、传感器,做出很多丰富有趣的互动作品。

  • 其他硬件设备
  • 面包板跳线 一盒
  • 面包板 一块
  • 数码管 2 个
  • 蜂鸣器 一个
  • 470欧电阻 8 个(也可以选择330Ω~660Ω)
  • USB数据连接线 一根

原理图

一般计数器可以采用简单的逻辑芯片产生1s脉冲实现或者采用采用软件方式实现。本课采用软件方式实现每秒在LED上刷新计数值实现计数的目的,从60开始向下计数,当计数到10时,蜂鸣器开始响起。

数码管1和数码管2的a,b,c,d,e,f,g,dp经过电阻分别连到Microduino CoreSTM32 的D2、D3、D4、D5、D6、D7、D8、D9引脚上。Microduino CoreSTM32 的D10和D11分别连到数码管1和数码管2的公共引脚(3号或8号引脚)上。

程序

程序代码: 程序说明:

  • DisplayS(int num,int x) 函数在第“x”数码管上显示数字“num”,最多可以可以显示4个数码管,但同时不能同时显示。
  • Display(unsigned int n) 函数显示整数“n”,“n”的范围为0-9999。
  • millis()用于得到从程序开始运行以来的时间, millis()函数返回以毫秒表示的时间,此外micros()函数返回以微妙表示的时间。

调试

步骤一:确定自己的数码管引脚。 步骤二:把代码复制到Maple IDE中,编译。 步骤三:电路连接,我们用两位共阳数码管电路图照片如下:

步骤四:下载运行代码。 步骤五:看数码管显示。

结果

程序计数值设为60,每隔1s向下计数,当计数到10时,蜂鸣器开始开启提示只有最后10s了。

  • 计数到53时
  • 计数到20时
  • 计数到5时

视频