数码管计时器
1183296105@qq.com(讨论 | 贡献)2015年1月21日 (三) 08:29的版本 (Created page with "== 目的 == 结合上次课LED数码管显示实验,今天用两个共阳极的数码管做一个倒计时计数器,增加对LED数码管的理解。 == 设备 == * Mic...")
目的
结合上次课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时