0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用chipKIT Uno32板构建一个数字秒表

454398 来源:网络整理 作者:网络整理 2019-12-05 16:05 次阅读

在这个项目中,我们将使用chipKIT Uno32板构建一个数字秒表,该秒表能够对分钟,秒和1/10秒进行计时,并具有基本的启动和停止控制功能。 MAX7219驱动的8位七段LED显示器用于显示经过的时间。秒表停止时,Uno32板上的 重置 开关将用于将当前时间重置为0。

chipKIT数字秒表项目插图

理论

秒表是一种测量时计的时计。从启动到停止之间经过的时间量。秒表在许多活动中很有用,包括体育,游戏和烹饪,这些活动可以用来计时。我们将使用 chipKIT Uno32开发板和 SPI7SEGDISP8.56-1R显示模块构建数字秒表。秒表的时间分辨率为1/10秒或100毫秒,最大可测量间隔为99分钟,此后秒表将再次翻转为零。可以在此处找到基于MAX7219的串行七段显示接口的更多详细信息

《表边框=“ 5” cellspacing =“ 0” cellpadding =“ 2” align =“ center” 》 SPI7SEGDISP8.56-1R 是基于MAX7219的8 -digitseven段LED显示,仅需MCU的3个I/O引脚即可控制所有数字段。它还支持通过软件命令进行亮度控制。

从我们的Tindie商店购买SPI7SEGDISP8.56-1R

电路设置

SPI7SEGDISP8.56-1R模块的电源引脚(VCC和Gnd)连接到Uno32板的5V和Gnd接头引脚。 DIN,CLK和LOAD信号线由Uno32板的数字输出引脚7、6和5驱动。还需要一个轻触开关在秒表的开始/停止之间切换。它连接到Uno32板的中断引脚INT0(在I/O引脚38上可用)。一个简单的RC滤波电路用于对开关进行去抖动。下图显示了该项目中实现的开关去抖电路及其去抖时间。可以通过如下所示的简单RC电路瞬态响应方程来计算去抖动时间。对于给定的R2和C1值,去抖动时间计算为〜3.5ms。

硬件去泡电路的秒表启动/停止开关

该项目的完整设置如下图所示。 “开始/停止”开关和去抖动电路建立在面包板上。

项目的完整设置

带有反跳电路的启动/停止开关布置在面包板上

chipKIT草图

该项目使用 millis()函数进行计时。 millis() 是Arduino中的内置函数,因此在MPIDE中,该函数返回自当前草图开始起经过的毫秒数。此值在大约50天后溢出。此秒表项目的时间分辨率为1/10秒或100 ms。因此,将计数器设置为每100 ms递增一次,它会溢出并在10个计数中回滚到0,这相当于1秒。定义变量来存储分钟,秒和十分之一秒的信息。经过的时间以MM-SS-TS(TS为十分之一秒)格式显示在七段显示屏上。 LedControl库在该项目中用于将基于MAX7219的七段式LED显示器与chipKIT Uno32板接口。按下连接到INT0(引脚38)引脚的按钮即可启动和停止秒表。 INT0触发模式定义为 FALLING ,这意味着当INT0引脚从高电平变为低电平时,将调用中断例程。可以从下面的链接下载该项目的完整草图。将此草图上传到您的chipKIT Uno32板上,秒表就可以开始滚动了。

下载秒表草图

下载 LedControl

输出

秒表的操作非常简单,如前所述。开机时,秒表显示全零。按下轻触开关启动秒表。第二次按下时,秒表停止。可以通过按Uno32板上的Reset(重置)按钮将其重置为零。

秒表从七位LED显示屏上的所有零开始

按下开关可启动和停止秒表

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路
    +关注

    关注

    172

    文章

    5824

    浏览量

    171723
  • 显示器
    +关注

    关注

    21

    文章

    4917

    浏览量

    139718
  • 秒表
    +关注

    关注

    3

    文章

    77

    浏览量

    21987
