《現代數字系統設計》課程總結

2021-07-08 09:53:29 字數 3583 閱讀 3276

2023年秋季學期

實驗一八路led 的開關控制

1.實驗要求

本實驗要求用8 個開關分別控制8 個led 的亮滅。

2.硬體設計思路

用fpga的八個引腳做開關控制,八個引腳控制led的亮滅。

3.軟體程式流圖

4.實驗體會

通過本實驗對vhdl語言有了初步的了解。

實驗二 8 位可逆計數器設計

1.實驗要求

本實驗要求計數脈衝可以手動輸入,也可以用脈衝源輸入,通過開關可以選擇。

2.硬體設計思路

4位輸入(分別為脈衝選擇、順序選擇開關,脈衝訊號1,脈衝訊號2),8位led顯示。

3.軟體程式流圖

4.實驗體會

通過此實驗對vhdl語言有了深入的了解,對fpga的引腳也加深了研究。運用了一些簡單的vhdl語句。

實驗三實現任意整數分頻電路設計

1.實驗要求

本實驗要求實現占空比50%,分頻係數可以通過撥碼開關設定的分頻電路。

2.硬體設計思路

時鐘輸入端(手動控制),計數選擇(4位),頻率顯示(led燈顯示)。

3.軟體程式流程

i. 判斷分頻數為奇數還是偶數。

ii. 如果是奇數則在(n+1)/2-1脈衝前後分別取正脈衝與負脈衝、負脈衝與正脈衝。然後將兩次的訊號取或操作,以達到占空比為50%。

iii. 如果是偶數則在n/2脈衝前後分別取正脈衝與負脈衝。

iv. 輸出脈衝訊號。

4.實驗體會

通過本次實驗掌握了分頻的基本思想,最大的難點是對奇分頻的操作,若何達到完全的50%占空比使得實驗難度加大。我採取對奇分頻的(n+1)/2-1脈衝前後取兩次不同的脈衝訊號取或操作來實驗50%占空比分頻。

實驗四利用狀態機實現多功能迴圈彩燈控制

1.實驗要求

本實驗要求實現4 種迴圈方式,每種迴圈方式執行5 次後,自動轉換為下一種迴圈方式。

2.硬體設計思路

狀態機的操作完全借助於內部電路的計算與轉換,外電路只需要將轉換狀態以led燈的迴圈方式顯示出來,此試驗只需要有8路引腳控制led。

3.軟體設計流程

i. 設定四種狀態變數。

ii. 設定四種狀態迴圈。

iii. 在四種狀態下分別設定一種迴圈方式,每種迴圈方式迴圈五次。

iv. 將迴圈變化的訊號值直接顯示。

4.實驗體會

此實驗中熟悉了狀態機的操作機制及工作原理。對於每種狀態下的迴圈方式的顯示是難點,開始在四種狀態之下又分別設定幾種狀態,這樣雖然能夠顯示出需要的效果,但是軟體顯示的狀態特別複雜,不便於掌控。於是修改為四種狀態下使用簡單的邏輯迴圈語句來完成迴圈顯示。

實驗五 8 段數碼管動態掃瞄顯示控制

1.實驗要求

本實驗要求實現具有啟動,停止,清零功能的秒錶,啟動,停止,清零由乙個按鈕開關控制。

2.硬體設計思路

此實驗需要有乙個控制開關,乙個外部時鐘輸入端。數碼管的七段段碼輸出端,因為需要動態顯示,所以6位數碼管需要6個引腳單獨控制顯示狀態。

3.軟體程式流程

i. 外部時鐘選擇20m晶振並且分頻為100hz,1000hz(其中100hz的訊號用於計數,1000hz的訊號用於顯示)。

ii. 在100hz的脈衝訊號有效時,對秒錶的最低為進行十進位制計數操作,溢位時向高位進製。

iii. 開關控制乙個訊號的三種狀態,然後這三種狀態分頻控制計數模組的計數,鎖存以及清零。

iv. 將計數的整數轉換為數碼管可以顯示的段碼操作。在1000hz的脈衝下控制數碼管迴圈顯示。

4.實驗體會

本實驗中計數模組的進製數的選擇以及進製操作時本實驗的難點,通過if條件判斷是否溢位並且在溢位的時候進製。另乙個遇到的問題是:理論上想數碼管動態掃瞄脈衝越快,顯示效果越好,但是實際並非如此當我加20m晶振直接掃瞄時,顯示效果非常差。

不斷測試發現在1000hz下顯示比較滿意。經研究得出這是因為數碼管的段碼變化速度比20m掃瞄慢太多的原因。

實驗六頻率計設計

1. 實驗要求

本實驗要求實現乙個可測頻率範圍為1hz——1mhz 的數字頻率計,並用數碼管顯示測量結果,並對測量精度進行分析說明。

2.硬體設計思路

此實驗需要乙個外部時鐘輸入端,乙個外部訊號輸入端。數碼管的七段段碼輸出端,因為需要動態顯示,所以6位數碼管需要6個引腳單獨控制顯示狀態。

