定时闹钟实习电路图.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定时闹钟实习电路图.PPT

陳慶逸、林柏辰編著---文魁資訊 VHDL數位電路實習與專題設計 定時鬧鐘實習 VHDL數位電路實習與專題設計 文魁資訊-UE301 單元8:定時鬧鐘實習 實驗目的 瞭解定時鬧鐘的操作原理 了解如何以狀態機實現定時鬧鐘設定功能 電路程式檔燒錄與邏輯動作驗證 相關知識 我們將設計一個具有可調整時間的定時鬧鐘,並將59倒數到00的時間顯示在七段顯示器上 當時間倒數到00時,蜂鳴器將響起以代表鬧鐘響的意思 在調整鬧鐘時間時,我們可以分別設定十位數或個位數的值,而且當開始啟動倒數計時的時候,我們還可以將倒數計時的時間暫停,或是重新開始計時等等功能 相關知識 在本實習中我們可將功能分為以下幾個狀態 重置(RESET) 暫停(PAUSE) 開始計時(START) 設定十位數(SET_TEN) 設定個位數(SET_ONE) 按鍵功能表 定時鬧鐘的狀態轉換說明 RESET 當按下SW1時,啟動倒數功能(START)。 當按下SW2時,設定十位數功能(SET_TEN)。 其他情況皆為RESET狀態。 PAUSE 當按下SW1時,啟動倒數功能(START)。 當按下SW2時,設定十位數功能(SET_TEN)。 當按下SW4時,重置狀態(RESET)。 其他情況皆為PAUSE狀態。 START 當按下SW2時,設定十位數功能(SET_TEN)。 當按下SW3時,暫停狀態(PAUSE)。 當按下SW4時,重置狀態(RESET)。 其他情況皆為START狀態。 定時鬧鐘的狀態轉換說明 SET_TEN 當按下SW1時,啟動倒數功能(START)。 當按下SW2時,設定個位數功能(SET_ONE)。 其他情況皆為SET_TEN狀態。 SET_ONE 當按下SW1時,啟動倒數功能(START)。 當按下SW2時,設定十位數功能(SET_TEN)。 其他情況皆為SET_ONE狀態。 定時鬧鐘狀態真值表 定時鬧鐘狀態機之狀態圖(State Diagram) 定時鬧鐘在各狀態下的輸出 定時鬧鐘狀態機之方塊圖 定時鬧鐘實習電路圖 實驗功能 當我們按下SW1時,七段顯示器會開始倒數,當倒數到00時,蜂鳴器會響起,而且還會繼續倒數。 當我們按下SW2時,可以設定十位數,且個位數會出現F。 當我們再按下SW2時,可以設定個位數,且十位數會出現F。也就是說按下SW2是可以切換設定十位數還是個位數的功能,而且沒有設定的部分會出現F,並且資料可以保留。 在倒數計時的時候,我們按下SW3時,會暫停倒數計時的動作,且數字不變。 在設定數字的時候,我們按下SW3時,數字進行加一的動作。 當我們按下SW4時,定時鬧鐘會重置,將時間跳回到59。 實驗電路圖 除頻電路程式 1 ------------------------------------------------------------------- 2 --實驗名稱:定時鬧鐘實習 3 --檔案名稱:clk_gen.vhd 4 --功 能:產生定時鬧鐘實習需要的頻率 5 --日 期:2003.8.8 6 ------------------------------------------------------------------- 7 library ieee; 8 use ieee.std_logic_1164.all; 9 use ieee.std_logic_unsigned.all; 10 entity clk_gen is 11 port( 12 clk_in : in std_logic; 13 clk_out1: out std_logic; 14 clk_out2: out std_logic; 15 clk_out3: out std_logic 16 ); 17 end clk_gen; 18 architecture a of clk_gen is 19 signal cnt : std_logic_vector(19 downto 0); 20 signal reset: std_logic; 21 begin 22 process (clk_in) 23 begin 24 if reset=1 then 25 cnt=00000000000000000000; 26 elsif clk_inevent and clk_in=1 then 27 cnt=cnt+1; 28 end if; 29 end process; 30 reset=1 wh

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档