freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于vhdl的數(shù)字頻率計設計(編輯修改稿)

2024-12-13 16:45 本頁面
 

【文章內容簡介】 器 當收到使能信號 ,分頻器啟動 ,將標準 1 kHz 信號經 3 次 10 分頻 ,得到 100 Hz, 10 Hz, 1 Hz 信號。 1 Hz 信號既作為開關控制的時鐘信號 ,也作為顯示電路自鎖存器的取樣時鐘 (即鎖存器的輸出使能信號 )。 1 kHz,100 Hz, 10 Hz 信號作為計數(shù)器閘門信號來控制計數(shù) ,以實現(xiàn)不同量程 ,具體輸出哪種頻率的信號 ,由鎖存器發(fā)出的量程選擇信號控制。具體實現(xiàn)模塊如下 圖 2 所示。 圖 2 信號的具體實現(xiàn) t10 為 10 進制計數(shù)器 ,對輸入時鐘進行計數(shù) ,計到 10 輸出一進位。通過這 31 kHz 1Hz 輸出 量程選擇信號 t10 t10 t10 3選1模塊 8 個十進制計數(shù) 器級聯(lián) ,可將 1 kHz 標準信號分頻為 100 Hz,10 Hz,1 Hz。由 3 選 1模塊 ,根據(jù)量程選擇信號選擇 1 kHz,100Hz, 10 Hz 之一輸出。再考慮具體的實現(xiàn),在測頻率的時候,由于采用輸入信號作為時基,以輸入信號為時鐘,用一個計數(shù)器測量在一個時基周期里,輸入信號的周期數(shù)目,如此就可以得到輸入信號的頻率。但是一個時基信號,例如頻率為 100Hz 的脈沖信號,在整個 100ms 的周期里,根據(jù)占空比,有高電平也有低電平,這就給計數(shù)器計數(shù)的判斷帶來了麻煩。最好是能夠產生一個高電平為 100ms 的脈沖信號作為時基, 那么就能夠在程序中以“如果時基信號為 1”作為判斷條件,如果滿足條件則計數(shù)器計數(shù),方便了程序的書寫。同理,在這個設計中還要產生高電平為 10ms 和 1ms 的脈沖信號作為時基。 另外,也 可以 考慮使用狀態(tài)機來實現(xiàn)這 3 種時基,因為采用狀態(tài)機來控制時序很清楚,不容易出錯。狀態(tài)機用 1kHz(周期為 1ms)的脈沖信號觸發(fā),因為所要生產的時基中,頻率最大(周期最?。┑木褪?1kHz 的脈沖,要產生高電平為 10ms 和 1ms 的脈沖信號,可以采用 100 個狀態(tài)的狀態(tài)機,從狀態(tài) 1,狀態(tài) 2......到狀態(tài) 1ms 的脈沖信 號,只要在狀態(tài) 99 的時候產生高電平,狀態(tài) 100 的時候回到低電平即可;要產生高電平為 10ms 的脈沖信號,則要在狀態(tài) 90 的時候產生高電平,在狀態(tài) 100 的時候回到低電平。需要產生哪個時基得根據(jù)此時頻率計所在的擋作為判斷條件進行控制。在 100 個狀態(tài)中,有很多狀態(tài)的功能相同的,可以將它們合并。 計數(shù)器的設計 計數(shù)控制器 計數(shù)控制模塊將輸入的分頻信號處理 ,產生計數(shù)閘門信號、計數(shù)清零信號和鎖存信號。 各信號 時序如圖 3 所示。 圖 3 各信號時序圖 由于分頻信號的不同 ,可產生不同頻率的閘門信號。 1 kHz, 100 Hz, 10 Hz 分清零信號 鎖存信號 閘門信號 分頻信號 9 頻信號對應產生脈寬為 s, s, s 的脈沖方波 (閘門信號 ),也分別對應 1 MHz, 100 kHz, 10 kHz 量程。在閘門信號為高時計數(shù) ,為低時終止計數(shù)。計數(shù)一結束 ,即發(fā)出鎖存信號 ,將計數(shù)結果送鎖存器鎖存。鎖存信號由高變低后 ,發(fā)出計數(shù)器清零信號 [6]。 計數(shù)器 采用 3 個 具有使能功能的 十 進制計數(shù)器級聯(lián)作為計數(shù)模塊。閘門信號與待測信號相與作為計數(shù)輸入, 計數(shù)結果直 接輸出給鎖存器。 計數(shù)器可以直接定義成一個整型信號,這樣計數(shù)器計數(shù)(即加 1)就十分方便,只要使用語句“計數(shù)器 =計數(shù)器 +1;”就可以。但是這個計數(shù)值要作為顯示輸出,就要將這個計數(shù)器用個位、十位、百位分開表示,而且要遵循加法“逢十進一”的規(guī)則。這樣可以直接通過 7 段譯碼器進行顯示。因為在不同的擋位,小數(shù)點的位置是不同的,所以小數(shù)點的顯示以所在擋為判斷條件 , 計數(shù)器模塊 源 程序如下: library ieee。 use 。 use 。 use 。 entity frequency is port(treset:in std_logic。異步復位端口 tclk:in std_logic。時鐘輸入 tsig:in std_logic。信號輸入 tkeep1:out std_logic_vector(3 downto 0)。計數(shù)值個位 tkeep2:out std_logic_vector(3 downto 0)。計數(shù)值十 位 tkeep3:out std_logic_vector(3 downto 0))。計數(shù)值百位 end entity frequency。 architecture one of frequency is signal tcou1:std_logic_vector(3 downto 0)。內部計數(shù)值個位 signal tcou2:std_logic_vector(3 downto 0)。內部計數(shù)值十位 signal tcou3:std_logic_vector(3 downto 0)。內部計數(shù)值百位 begin ctrcou:process(treset,tclk)控制計數(shù)功能的進程 begin if treset=39。139。 then tcou1=0000。tcou2=0000。tcou3=0000。 10 else if tclk39。event and tclk=39。139。 then if tsig=39。139。 then時基信號高電平為判斷條 件有效的時候遇到時 鐘上升沿觸發(fā) if tcou3=1010 then tcou3=1010。如果百位為 10,百位數(shù)值不變 else if tcou1=1001 and tcou2=1001 and tcou3=1001 then 如 果計數(shù)值為 999 tcou1=0000。tcou2=0000。tcou3=1010。 則計數(shù)值百位變成 10,十位、個位變成 0 elsif tcou1=1001 and tcou2=1001 then 如果百位小于 9,十位為 9 且個位為 9 的時候 tcou1=0000。tcou2=0000。tcou3=tcou3+1。 百位數(shù)值加 1,十位、個位清零 elsif tcou1=1001 then 如果百位和十位都小于 9 且個位為 9 的時候 tcou1=0000。tcou2=tcou2+1。 個位清零,十位數(shù)值加 1 else tcou1=tcou1+1。 其他情況就是個位數(shù)值加 1 end if。 end if。 else 如果時基信號為 0,那么判斷條件無效 tcou1=0000。tcou2=0000。tcou3=0000。 end if。 end if。 end if。 end process ctrcou。 oputctr:process(treset,tsig)控制數(shù)值輸出的進程 begin if treset=39。139。 then tkeep1=0000。tkeep2=0000。tkeep3=0000。 else if tsig39。event and tsig=39。039。 then 11 時鐘下降沿觸發(fā)輸出各位數(shù)值 tkeep1=tcou1。 tkeep2=tcou2。 tkeep3=tcou3。 end if。 end if。 end process oputctr。 end one。 該模塊生成的引腳符號如 圖 4 所示。 圖 4 計數(shù)器模塊引腳符號圖 鎖存器設計 每當鎖存使能信號來臨 ,鎖存器便將鎖存結果讀入、鎖存。鎖存器還完成量程選擇功能。鎖存器對計數(shù)結果進行判斷 ,若計數(shù)結果在 099~999 之間時 ,不改變量程選擇信號 。若結果大于 999,則輸出溢出標志 ,并改變量程選擇信號 ,使量程增大一檔 。若結果小于 099,則使量程減小一檔。鎖存器還根據(jù)當前量程 ,選擇合適的小數(shù)點位置輸出。鎖存器源 程序如下: library ieee。 use 。 use 。 use 。 entity lock is port(reset:in std_logic。 lockin:in std_logic。 lockout:out std_logic)。 end lock。 architecture behave of lock is signal inlock:std_logic。 begin process(reset,lockin) begin 圖 5 鎖存器模塊引腳符號圖 if reset=39。139。 then inlock=39。039。 elsif lockin39。event and lockin=39。139。 then inlock=not inlock。 end if。 12 計 數(shù) 器 數(shù)碼 管選擇信號 7 位數(shù)碼驅動 1 kHz t3 位選擇 7段譯碼器 位譯碼 end process。 lockout=inlock。 end behave。 該模塊 生成的引腳 符號 如圖 5 所示 。 七 段譯碼器的設計 由于小數(shù)點由鎖存器輸出 ,故 僅 需要 考慮數(shù)碼管 7 段驅動, 采用循環(huán)掃描方式。 譯碼顯示電路的 具體實現(xiàn)如圖 6 所示。 Cnt3 是一個 3 進制計數(shù)器 ,計數(shù)狀態(tài)0、 2 分別應數(shù)碼管的個、十、百位。它控制哪個數(shù)碼管 就 選中及輸出相應的數(shù)據(jù)。位選擇是一個 3 選 1 模塊 ,位譯碼是一個 23 譯碼器 ,它的輸出循環(huán)選通數(shù)碼管。 7 段譯碼器將計數(shù)值譯成相應的 7 段數(shù)碼驅動值。 7 段譯碼器將輸入的 4位 BCD 碼以 7 段譯碼的方式輸入??梢允褂靡粋€ 7 位向量來分別表示 7 段譯碼器中的 7 段。 圖 6 譯碼 顯示電路的實現(xiàn) 譯碼器模塊 源 程
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1