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

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  一、實驗任務(wù)2</b></p><p><b>  實驗?zāi)康?</b></p><p><b>  實驗要求2</b></p><p><b>  二、設(shè)計思路2&l

2、t;/b></p><p><b>  硬件部分2</b></p><p><b>  軟件部分3</b></p><p><b>  三、完成情況6</b></p><p><b>  四、總結(jié)與收獲7</b></p><

3、;p><b>  具體分工7</b></p><p><b>  五、完整程序8</b></p><p><b>  一、實驗任務(wù)</b></p><p><b>  實驗?zāi)康?lt;/b></p><p>  深入了解基于EDA工具的復(fù)雜時序邏輯電路

4、的設(shè)計。</p><p>  理解并熟練利用EDA工具進(jìn)行綜合設(shè)計。</p><p>  熟練掌握芯片燒錄的流程及步驟。</p><p>  掌握Verilog HDL 語言的語法規(guī)范及時序電路描述方法。</p><p>  掌握多個數(shù)碼管動態(tài)掃描與鍵盤掃描的顯示原理及設(shè)計方法。</p><p><b>  

5、實驗要求</b></p><p>  設(shè)計一個帶鬧鐘功能的24 小時數(shù)字鐘,它包括以下幾個組成部分:</p><p> ?、?顯示屏,由4 個七段數(shù)碼管組成,用于顯示當(dāng)前時間(時:分)或設(shè)置的鬧鐘時間;</p><p> ?、?數(shù)字鍵 ‘0’~‘9’,用于輸入新的時間或新的鬧鐘時間;</p><p>  ③ TIME(時間)鍵

6、,用于確定新的時間設(shè)置;</p><p> ?、?ALARM(鬧鐘)鍵,用于確定新的鬧鐘時間設(shè)置,或顯示已設(shè)置的鬧鐘時間;</p><p>  ⑤ 揚聲器,在當(dāng)前時鐘時間與鬧鐘時間相同時,發(fā)出蜂鳴聲。</p><p><b>  基本要求</b></p><p>  (1) 計時功能:這是本計時器設(shè)計的基本功能,每隔一秒

7、計時一次,并在顯示屏上顯示當(dāng)前時間。</p><p>  (2) 鬧鐘功能:如果當(dāng)前時間與設(shè)置的鬧鐘時間相同,則揚聲器發(fā)出蜂鳴聲。</p><p>  (3) 設(shè)置新的計時器時間:用戶用數(shù)字鍵‘0’~‘9’輸入新的時間,然后按"TIME"鍵確認(rèn)。</p><p><b>  發(fā)揮部分</b></p><p

8、>  (1) 設(shè)置新的鬧鐘時間:用戶用數(shù)字鍵“0”~“9”輸入新的時間,然后按“ALARM”鍵確認(rèn)。</p><p>  (2) 顯示所設(shè)置的鬧鐘時間:在正常計時顯示狀態(tài)下,用戶直接按下“ALARM”鍵,則已設(shè)置的鬧鐘時間將顯示在顯示屏上。</p><p><b>  二、設(shè)計思路</b></p><p><b>  硬件部分&

9、lt;/b></p><p>  本次數(shù)字時鐘的設(shè)計主要在NC-EDA-2000C實驗箱上完成,應(yīng)用的芯片為Altara公司的EP1K10TC100—3芯片。該芯片具有低內(nèi)核電壓、低功耗的特點。芯片內(nèi)門電路高達(dá)1萬門,內(nèi)部使用RAM作電路結(jié)構(gòu),速度高達(dá)幾百MHZ,其輸出可用管腳已全部開放,位于芯片的四周,用戶可以根據(jù)自己的要求和芯片本身的功能自己任意定義管腳。同時為了體現(xiàn)實驗箱的可擴(kuò)展性,在芯片的兩邊各有一

