資料介紹
描述
介紹
讓我們構建一個鬧鐘。
基于Adam Taylor 的 MiniZed 電機控制項目,我們將添加一個 oled Pmod 并將定時器轉換為時鐘。要設置時間和鬧鐘時間,我們將使用串口。電機將用于發出警報聲。
Vivado 和硬件
從 MiniZed 電機控制項目開始,我們需要為其添加 oled Pmod 和時鐘。
下載Digilent Pmod Vivado Library 2019.1并將其放入項目的 IP 目錄中,如Digilent Pmod IP 入門指南中所示。
將如下所示的 PmodOLEDrgb 添加到 MiniZed 電機控制項目中:
將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。這是一次非常有趣的體驗,希望不久能做更多的項目!希望你學到了一些東西,創造了更大的東西。
?
- 使用Bolt構建鬧鐘的最簡單方法
- 使用物聯網并構建簡單的螺栓鬧鐘
- 圍繞WIZ750SR模塊構建的會說話鬧鐘
- 使用單片機設計的多功能鬧鐘電路原理圖 45次下載
- 電子鬧鐘源碼文件下載 10次下載
- 如何使用單片機設置多個鬧鐘C語言程序免費下載
- 使用51單片機進行鬧鐘制作的程序免費下載
- DS1302按鍵調時和鬧鐘的C語言程序免費下載 50次下載
- 基于單片機的定時鬧鐘設計 22次下載
- 鬧鐘 15次下載
- RTC鬧鐘喚醒實驗 19次下載
- 基于labview鬧鐘的設計 0次下載
- 多功能鬧鐘原理圖
- 采用單片機設計的電子鬧鐘硬件方案
- LCD電子鬧鐘
- 利用AI構建實用量子計算應用 123次閱讀
- 手動構建Docker鏡像的方法 214次閱讀
- 神經網絡預測模型的構建方法 375次閱讀
- 使用PyTorch構建神經網絡 412次閱讀
- 交換芯片的構建方式 336次閱讀
- 使用WebLOAD構建負載測試方案 494次閱讀
- 基于51單片機的鬧鐘系統設計 1668次閱讀
- 鬧鐘的ESD整改案例 634次閱讀
- CubeMX配置RTC實現日歷和鬧鐘實驗 1644次閱讀
- 基于功能強大的子域收集工具 861次閱讀
- 鏡像構建Dockerfile的介紹 1004次閱讀
- 使用功率MOSFET的強大30A直流電機驅動器 4073次閱讀
- 基于樹莓派3B實現智能鬧鐘的設計方案 3029次閱讀
- EDA實現鬧鐘鈴聲設計 1921次閱讀
- STM32實現對RTC鬧鐘喚醒的設計 1.3w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多