




免費預覽已結束,剩余7頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
河南農業大學 課課程程設設計計 報報告告 設計題目 基于 VHDL 的數字秒表的設計 學 院 專 業 電子信息科學與技術 班 級 學 號 姓 名 電子郵件 日 期 成 績 指導教師 裝 訂 線 河河 南南 農農 業業 大大 學學 理理 學學 院院 課課 程程 設設 計計 任任 務務 書書 學生姓名 指導教師 學生學號 專業班級 題目 基于 VHDL 的數字秒表設計 任務與要求 設計一個數字秒表 主要由顯示譯碼器 分頻器 十進制計數器 六進制 計數器組成 在整個秒表中最關鍵的是如何獲得一個精確的100HZ計時脈沖 除 此之外 整個秒表還需有一個啟動信號和一個歸零信號 以便秒表能隨意停止及 啟動 秒表共有 6 個輸出顯示 分別為百分之一秒 十分之一秒 秒 十秒 分 十分 所以共有 6 個計數器與之相對應 6 個計數器的輸出全都為 BCD 碼輸出 這樣便 于和顯示譯碼器的連接 合作人 分工方案 開始日期 2012 年 12 月 3 日 完成日期 2012 年 月 9 日 課程設計所在地點 一 一 數字鬧鐘設計要求數字鬧鐘設計要求 1 四個十進制計數器 分別用來對百分之一秒 十分之一秒 秒和分進行計數 2 兩個六進制計數器 用來分別對十秒和十分進行計數 3 分頻器 用來產生 100Hz 計時脈沖 4 顯示譯碼器 完成對顯示譯碼的控制 3 能夠完成清零 啟動 保持 可以使用鍵盤或撥碼開關置數 功能 4 時 分 秒 百分之一秒顯示準確 二 二 實驗目的 實驗目的 1 初步了解可編程邏輯器件 PLD 的基本原理 2 熟練掌握 MAX Plus 圖形編輯器 文本編輯器等不同的輸入設計方法 掌握 EDA 的自頂向下 Top to Down 的模塊化設計思想 3 了解 VHDL 語言的語法 句法及結構 能看懂 VHDl 語言編寫的程序 并能熟練 運用 MAX Plus 軟件對各個程序模塊進行波形仿真 4 熟悉頂層電路的原理圖輸入法 能應用 EDA 設計思想進行較復雜系統的分析和設 計 三 設計方案 三 設計方案 按照 EDA 自頂向下的設計理念 該數字秒表可以分為分頻器模塊 計數器模塊 數 據選擇和數碼管選擇模塊模塊 數碼管驅動模塊 其頂層電路如下圖所示 四 各個模塊的功能 四 各個模塊的功能 1 分頻器模塊 將 2 5MHz 的時鐘信號轉換成 100Hz 的計時脈沖 使秒表正常工作 2 計數器模塊 這是本秒表設計的基本功能 對時間進行計數并在顯示屏顯示當前時 間 這個模塊中 分別有十進制計數器和六進制計數器 共用四個十進制 分別表示數字 秒表的百分之一秒 十分之一秒 秒和分 兩個六進制 分別表示數字秒表的十秒和十分 3 數據選擇和數碼管選擇模塊 通過每個計數器輸入的 dain 信號對數碼管進行選擇 4 數碼管驅動模塊 通過對輸入的信號進行編碼 完成對 7 段數碼管的驅動 使數碼 管顯示出對應的數字 五 系統的各組成部分的原理框圖及功能五 系統的各組成部分的原理框圖及功能 1 1 分頻器的原理框圖 分頻器的原理框圖 2 2 六進制計數器的原理框圖 六進制計數器的原理框圖 3 3 十進制計數器十進制計數器的原理框圖 的原理框圖 4 4 選擇模塊的原理框圖 選擇模塊的原理框圖 5 5 譯碼顯示電路的原理框圖 譯碼顯示電路的原理框圖 其中各部分功能如下 1 分頻器將 2 5MHz 脈沖變成 100Hz 2 六進制計數器能夠實現 6 進制循環計數 3 十進制計數器能夠實現 10 進制循環計數 4 選擇模塊通過每個計數器輸入的 dain 信號對數碼管進行選擇 5 譯碼顯示電路通過對輸入的信號進行編碼 完成對 7 段數碼管的驅動 使數碼管顯示出 對應的數字 六 系統的主要模塊六 系統的主要模塊 VHDLVHDL 源程序 源程序 1 1 分頻器源程序 分頻器源程序 clkgen library ieee use ieee std logic 1164 all entity clkgen is port clk in std logic newclk out std logic end entity clkgen architecture art of clkgen is signal cnter integer range 0 to 10 24999 begin process clk is begin if clk event and clk 1 then if cnter 10 24999 then cnter 0 else cnter cnter 1 end if end if end process process cnter is begin if cnter 10 24999 then newclk 1 else newclk 0 end if end process end architecture art 2 2 六進制計數器六進制計數器源程序源程序count6 library ieee use ieee std logic 1164 all use ieee std logic unsigned all entity count6 is port clk clr start in std logic daout out std logic vector 3 downto 0 cout buffer std logic end count6 architecture behave of count6 is signal temp std logic vector 3 downto 0 begin process clk clr begin if clr 1 then temp 0000 cout 0 elsif clk event and clk 1 then if start 1 then if temp 0101 then temp 0000 cout 1 else temp temp 1 cout 0 end if elsif start 0 then temp temp cout cout end if end if end process daout temp end behave 3 十進制計數器十進制計數器源程序源程序 count10 library ieee use ieee std logic 1164 all use ieee std logic unsigned all entity count10 is port clk clr start in std logic daout out std logic vector 3 downto 0 cout buffer std logic end count10 architecture behave of count10 is signal temp std logic vector 3 downto 0 begin process clk clr begin if clr 1 then temp 0000 cout 0 elsif clk event and clk 1 then if start 1 then if temp 1001 then temp 0000 cout 1 else temp temp 1 cout 0 end if elsif start 0 then temp temp cout cout end if end if end process daout temp end behave 4 4 數據選擇和數碼管選擇模塊數據選擇和數碼管選擇模塊模塊模塊源程序源程序seltime library ieee use ieee std logic 1164 all USE ieee std logic UNSIGNED all entity seltime is port clr clk in std logic dain0 dain1 dain2 dain3 dain4 dain5 in std logic vector 3 downto 0 sel out std logic vector 2 downto 0 daout out std logic vector 3 downto 0 end seltime architecture a of seltime is signal temp integer range 0 to 5 begin process clk begin if clr 1 then daout 0000 sel 000 temp 0 elsif clk 1 and clk event then if temp 5 then temp 0 else tempsel 000 daoutsel 001 daoutsel 010 daoutsel 011 daoutsel 100 daoutsel 101 daoutledledledledledledledledledledledledout 0 b ledout 1 c ledout 2 d ledout 3 e ledout 4 f ledout 5 g l edout 6 u1 count10 port map clk stop start daout1 count cout 0 u2 count10 port map count cout 0 stop start daout2 count cout 1 u3 count10 port map count cout 1 stop start daout3 count cout 2 u4 count6 port map count cout 2 stop start daout4 count cout 3 u5 count10 port map count cout 3 stop start daout5 count cout 4 u6 count6 port map count cout 4 stop start daout6 count cout 5 u7 cfq port map clk2 count cout 5 count cout 6 u7 seltime port map stop clk daout1 daout2 daout3 daout4 daout5 daout6 sel daout7 u8 ym port map daout7 ledout u9 clkgen port map clk newclk end c 六 程序功能仿真圖六 程序功能仿真圖 1 1 count6 仿真圖如下示 仿真圖如下示 2 2 count10 仿真圖如下示 仿真圖如下示 3 3 seltime 仿真圖如下示 仿真圖如下示 4 4 ym 仿真圖如下示 仿真圖如下示 七 心得和體會七 心得和體會 通過這次課程設計使我懂得了理論與實際相結合是很重要的 只有理論知識是遠遠不 夠的 只有把所學的理論知識與實踐相結合起來 從理論中得出結論 才能真正為社會服 務 從而提高自己的實際動手能力和獨立思考的能力 總的來說 這次設計的數字秒表還 是比較成功的 雖然在實際的過程中曾經遇到了大量的問題 但是經過自己的努力 都給 妥善解決了 這樣的積累對于現在大學生來說是十分寶貴的 希望以后能有更多的動手實 踐機會 在硬件中發現自己的不足 彌補自己的不足 最終成為一個合格的大學生 最后 特別感謝老師對我的幫助 八 參考文獻八 參考文獻 1 譚會生 張昌凡 EDA 技術及應用 西安電子科技大學出版社 2006 2 東方人華 MAX PLUSII 入門與提高 清華大學出版社 2004 EDA 設設 計計 實實 習習 成成 績績 評評
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論