10、個34腳的IDE插口,可以通過數(shù)據(jù)排線與其它應(yīng)用模塊相連接。</p><p>  除了主芯片外,主要包括三大部分:八個數(shù)碼管組成的顯示部分、4×4鍵盤構(gòu)成的按鍵輸入部分。以及其他輸入或輸出部分,如:"TIME"鍵、“ALARM”鍵、時鐘信號、蜂鳴器等。</p><p>  8位7段數(shù)碼管:采用2個進(jìn)口共陰高紅7段數(shù)碼管組成,其連接管腳位選信號在數(shù)碼管的左邊由連

11、接孔SEL0、SEL1、SEL2與其它模塊連接。</p><p>  數(shù)碼管顯示的設(shè)計示意圖如下:</p><p>  八位數(shù)碼管顯示設(shè)計示意圖</p><p>  4×4鍵盤: 4×4鍵盤主要是通過編程實現(xiàn)0~F的輸入,也可以作為一個控制鍵。在其上方的連接孔R1、R2、R3、R4控制橫向4位;C1、C2、C3、C4縱向4位。</p>

12、<p>  鍵盤輸入設(shè)計示意圖如下:</p><p>  4×4鍵盤輸入設(shè)計示意圖</p><p><b>  軟件部分</b></p><p>  軟件主要應(yīng)用軟件quartus,使用Verilog HDL語言來編寫程序。在老師所給的keyscan的基礎(chǔ)上加入計時部分、設(shè)置部分(時間的設(shè)置和鬧鐘的設(shè)置)以及鬧鈴部分。&

13、lt;/p><p><b>  計時部分</b></p><p>  always@(posedge clkl) //計時過程</p><p><b>  begin</b></p><p>  hour<=Hour;minute<=Minute;</p><p&

14、gt;  if(reset) begin hour<=0;minute<=0;second<=0;end</p><p><b>  else</b></p><p>  if(second==59)</p><p>  if(minute==59)</p><p>  if(hour ==23) be

15、gin second<=0;minute<=0;hour<=0;end</p><p>  else begin second<=0;minute<=0;hour<=hour+1;end</p><p>  else begin second<=0;minute<=minute+1;end</p><p>  else

16、 second<=second+1;</p><p><b>  end</b></p><p>  其中,clkl為1Hz的時鐘信號,當(dāng)每遇到一個時鐘信號的上升沿時,秒鐘就加1秒;當(dāng)加到59時,分鐘就加1,秒鐘自動回到0重新計時;當(dāng)分鐘加到59時,時鐘就加1,然后分鐘回到0;當(dāng)計時到23:59:59時,則回到00:00:00再進(jìn)入計時。reset為清零信號,高

17、電平有效。</p><p><b>  設(shè)置部分</b></p><p>  always @(posedge clkh)</p><p><b>  begin</b></p><p>  if(w==1)//設(shè)置時間</p><p>  begin Hour=num1*

18、10+num2; Minute=num3*10+num4; end</p><p>  else if(p==1) //設(shè)置鬧鐘</p><p>  begin Ahour=num1*10+num2; Aminute=num3*10+num4; end</p><p><b>  end</b></p><p>  

19、將按下的鍵值存在num1、num2、num3、num4中,再通過w和p即所謂的TIME(時間)鍵與ALARM(鬧鐘)鍵將輸入的數(shù)值賦給初始時間或鬧鐘時間。</p><p><b>  鬧鈴部分</b></p><p>  always @(posedge clkh)//鬧鐘響</p><p><b>  begin</b>

20、</p><p>  if((hour==Ahour)&&(minute==Aminute)) ds=1; </p><p>  else ds=0;</p><p><b>  end</b></p><p>  當(dāng)設(shè)置的鬧鐘時間(時:分)與當(dāng)前的時間(時:分)相等時,則鬧鈴發(fā)出響聲;ds信號可以接在

21、蜂鳴器上或者發(fā)光二極管上。</p><p>  本次設(shè)計的完整程序已附在報告的最后。整體程序編譯無誤。</p><p>  程序中涉及的變量名稱及其對應(yīng)的變量意義:</p><p><b>  引腳配置圖</b></p><p><b>  三、完成情況</b></p><p&g

