綜合數(shù)字計(jì)時(shí)器的設(shè)計(jì)_第1頁(yè)
綜合數(shù)字計(jì)時(shí)器的設(shè)計(jì)_第2頁(yè)
綜合數(shù)字計(jì)時(shí)器的設(shè)計(jì)_第3頁(yè)
綜合數(shù)字計(jì)時(shí)器的設(shè)計(jì)_第4頁(yè)
綜合數(shù)字計(jì)時(shí)器的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課 程 設(shè) 計(jì)設(shè)計(jì)題目:綜合數(shù)字計(jì)時(shí)器的設(shè)計(jì)指導(dǎo)老師:班 級(jí):電子0902學(xué) 號(hào):姓 名:目錄1課程設(shè)計(jì)目的12課程設(shè)計(jì)要求13設(shè)計(jì)原理圖14設(shè)計(jì)流程圖25系統(tǒng)設(shè)計(jì)方案26課程設(shè)計(jì)的vhdl參考程序37系統(tǒng)仿真68心得體會(huì)99參考文獻(xiàn)10綜合數(shù)字計(jì)時(shí)器的設(shè)計(jì)一、課程設(shè)計(jì)的目的1、熟悉vhdl語(yǔ)言及可編程邏輯器件課程的基本內(nèi)容。了解可編程邏輯器件fpga/cpld結(jié)構(gòu)、特點(diǎn)、功能描述、輸出配置、一般性測(cè)試等;2、掌握altera公司的eda開(kāi)發(fā)軟max+plus的使用方法。能夠熟練的安裝max+plus軟件,并能夠在軟件平臺(tái)上進(jìn)行邏輯設(shè)計(jì)、掌握設(shè)計(jì)項(xiàng)目的編譯、仿真、定時(shí)分析、器件編程等;3、掌握

2、硬件描述語(yǔ)言vhdl的程序結(jié)構(gòu)、語(yǔ)言要素vhdl的描述風(fēng)格、仿真、綜合等。能夠熟練應(yīng)用vhdl語(yǔ)言進(jìn)行簡(jiǎn)單的數(shù)字電路設(shè)計(jì);4、掌握f(shuō)pga/cpld可編程邏輯器件的性能及配置方法,能夠熟練利用gw48-pk型eda實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)數(shù)字電子系統(tǒng);5、通過(guò)可編程邏輯器件課程設(shè)計(jì),熟悉電子系統(tǒng)層次化設(shè)計(jì)與基本設(shè)計(jì)的全過(guò)程,初步具備解決實(shí)際問(wèn)題的綜合能力。二、課程設(shè)計(jì)的要求 實(shí)驗(yàn)提供的時(shí)鐘基準(zhǔn)頻率為1024hz,要求實(shí)現(xiàn)00分00秒到23分59秒的時(shí)間計(jì)數(shù),并在控制電路的作用下具有分、秒計(jì)時(shí)顯示、清零、復(fù)位、報(bào)時(shí)等功能。(1)基本設(shè)計(jì)要求:1、有正常的分秒計(jì)時(shí)功能,分別通過(guò)四個(gè)數(shù)碼管顯示分秒的時(shí)間數(shù)值變化

3、;2、設(shè)置使能控制信號(hào)en,當(dāng)en=0正常工作,en=1時(shí)鐘停止工作;3、設(shè)置系統(tǒng)的清零開(kāi)關(guān)clr,當(dāng)clr=0正常工作,clr=1時(shí)鐘的分秒計(jì)數(shù)全部清零;4、利用max+plus軟件模擬各計(jì)數(shù)器的仿真波形。(2)提高部分要求:1、提供正點(diǎn)報(bào)時(shí)功能,當(dāng)時(shí)計(jì)數(shù)在每個(gè)整分時(shí)系統(tǒng)可以自動(dòng)報(bào)時(shí);2、將計(jì)數(shù)器的計(jì)數(shù)范圍由分秒計(jì)時(shí)擴(kuò)展到時(shí)分秒的計(jì)時(shí);3、在計(jì)數(shù)范圍內(nèi)預(yù)置時(shí)間,實(shí)現(xiàn)時(shí)鐘定時(shí)提醒的功能;三、 設(shè)計(jì)原理圖四、系統(tǒng)設(shè)計(jì)流程圖使能控制端信號(hào)clk信號(hào)復(fù)位清零整點(diǎn)報(bào)時(shí)數(shù) 字 計(jì) 時(shí) 器定時(shí)提醒秒計(jì)數(shù)分計(jì)數(shù)時(shí)計(jì)數(shù)揚(yáng)聲器60進(jìn)制60進(jìn)制24進(jìn)制七 段 譯 碼 顯 示五、 系統(tǒng)設(shè)計(jì)方案方案一:根據(jù)總體方框圖

