本文為大家帶來五種不同的12進制計數器設計方案。
12進制計數器設計方案一:用74161設計十二進制計數器
1.74161為十六進制計數器,設計十二進制計數器時1片就可以滿足要求。
2.新建BDF文件及保存工程同前篇。
3.將所需要的元器件和引腳拖入區域內并完成連接,如圖1所示
圖1 十二進制計數器連接圖
4.建立VWF文件,仿真后得到結果如圖2
仿真波形圖
12進制計數器設計方案二:用verilog語言實現十二進制計數器
程序代碼
仿真結果
12進制計數器設計方案三:異步十二進制加減法計數器設計1
VHDl設計思路
設計中,CP 是時鐘輸入端,下降沿有效;Rd 為清零控制端,低電平有效; updown 為計數方式控制端,updown=“1”時作加法計數,updown=“0”時作減法計數。在計數工作之前,先由Rd 給一個清零信號,使四個數據輸入值都為“0”。y3,y2,y1,y0 為四個數據輸出端,這就實現了異步清零。當Rd=“1”時,計數器進行加法計數,即從“0000”依次計數到“1011”,當updown= “0”,updown=“1”,Rd=“1”時,計數器進行減法計數。
程序設計
仿真測試程序
仿真圖
12進制計數器設計方案四:異步十二進制加減法計數器設計2
VHDl設計思路
設計中,clk 是時鐘輸入端,上升沿有效;updn 為計數方式控制端,updn=“1”時作加法計數,updn=“0”時作減法計數; c 是進位/借位輸出端; c0 為個位最高位輸出。在計數工作之前,個位q 和十位k 全部置0。個位由時鐘上升沿觸發加/減1,十位由個位的進位/借位觸發,從而實現十位的變化,即異步可逆計數。當updown=“1”時,計數器進行加法計數,個位從“0”依次計數到“9”,進位,十位由“0”到“1”,當計數到11時清零;同理,當updown=“0”時,計數器進行減法計數。
程序設計
仿真驗證程序
仿真圖
12進制計數器設計方案五:應用兩片74LS160設計十二進制計數器
兩芯片之間級聯;把作高位芯片的進位端與下一級up端連接這是由兩片74LS160連接而成的12進制計數器,低位是連接成為一個十進制計數器,它的clk端接的是低位的進位脈沖。高位接成了十進制計數器。當輸出端為1010 的時候在下個時鐘的上升沿把數據置數成0000 這樣就形成了進制計數器,連個級聯就成為了12進制計數器,分別可以作為秒和分記時。
評論
查看更多