22、t;  在這次實驗過程中我們完成了24小時數(shù)字時鐘的設(shè)計。時鐘的顯示屏為七段數(shù)碼管。顯示出的時間格式為小時、分鐘、秒鐘(如圖1)。</p><p>  時鐘含有鬧鐘,可以在程序中設(shè)置鬧鐘時間,在實際時間和鬧鐘時間相吻合時蜂鳴器響。圖2中的二極管亮即可說明,在鬧鐘時間可以輸出高電平,該輸出接在蜂鳴器上即可使蜂鳴器響。</p><p>  本次設(shè)計的鬧鐘為響1分鐘自動關(guān)閉。圖3中二極管熄滅。&

23、lt;/p><p><b>  圖1 時間顯示</b></p><p>  圖2 鬧鐘響(體現(xiàn)為發(fā)光二極管發(fā)光)</p><p>  圖3 發(fā)光二極管熄滅(本次設(shè)計的鬧鐘為響1分鐘自動關(guān)閉)</p><p><b>  四、總結(jié)與收獲</b></p><p>  在實驗設(shè)計的過

24、程中,我們首先嘗試了樹上和老師上課時所講的例程,在熟悉軟件和設(shè)計流程后開始了數(shù)字時鐘的設(shè)計。在設(shè)計數(shù)字時鐘時,我們先分設(shè)計出來時鐘的自動計數(shù)顯示,實現(xiàn)了24小時時鐘。之后實驗了4*4鍵盤,實現(xiàn)了鍵盤輸入值的掃描讀取。最后設(shè)計了鬧鐘部分,包括設(shè)置鬧鐘時間和到時間鬧鈴響。</p><p>  我們通過本次實驗深入了解基于EDA工具的復(fù)雜時序邏輯電路的設(shè)計,理解并熟練利用quartus進(jìn)行Verilog HDL語言的設(shè)

25、計。掌握了建立工程項目,編譯調(diào)試程序,下載程序的流程和步驟。在應(yīng)用的過程中掌握了數(shù)碼管和鍵盤掃描的原理和方法。并且對Verilog HDL語言的語法規(guī)則和幾種常用語句有了更深入的理解。實驗過程中通過合作的方式,小組成員積極討論,對不同的語句進(jìn)行了對比,最終確定了本次實驗的完整程序。</p><p>  這次完成的數(shù)字時鐘只是EDA實驗箱中可以實現(xiàn)的眾多功能之一,我們也認(rèn)識到Verilog HDL語言可以實現(xiàn)的設(shè)計

26、還有很多,本次實驗激發(fā)了我們對Verilog HDL語言的興趣,也讓我們認(rèn)識到課堂的學(xué)習(xí)是有限的,想更加深入學(xué)習(xí)Verilog HDL語言,還要在今后的學(xué)習(xí)中多多自學(xué),勤加練習(xí)。</p><p><b>  五、完整程序</b></p><p>  module zonghe (clkl,clkh,reset,q,w,p,kr,kc,a,b,c,d,e,f,g,sa,

27、sb,sc,ds);</p><p>  input clkl,clkh,reset; //計數(shù)時鐘脈沖、掃描頻率脈沖與復(fù)位信號</p><p>  input q,w,p; //啟動設(shè)置的控制信號、設(shè)置時間的控制信號及設(shè)置鬧鐘的控制信號 </p><p>  inout [3:0]kr; //4*4鍵盤的行輸入/輸出信號&

28、lt;/p><p>  inout [3:0]kc; //4*4鍵盤的列輸入/輸出信號</p><p>  output a,b,c,d,e,f,g,sa,sb,sc,ds; //LED的7個片選信號與3個位選信號</p><p>  reg a,b,c,d,e,f,g,sa,sb,sc,ds;</p><p>  reg [3