收藏 人收藏

    评论

    相关推荐

    用PPS编译生成了.h文件,文件里头的接口段代码{44,28,0,0}这四个数字分别代表什么意思啊?

    VOLUME_control_names[] = { \"Volume_1\" }; 我想问的是{44,28,0,0}这四个数字分别代表什么意思啊?还请大家指教,不胜感激~!
    发表于 10-30 06:37

    为THS3001构建简单的SPICE模型

    电子发烧友网站提供《为THS3001构建简单的SPICE模型.pdf》资料免费下载
    发表于 10-29 10:11 0次下载
    为THS3001<b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个</b>简单的SPICE模型

    用DSP做一个数字电源,如何选择数字电源的运放?

    打算用DSP做一个数字电源,在运放选型的地方卡住了, 数字电源的运放在选择上有什么讲究? 改重点关注那些参数?
    发表于 08-22 06:49

    KEYSIGHT MSOX3052T 示波器:500 MHz,2 模拟通道和 16 个数字通道

    与技术指标 1 GHz,4 模拟通道和 16 个数字通道 使用电容触摸屏进行简洁的触控操作: •提高调试效率
    的头像 发表于 08-16 17:31 257次阅读

    数字孪生场景构建行业应用和优势

    ,古河云科技今天就来给大家聊数字孪生场景构建行业应用和优势。 数字孪生场景构建的行业应用 1.制造业: -
    的头像 发表于 06-11 14:26 308次阅读
    <b class='flag-5'>数字</b>孪生场景<b class='flag-5'>构建</b>行业应用和优势

    数字孪生场景构建的技术和优势

    数字孪生 场景的构建涉及多种技术和方法,下面将介绍数字孪生场景构建的技术和优势。 数字孪生场景构建
    的头像 发表于 05-22 16:48 247次阅读
    <b class='flag-5'>数字</b>孪生场景<b class='flag-5'>构建</b>的技术和优势

    晶振掌控着整个数字世界的节奏

    在我们的日常生活中,智能电子设备无处不在,而在这个数字化的世界中,有小小的频率元器件,它以微弱的震动,掌控着整个数字世界的节奏,它就是晶振,
    的头像 发表于 03-15 11:03 301次阅读
    晶振掌控着整<b class='flag-5'>个数字</b>世界的节奏

    如何使用Arduino UNO和电位器控制伺服电机

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO和电位器控制伺服电机。
    的头像 发表于 02-11 10:11 2415次阅读
    如何使用Arduino <b class='flag-5'>UNO</b><b class='flag-5'>板</b>和电位器控制伺服电机

    ESP32与Arduino之间的区别差异

    Arduino包括ATmega328P8位微控制器,具有0至13个数字引脚。这些引脚用于数字输入和
    的头像 发表于 02-02 14:36 6589次阅读
    ESP32与Arduino<b class='flag-5'>板</b>之间的区别差异

    mysql怎么新建个数据库

    mysql怎么新建个数据库 如何新建个数据库在MySQL中 创建个数据库是MySQL中的基
    的头像 发表于 12-28 10:01 831次阅读

    #人工智能 #FPGA 明德扬MP801案例演示《数字秒表

    fpga数字秒表
    明德扬助教小易老师
    发布于 :2023年12月28日 07:10:09

    小安派-UNO-ET485 Arduino开发简介

    前面几款小安派出来的时候,经常有粉丝询问是否支持Arduino?其它款小安派也是支持的,大家可以去安信可社区搜索查看,小安派-UNO-ET485 Arduino开发来了,兼容UNO的经典外形,易上手。
    的头像 发表于 12-03 09:58 867次阅读
    小安派-<b class='flag-5'>UNO</b>-ET485 Arduino开发<b class='flag-5'>板</b>简介

    python里怎么写个数的立方

    在Python中,我们可以使用运算符和函数来计算数的立方。下面我将详细介绍如何使用这些方法来实现这个功能。 首先,我们可以使用乘法运算符 ** 来计算个数的立方。例如,如果我们有
    的头像 发表于 11-21 16:47 3248次阅读

    oracle怎么修改表中的个数

    修改 Oracle 数据库表中的个数据可以通过使用 UPDATE 语句来实现。UPDATE 语句用于更新表中的数据行。 更新单行数据 要更新表中的个数据,首先需要确定要更新的数据行
    的头像 发表于 11-21 11:39 1920次阅读

    如何使用单片机MSP430FG439构建个数字心率监视器

    电子发烧友网站提供《如何使用单片机MSP430FG439构建个数字心率监视器.pdf》资料免费下载
    发表于 11-14 11:47 0次下载
    如何使用单片机MSP430FG439<b class='flag-5'>构建</b><b class='flag-5'>一</b><b class='flag-5'>个数字</b>心率监视器