版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 電子技術(shù)課程設(shè)計報告 必選題(一):7段led譯碼顯示電路設(shè)計一、程序代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity decled is port(clk:in std_logic; dout:out std_logic_vector(6 downto 0);end decled;architecture behav of decled is signal cnt4b:std_logic_vector(3 downto 0);begin process(clk) begin
2、if clkevent and clk=1 then cnt4b dout dout dout dout dout dout dout dout dout dout dout dout dout dout dout dout dout =0000000; end case; end process;end behav; 二、時序仿真結(jié)果: 必選題(二):數(shù)字頻率計設(shè)計一、程序代碼:1、 十進制計數(shù)器cnt10library ieee;use ieee.std_logic_1164.all;entity cnt10 isport(clk:in std_logic; clr:in std_logi
3、c; ena:in std_logic; cq:out integer range 0 to 15; carry_out:out std_logic);end cnt10;architecture behav of cnt10 is signal cqi:integer range 0 to 15;begin process(clk,clr,ena)begin if clr=1 then cqi=0; elsif clkevent and clk=1 then if ena=1 then if cqi9 then cqi=cqi+1; else cqi=0; end if; end if; e
4、nd if;end process;process(cqi)begin if cqi=9 then carry_out=1; else carry_out=0; end if;end process;cq=cqi;end behav;2、鎖存器reg32blibrary ieee;use ieee.std_logic_1164.all;entity reg32b is port(load:in std_logic; din:in std_logic_vector(31 downto 0); dout:out std_logic_vector(31 downto 0);end reg32b;ar
5、chitecture behav of reg32b isbegin process(load,din) begin if loadevent and load=1 then dout=din; end if; end process;end behav;3、側(cè)頻控制信號發(fā)生器testctllibrary ieee;use ieee.std_logic_1164.all;entity testctl is port(clk:in std_logic; tsten:out std_logic; clr_cnt:out std_logic; load:out std_logic);end test
6、ctl;architecture behav of testctl is signal div2clk:std_logic;begin process(clk) begin if clkevent and clk=1 then div2clk=not div2clk; end if; end process; process(clk,div2clk) begin if clk=0 and div2clk=0 then clr_cnt=1; else clr_cnt=0; end if; end process; load=not div2clk; tstenclk,tsten=tsten1,
7、clr_cnt=clr_cnt1,load=load1);u2:reg32b port map(load=load1,din=dto1,dout=dout);u3:cnt10 port map(clk=fsin,clr=clr_cnt1,ena=tsten1, cq=dto1(3 downto 0),carry_out=carry_out1(0);u4:cnt10 port map(clk=carry_out1(0),clr=clr_cnt1,ena=tsten1, cq=dto1(7 downto 4),carry_out=carry_out1(1);u5:cnt10 port map(cl
8、k=carry_out1(1),clr=clr_cnt1,ena=tsten1, cq=dto1(11 downto 8),carry_out=carry_out1(2);u6:cnt10 port map(clk=carry_out1(2),clr=clr_cnt1,ena=tsten1, cq=dto1(15 downto 12),carry_out=carry_out1(3);u7:cnt10 port map(clk=carry_out1(3),clr=clr_cnt1,ena=tsten1, cq=dto1(19 downto 16),carry_out=carry_out1(4);
9、u8:cnt10 port map(clk=carry_out1(4),clr=clr_cnt1,ena=tsten1, cq=dto1(23 downto 20),carry_out=carry_out1(5);u9:cnt10 port map(clk=carry_out1(5),clr=clr_cnt1,ena=tsten1, cq=dto1(27 downto 24),carry_out=carry_out1(6);u10:cnt10 port map(clk=carry_out1(6),clr=clr_cnt1,ena=tsten1, cq=dto1(31 downto 28);en
10、d struc; 二、時序仿真結(jié)果:cnt10reg32btestctlfregtest必選題(一):一、 設(shè)計任務(wù)與要求題目:vhdl語言設(shè)計出租車計費程序(1)、能夠?qū)崿F(xiàn)計費功能費用的計算是按行駛里程收費,設(shè)出租車的起步價是8.00元,當(dāng)里程小于2km里時,按起步價收費;當(dāng)里程大于2km時每公里按1.3元計費。等待累計時間超過2min,按每分鐘1.5元計費。所以總費用按下式計算:總費用=起步價+(里程-2km)*里程單價+(等候時間-2min)*等候單價(2)、能夠?qū)崿F(xiàn)顯示功能l 顯示汽車行駛里程:用兩位數(shù)字顯示分鐘,顯示方式為“xx”,單價為km。計程范圍為099km,計程分辨率為1km
11、。l 顯示等候時間:用兩位數(shù)字顯示分鐘,顯示方式為“xx”。計時范圍為059min,計時分辨率為1min。l 顯示總費用:用四位數(shù)字顯示,顯示方式為“xxx.x”,單位為元。計價范圍為999.9元,計價分辨率為0.1元。二、設(shè)計原理根據(jù)設(shè)計要求, 系統(tǒng)的輸入信號clk,計價開始信號start,等待信號stop,里程信號fin。系統(tǒng)得輸出信號有:總費用數(shù)cha0 cha3,行駛距離km0 km1,等待時間min0 min1 等。系統(tǒng)的元件框圖如下:系統(tǒng)有兩個脈沖輸入信號clk_195、fin,兩個控制輸入開關(guān)start、stop;控制過程為:start作為計費開始開關(guān),當(dāng)start為高電平時,系
12、統(tǒng)開始根據(jù)輸入的情況計費。當(dāng)有乘客上車并開始行駛時,fin脈沖到來,進行行駛計費,此時的stop需要置為0;如需停車等待,就把stop變?yōu)楦唠娖剑⑷コ齠in輸入脈沖,進行等待計費;當(dāng)乘客下車且不等待時,直接將start置為0,系統(tǒng)停止工作;系統(tǒng)由分頻模塊、控制模塊、計量模塊和計費模塊四部分組成。計量模塊是整個系統(tǒng)實現(xiàn)里程計數(shù)和時間計數(shù)的重要部分;控制模塊是實現(xiàn)不同計費方式的選擇部分;設(shè)計通過分頻模塊產(chǎn)生不同頻率的脈沖信號來實現(xiàn)系統(tǒng)的計費。計量模塊采用1hz的驅(qū)動信號,計費模塊采用13hz、15hz的驅(qū)動信號;計量模塊每計數(shù)一次,計費模塊就實現(xiàn)13次或者15次計數(shù),即為實現(xiàn)計時時的1.5 元/
13、min、計程時的1.3元/km的收費;系統(tǒng)總體頂層框圖為:計費器選頻器分頻器計算里程等待時間狀態(tài)輸入時鐘輸入時鐘1時鐘2時鐘3 使能信號輸出時間里程數(shù)輸出費用三、設(shè)計步驟 (一)、分頻模塊 分頻模塊是對系統(tǒng)時鐘頻率進行分頻,分別得到15hz、13hz、1hz三種頻率;本設(shè)計中通過三種不同頻率的脈沖信號實現(xiàn)在計程車在行駛、等待兩種情況下的不同計費。原理框圖如下:源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenp
14、in2 isport ( clk_195 :in std_logic; ;頻率為195hz的時鐘 clk_13: out std_logic; ;頻率為13hz的時鐘 clk_15: out std_logic; ;頻率為15hz的時鐘 clk_1: out std_logic); ;頻率為1hz的時鐘end fenpin2;architecture rt1 of fenpin2 is signal q_13:integer range 0 to 12; ;分頻器 signal q_15:integer range 0 to 14; ;分頻器signal q_1:integer range 0
15、 to 194; ;分頻器 begin process(clk_195) beginif (clk_195event and clk_195=1 )then if q_13=14 then q_13=0;clk_13=1; 此處產(chǎn)生13hz頻率的信號 elsif q_13=8 then clk_13=0;q_13=q_13+1; else q_13=q_13+1; end if; if q_15=12 then q_15=0;clk_15=1; ;此處產(chǎn)生15hz頻率的信號 elsif q_15=7 then clk_15=0;q_15=q_15+1; else q_15=q_15+1; en
16、d if; if q_1=194 then q_1=0;clk_1=0; ;此處產(chǎn)生1hz頻率的信號 elsif q_1=94 then clk_1=1;q_1=q_1+1; else q_1=q_1+1; end if;三種頻率比為15:13:1end if;end process;end rt1;分頻模塊的仿真波形圖為:注: 有圖中的周期時間可以看出 ,三種輸出的信號脈沖對應(yīng)的頻率比實現(xiàn)了1:13:15;(二)、計量模塊 本模塊實現(xiàn)對于出租車在行駛和等待過程中的繼承和計時功能;當(dāng)行駛里程大于3km時,本模塊中en0信號變?yōu)?;當(dāng)?shù)却龝r間大于2min時,本模塊中en1信號變?yōu)?;clk1每來
17、一個上升沿,計量模塊實現(xiàn)一次計數(shù),里程數(shù)或者等待時間加1;元件框圖為:源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity jiliang isport( s: in std_logic; ;計量開始信號 fin: in std_logic; ;里程脈沖信號 stop: in std_logic; ;等待信號 clk1: in std_logic; ;計量驅(qū)動信號 en1,en0:buffer std_logic; ;計
18、量輸出的控制信號 k1,k0: buffer std_logic_vector(3 downto 0); ;里程計數(shù) m1,m0: buffer std_logic_vector(3 downto 0); ;時間計數(shù)end jiliang;architecture rt2 of jiliang is beginprocess(clk1)begin if clk1event and clk1=1 then ;本語句實現(xiàn)clk1對計量模塊的驅(qū)動 if s=0 then en1=0;en0=0;m1=0000;m0=0000;k1=0000;k0=0000; elsif stop=1 then ;等
19、待計時開始標(biāo)志 if m0=1001 then m0=0000; if m1=0101 then m1=0000; else m1=m1+1; end if; else m000000001then en1=1; ;如等待uop時間大于2min 輸出信號使能en1置高電平。 else en1=0; 否則就置低電平 end if; elsif fin=1 then ; 行駛計程開始 en1=0; ;en1失效,開始檢驗en0 if k0=1001 then k0=0000; if k1=1001 then k1=0000; else k1=k1+1; end if; else k00000000
20、1 then en0=1; ;如果里程數(shù)大于2km,則輸出使能en0置高電平 else en0=0; ;否則制低電平 end if; else en1=0;en0=0; ;clk1不驅(qū)動,使能信號為0 end if; end if;end process;end rt2;計量模塊的仿真波形圖為:出租車停下,計費停止,里程、時間清零車啟動后的使能計費信號,前2km時,費用不加等待使能信號,前2分鐘不使能。注:由圖可以看出,在fin脈沖到來時,k1、k0進行計數(shù),當(dāng)大于2km時en0就置高電平;當(dāng)stop為高電平時,即為進入等待計時,m1、m0進行計數(shù),en1在時間大于2min時輸出高電平;當(dāng)s信
21、號為零,乘客下車,計費結(jié)束數(shù)據(jù)清零。(三)、計費模塊 本模塊根據(jù)輸入的clk2信號變化,調(diào)節(jié)費用的計數(shù),c0、c1、c2、c3分別表示費用的顯示。原理框圖為:源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity jifei isport(clk2:in std_logic; start: in std_logic; c0,c1,c2,c3: buffer std_logic_vector(3 downto 0);end
22、jifei;architecture rt3 of jifei isbeginprocess(clk2,start)begin if start=0 then c3=0000;c2=0000;c1=1000;c0=0000; ;對于起步 elsif clk2event and clk2=1 then 價進行了限定 if c0=1001 then c0=0000; if c1=1001 then c1=0000; if c2=1001 then c2=0000; if c3=1001 then c3=0000; else c3=c3+1; end if; else c2=c2+1; end if
23、; else c1=c1+1; end if; else c0=c0+1; ;完成計費功能 end if; end if;end process;end rt3;計費模塊的仿真波形如下:價格從8元開始,逐漸加一計費注:由圖中可以看出,隨著clk2的高電平的到來,c3、c2、c1、c0逐級進行加法計數(shù),當(dāng)c0計數(shù)到九時,產(chǎn)生進位,c1加一;當(dāng)c1計數(shù)到九時,產(chǎn)生進位,c2加一;當(dāng)c2計數(shù)到九時,產(chǎn)生進位,c3加一; 起步價為8元;(四)、控制模塊 本模塊主要是通過兩個不同的輸入使能信號,對兩個輸入脈沖進行選擇輸出;使能信號是計量模塊中的輸出,兩個輸入脈沖是分頻模塊輸出的13hz、15hz的脈沖;
24、本模塊實現(xiàn)了雙脈沖的二選一;原理框圖為源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity kongzhi isport(ent0,ent1:in std_logic; ;輸入的使能選擇信號 clk_in1:in std_logic; ;輸入脈沖 clk_in2:in std_logic; ;輸入脈沖 clk_out:out std_logic); ;輸出脈沖end kongzhi;architecture rt4 of
25、 kongzhi isbeginprocess(ent0,ent1)begin if ent0=1 then ;以下語句實現(xiàn)對雙脈沖的二選一 clk_out=clk_in1; elsif ent1=1 then clk_out=clk_in2; else clk_out=0; ;防止時鐘脈沖未知狀態(tài) end if; end process;end rt4;控制模塊的仿真波形圖為:頻率分界處兩種不同的計費方式注:由圖中可以看出,當(dāng)ent0為高電平時,輸出為這一時段的clk_in1; 當(dāng)ent1為高電平時,輸出為這一時段的clk_in2;(五)、原件例化(總模塊) 本模塊用原理圖實現(xiàn)出租車的計費器
26、系統(tǒng)設(shè)計, 將各個模塊組合在一起;start為計費開始信號,stop為等待信號,fin為車開動信號各模塊聯(lián)合仿真波形:里程計數(shù),分鐘計數(shù);cha為四位價元格,精度0.1實例驗證:cha顯示價格位011.0元km數(shù)為0,時間4分鐘注:由圖中可以看出,當(dāng)stop為高電平,即進入等待計時收費,分鐘位記到4分鐘時,(當(dāng)?shù)却龝r間超過2min時,每過一分鐘加1.5元,即為實現(xiàn)每等一分鐘收費1.5元。)所需費用為8+(4-2)*1.5=11.0元。總費用為036.6元。結(jié)果驗證:出租車的起步價是8元,當(dāng)?shù)却?分鐘,計價器(cha【3-0】)顯示為011.0元里程17km時間8分鐘注:當(dāng)fin脈沖信號到來時
27、,實現(xiàn)了行駛計費,當(dāng)行駛里程超過2公里,則再按每公里1.3元計費;如圖,等待了8分鐘,行駛了17千米結(jié)果驗證:出租車的起步價是8元,當(dāng)?shù)却?分鐘,行駛了17千米的時候,收費為8+(8-2)*1.5+(17-2)*1.3=36.5元;計價器顯示為36.6元。自選題(二):一、設(shè)計任務(wù)與要求題目:數(shù)字秒表(1) 、設(shè)計一塊數(shù)字秒表,能夠精確反應(yīng)計時時間,并完成復(fù)位計時功能。(2) 、秒表計時的最大范圍為23時59分59.9秒,精度為0.1秒。秒表可顯示計時時間的時、分、秒、0.1秒的度量值,且各度量單位可以正確進位。(3) 、當(dāng)復(fù)位清零有效時,秒表清零并做好計時準(zhǔn)備。在任何情況下,只要按下復(fù)位開
28、關(guān),秒表都要無條件進行復(fù)位操作,即使在計時過程中也無條件地清零。(4) 、設(shè)置秒表啟動/停止開關(guān)。按下該開關(guān),秒表即刻開始計時,并得到計時結(jié)果;放開該開關(guān)時,計時停止。一、設(shè)計原理:根據(jù)設(shè)計要求,系統(tǒng)的輸入時鐘信號為clk,清零信號clr,系統(tǒng)的使能控制信號為a.當(dāng)使能控制信號為1時,控制模塊的輸出信號q為1,則可驅(qū)動計時模塊工作;當(dāng)系統(tǒng)的清零信號clr為0時,系統(tǒng)進行復(fù)位(清零)操作;當(dāng)系統(tǒng)的使能控制信號a為0時,控制模塊輸出信號為0,en也為0,則可以使系統(tǒng)處于暫停狀態(tài)。系統(tǒng)可以分為控制模塊和計時模塊, 開始 周期脈沖 clr=0= 清 零是en=1否否是否為23時59分59.9秒是是清
29、零是否為9時59分59.9秒進位即h_cnt_h+1否是是否為59分59.9秒否進位即h_cnt_l+1 是 是否為9分59.9秒進位即m_cnt_h+1是是否為59.9秒進位即m_cnt_l+1是是否為9.9秒秒進位即s_cnt_h+1 是是否為0.9秒進位即s_cnt_l+1是 sub_s_cnt_h+1 結(jié) 束二、設(shè)計步驟(一)控制模塊 控制模塊是為了完成該數(shù)字秒表的暫停功能(二)計時模塊計時模塊是為了完成該數(shù)字秒表的計時、清零功能,有十進制,六進制,二進制源程序如下:1、計時模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_
30、logic_unsigned.all;entitytime isport(clr,clk,en:in std_logic;hou_h,hou_l,min_h,min_l,sec_h,sec_l,sub_sec_h:out std_logic_vector(3 downto 0);end time;architecture time_arc of time isbeginprocess(clk,clr)variable h_cnt_h,h_cnt_l,m_cnt_h,m_cnt_l,s_cnt_h,s_cnt_l,sub_s_cnt_h:std_logic_vector(3 downto 0);
31、beginif(clr=0)then h_cnt_h:=0000; h_cnt_l:=0000; m_cnt_h:=0000;m_cnt_l:=0000;s_cnt_h:=0000;s_cnt_l:=0000;sub_s_cnt_h:=0000; elsif (clk event and clk=1) thenif(en=1)then -23時59分59.9秒清零-if(h_cnt_h=0010and h_cnt_l=0011and m_cnt_h=0101and m_cnt_l=1001and s_cnt_h=0101and s_cnt_l=1001and sub_s_cnt_h=1001)
32、then h_cnt_h:=0000; h_cnt_l:=0000; m_cnt_h:=0000; m_cnt_l:=0000; s_cnt_h:=0000; s_cnt_l:=0000; sub_s_cnt_h:=0000;-9時59分59.9秒清零-時鐘高位進1-elsif(h_cnt_l=1001and m_cnt_h=0101and m_cnt_l=1001and s_cnt_h=0101and s_cnt_l=1001and sub_s_cnt_h=1001)then h_cnt_l:=0000; m_cnt_h:=0000; m_cnt_l:=0000; s_cnt_h:=0000
33、; s_cnt_l:=0000; sub_s_cnt_h:=0000; h_cnt_h:=h_cnt_h+1;-59分59.9秒清零- elsif(m_cnt_h=0101and m_cnt_l=1001and s_cnt_h=0101and s_cnt_l=1001and sub_s_cnt_h=1001)then m_cnt_h:=0000; m_cnt_l:=0000; s_cnt_h:=0000; s_cnt_l:=0000; sub_s_cnt_h:=0000; h_cnt_l:=h_cnt_l+1; -9分59.9秒清零,分鐘高位進1-elsif(m_cnt_l=1001and s
34、_cnt_h=0101and s_cnt_l=1001and sub_s_cnt_h=1001)thenm_cnt_l:=0000;s_cnt_h:=0000;s_cnt_l:=0000;sub_s_cnt_h:=0000;m_cnt_h:=m_cnt_h + 1;-59.9秒清零 分鐘低位進1-elsif(s_cnt_h=0101and s_cnt_l=1001and sub_s_cnt_h=1001)then s_cnt_h:=0000; s_cnt_l:=0000; sub_s_cnt_h:=0000; m_cnt_l:=m_cnt_l +1;-9.9秒清零 秒鐘高位進1- elsif(s_cnt_l=1001and sub_s_cnt_h=1001)then s_cnt_l:=0000; sub_s_cnt_h:=0000; s_cnt_h:=s_cnt_h + 1;-0.9秒清零 秒鐘低位進1- elsif(sub_s_cnt_h=1001)then sub_s_cnt_h:=0000; s_cnt_l:=s_cnt_l + 1;-0.9秒清零 低位清零高位進1-else sub_s_cnt_h:=sub_s_cnt_h + 1;end if;end
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山東日照市嵐山區(qū)事業(yè)單位初級綜合類崗位招聘工作人員32人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東德州市振興鄉(xiāng)村投資運營集團限公司招聘16人管理單位筆試遴選500模擬題附帶答案詳解
- 2025年山東建筑工程質(zhì)量檢測站事業(yè)單位招考管理單位筆試遴選500模擬題附帶答案詳解
- 2025年宜春宜豐廣播電視臺記者招考管理單位筆試遴選500模擬題附帶答案詳解
- 2025年宜昌市人民政府國資委所屬事業(yè)單位集中招聘擬聘管理單位筆試遴選500模擬題附帶答案詳解
- 2025年安徽黃山學(xué)院選聘專職輔導(dǎo)員12人預(yù)歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年安徽馬鞍山市面向應(yīng)屆畢業(yè)生招募學(xué)校安保人員54人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年安徽郎溪縣縣直事業(yè)單位引進急需緊缺人才與歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025-2030年中國大米蛋白粉行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025-2030年中國卡鉗行業(yè)未來發(fā)展趨勢及前景調(diào)研分析報告
- 廣東省廣州市2023年中考數(shù)學(xué)試題(附真題答案)
- 音樂行業(yè)商業(yè)計劃書
- 《供應(yīng)商質(zhì)量會議》課件
- 高壓電纜安裝指導(dǎo)書
- 越劇團管理制度
- 2020山東春季高考數(shù)字媒體真題
- 任務(wù)3干鮑魚漲發(fā)
- 氣體檢測系統(tǒng)中英文對照外文翻譯文獻
- 湖北省武漢市洪山區(qū)2022-2023學(xué)年四年級上學(xué)期期末考試科學(xué)試題
- 新一代大學(xué)英語發(fā)展篇綜合教程2答案
- 公務(wù)員調(diào)任(轉(zhuǎn)任)審批表 - 陽春人才網(wǎng)
評論
0/150
提交評論