29、:0]kr,kc;</p><p>  reg [6:0] display ; </p><p>  reg [2:0] dcount,kcount; </p><p>  reg [3:0]keyr,keyc; </p><p>  reg kflag1,kflag2; </p><

30、p>  reg [6:0] buff7 ;</p><p>  reg [3:0] shiwei1,gewei1,shiwei2,gewei2,shiwei3,gewei3;</p><p>  reg[5:0] hour,minute,second,Ahour,Aminute,Hour,Minute; //儲存當(dāng)前時間的時分秒、鬧鐘的時分及設(shè)置的時間的時分</p>

31、<p>  always@(posedge clkh) //累加兩個計數(shù)值</p><p>  begin </p><p>  dcount<=dcount+1; </p><p>  kcount<=kcount+1;</p><p><b>  end</b></p

32、><p>  always @(posedge clkh) //掃描鍵盤 </p><p>  begin </p><p>  if(kcount==0) </p><p><b>  begin</b></p><p>  kr<=4'b1111;</p>

33、<p>  kc<=4'b0000;</p><p><b>  end</b></p><p>  else if(kcount==1) </p><p><b>  begin</b></p><p>  keyr<=kr; </p><p&

34、gt;  kr<=4'bZZZZ;</p><p><b>  end</b></p><p>  else if(kcount==2) </p><p><b>  begin</b></p><p>  kr<=4'b0000;</p><p>

35、;  kc<=4'b1111;</p><p><b>  end</b></p><p>  else if(kcount==3) </p><p><b>  begin</b></p><p><b>  keyc<=kc;</b></p>

36、<p>  kc<=4'bZZZZ;</p><p><b>  end</b></p><p><b>  end</b></p><p>  always@(posedge clkh) //改變鍵的標(biāo)志位 </p><p><b>  begin<

