資料介紹
描述
介紹
讓我們構(gòu)建一個(gè)鬧鐘。
基于Adam Taylor 的 MiniZed 電機(jī)控制項(xiàng)目,我們將添加一個(gè) oled Pmod 并將定時(shí)器轉(zhuǎn)換為時(shí)鐘。要設(shè)置時(shí)間和鬧鐘時(shí)間,我們將使用串口。電機(jī)將用于發(fā)出警報(bào)聲。
Vivado 和硬件
從 MiniZed 電機(jī)控制項(xiàng)目開始,我們需要為其添加 oled Pmod 和時(shí)鐘。
下載Digilent Pmod Vivado Library 2019.1并將其放入項(xiàng)目的 IP 目錄中,如Digilent Pmod IP 入門指南中所示。
將如下所示的 PmodOLEDrgb 添加到 MiniZed 電機(jī)控制項(xiàng)目中:
將oled輸出添加到Pmod2。將附加約束文件。顯示器的所有接口引腳都是輸入(MiniZed的輸出)。FCLK_CLK0需要50MHz才能使Pmod IP正常工作。默認(rèn)情況下,MiniZed上的頻率為50MHz。
硬件
將HB3 Pmod添加到Pmod 1連接器的頂行,這正是Adam Taylor設(shè)置原始項(xiàng)目的方式。然后,將oled Pmod添加到Pmod 2連接器,屏幕面朝上。
Vitis(軟件)
使用MiniZed電機(jī)控制代碼作為基準(zhǔn),Digilent的IP作為指南,該軟件(附件中)更改計(jì)時(shí)器,以作為時(shí)鐘的1Hz更新。當(dāng)時(shí)間等于報(bào)警時(shí)間時(shí),電機(jī)運(yùn)行并鳴響警鈴。
代碼中發(fā)生了什么。。。
絕大多數(shù)代碼都在設(shè)置計(jì)時(shí)器和/或中斷。關(guān)于計(jì)時(shí)器和中斷,我從Adam的基線中唯一改變的是TICK_timer_FREQ_Hz的第15行從100 Hz變?yōu)?Hz,以及中斷函數(shù)在觸發(fā)后會(huì)做什么(稍后將詳細(xì)介紹)。有關(guān)計(jì)時(shí)器中斷代碼的更多信息,請(qǐng)參閱Adam Taylor的MicroZed編年史第15部分。
有幾個(gè)變量用于保存時(shí)間和報(bào)警值。大多數(shù)變量都是全局變量。這不是理想的情況,但考慮到這是我在ARM處理器上制作的第一個(gè)程序,請(qǐng)?jiān)忂@一混亂。
主要功能
主功能設(shè)置平臺(tái),通過串行端口輸出歡迎消息,然后通過OLEDrgb_begin設(shè)置oled,這需要#include“PMODOLEDrgb.h”
然后調(diào)用從第91行開始的函數(shù)display_menu()。在這個(gè)程序中,它只被調(diào)用一次。這是設(shè)置時(shí)鐘和鬧鐘時(shí)間的地方。我很有意思地發(fā)現(xiàn),兩位數(shù)字/字符串行端口讀取需要scanf函數(shù),而不是用于一個(gè)字符輸入的讀取函數(shù)。
然后調(diào)用從第286行開始的update_oled()函數(shù)。這將輸出并格式化屏幕上的時(shí)間和報(bào)警時(shí)間。在display_menu()獲取值和每分鐘(在中斷函數(shù)中調(diào)用)后,在主函數(shù)中調(diào)用一次。
接下來,設(shè)置并啟用計(jì)時(shí)器中斷。然后電機(jī)控制引腳被設(shè)置,但不是像亞當(dāng)?shù)某绦蚰菢颖幻钸\(yùn)行。
然后main永遠(yuǎn)在while循環(huán)中等待。其他一切都發(fā)生在TickHandler(void*CallBackRef)函數(shù)中。
中斷功能
時(shí)間更新和報(bào)警檢查發(fā)生在TickHandler(void*CallBackRef)函數(shù)內(nèi)部,從第227行開始。如果設(shè)置了1Hz TICK_TIMER_FREQ_HZ,則每個(gè)中斷等于一秒。60秒后,分鐘增加,就像一個(gè)普通的時(shí)鐘。每分鐘調(diào)用一次update_oled()函數(shù)來更改時(shí)間。根據(jù)時(shí)間檢查報(bào)警時(shí)間,如果時(shí)間相等,電機(jī)將打開(第287行)一分鐘,開始您的一天。
注意:時(shí)鐘功能有一個(gè)錯(cuò)誤,12:59到1:00的滾動(dòng)…如果你發(fā)現(xiàn)了問題,請(qǐng)告訴我。
后果
以下是最終項(xiàng)目的視頻:
結(jié)論
感謝Hackster和Adam Taylor的構(gòu)建,并激勵(lì)我深入FPGA SoC。這是一次非常有趣的體驗(yàn),希望不久能做更多的項(xiàng)目!希望你學(xué)到了一些東西,創(chuàng)造了更大的東西。
?
- 使用Bolt構(gòu)建鬧鐘的最簡(jiǎn)單方法
- 使用物聯(lián)網(wǎng)并構(gòu)建簡(jiǎn)單的螺栓鬧鐘
- 圍繞WIZ750SR模塊構(gòu)建的會(huì)說話鬧鐘
- 使用單片機(jī)設(shè)計(jì)的多功能鬧鐘電路原理圖 45次下載
- 電子鬧鐘源碼文件下載 11次下載
- 如何使用單片機(jī)設(shè)置多個(gè)鬧鐘C語言程序免費(fèi)下載
- 使用51單片機(jī)進(jìn)行鬧鐘制作的程序免費(fèi)下載
- DS1302按鍵調(diào)時(shí)和鬧鐘的C語言程序免費(fèi)下載 50次下載
- 基于單片機(jī)的定時(shí)鬧鐘設(shè)計(jì) 22次下載
- 鬧鐘 16次下載
- RTC鬧鐘喚醒實(shí)驗(yàn) 19次下載
- 基于labview鬧鐘的設(shè)計(jì) 0次下載
- 多功能鬧鐘原理圖
- 采用單片機(jī)設(shè)計(jì)的電子鬧鐘硬件方案
- LCD電子鬧鐘
- 利用AI構(gòu)建實(shí)用量子計(jì)算應(yīng)用 385次閱讀
- 手動(dòng)構(gòu)建Docker鏡像的方法 562次閱讀
- 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的構(gòu)建方法 745次閱讀
- 使用PyTorch構(gòu)建神經(jīng)網(wǎng)絡(luò) 744次閱讀
- 交換芯片的構(gòu)建方式 494次閱讀
- 使用WebLOAD構(gòu)建負(fù)載測(cè)試方案 669次閱讀
- 基于51單片機(jī)的鬧鐘系統(tǒng)設(shè)計(jì) 2269次閱讀
- 鬧鐘的ESD整改案例 833次閱讀
- CubeMX配置RTC實(shí)現(xiàn)日歷和鬧鐘實(shí)驗(yàn) 1965次閱讀
- 基于功能強(qiáng)大的子域收集工具 990次閱讀
- 鏡像構(gòu)建Dockerfile的介紹 1180次閱讀
- 使用功率MOSFET的強(qiáng)大30A直流電機(jī)驅(qū)動(dòng)器 4570次閱讀
- 基于樹莓派3B實(shí)現(xiàn)智能鬧鐘的設(shè)計(jì)方案 3294次閱讀
- EDA實(shí)現(xiàn)鬧鐘鈴聲設(shè)計(jì) 2004次閱讀
- STM32實(shí)現(xiàn)對(duì)RTC鬧鐘喚醒的設(shè)計(jì) 1.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論