FPGA學習筆記 正點原子FPGA按鍵消抖筆記

2021-10-03 18:47:13 字數 1543 閱讀 5867

出自正點原子《開拓者fpga開發指南v1.3》第九章按鍵控制蜂鳴器實驗

暫存器:key_flag     按鍵資料有效訊號

暫存器:key_value  按鍵消抖後的資料

暫存器:delay_cnt   延時計數

系統時鐘:50mhz

思路:一直檢測按鍵狀態,一旦按鍵狀態發現變化,給delay_cnt計數器賦初值100_0000,也就是20ms計數。按鍵狀態不發生改變,那麼計數器開始遞減計數,直到計數器減到1時,說明按鍵狀態穩定保持20ms,此時給出乙個時鐘週期的按鍵有效通知訊號key_flag,並將按鍵資料暫存器key_value鎖存輸出。

verilog硬體語言和c語言的不同之一,c語言是順序語言,如果給出一條賦值語句,左值會立刻變化,而verilog語言的一條幅值語句需要乙個時鐘週期改變幅值,也就是乙個時鐘週期內,所有暫存器的值都不會被改變,只有下乙個時鐘訊號到來,暫存器的值才會被改變。

正點原子ucosIII學習筆記(一)

最近又開了新坑,在學過stm32後,我選擇去學學嵌入式作業系統,就從ucosiii開始好了。我看的是正點原子ucosiii的課程。第一節主要是介紹了下裸機跑程式和加作業系統跑程式的區別 裸機的話,乙個程式可分為前端和後端。後端就是乙個大迴圈,通過乙個死迴圈,不斷的呼叫hadeware裡函式的api,...

正點原子 IMX6ULL學習

啟動檔案.global start 全域性標號 描述 start函式,程式從此函式開始執行,此函式主要功能是設定c 執行環境。start 進入svc模式 mrs r0,cpsr bic r0,r0,0x1f 將r0暫存器中的低5位清零,也就是cpsr的m0 m4 orr r0,r0,0x13 r0或...

正點原子STM32F103精英版學習筆記(二)

st link 和stm32f103都支援jtag 和swd,用jtag除錯時占用的io線比較多,swd除錯時占用的比較少,只需要2根即可。而且相對來說,大資料下swd工作方式引導程式失敗的可能性很小。注 jtag 和swd是 器除錯armcpu的兩種工作方式。可參考 jtag jlink swd ...