电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>强大的闹钟构建

强大的闹钟构建

2022-12-05 | zip | 0.12 MB | 次下载 | 免费

资料介绍

描述

介绍

让我们构建一个闹钟。

基于Adam Taylor 的 MiniZed 电机控制项目,我们将添加一个 oled Pmod 并将定时器转换为时钟。要设置时间和闹钟时间,我们将使用串口。电机将用于发出警报声。

Vivado 和硬件

从 MiniZed 电机控制项目开始,我们需要为其添加 oled Pmod 和时钟。

下载Digilent Pmod Vivado Library 2019.1并将其放入项目的 IP 目录中,如Digilent Pmod IP 入门指南中所示。

将如下所示的 PmodOLEDrgb 添加到 MiniZed 电机控制项目中:

poYBAGOIQUCAEg4EAAESQfQxXJY518.jpg

将oled输出添加到Pmod2。将附加约束文件。显示器的所有接口引脚都是输入(MiniZed的输出)。FCLK_CLK0需要50MHz才能使Pmod IP正常工作。默认情况下,MiniZed上的频率为50MHz。

硬件

将HB3 Pmod添加到Pmod 1连接器的顶行,这正是Adam Taylor设置原始项目的方式。然后,将oled Pmod添加到Pmod 2连接器,屏幕面朝上。

Vitis(软件)

使用MiniZed电机控制代码作为基准,Digilent的IP作为指南,该软件(附件中)更改计时器,以作为时钟的1Hz更新。当时间等于报警时间时,电机运行并鸣响警铃。

代码中发生了什么。。。

绝大多数代码都在设置计时器和/或中断。关于计时器和中断,我从Adam的基线中唯一改变的是TICK_timer_FREQ_Hz的第15行从100 Hz变为1Hz,以及中断函数在触发后会做什么(稍后将详细介绍)。有关计时器中断代码的更多信息,请参阅Adam Taylor的MicroZed编年史第15部分。

有几个变量用于保存时间和报警值。大多数变量都是全局变量。这不是理想的情况,但考虑到这是我在ARM处理器上制作的第一个程序,请原谅这一混乱。

主要功能

主功能设置平台,通过串行端口输出欢迎消息,然后通过OLEDrgb_begin设置oled,这需要#include“PMODOLEDrgb.h”

然后调用从第91行开始的函数display_menu()。在这个程序中,它只被调用一次。这是设置时钟和闹钟时间的地方。我很有意思地发现,两位数字/字符串行端口读取需要scanf函数,而不是用于一个字符输入的读取函数。

然后调用从第286行开始的update_oled()函数。这将输出并格式化屏幕上的时间和报警时间。在display_menu()获取值和每分钟(在中断函数中调用)后,在主函数中调用一次。

接下来,设置并启用计时器中断。然后电机控制引脚被设置,但不是像亚当的程序那样被命令运行。

然后main永远在while循环中等待。其他一切都发生在TickHandler(void*CallBackRef)函数中。

中断功能

时间更新和报警检查发生在TickHandler(void*CallBackRef)函数内部,从第227行开始。如果设置了1Hz TICK_TIMER_FREQ_HZ,则每个中断等于一秒。60秒后,分钟增加,就像一个普通的时钟。每分钟调用一次update_oled()函数来更改时间。根据时间检查报警时间,如果时间相等,电机将打开(第287行)一分钟,开始您的一天。

注意:时钟功能有一个错误,12:59到1:00的滚动…如果你发现了问题,请告诉我。

后果

以下是最终项目的视频

结论

感谢Hackster和Adam Taylor的构建,并激励我深入FPGA SoC。这是一次非常有趣的体验,希望不久能做更多的项目!希望你学到了一些东西,创造了更大的东西。

 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费