3.軟體程式流程

i. 外部時鐘選擇20m晶振並且分頻為100hz,1000hz(其中100hz的訊號用於計數,1000hz的訊號用於顯示)。

ii. 在外部訊號的乙個時鐘週期內,在100hz的脈衝訊號的控制下對計數值的最低為進行十進位制計數操作,溢位時向高位進製。

iii. 將計數的整數轉換為數碼管可以顯示的段碼操作。在1000hz的脈衝下控制數碼管迴圈顯示。

4.實驗體會

本實驗在秒錶實驗的基礎上做起來較為簡單,只需要對計數條件加以控制即可。

實驗七矩陣式鍵盤掃瞄與鍵碼檢測

1.實驗要求

本實驗要求當按下某鍵時,在led 上顯示該鍵的鍵碼。

2.硬體設定思路

硬體部分分為鍵盤掃瞄模組,需要8個引腳分別對行列進行掃瞄;數碼管顯示模組,需要七段數碼管段碼既需要7個引腳,數碼管的公共端接地。

3.軟體程式流程

i. 通過晶元對矩陣鍵盤的行健行賦值,在脈衝來的條件下順次使四行中的一行處於高電平狀態。

ii. 在脈衝的有效值的條件下對列進行掃瞄。通過對有效訊號的判斷得出具體按下的鍵盤。

iii. 將鍵盤的數字轉換為數碼管段碼並輸出顯示。

4.實驗體會

此實驗中最大的問題是對**硬體的研究不到位,總想對列進行掃瞄結果總是失敗,知道發現行列之間的那個二極體,才知道應該對行掃瞄。通過此次實驗掌握了矩陣鍵盤的掃瞄方法,也提醒自己在以後的實驗中要注意硬體**模組的研究。

實驗八 lpm 的使用

1.實驗要求

自主選擇兩個lpm 模組組成一時序系統,實現功能測試,並理解每個lpm 的所有引數含義。

2.硬體設計思路

經研究發現lpm模組下有16進製制計數器,所以有想法把16進製制轉換為10進製計數,並通過7448進行解碼數碼管顯示,需要有乙個外部時鐘訊號輸入端,並且有7段段碼輸出端。

3.軟體程式流程

i. 設定lpm模組分別為(1)4位輸出,向上計數。(2)2進製數輸出,時鐘使能。(3)同步清零。

ii. 將輸出四位訊號給7448解碼並顯示。

iii. 在計數到9使同步清零。

4.實驗體會

此實驗中對lpm的引數的理解是乙個重點,在實驗中需要將匯流排分開顯示遇到了匯流排下的分線的使用的問題。

課程心得及建議

這門課程讓我對電路設計有了新的認識,全智慧型下的電路設定充滿了無窮的魅力,但在課程實驗中總是會遇到很多的問題,vhdl這種新的語言雖然與其他語言有相似之處,但是其獨有的邏輯語言,以及語法規則讓我開始設計時有些棘手,因為總想用c語言的設計理念來書寫vhdl語言,結果程式總是報錯。開始時喜歡先用c把思路寫好,再翻譯成vhdl語言,但發現這樣改錯很慢。幾次實驗之後把vhdl語言重新學習了一遍,感覺還是直接寫來的快,掌握了語法特性之後,寫起來也沒有c語言難。

感覺接觸新的語言開始比較慢,當與vhdl達到默契的程度之後,語法規則已經不再是程式出錯的主要問題了。通過實驗使我掌握了fpga的設計方法,並且喜歡這種設計思路。希望實驗中可以多一些自己設計的實驗,而不是都由老師設定題目。

數字電子邏輯代數總結

邏輯代數的三條重要法則 或 與 非 1 代入法則 簡單過 2 反演法則 重要 定義 求乙個邏輯函式l的非函式l 時,可以將l中的與 換成或 或 換成 再將原變數換成非變數 如a換成a 非變數換成原変量 將0換成1,將1話成0 例如 l a b l a b l a b l a b 牢記等式 l ab ...

傳統廣告與現代數字的影象運用

當前,隨著科技的飛速發展,現代的數字 早已進入了人們的生活 當你坐在家時看電視,多種多樣的節目聲色並茂地從那稱為電視的小方盒子裡不斷湧出來 坐在車上有車載廣告 戶外的不斷流動的大型電子屏 福建平面設計培訓開啟電腦上網各種網頁介面大量地呈現在你的面前。現代的數字 結合了多種 包括聲音 影象 文字等,打...

數字邏輯設計課程總結

湯瑋傑 1400012917 本學期的數字邏輯設計課程結束了,總的來說,這堂課給我的感受是,收穫很大,既有挑戰,也十分有趣,作為一門實驗課,不僅注重動手實踐能力,也注重轉化理論去解決實際問題的能力。當然,這些也離不開老師耐心的指導和同學們細心的幫助。實驗課帶給我最大的收穫,我認為是給了我一種新的視角...