2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì) 報(bào) 告 書(shū)</p><p>  所屬課程名稱(chēng) 《EDA技術(shù)及應(yīng)用》課程設(shè)計(jì) </p><p>  題 目    數(shù)字鬧鐘系統(tǒng)設(shè)計(jì)             </p><p>  分 院       </p><p

2、>  專(zhuān)業(yè)班級(jí) 15級(jí)電信1班 </p><p>  學(xué)  號(hào)            </p><p>  學(xué)生姓名            </p><p>  指導(dǎo)教師    &l

3、t;/p><p>  20 18 年 1 月 8 日 </p><p>  課 程 設(shè) 計(jì)( 論 文 )任 務(wù) 書(shū)</p><p>  一、課程設(shè)計(jì)(論文)題目 數(shù)字鬧鐘系統(tǒng)設(shè)計(jì) </p><p>  二、課程設(shè)計(jì)(論文)工作:自 2018 年1 月 8 日

4、起至 2018 年 1 月 10 日止。</p><p>  三、課程設(shè)計(jì)(論文)的內(nèi)容要求:</p><p>  設(shè)計(jì)一個(gè)24小時(shí)制的數(shù)字鬧鐘,該數(shù)字鬧鐘包括幾個(gè)組成部分:</p><p> ?。?)顯示屏:由7段數(shù)碼管組成;</p><p> ?。?)YES(確認(rèn))鍵:用于輸入新的時(shí)間或新的鬧鐘時(shí)間;</p>&

5、lt;p> ?。?)TIME(時(shí)間)鍵;用于確定新的時(shí)間設(shè)置;</p><p> ?。?)ALARM(鬧鐘)鍵:用于確定新的鬧鐘時(shí)間設(shè)置或顯示已設(shè)置的鬧鐘時(shí)間;</p><p>  (5)揚(yáng)聲器:在當(dāng)前時(shí)鐘時(shí)間與鬧鐘時(shí)間相同時(shí),發(fā)出蜂鳴聲; </p><p><b>  目 錄</b></p><p>  課程設(shè)計(jì)

6、內(nèi)容及要求...................................</p><p>  程序設(shè)計(jì)目的..........................................</p><p>  程序?qū)崿F(xiàn)思路..........................................</p><p>  程序清單(或正文)......

7、............................</p><p>  課程設(shè)計(jì)心得..........................................</p><p>  參考文獻(xiàn)(資料).....................................</p><p><b>  程序設(shè)計(jì)目的</b></

8、p><p>  隨著EDA技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,EDA技術(shù)在電子信息、通信、自動(dòng)控制及計(jì)算機(jī)應(yīng)用領(lǐng)域的重要性日益突出。EDA技術(shù)就是依賴(lài)功能強(qiáng)大的計(jì)算機(jī),在EDA工具軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言VHDL為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯優(yōu)化和仿真測(cè)試,直至實(shí)現(xiàn)既定的電子線路系統(tǒng)功能。本課設(shè)基于VHDL硬件描述語(yǔ)言并選用合適的可編程邏輯器件設(shè)計(jì)一個(gè)24小時(shí)制的數(shù)字鬧鐘的思路和技巧。在max+p

9、lus2開(kāi)發(fā)環(huán)境中編譯和仿真了所設(shè)計(jì)的程序,并逐一調(diào)試驗(yàn)證程序的運(yùn)行狀況。仿真和驗(yàn)證的結(jié)果表明,該設(shè)計(jì)方法切實(shí)可行,該數(shù)字鬧鐘可以實(shí)現(xiàn)調(diào)時(shí)定時(shí)鬧鐘功能具有一定的實(shí)際應(yīng)用性。</p><p>  第3章程序?qū)崿F(xiàn)思路</p><p>  根據(jù)該數(shù)字鬧鐘的設(shè)計(jì)要求,可得到其外部端口如圖。</p><p>  各個(gè)輸入/輸出端口的作用如下:</p><

10、p>  1)CLK為外部時(shí)鐘信號(hào),RESET為復(fù)位信號(hào)。</p><p>  2)當(dāng)YES為高電平,表示用戶(hù)選擇了某個(gè)與置數(shù)字。</p><p>  3)當(dāng)TIME_BUTTON為高電平時(shí),表示用戶(hù)按下TIME鍵。</p><p>  (5)SEG7是數(shù)據(jù)動(dòng)態(tài)掃描顯示的公共七段數(shù)碼顯示管驅(qū)動(dòng)端;LEDW是數(shù)碼管的位選擇端,它經(jīng)過(guò)外接的3-8譯碼器譯碼后接數(shù)碼