37、/b></p><p>  if(kcount==4 & keyr==4'b1111) </p><p>  kflag1<=0;</p><p>  else if(kcount==4) </p><p>  kflag1<=1; </p><p>  kfla

38、g2<=kflag1;</p><p><b>  end </b></p><p>  always@(posedge clkh) // 獲取相應(yīng)按鍵按下的結(jié)果</p><p>  begin </p><p>  if(kcount==5) </p><p>  i

39、f(keyr==4'b1110)</p><p>  case (keyc) </p><p>  4'b1110:buff7<=7'b0111111; //在LED上顯示0</p><p>  4'b1101:buff7<=7'b0000110; //在LED上顯示1</p><p>

40、  4'b1011:buff7<=7'b1011011; //在LED上顯示2</p><p>  4'b0111:buff7<=7'b1001111; //在LED上顯示3</p><p>  default :buff7<=buff7; //無變化</p><p><b>  endca

41、se</b></p><p>  else if (keyr==4'b1101) </p><p>  case (keyc)</p><p>  4'b1110:buff7<=7'b1100110; //在LED上顯示4</p><p>  4'b1101:buff7<=7'

42、b1101101; //在LED上顯示5</p><p>  4'b1011:buff7<=7'b1111101; //在LED上顯示6</p><p>  4'b0111:buff7<=7'b0000111; //在LED上顯示7</p><p>  default :buff7<=buff7; //

43、 無變化</p><p><b>  endcase</b></p><p>  else if(keyr==4'b1011) </p><p>  case (keyc) </p><p>  4'b1110:buff7<=7'b1111111; // 在LED上顯示8</p>

44、<p>  4'b1101:buff7<=7'b1101111; // 在LED上顯示9</p><p>  4'b1011:buff7<=7'b1110111; //在LED上顯示a</p><p>  4'b0111:buff7<=7'b1111100; //在LED上顯示b</p>&l

45、t;p>  default :buff7<=buff7; // 無變化</p><p><b>  endcase</b></p><p>  else if(keyr==4'b0111)</p><p>  case (keyc) </p><p>  4'b1110:buff7&

46、lt;=7'b0111001; //在LED上顯示c</p><p>  4'b1101:buff7<=7'b1011110; //在LED上顯示d</p><p>  4'b1011:buff7<=7'b1111001; //在LED上顯示e</p><p>  4'b0111:buff7<=

47、7'b1110001; // 在LED上顯示f</p><p>  default:buff7<=buff7; //無變化</p><p>  endcase </p><p><b>  end</b></p><p>  always@(posedge clkh

48、) //顯示過程</p><p>  begin </p><p>  sa<=dcount[0]; //將dcount賦給LED的三個片選信號</p><p>  sb<=dcount[1];</p><p>  sc<=dcount[2];</p><p>  shiwei1=h

49、our/10;</p><p>  gewei1=hour%10;</p><p>  shiwei2=minute/10;</p><p>  gewei2=minute%10;</p><p>  shiwei3=second/10;</p><p>  gewei3=second%10;</p>&

50、lt;p>  if(dcount==3'b111)//判斷位選dcount的值,并將此位上的值輸出到數(shù)碼管</p><p>  case(shiwei1) //在第一數(shù)碼管上顯示時鐘的十位</p><p>  4'b0000: display <= 7'b0111_111;</p><p>  4&

51、#39;b0001: display<= 7'b0000_110;</p><p>  4'b0010: display <= 7'b1011_011;</p><p>  4'b0011: display <= 7'b1001_111;</p><p>  4'b010

52、0: display <= 7'b1100_110;</p><p>  4'b0101: display <= 7'b1101_101;</p><p>  4'b0110: display <= 7'b1111_101;</p><p>  4'b0111:

53、 display <= 7'b0000_111;</p><p>  4'b1000: display <= 7'b1111_111;</p><p>  4'b1001: display <= 7'b1101_111; </p><p>  default: display

54、<= 7'b0000_000;</p><p><b>  endcase</b></p><p>  if(dcount==3'b000) //在第二個數(shù)碼管上顯示時鐘的個位</p><p>  case(gewei1)</p><p>  4'b0000: disp

55、lay <= 7'b0111_111;</p><p>  4'b0001: display <= 7'b0000_110;</p><p>  4'b0010: display <= 7'b1011_011;</p><p>  4'b0011: display <

56、;= 7'b1001_111;</p><p>  4'b0100: display <= 7'b1100_110;</p><p>  4'b0101: display <= 7'b1101_101;</p><p>  4'b0110: display <= 7

57、9;b1111_101;</p><p>  4'b0111: display <= 7'b0000_111;</p><p>  4'b1000: display <= 7'b1111_111;</p><p>  4'b1001: display <= 7'b1101

58、_111; </p><p>  default: display <= 7'b0000_000;</p><p><b>  endcase</b></p><p>  if(dcount==3'b001) //在第三個數(shù)碼管上顯示分鐘的十位</p><p>  case(sh

59、iwei2)</p><p>  4'b0000: display <= 7'b0111_111;</p><p>  4'b0001: display <= 7'b0000_110;</p><p>  4'b0010: display <= 7'b1011_011;&

60、lt;/p><p>  4'b0011: display <= 7'b1001_111;</p><p>  4'b0100: display <= 7'b1100_110;</p><p>  4'b0101: display <= 7'b1101_101;</p&g

61、t;<p>  4'b0110: display <= 7'b1111_101;</p><p>  4'b0111: display <= 7'b0000_111;</p><p>  4'b1000: display <= 7'b1111_111;</p><

62、;p>  4'b1001: display <= 7'b1101_111; </p><p>  default: display <= 7'b0000_000;</p><p><b>  endcase</b></p><p>  if(dcount==3'b010)

63、 //在第四個數(shù)碼管上顯示分鐘的個位</p><p>  case(gewei2)</p><p>  4'b0000: display <= 7'b0111_111;</p><p>  4'b0001: display <= 7'b0000_110;</p><p>  4

64、'b0010: display <= 7'b1011_011;</p><p>  4'b0011: display <= 7'b1001_111;</p><p>  4'b0100: display <= 7'b1100_110;</p><p>  4'b0