4、及各部分分配的功能可知,本系統(tǒng)可以由秒計(jì)數(shù)器、分鐘計(jì)數(shù)器、小時(shí)計(jì)數(shù)器、整點(diǎn)報(bào)時(shí)、分的調(diào)整以及小時(shí)的調(diào)整和一個(gè)頂層文件構(gòu)成。采用自頂向下的設(shè)計(jì)方法,子模塊利用vhdl語(yǔ)言設(shè)計(jì),頂層文件用原理圖的設(shè)計(jì)方法。顯示:小時(shí)采用24進(jìn)制,而分鐘均是采用6進(jìn)制和10進(jìn)制的組合。方案二:根據(jù)總體方框圖及各部分分配的功能可知,本系統(tǒng)可以由秒計(jì)數(shù)器、分鐘計(jì)數(shù)器、小時(shí)計(jì)數(shù)器、整點(diǎn)報(bào)時(shí)、分的調(diào)整以及小時(shí)的調(diào)整和一個(gè)頂層文件構(gòu)成。采用自頂向下的設(shè)計(jì)方法,子模塊利用vhdl語(yǔ)言設(shè)計(jì),頂層文件用原理圖的設(shè)計(jì)方法。顯示:小時(shí)采用24進(jìn)制,而分鐘和秒均60進(jìn)制。根據(jù)題目設(shè)計(jì)要求,采用自頂向下的設(shè)計(jì)方法,系統(tǒng)的整體組裝設(shè)計(jì)原理圖

5、如圖所示,整個(gè)系統(tǒng)設(shè)計(jì)劃分成五大模塊:clk_div1024是分頻模塊;計(jì)時(shí)模塊;alert模塊為整點(diǎn)報(bào)警模塊;seltime模塊為分時(shí)掃描模塊;dispa模塊為七段譯碼模塊,其中,sel模塊提供數(shù)碼管片選信號(hào)。 終上所述,考慮到設(shè)計(jì)時(shí)的簡(jiǎn)單性,故選擇了方案二。 六、課程設(shè)計(jì)的vhdl參考程序(1)秒計(jì)數(shù)器模塊vhdl源程序library ieee ; use ieee.std_logic_1164.all ; use ieee.std_logic_unsigned.all ; entity second isport (clk ,rd : in std_logic ; sec1,sec0:

6、out std_logic_vector(3 downto 0) ; co: out std_logic ); end second; architecture miao_arc of second isbeginprocess( clk ,rd)variable cnt1: std_logic_vector(3 downto 0);variable cnt0: std_logic_vector(3 downto 0);begin if rd='1' then cnt1:="0000" cnt0:="0000" elsif clk'

7、;event and clk='1' then if cnt1="0101"and cnt0="1000" then co<='1' cnt0:="1001" elsif cnt0<"1001" then cnt0:=cnt0+1; else cnt0:="0000" if cnt1<"0101" then cnt1:=cnt1+1; else cnt1:="0000" co<='0'

8、 end if; end if;end if;sec1<=cnt1;sec0<=cnt0;end process ;end miao_arc;()整點(diǎn)報(bào)警模塊vhdl源程序 library ieee ; use ieee.std_logic_1164.all ; entity alert isport (m1 ,m0,s1,s0: in std_logic_vector(3 downto 0); clk : in std_logic ; q: out std_logic ); end alert; architecture sst_arc of alert isbeginproce

9、ss( clk ) beginif clk'event and clk='1' then if m1 ="0000" and m0="0000" and s1="0000" and s0="0000" then q<='1' else q<='0'end if; end if;end process ;end sst_arc;(3)分時(shí)掃描模塊vhdl源程序 library ieee ; use ieee.std_logic_1164.all ;

10、entity seltime isport (sec1,sec0,min1,min0,h1,h0: in std_logic_vector(3 downto 0); sel: in std_logic_vector(2 downto 0) ; q: out std_logic_vector(3 downto 0) ); end seltime; architecture bbb_arc of seltime isbeginprocess( sel)begincase sel is when”000”=>q<=sec0;when”001”=>q<=sec1;when”01