11、管的公共端COM(6) SOUND ALARM用于控制揚(yáng)聲器發(fā)聲,當(dāng) SOUND ALARM=1時(shí),揚(yáng)聲器發(fā)出蜂鳴,表示到了設(shè)定的鬧鐘時(shí)間。根據(jù)系統(tǒng)的設(shè)計(jì)要求,整個(gè)系統(tǒng)可分為鬧鐘控制器、預(yù)置寄存器、分頻電路、時(shí)間計(jì)數(shù)器、鬧鐘寄存器、顯示驅(qū)動(dòng)控制器等6個(gè)模塊,各個(gè)模塊的作用介紹如下(1)鬧鐘控制器( CONTROL):它是整個(gè)系統(tǒng)正常有序工作的核心,按設(shè)計(jì)要求產(chǎn)生相應(yīng)的控制邏輯

12、,控制其他各部分的協(xié)調(diào)工作。(2)預(yù)置寄存器( KEYBUFFER):這時(shí)一個(gè)預(yù)置數(shù)字產(chǎn)生器和移位寄存器的結(jié)合體。通過(guò)對(duì)YES進(jìn)行操作,選擇欲輸入的數(shù)字;暫存用戶(hù)輸入的數(shù)字,并且用戶(hù)每輸入一個(gè)數(shù)字,暫存數(shù)字移位一次,實(shí)現(xiàn)用戶(hù)輸入的數(shù)字在顯示器上從右到左的依次顯示(3)分頻電路( DIVIDER):將較高速的外部時(shí)鐘頻率分頻成每秒一次的時(shí)鐘頻率,以便進(jìn)行時(shí)鐘計(jì)數(shù)(4)時(shí)間計(jì)數(shù)器( OUNTER):

13、這實(shí)際上是一個(gè)異步復(fù)位、異步置數(shù)的累加器,通常情況下進(jìn)行時(shí)鐘累加計(jì)數(shù),必</p><p>  第4章程序清單或正文</p><p>  1)程序包P_ALARM:</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  PAC

14、KAGE P_ALARM IS</p><p>  SUBTYPE T_DIGITAL IS INTEGER RANGE 0 TO 9;</p><p>  SUBTYPE T_SHORT IS INTEGER RANGE 0 TO 65535;</p><p>  TYPE T_CLOCK_TIME IS ARRAY (5 DOWNTO 0) OF T_DIGIT

15、AL;</p><p>  TYPE T_DISPLAY IS ARRAY (5 DOWNTO 0) OF T_DIGITAL;</p><p>  END PACKAGE P_ALARM;</p><p>  2)鬧鐘控制器外部端口(程序及圖):</p><p>  LIBRARY IEEE;</p><p>  U

16、SE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE WORK.P_ALARM.ALL;</p><p>  ENTITY CONTROL IS</p><p>  PORT ( KEY: IN STD_LOGIC;</p><p>  ALARM_BUTTON:IN STD_LOGIC;</p>

17、<p>  TIME_BUTTON:IN STD_LOGIC;</p><p>  CLK:IN STD_LOGIC;</p><p>  RESET:IN STD_LOGIC;</p><p>  LOAD_NEW_A:OUT STD_LOGIC;</p><p>  LOAD_NEW_C:OUT STD_LOGIC;</p

18、><p>  SHOW_NEW_TIME:OUT STD_LOGIC;</p><p>  SHOW_A:OUT STD_LOGIC);</p><p>  END ENTITY CONTROL;</p><p>  ARCHITECTURE BEHAVE OF CONTROL IS</p><p>  TYPE T_ST

19、ATE IS(S0,S1,S2,S3,S4) ;</p><p>  CONSTANT KEY_TIMEOUT:T_SHORT:=500;</p><p>  CONSTANT SHOW_ALARM_TIMEOUT:T_SHORT:=500;</p><p>  SIGNAL CURR_STATE:T_STATE;</p><p>  SIG

20、NAL NEXT_STATE:T_STATE;</p><p>  SIGNAL COUNTER_K:T_SHORT;</p><p>  SIGNAL ENABLE_COUNT_K:STD_LOGIC;</p><p>  SIGNAL COUNT_K_END:STD_LOGIC ;</p><p>  SIGNAL COUNTER_A:T

21、_SHORT;</p><p>  SIGNAL ENABLE_COUNT_A:STD_LOGIC ;</p><p>  SIGNAL COUNT_A_END:STD_LOGIC;</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK,RESET) IS</p>&l