65、101: display <= 7'b1101_101;</p><p>  4'b0110: display <= 7'b1111_101;</p><p>  4'b0111: display <= 7'b0000_111;</p><p>  4'b1000:

66、 display <= 7'b1111_111;</p><p>  4'b1001: display <= 7'b1101_111; </p><p>  default: display <= 7'b0000_000;</p><p><b>  endcase</b&g

67、t;</p><p>  if(dcount==3'b011) //在第五個數(shù)碼管上顯示秒鐘的十位</p><p>  case(shiwei3)</p><p>  4'b0000: display <= 7'b0111_111;</p><p>  4'b0001: disp

68、lay <= 7'b0000_110;</p><p>  4'b0010: display <= 7'b1011_011;</p><p>  4'b0011: display <= 7'b1001_111;</p><p>  4'b0100: display <

69、;= 7'b1100_110;</p><p>  4'b0101: display <= 7'b1101_101;</p><p>  4'b0110: display <= 7'b1111_101;</p><p>  4'b0111: display <= 7

70、9;b0000_111;</p><p>  4'b1000: display <= 7'b1111_111;</p><p>  4'b1001: display <= 7'b1101_111; </p><p>  default: display <= 7'b0000_0

71、00;</p><p><b>  endcase</b></p><p>  if(dcount==3'b100) //在第六個數(shù)碼管上顯示秒鐘的個位</p><p>  case(gewei3)</p><p>  4'b0000: display <= 7'b0111

72、_111;</p><p>  4'b0001: display <= 7'b0000_110;</p><p>  4'b0010: display <= 7'b1011_011;</p><p>  4'b0011: display <= 7'b1001_111;&l

73、t;/p><p>  4'b0100: display <= 7'b1100_110;</p><p>  4'b0101: display <= 7'b1101_101;</p><p>  4'b0110: display <= 7'b1111_101;</p>

74、;<p>  4'b0111: display <= 7'b0000_111;</p><p>  4'b1000: display <= 7'b1111_111;</p><p>  4'b1001: display <= 7'b1101_111; </p><

75、;p>  default: display <= 7'b0000_000;</p><p><b>  endcase </b></p><p>  if(dcount==3'b101)display <=7'b1000_000; //在第七個數(shù)碼管上顯示“—”</p><p> 

76、 if(dcount==3'b110)display <=buff7; //在第八個數(shù)碼管上顯示按下的鍵值</p><p><b>  end</b></p><p>  always @(posedge clkh) //將display中存的值賦給LED的七個片選信號 </p><p>  begin

77、 </p><p>  a<=display[0];</p><p>  b<=display[1];</p><p>  c<=display[2];</p><p>  d<=display[3]; </p><p>  e<=display[4];</p><

78、;p>  f<=display[5];</p><p>  g<=display[6];</p><p><b>  end </b></p><p>  always@(posedge clkl) //計時過程 clkl的頻率為1Hz</p><p><b>  begin&l

79、t;/b></p><p>  hour<=Hour;minute<=Minute; //將設(shè)置的時間(時、分)賦給hour和minute</p><p>  if(reset) </p><p>  begin hour<=0;minute<=0;second<=0; end //當(dāng)reset為1時,將時間清零即為00:

80、00:00</p><p>  else //正常計時</p><p>  if(second==59)</p><p>  if(minute==59)</p><p>  if(hour ==23) </p><p>  begin second<=0;minute<=0;hour<=0;

81、end</p><p>  else begin second<=0;minute<=0;hour<=hour+1;end</p><p>  else begin second<=0;minute<=minute+1;end</p><p>  else second<=second+1;</p><p>

82、;<b>  end</b></p><p>  integer i; //記錄按鍵按下的次數(shù)</p><p>  reg [3:0]num1,num2,num3,num4; //儲存按鍵的鍵值</p><p>  always @(posedge clkh)//儲存按下的鍵值</p><p><b&

83、gt;  begin</b></p><p>  if(q==1)//啟動設(shè)置</p><p><b>  begin</b></p><p><b>  i=0;</b></p><p>  if(keyc!=4'b1111) i=i+1; //當(dāng)有鍵按下時,i自動加1<

84、;/p><p>  if(i==1) //將第一個按下的按鍵值存入num1</p><p><b>  begin</b></p><p>  case ({keyr,keyc}) </p><p>  4'b1110_1110:num1=0; </p><p&

85、gt;  4'b1110_1101:num1=1; </p><p>  4'b1110_1011:num1=2; </p><p>  4'b1110_0111:num1=3; </p><p>  4'b1101_1110:num1=4; </p><p>  4'b1101_1101:nu

86、m1=5; </p><p>  4'b1101_1011:num1=6; </p><p>  4'b1101_0111:num1=7; </p><p>  4'b1011_1110:num1=8; </p><p>  4'b1011_1101:num1=9; </p><

87、p>  default:num1=num1; </p><p><b>  endcase</b></p><p><b>  end</b></p><p>  if(i==2) //將第二個按下的按鍵值存入num2</p><p><b>  begi

88、n</b></p><p>  case ({keyr,keyc}) </p><p>  4'b1110_1110:num2=0; </p><p>  4'b1110_1101:num2=1; </p><p>  4'b1110_1011:num2=2; </p><p>

89、;  4'b1110_0111:num2=3; </p><p>  4'b1101_1110:num2=4; </p><p>  4'b1101_1101:num2=5; </p><p>  4'b1101_1011:num2=6; </p><p>  4'b1101_0111:num2

90、=7; </p><p>  4'b1011_1110:num2=8; </p><p>  4'b1011_1101:num2=9; </p><p>  default:num2=num2; </p><p><b>  endcase</b></p><p><

91、b>  end</b></p><p>  if(i==3) //將第三個按下的按鍵值存入num3</p><p><b>  begin</b></p><p>  case ({keyr,keyc}) </p><p>  4'b1110_1110:num3=0;

92、</p><p>  4'b1110_1101:num3=1; </p><p>  4'b1110_1011:num3=2; </p><p>  4'b1110_0111:num3=3; </p><p>  4'b1101_1110:num3=4; </p><p>  4

93、'b1101_1101:num3=5; </p><p>  4'b1101_1011:num3=6; </p><p>  4'b1101_0111:num3=7; </p><p>  4'b1011_1110:num3=8; </p><p>  4'b1011_1101:num3=9;

94、 </p><p>  default:num3=num3; </p><p><b>  endcase</b></p><p><b>  end</b></p><p>  if(i==4) //將第四個按下的按鍵值存入num4</p><p>

95、;<b>  begin</b></p><p>  case ({keyr,keyc}) </p><p>  4'b1110_1110:num4=0; </p><p>  4'b1110_1101:num4=1; </p><p>  4'b1110_1011:num4=2; <

96、/p><p>  4'b1110_0111:num4=3; </p><p>  4'b1101_1110:num4=4; </p><p>  4'b1101_1101:num4=5; </p><p>  4'b1101_1011:num4=6; </p><p>  4'

97、;b1101_0111:num4=7; </p><p>  4'b1011_1110:num4=8; </p><p>  4'b1011_1101:num4=9; </p><p>  default:num4=num4; </p><p><b>  endcase</b></p>

98、;<p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  always @(posedge clkh) //設(shè)置部分</p><p><b>  begin<

99、;/b></p><p>  if(w==1)//設(shè)置時間</p><p>  begin Hour=num1*10+num2; Minute=num3*10+num4; end</p><p>  else if(p==1) //設(shè)置鬧鐘時間</p><p>  begin Ahour=num1*10+num2; Aminute

100、=num3*10+num4; end</p><p><b>  end</b></p><p>  always @(posedge clkh)//鬧鐘響</p><p><b>  begin</b></p><p>  if((hour==Ahour)&&(minute==Am

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論