实例19---开机次数记录仪 实例20---秒表计时器(4位数码管)

网友投稿 2019-05-14 10:48

实例19---开机次数记录仪

功能:通过I2C总线,控制4位数码管显示,开机次数,即每按一次RES复位键后,数码管显示自动加1。

硬件: Arduino开发板、1个四位数码管。

四位数码管工作原理:

https://cdn.china-scratch.com/timg/190516/104Q14106-0.jpg

I2C总线工作原理:I  two   c   总线(4根线=数据线+时钟线+正极+负极)

https://cdn.china-scratch.com/timg/190516/104Q13002-1.jpg

https://cdn.china-scratch.com/timg/190516/104Q2M31-2.jpg

https://cdn.china-scratch.com/timg/190516/104Q215a-3.jpg

https://cdn.china-scratch.com/timg/190516/104Q22P3-4.jpg

软件:米思齐软件

实验步骤:

一、 通过米思齐软件,图形化编程如下:

https://cdn.china-scratch.com/timg/190516/104Q24b5-5.jpg

如果开机次数清零,则将记取EEPROM地址改为8,上传程序,之后再修改为0,重新上传程序。

2、程序代码如下:

#include     定义总线头文件

#include "Mixly.h"    定义米思齐头文件

#include    定义存储器头文件

volatile byte times;    定义times变量

TM1650 tm_4display;    定义4位数码管变量

void setup()

{

  times = 0;   初始化变量times为0

  Wire.begin();    总线准备

  tm_4display.init();   初始化数码管

  tm_4display.clear();   清空数码管

  times = EEPROM.read(0);        存储次数赋值给times变量

  tm_4display.displayString(String("")+times);     输出显示数码管

  times = times + 1;     存储次数加1

  EEPROM.write(0, times);       times写入存储单元中

}

void loop()

{}

3、硬件连接

将USB口连接到开发板上

将四位数码管连接到i2C总线处。

4、编译、上传程序设置

5、查看运行结果。

二、硬件连接设置

三、程序下载和运行测试

四、思考题

开机时,加入提示音?

实例20---秒表计时器(4位数码管)

功能:通过I2C总线,控制4位数码管显示,秒表功能,数码管每1秒钟,显示自动加1。

硬件: Arduino开发板、1个四位数码管。

软件:米思齐软件

实验步骤:

二、 通过米思齐软件,图形化编程如下:

https://cdn.china-scratch.com/timg/190516/104Q21419-6.jpg

显示,文本,控制,数学

2、程序代码如下:

#include #include "Mixly.h"TM1650 tm_4display;void setup(){  Wire.begin();  tm_4display.init();  tm_4display.clear();}void loop() 

{  tm_4display.displayString(String("")+(millis() / 1000));

}

3、硬件连接

将USB口连接到开发板上

将四位数码管连接到i2C总线处。

4、编译、上传程序设置

5、查看运行结果。

二、硬件连接设置

三、程序下载和运行测试

四、思考题

计时,加入提示音?

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com