22、t;p><b>  BEGIN</b></p><p>  IF RESET ='1' THEN</p><p>  CURR_STATE<= S0;</p><p>  ELSIF RISING_EDGE(CLK) THEN</p><p>  CURR_STATE<= NEXT_ST

23、ATE;</p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  PROCESS (KEY,ALARM_BUTTON,TIME_BUTTON,CURR_STATE,</p><p>  COUNT_A_END,COUNT_K_END )</p>

24、<p><b>  BEGIN</b></p><p>  NEXT_STATE<=CURR_STATE;</p><p>  LOAD_NEW_A<='0';</p><p>  LOAD_NEW_C<='0';</p><p>  SHOW_A <=&

25、#39;0';</p><p>  SHOW_NEW_TIME<='0';</p><p>  ENABLE_COUNT_K<='0';</p><p>  ENABLE_COUNT_A <='0';</p><p>  CASE CURR_STATE IS</p

26、><p>  WHEN S0=>IF (KEY='0') THEN</p><p>  NEXT_STATE<= S1;</p><p>  SHOW_NEW_TIME<='1';</p><p>  ELSIF (ALARM_BUTTON='1') THEN</p>

27、<p>  NEXT_STATE<= S4;</p><p>  SHOW_A<='1';</p><p><b>  ELSE</b></p><p>  NEXT_STATE<= S0;</p><p><b>  END IF;</b></p

28、><p>  WHEN S1=>IF(KEY='1') THEN</p><p>  NEXT_STATE<= S1;</p><p>  ELSIF (ALARM_BUTTON ='1') THEN</p><p>  NEXT_STATE<= S2;</p><p> 

29、 LOAD_NEW_A<='1';</p><p>  ELSIF (TIME_BUTTON ='1') THEN</p><p>  NEXT_STATE<= S3;</p><p>  LOAD_NEW_C <='1';</p><p><b>  ELSE<

30、;/b></p><p>  IF (COUNT_K_END='1') THEN</p><p>  NEXT_STATE<= S0;</p><p><b>  ELSE</b></p><p>  NEXT_STATE<= S1;</p><p><b&

31、gt;  END IF ;</b></p><p>  ENABLE_COUNT_K<='1';</p><p><b>  END IF ;</b></p><p>  SHOW_NEW_TIME<='1';</p><p>  WHEN S2=>IF (A

32、LARM_BUTTON ='1') THEN</p><p>  NEXT_STATE<=S2;</p><p>  LOAD_NEW_A <='1';</p><p><b>  ELSE</b></p><p>  NEXT_STATE<= S0;</p>

33、<p><b>  END IF ;</b></p><p>  WHEN S3 =>IF (TIME_BUTTON ='1') THEN</p><p>  NEXT_STATE<=S3;</p><p>  LOAD_NEW_C<='1';</p><p&g

34、t;<b>  ELSE</b></p><p>  NEXT_STATE<= S0;</p><p><b>  END IF;</b></p><p>  WHEN S4=>IF(KEY='1') THEN</p><p>  NEXT_STATE<= S1;&

35、lt;/p><p><b>  ELSE</b></p><p>  NEXT_STATE<=S4;</p><p>  IF (COUNT_A_END ='1') THEN</p><p>  NEXT_STATE<= S0;</p><p><b>  ELS

36、E</b></p><p>  NEXT_STATE<= S4;</p><p>  SHOW_A<='1';</p><p><b>  END IF ;</b></p><p>  ENABLE_COUNT_A <='1';</p><

37、p><b>  END IF;</b></p><p>  WHEN OTHERS=>NULL;</p><p><b>  END CASE;</b></p><p>  END PROCESS;</p><p>  COUNT_KEY:PROCESS(ENABLE_COUNT_K,C

38、LK) IS</p><p><b>  BEGIN</b></p><p>  IF (ENABLE_COUNT_K ='0') THEN</p><p>  COUNTER_K<=0;</p><p>  COUNT_K_END<='0';</p><p

39、>  ELSIF (RISING_EDGE(CLK)) THEN</p><p>  IF (COUNTER_K >=KEY_TIMEOUT) THEN</p><p>  COUNT_K_END<='1';</p><p><b>  ELSE</b></p><p>  COUNTE

40、R_K<=COUNTER_K + 1;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  COUNT_ALARM:PROCESS(ENABLE_COUNT_A,CLK) IS

