版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、電子課程設(shè)計-數(shù)字秒表的設(shè)計 學(xué) 院:電子信息工程學(xué)院 專業(yè)班級: 通信111502 姓 名: 馬淑慧 學(xué) 號: 201115030218 指導(dǎo)教師: 王海東 2013年12月目錄1. 設(shè)計任務(wù)及要求 1二.總體框圖 1三.選擇器件 1四.功能模塊 24.1 分頻模塊24.2 0.01秒模塊34.3 秒模塊54.4 分模塊64.5 掃描模塊74.6 數(shù)碼管模塊94.7 三八譯碼器模塊 11五.總體設(shè)計電路圖135.1總體電路設(shè)計原理圖135.2仿真結(jié)果135.3管腳分配205.4硬件實現(xiàn)20六心得體會22數(shù)字秒表的設(shè)計一設(shè)計任務(wù)及要求設(shè)計一個數(shù)字秒表,用VHDL語言編程,并進行下載,仿真。具體
2、化技術(shù)指標(biāo)如下:(1)數(shù)字秒表的計時范圍是0秒-59分59.99秒,顯示的最長時間為59分59秒;(2)數(shù)字秒表的計時精度是10ms;(3)復(fù)位開關(guān)可以在任何情況下使用,即便在計時過程中,只要按一下復(fù)位開關(guān),計時器就清零,并做好下次計時的準(zhǔn)備;(4)具有啟/停開關(guān),即按一下啟/停開關(guān),起動計時器開始計時,再按一下啟/停開關(guān)則停止計時。二總體框圖分頻器高/低電平0.01秒模塊秒模塊分模塊置數(shù)/位選顯示模塊圖1.總體框圖由頻率信號輸出端輸出頻率為100HZ的時鐘信號,輸入到0.0秒模塊的時鐘端clk,0.01秒模塊為100進制的計數(shù)器,產(chǎn)生的進位信號count輸入到下一級秒模塊的時鐘端,以此類推,
3、直到分模塊計數(shù)到59進60時,產(chǎn)生的進位信號不輸出,計數(shù)清零。將0.01秒、秒、分產(chǎn)生的計數(shù)通過置數(shù)/位選再通過顯示模塊實時顯示。三器件選擇1、PC機一臺。2、CPLD/FPGA適配器板:標(biāo)準(zhǔn)配置EPF10K10LC84-4接口板,下載接口是數(shù)字芯片的下載接口(DIGITAL JTAG),主要用于CPLD/FPGA芯片的數(shù)據(jù)下載。3、實驗箱:裝有七段數(shù)碼管,七段數(shù)碼管真值表及字型如下:輸入輸出字型DCBA000011111100001011000000101101101001111110010100011001101011011011011010111110111111000010001111
4、11110011111011表1.七段數(shù)碼管真值表七段數(shù)碼管字形如下:圖2.數(shù)碼管字型圖4 功能模塊4.1 分頻模塊設(shè)計1.模塊圖 圖3.分頻器模塊圖時鐘脈沖是50MHz,因此在實驗時需要對其進行分頻,才能實現(xiàn)功能,若需要100Hz的時鐘,則需要對脈沖進行250000次分頻;此外,實驗還需要數(shù)碼管動態(tài)顯示的掃描時鐘,本實驗采用1000次分頻。2. 程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity div is port (clk:in std_logic; clk1:out std
5、_logic);end div;architecture behav of div isbeginprocess(clk)variable num:integer range 0 to 250000;variable q:std_logic;beginif clkevent and clk=1then if num=250000 then num:=0;q:=not q; else num:=num+1; end if;end if;clk1=q;end process;end behav;4.2 0.01秒模塊設(shè)計1.模塊圖圖4.0.01秒模塊圖0.01秒模塊由兩個十位計數(shù)器組成,可以實現(xiàn)帶
6、有100進制進位和清零功能,暫停等功能。0.01秒個位輸入為100HZ脈沖,其進位信號輸出,作為周期時鐘信號,為0.01秒十位提供脈沖。個位模塊和十位模塊都有清零信號clear和秒表啟停位start,輸出0.01秒個位、十位及進位信號cout。2. 仿真圖由于該模塊是由兩個十進制級聯(lián)而成的,現(xiàn)對一個十進制模塊仿真,仿真圖如下:圖5.十進制仿真圖由仿真的結(jié)果可以看出來,從0000開始計數(shù),當(dāng)計數(shù)計到1001時,自動清零,所以該結(jié)果顯示其功能是一個十進制計數(shù)器。3. 程序由于兩個十進制模塊是一樣的,所以現(xiàn)只給出一個十進制模塊:library ieee;use ieee.std_logic_1164
7、.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity cnt10 is port(clk,clr,start:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end cnt10;architecture behav of cnt10 isbeginprocess(clk,clr,start)beginif clr=0 then daout=0000; elsif(clkevent and clk=1)
8、then if start=1 then if daout=1001 then daout=0000;cout=1; else daout=daout+1;cout=0; end if; end if;end if;end process;end behav;4.3 秒模塊1.模塊圖圖6.秒模塊圖秒模塊是由一個十位計數(shù)器和一個六位計數(shù)器組成,其中十位計數(shù)器為秒個位計數(shù),六位計數(shù)器為秒十位計數(shù),可以實現(xiàn)帶有60進制進位和清零功能,暫停等功能。秒個位輸入為0.01秒十位進位脈沖,其進位信號輸出,作為周期時鐘信號,為秒十位提供脈沖。個位模塊和十位模塊都有清零信號clear和秒表啟停位start,輸出
9、秒個位、十位及進位信號cout。2. 仿真圖秒模塊是有一個十進制和一個六進制級聯(lián)而成的,十進制仿真圖如圖5所示,現(xiàn)給出六進制仿真圖:圖7.六進制仿真圖由仿真的結(jié)果可以看出來,從0000開始計數(shù),當(dāng)計數(shù)計到0101時,自動清零,所以該結(jié)果顯示其功能是一個六進制計數(shù)器。3. 程序十進制模塊在0.01秒模塊中已經(jīng)給出,現(xiàn)只給出六進制程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity cnt6 is port(clk,clr,sta
10、rt:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end cnt6;architecture behav of cnt6 isbeginprocess(clk,clr,start)beginif clr=0 then daout=0000; elsif(clkevent and clk=1)then if start=1 then if daout=0101 then daout=0000;cout=1; else daout=daout+1;cout=0; end if; end if
11、;end if;end process;end behav;4.4 分模塊圖8.分模塊圖分模塊和秒模塊原理一樣,也是由一個十位計數(shù)器和一個六位計數(shù)器組成,其中十位計數(shù)器為分個位計數(shù),六位計數(shù)器為分十位計數(shù)。分模塊生成的器件可以實現(xiàn)帶有60進制進位和清零功能,暫停等功能,分個位輸入為秒十位進位脈沖,其進位信號輸出,作為周期時鐘信號,為分十位提供脈沖。個位模塊和十位模塊都有清零信號clear和秒表啟停位start,輸出分個位、十位及進位信號cout。(由于分模塊的程序及仿真圖同秒模塊一樣,現(xiàn)不重復(fù)給出)4.5掃描模塊1. 模塊圖圖9.掃描模塊圖該模塊的功能是對輸入信號依次進行掃描顯示,產(chǎn)生對數(shù)碼管
12、的選擇信號。2. 仿真圖圖10.掃描模塊仿真圖本次仿真中,設(shè)定dain0是由0000-0001連續(xù)變化,dain1是由0010-0011連續(xù)變化,dain2是由0100-0101連續(xù)變化,dain3是由0110-0111連續(xù)變化,dain4是由1000-1001連續(xù)變化,dain5是由1010-1011連續(xù)變化。由仿真結(jié)果可以看出,當(dāng)sel=000時,選中dain0,輸出dain0中的數(shù)據(jù);當(dāng)sel=001時,選中dain1,輸出dain1中的數(shù)據(jù);當(dāng)sel=010時,選中dain2,輸出dain2中的數(shù)據(jù);當(dāng)sel=011時,選中dain3,輸出dain3中的數(shù)據(jù);當(dāng)sel=100時,選中d
13、ain4,輸出dain4中的數(shù)據(jù);當(dāng)sel=101時,選中dain5,輸出dain5中的數(shù)據(jù)。3. 程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity seltime is port(clk,clr,start:in std_logic; dain0,dain1,dain2,dain3,dain4,dain5:in std_logic_vector(3 downto 0); daout:out std_logic_vector
14、(3 downto 0); sel:out std_logic_vector(2 downto 0);end seltime;architecture behav of seltime is signal temp:std_logic_vector(2 downto 0);signal d_out:std_logic_vector(3 downto 0);beginsel=temp;process(clk,clr)beginif clr=0then temp=000;elseif clkevent and clk=1 thenif temp=101 thentemp=000;elsetemp=
15、temp+1;end if;end if;end if;end process;process(temp,clr,dain0,dain1,dain2,dain3,dain4,dain5)begin if clr=0 then d_out=0000; else if temp=000 then d_out=dain0; elsif temp=001 then d_out=dain1; elsif temp=010 then d_out=dain2; elsif temp=011 then d_out=dain3; elsif temp=100 then d_out=dain4; elsif te
16、mp=101 then d_out=dain5; else d_out=0000; end if; end if;end process;daout=d_out;end behav;4.6 數(shù)碼管模塊1. 模塊圖圖11.數(shù)碼管模塊圖該模塊的功能是將輸入BCD碼數(shù)轉(zhuǎn)換為七段數(shù)碼管需要的數(shù)據(jù)。其對應(yīng)關(guān)系為:numled0000111111000010110000001011011010011111100101000110011010110110110110101111101111110000100011111111001111101110101110111表2.數(shù)碼管真值表2. 仿真圖圖12.數(shù)碼
17、管顯示仿真圖由仿真結(jié)果可以看出,當(dāng)num=0000時,led輸出為1111110;當(dāng)num=0001時,led輸出為0110000;當(dāng)num=0010時,led輸出為1101101;當(dāng)num=0011時,led輸出為1111001;當(dāng)num=0100時,led輸出為0110011;當(dāng)num=0101時,led輸出為1011011;當(dāng)num=0110時,led輸出為1011111;當(dāng)num=0111時,led輸出為1110000;當(dāng)num=1000時,led輸出為1111011;當(dāng)num=1001時,led輸出為1110111。與表2的對應(yīng)關(guān)系相符合。3. 程序library ieee;use
18、ieee.std_logic_1164.all;entity seg7 is port(num:in std_logic_vector(3 downto 0); led:out std_logic_vector(7 downto 0);end seg7;architecture behav of seg7 isbegin process(num) begin led1); case num is when0000=ledledledledledledledledledledNULL; end case; end process;end behav;4.7 三八譯碼器模塊1. 模塊圖圖13.三八
19、譯碼器模塊圖該模塊的功能是將輸入BCD碼數(shù)轉(zhuǎn)換為七段數(shù)碼管需要的數(shù)據(jù),將seltime中的BCD碼編譯到共陰數(shù)碼管。2.仿真圖圖14.三八譯碼器仿真圖由實驗結(jié)果可以看出,輸入sel與輸出q的關(guān)系有如下對應(yīng)關(guān)系:sel q011111110111111101211111011311110111411101111511011111others11111111表3.三八譯碼器真值表3. 程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity decode3_8 is port(sel:in s
20、td_logic_vector(2 downto 0); QQ:out std_logic_vector(7 downto 0);end decode3_8;architecture one of decode3_8 is begin QQ SYNTHESIZED_WIRE_0, clr = clear, start = start, cout = SYNTHESIZED_WIRE_13, daout = SYNTHESIZED_WIRE_7);b2v_inst1 : cnt6PORT MAP(clk = SYNTHESIZED_WIRE_1, clr = clear, start = sta
21、rt, cout = SYNTHESIZED_WIRE_3, daout = SYNTHESIZED_WIRE_10);b2v_inst10 : cnt6PORT MAP(clk = SYNTHESIZED_WIRE_2, clr = clear, start = start, daout = SYNTHESIZED_WIRE_12);b2v_inst11 : cnt10PORT MAP(clk = SYNTHESIZED_WIRE_3, clr = clear, start = start, cout = SYNTHESIZED_WIRE_2, daout = SYNTHESIZED_WIR
22、E_11);b2v_inst2 : divPORT MAP(clk = clk, clk1 = SYNTHESIZED_WIRE_0);b2v_inst20 : decode3_8PORT MAP(sel = SYNTHESIZED_WIRE_4, QQ = sel);b2v_inst3 : div1000PORT MAP(clk = clk, clk1 = SYNTHESIZED_WIRE_6);b2v_inst4 : seg7PORT MAP(num = SYNTHESIZED_WIRE_5, led = led);b2v_inst5 : seltimePORT MAP(clk = SYN
23、THESIZED_WIRE_6, clr = clear, start = start, dain0 = SYNTHESIZED_WIRE_7, dain1 = SYNTHESIZED_WIRE_8, dain2 = SYNTHESIZED_WIRE_9, dain3 = SYNTHESIZED_WIRE_10, dain4 = SYNTHESIZED_WIRE_11, dain5 = SYNTHESIZED_WIRE_12, daout = SYNTHESIZED_WIRE_5, sel = SYNTHESIZED_WIRE_4);b2v_inst6 : cnt10PORT MAP(clk
24、= SYNTHESIZED_WIRE_13, clr = clear, start = start, cout = SYNTHESIZED_WIRE_14, daout = SYNTHESIZED_WIRE_8);b2v_inst7 : cnt10PORT MAP(clk = SYNTHESIZED_WIRE_14, clr = clear, start = start, cout = SYNTHESIZED_WIRE_1, daout = SYNTHESIZED_WIRE_9);a = led(0);b = led(1);c = led(2);d = led(3);e = led(4);f
25、= led(5);g = led(6);dp = led(7);vga = vga_ALTERA_SYNTHESIZED;vga_ALTERA_SYNTHESIZED(1) = 1;vga_ALTERA_SYNTHESIZED(0) = 0;vga_ALTERA_SYNTHESIZED(3) = 0;vga_ALTERA_SYNTHESIZED(2) = 0;END bdf_type;5.3管腳分配圖21.管腳分配圖5.4硬件實現(xiàn)1.實驗連線1.CLK接IO3;2.LED1接IO1;3.功能選擇位VGA3.0狀態(tài)為0010;4.代表譯碼驅(qū)動的管腳SCAN0-SCAN7已經(jīng)接到實驗箱上的SCAN-SCAN7;5.代表七段數(shù)碼管的SEG70-SEG6已經(jīng)接到實驗箱上。2.下載仿真結(jié)果圖22.下載仿真圖圖23.下載仿真圖3.仿真分析秒十位和分十位均為六進制計數(shù)器,應(yīng)用QUARTUSII進行仿真,得其仿真;電路共有六個輸出需用六位數(shù)碼管顯示,對其進行動態(tài)掃描;電路輸出為4位信號,需用譯碼電路對其譯碼在數(shù)碼管顯示;試驗箱所給的頻率為50MHZ,故需對其進行分頻。(1) 設(shè)置一個clear信號:當(dāng)信號clear0時,整個系統(tǒng)復(fù)位;當(dāng)clear=1時,進行計時功能。并當(dāng)計時器計滿
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版木結(jié)構(gòu)木工班組施工合同范本
- 2025年物流公司物流園區(qū)配送運輸合同協(xié)議書3篇
- 二零二五年度枸杞采摘、加工、銷售全流程服務(wù)合同3篇
- 2025年度窗簾清洗與保養(yǎng)服務(wù)合同3篇
- 二零二五版鍋爐設(shè)備維護保養(yǎng)與故障排除合同范本3篇
- 2025年度淋浴房行業(yè)數(shù)據(jù)分析與服務(wù)合同4篇
- 2025年度城市街道綠化帶綠植更新與養(yǎng)護服務(wù)合同范本4篇
- 2025年度二手房公積金貸款買賣合同(含房屋維修基金)4篇
- 二零二四年勞動爭議解決常年法律顧問合同3篇
- 2024版售后服務(wù)委托合同書
- 大學(xué)《工程力學(xué)》期末考試試題庫含詳細答案
- 2022年湖北省武漢市中考數(shù)學(xué)試卷含解析
- TLFSA 003-2020 危害分析與關(guān)鍵控制點(HACCP)體系調(diào)味面制品生產(chǎn)企業(yè)要求
- LY/T 2244.3-2014自然保護區(qū)保護成效評估技術(shù)導(dǎo)則第3部分:景觀保護
- 紀(jì)律教育月批評與自我批評五篇
- GB/T 26480-2011閥門的檢驗和試驗
- GB/T 13342-2007船用往復(fù)式液壓缸通用技術(shù)條件
- 藥店員工教育培訓(xùn)資料
- GB 20371-2016食品安全國家標(biāo)準(zhǔn)食品加工用植物蛋白
- 【英語手寫體】26英文字母手寫體描紅書寫字帖
- 實習(xí)護生壓瘡相關(guān)知識掌握情況及預(yù)防態(tài)度的調(diào)查問卷
評論
0/150
提交評論