11、1”=>q<=min0;when”100”=>q<=min1;when”110”=>q<=h0;when”111”=>q<=h1;when others=>q<=”1111”;end case ;end process ;end bbb_arc;(4)譯碼器模塊vhdl源程序 library ieee ; use ieee.std_logic_1164.all ; entity dispa isport ( d : in std_logic_vector(3 downto 0) ; q: out std_logic_vector(6

12、downto 0) ) ; end dispa; architecture dispa_arc of dispa isbeginprocess( d )begincase d is when"0000"=>q<="0111111"when"0001"=>q<="0000110"when"0010"=>q<="1011011"when"0011"=>q<="1001111"when"

13、;0100"=>q<="1100110"when"0101"=>q<="1101101"when"0110"=>q<="1111101"when"0111"=>q<="0100111"when"1000"=>q<="1111111"when"1001"=>q<="1101111"when othe

14、rs=>q<="0000000"end case ;end process ;end dispa_arc;(5)產(chǎn)生片選信號(hào)控制vhdl源程序library ieee ; use ieee.std_logic_1164.all ; use ieee.std_logic_unsigned.all ; entity sel isport (clk : in std_logic ; q: out std_logic_vector(2 downto 0) ;end sel; architecture sel_arc of sel isbeginprocess( clk

15、)variable cnt: std_logic_vector(2 downto 0);beginif clkevent and clk=1 then cnt:= cnt +1;end if;q<=cnt;end if; end if;end process ;end sel_arc;(6)分頻模塊vhdl源程序library ieee ; use ieee.std_logic_1164.all ; use ieee.std_logic_arith.all ; use ieee.std_logic_unsigned.all ; entity clk_div1024 isport ( cl

16、k : in std_logic ; clk_div: out std_logic ); end clk_div1024; architecture rtl of clk_div1024 issignal count: integer range 0 to 511;signal clk_temp: std_logic;signal cnt :integer range 0 to 511;begin process( clk ) beginif clk'event and clk='1' then if cnt=511 thencnt<= 0;clk_temp<

17、;= not clk_temp;else cnt<= cnt+1;end if; end if;end process ;clk_div<= clk_temp;end rtl;七、系統(tǒng)仿真1、分頻模塊分頻模塊的功能是產(chǎn)生標(biāo)準(zhǔn)的脈沖信號(hào)和提供功能擴(kuò)展電路所需要的信號(hào)。將系統(tǒng)提供的1024hz的時(shí)基信號(hào)進(jìn)行分頻,產(chǎn)生1hz的時(shí)鐘激勵(lì)信號(hào),實(shí)現(xiàn)對(duì)計(jì)數(shù)模塊的驅(qū)動(dòng)。1024分頻模塊仿真波形圖:2、 計(jì)時(shí)模塊本模塊包含了秒計(jì)數(shù)模塊,分計(jì)數(shù)模塊,小時(shí)計(jì)數(shù)模塊,主要用來(lái)實(shí)現(xiàn)時(shí)分秒的設(shè)定和產(chǎn)生時(shí)間信號(hào)。其中rd信號(hào)為清零信號(hào),高電平有效。(1)秒計(jì)數(shù)器的仿真波形圖: 圖1 60進(jìn)制秒計(jì)數(shù)器的仿真波形

18、波形分析:利用60進(jìn)制計(jì)數(shù)器完成00到59的循環(huán)計(jì)數(shù)功能,當(dāng)秒計(jì)數(shù)至59時(shí),再來(lái)一個(gè)時(shí)鐘脈沖則產(chǎn)生進(jìn)位輸出,即co=1;rd作為復(fù)位信號(hào)高電平有效,即低電平時(shí)正常循環(huán)計(jì)數(shù),高電平清零。因?yàn)檫@種60進(jìn)制的vhdl語(yǔ)言是很好寫的,它并不復(fù)雜,再說(shuō)我們必須要學(xué)會(huì)這些基本的硬件語(yǔ)言的描寫。3、 整點(diǎn)報(bào)警模塊如果當(dāng)前時(shí)間中分、 秒的計(jì)時(shí)都為零,說(shuō)明整點(diǎn)到來(lái),計(jì)時(shí)器報(bào)警。整點(diǎn)報(bào)警模塊仿真波形圖:4、 分時(shí)掃描模塊該模塊的具體功能是將時(shí)、分、秒的計(jì)數(shù)輸出給譯碼器。sel為控制輸出的片選信號(hào),它是在時(shí)基信號(hào)的激勵(lì)下通過(guò)一個(gè)八進(jìn)制加法計(jì)數(shù)器產(chǎn)生八路選擇信號(hào)實(shí)現(xiàn)的。5、 譯碼模塊該模塊根據(jù)七段譯碼管的譯碼規(guī)則將最終的bcd碼轉(zhuǎn)換成七段譯碼管的數(shù)字顯示。從而能夠直觀的顯示出所表示的數(shù)字

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論