41、</p><p><b>  BEGIN</b></p><p>  IF (ENABLE_COUNT_A ='0') THEN</p><p>  COUNTER_A<=0;</p><p>  COUNT_A_END<='0';</p><p>  

42、ELSIF RISING_EDGE(CLK) THEN</p><p>  IF( COUNTER_A>=SHOW_ALARM_TIMEOUT) THEN</p><p>  COUNT_A_END<='1';</p><p><b>  ELSE</b></p><p>  COUNTER_

43、A<= COUNTER_A + 1;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE BEHAVE;</p><p&g

44、t;  3)預(yù)設(shè)寄存器(程序及圖):</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL ;</p><p>  USE WORK.P_ALARM.ALL ;</p>&l

45、t;p>  ENTITY KEYBUFFER IS</p><p>  PORT (KEY:IN STD_LOGIC;</p><p>  CLK:IN STD_LOGIC;</p><p>  RESET:IN STD_LOGIC;</p><p>  KEYNUM:OUT STD_LOGIC_VECTOR(3 DOWNTO 0 );

46、</p><p>  NEW_TIME:OUT T_CLOCK_TIME);</p><p>  END ENTITY KEYBUFFER;</p><p>  ARCHITECTURE BEHAVE OF KEYBUFFER IS</p><p>  SIGNAL N_T:T_CLOCK_TIME;</p><p>

47、  SIGNAL CNT:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL TEMP:T_DIGITAL;</p><p><b>  BEGIN</b></p><p>  PROCESS (CLK) IS</p><p><b>  BEGIN</b>

48、</p><p>  IF (CLK'EVENT AND CLK = '1') THEN</p><p>  IF CNT =9 THEN</p><p>  CNT <= "0000" ;</p><p><b>  ELSE</b></p><p&

49、gt;  CNT<= CNT+'1';</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  TEMP<= CONV_INTEGER(CNT);</p><p>  KEYNUM <= CNT;&

50、lt;/p><p>  END PROCESS;</p><p>  SHIFT:PROCESS(RESET,KEY) IS</p><p><b>  BEGIN</b></p><p>  IF (RESET ='1') THEN</p><p>  N_T(5)<= 0;&

51、lt;/p><p>  N_T(4)<= 0;</p><p>  N_T(3)<= 0;</p><p>  N_T(2)<= 0;</p><p>  N_T(1)<= 0;</p><p>  N_T(0)<= 0;</p><p>  ELSIF (KEY

52、9;EVENT AND KEY='1') THEN</p><p>  FOR I IN 5 DOWNTO 1 LOOP</p><p>  N_T(I)<= N_T(I-1);</p><p><b>  END LOOP;</b></p><p>  N_T(0)<= TEMP;</

53、p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  NEW_TIME<= N_T;</p><p>  END ARCHITECTURE BEHAVE;</p><p>  4)鬧鐘寄存器(程序及圖):</p><

54、p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE WORK.P_ALARM.ALL;</p><p>  ENTITY REG IS</p><p>  PORT (NEW_ALARM_TIME:IN T_CLOCK_TIME;</p>

55、;<p>  LOAD_NEW_A:IN STD_LOGIC;</p><p>  CLK:IN STD_LOGIC;</p><p>  RESET:IN STD_LOGIC;</p><p>  ALARM_TIME:OUT T_CLOCK_TIME);</p><p>  END ENTITY REG;</p>

56、<p>  ARCHITECTURE BEHAVE OF REG IS</p><p><b>  BEGIN</b></p><p>  PROCESS (CLK,RESET) IS</p><p><b>  BEGIN</b></p><p>  IF RESET='1&

57、#39; THEN</p><p>  ALARM_TIME(0)<=0;</p><p>  ALARM_TIME(1)<= 0;</p><p>  ALARM_TIME(2)<= 0;</p><p>  ALARM_TIME(3)<= 0;</p><p>  ALARM_TIME(4)

58、<= 0;</p><p>  ALARM_TIME(5)<= 0;</p><p><b>  ELSE</b></p><p>  IF RISING_EDGE(CLK) THEN</p><p>  IF LOAD_NEW_A ='1' THEN</p><p>

59、  ALARM_TIME<= NEW_ALARM_TIME;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</

60、p><p>  END ARCHITECTURE BEHAVE;</p><p>  5)分頻器(程序及圖):</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE WORK.P_ALARM.ALL;</p>

61、<p>  ENTITY DIVIDER IS</p><p>  PORT(CLK_IN: IN STD_LOGIC;</p><p>  RESET: IN STD_LOGIC;</p><p>  CLK_OUT: OUT STD_LOGIC);</p><p>  END ENTITY DIVIDER;</p>

62、<p>  ARCHITECTURE BEHAVE OF DIVIDER IS</p><p>  CONSTANT DIVIDE_PERIOD: T_SHORT:=6000;</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK_IN,RESET) IS</p><p>

63、;  VARIABLE CNT: T_SHORT;</p><p><b>  BEGIN</b></p><p>  IF (RESET='1') THEN</p><p><b>  CNT:=0;</b></p><p>  CLK_OUT<='0';&l

64、t;/p><p>  ELSIF RISING_EDGE(CLK_IN) THEN</p><p>  IF (CNT<=(DIVIDE_PERIOD/2)) THEN</p><p>  CLK_OUT<='1';</p><p>  CNT:=CNT+1;</p><p>  ELSIF (

65、CNT<(DIVIDE_PERIOD-1)) THEN</p><p>  CLK_OUT<='0';</p><p>  CNT:=CNT+1;</p><p><b>  ELSE</b></p><p><b>  CNT:=0;</b></p>&l

66、t;p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE BEHAVE;</p><p>  6)時(shí)間計(jì)數(shù)器(程序及圖):</p><p

67、>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE WORK.P_ALARM.ALL;</p><p>  ENTITY COUNTER IS</p><p>  PORT (NEW_CURRENT_TIME:IN T_CLOCK_TIME;<

68、/p><p>  LOAD_NEW_C,CLK,RESET:IN STD_LOGIC;</p><p>  CURRENT_TIME:OUT T_CLOCK_TIME );</p><p>  END ENTITY COUNTER;</p><p>  ARCHITECTURE BEHAVE OF COUNTER IS</p>&l

69、t;p>  SIGNAL I_CURRENT_TIME:T_CLOCK_TIME;</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK,RESET,LOAD_NEW_C) IS</p><p>  VARIABLE C_T:T_CLOCK_TIME;</p><p><

70、b>  BEGIN</b></p><p>  IF RISING_EDGE(CLK) THEN</p><p>  IF RESET ='1' THEN</p><p>  I_CURRENT_TIME(5)<= 0;</p><p>  I_CURRENT_TIME(4)<= 0;</p

71、><p>  I_CURRENT_TIME(3)<= 0;</p><p>  I_CURRENT_TIME(2)<= 0;</p><p>  I_CURRENT_TIME(1)<= 0;</p><p>  I_CURRENT_TIME(0)<= 0;</p><p>  ELSIF LOAD_

72、NEW_C ='1' THEN</p><p>  I_CURRENT_TIME<= NEW_CURRENT_TIME;</p><p><b>  ELSE</b></p><p>  C_T:= I_CURRENT_TIME;</p><p>  IF C_T(0)<9 THEN</

73、p><p>  C_T(0):= C_T(0)+1;</p><p><b>  ELSE</b></p><p>  C_T(0):= 0;</p><p>  IF C_T(1)<5 THEN</p><p>  C_T(1):= C_T(1)+1 ;</p><p>

74、;<b>  ELSE</b></p><p>  C_T (1):= 0;</p><p>  IF C_T(2)<9 THEN</p><p>  C_T(2):=C_T(2)+1;</p><p><b>  ELSE</b></p><p>  C_T(2):=

75、 0 ;</p><p>  IF C_T(3)<5 THEN</p><p>  C_T(3):= C_T(3)-1;</p><p><b>  ELSE</b></p><p>  C_T(3):=0;</p><p>  IF C_T(5)<2 THEN</p>

76、<p>  IF C_T(4)<9 THEN</p><p>  C_T(4):= C_T(4)+1 ;</p><p><b>  ELSE</b></p><p>  C_T(4):= 0 ;</p><p>  C_T(5):=C_T(5)+1;</p><p><b&

77、gt;  END IF;</b></p><p><b>  ELSE</b></p><p>  IF C_T(4)<3 THEN</p><p>  C_T(4):=C_T(4)+1;</p><p><b>  ELSE</b></p><p>  C

78、_T(4):= 0;</p><p>  C_T(5):=0;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>

79、  END IF;</b></p><p><b>  END IF;</b></p><p>  I_CURRENT_TIME<=C_T;</p><p><b>  END IF;</b></p><p>  I_CURRENT_TIME<=C_T;</p>

80、<p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  CURRENT_TIME<=I_CURRENT_TIME;</p><p>  END ARCHITECTURE BEH

81、AVE;</p><p>  7)顯示驅(qū)動(dòng)(程序及圖):</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p>  USE IEEE.STD_LOGIC

82、_UNSIGNED.ALL;</p><p>  USE WORK.P_ALARM.ALL;</p><p>  ENTITY DRIVER IS</p><p>  PORT (KEYNUM:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  CLK:IN STD_LOGIC;</p><

83、;p>  ALARM_TIME:IN T_CLOCK_TIME ;</p><p>  CURRENT_TIME:IN T_CLOCK_TIME;</p><p>  NEW_TIME:IN T_CLOCK_TIME;</p><p>  SHOW_NEW_TIME:IN STD_LOGIC;</p><p>  SHOW_A:IN S

84、TD_LOGIC;</p><p>  SOUND_ALARM:OUT STD_LOGIC;</p><p>  LEDW:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p>  SEG7:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p>  END ENTITY DRIVE

85、R;</p><p>  ARCHITECTURE BEHAVE OF DRIVER IS</p><p>  SIGNAL DISPLAY_TIME:T_CLOCK_TIME;</p><p>  SIGNAL TEMP:INTEGER RANGE 0 TO 9;</p><p>  SIGNAL CNT:STD_LOGIC_VECTOR(

86、2 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS (ALARM_TIME,CURRENT_TIME,SHOW_A,SHOW_NEW_TIME) IS</p><p><b>  BEGIN</b></p><p>  SOUND_LP:FO

87、R I IN ALARM_TIME'RANGE LOOP</p><p>  IF NOT(ALARM_TIME(I)= CURRENT_TIME(I)) THEN</p><p>  SOUND_ALARM <='0';</p><p><b>  ELSE</b></p><p>  S

88、OUND_ALARM <='1';</p><p><b>  END IF;</b></p><p>  END LOOP SOUND_LP;</p><p>  IF SHOW_NEW_TIME ='1' THEN</p><p>  DISPLAY_TIME<=NEW_T

89、IME;</p><p>  ELSIF SHOW_A='1' THEN</p><p>  DISPLAY_TIME<=ALARM_TIME;</p><p>  ELSIF SHOW_A='0' THEN</p><p>  DISPLAY_TIME<=CURRENT_TIME;</p&g

90、t;<p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  PROCESS (CLK) IS</p><p><b>  BEGIN</b></p><p>  IF CLK'EVENT AND CLK ='1

91、9; THEN</p><p>  IF CNT="111" THEN</p><p>  CNT<="000";</p><p><b>  ELSE</b></p><p>  CNT<= CNT+'1';</p><p>&

92、lt;b>  END IF ;</b></p><p><b>  END IF; </b></p><p>  END PROCESS;</p><p>  LEDW<= CNT;</p><p>  PROCESS(CNT)</p><p><b>  BEG

93、IN</b></p><p>  CASE CNT IS</p><p>  WHEN "000"=>TEMP<=DISPLAY_TIME(0);</p><p>  WHEN "001"=>TEMP<=DISPLAY_TIME(1);</p><p>  WHEN

94、"010"=>TEMP<=DISPLAY_TIME(2);</p><p>  WHEN "011"=>TEMP<=DISPLAY_TIME(3);</p><p>  WHEN "100"=>TEMP<=DISPLAY_TIME(4);</p><p>  WHEN &

95、quot;101"=>TEMP<=DISPLAY_TIME(5);</p><p>  WHEN "111"=>TEMP<=CONV_INTEGER (KEYNUM);</p><p>  WHEN OTHERS =>TEMP<= 0;</p><p><b>  END CASE;<

96、/b></p><p>  CASE TEMP IS</p><p>  WHEN 0=>SEG7<="00111111";</p><p>  WHEN 1=>SEG7<="00000110";</p><p>  WHEN 2=>SEG7<="01

97、011011";</p><p>  WHEN 3=>SEG7<="01001111";</p><p>  WHEN 4=>SEG7<="01100110";</p><p>  WHEN 5=>SEG7<="01101101";</p><

98、;p>  WHEN 6=>SEG7<="01111101";</p><p>  WHEN 7=>SEG7<="00000111";</p><p>  WHEN 8=>SEG7<="01111111";</p><p>  WHEN 9=>SEG7<=

99、"01101111";</p><p>  WHEN OTHERS=>SEG7<="00111111";</p><p><b>  END CASE;</b></p><p>  END PROCESS;</p><p>  9)鬧鐘系統(tǒng)頂層原理圖</p>

100、<p>  第5章 課程設(shè)計(jì)心得</p><p>  通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論