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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  摘要</b></p><p>  近年來隨著計算機在社會各領域的滲透,單片機的應用正在不斷地走向深入。由于其功能強,體積小,功耗低,工作可靠,使用方便,因此特別適合于和控制有關的系統。它也越來越廣泛地應用到自動控制,智能化儀器、儀表,數據采集以及家電等領域。在這些領域,單片機往往是作為一個核心部件來使用,再根據具體硬件結構,并針對具體對象的特點進行軟件結合,達到

2、完善功能的目的。</p><p>  單片機課程設計是指以單片機為核心,配上一定的外圍電路和輔助軟件,從而實現用戶所要求的功能的系統。通過課程設計,檢驗學生學習單片機知識的前后聯系能力,同時有助于學生鞏固單片機以及數電、模電的相關知識。</p><p>  電子鐘是一種典型的數字電路,它包括了組合邏輯電路和時序電路。因此,我此次設計數字鐘是為了了解數字鐘的原理,進而學會設計數字鐘。而且通過

3、數字鐘的設計進一步了解各種中小規模集成電路的作用。</p><p><b>  一.設計要求</b></p><p> ?。?)能通過鍵盤預置時間、星期,采用增量鍵盤;</p><p> ?。?)采用字符型LCD液晶顯示器或七位共陰LED顯示星期、時、分、秒;</p><p> ?。?)具有整點報時功能;</p&g

4、t;<p> ?。?)可采用12小時制或24小時制;</p><p> ?。?)顯示驅動器可采用MC14543、CD14543。</p><p>  二、系統總體方案設計</p><p><b>  1.系統框圖</b></p><p>  系統框圖如下圖所示,主要包括單片機、顯示器、鍵盤輸入、蜂鳴器。&l

5、t;/p><p><b>  數字鐘系統框圖</b></p><p><b>  2.系統框圖說明:</b></p><p><b>  1、單片機</b></p><p>  單片機是一種集成電路芯片,本設計采用AT89C51。</p><p><b

6、>  2、顯示器</b></p><p>  顯示電路采用字符型LCD液晶顯示器。</p><p><b>  3、鍵盤輸入</b></p><p>  本次課程設計采用獨立鍵盤。</p><p><b>  4、蜂鳴器</b></p><p>  為了實現

7、數字鐘整點報時功能,在電路中加入蜂鳴器。它由單片機控制,低電平有效,并采用PNP型三極管驅動。</p><p><b>  三、系統硬件設計</b></p><p><b>  1、單片機</b></p><p>  單片機是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的CPU、RAM、ROM、I/O口和

8、中斷系統、定時器/計時器等功能集成到一塊硅晶片上構成的一個小但完善的計算機系統。</p><p>  單片機有40個引腳,可分為4類:電源、時鐘、控制和I/O口。 </p><p><b>  電源:</b></p><p>  VCC—芯片電源,接+5V;</p><p><b>  VSS—接地端 <

9、/b></p><p><b>  時鐘:</b></p><p>  XTAL1—晶體振蕩電路反相輸入端;</p><p>  XTAL2—晶體振蕩電路反相輸出端。 </p><p><b>  控制線:</b></p><p><b>  控制線共有4根

10、</b></p><p>  1、ALE/PROG:地址鎖存允許/片內EPROM編程脈沖</p><p>  ALE功能:用來鎖存P0口送出的低8位地址;PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。</p><p>  2、PSEN:外ROM讀選通信號</p><p>  3、RST/VPD:復

11、位/備用電源</p><p>  RST功能:復位信號輸入端;VPD功能:在Vcc掉電情況下,接備用電源。 </p><p>  4、EA/Vpp:內外ROM選擇/片內EPROM編程電源。 </p><p>  EA功能:內外ROM選擇端。</p><p>  Vpp功能:片內有EPROM的芯片,在EPROM編程期間,施加編程電壓Vpp。 &

12、lt;/p><p><b>  四、I/O口</b></p><p>  ATC89C51共有4個8位并行I/O端口:P0、P1、P2、P3口。 </p><p>  P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0口寫“1”后,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0口也被作為低8位地

13、址/數據復用。在這種模式下,P0具有內部上電阻。但是P0口在程序校驗作為輸出指令字節時,需要外部加上拉電阻。</p><p>  P1口:P1口是一個內部具有上拉電阻的8位雙向I/O口。P1口緩沖器能接收輸出4個TTL門電流。P1口寫“1”后,內部上拉電阻將其拉高,此時可以作為作輸入口使用。作為輸入口使用時,被外部拉低的引腳由于存在內部電阻,會輸出電流。</p><p>  P2口:P2

14、口是一個具有內部上拉電阻的8 位雙向I/O 口。P2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P2 口寫“1”后,內部上拉電阻將其拉高,此時可以作為輸入口使用。</p><p>  P3口:P3 口是一個具有內部上拉電阻的8 位雙向I/O 口,P3 輸出緩沖器能驅動4 個TTL 邏輯電平。對P3 端口寫“1”后,內部上拉電阻將其拉高,此時可以作為輸入口使用。作輸入口時,被外部拉低的P3 口將用上拉電阻輸出電流。

15、</p><p><b>  2、LCD顯示器</b></p><p>  字符型LCD液晶顯示器是由字符液晶顯示器件和專用的行、列驅動器、控制器及必要的連接件、結構件裝配而成的。它可以顯示數字和西文字符,是一類專用于顯示字母、數字的液晶顯示器。</p><p>  LCD1602主要技術參數:</p><p>  一、

16、顯示容量:16×2個字符;</p><p>  二、芯片工作電壓:4.5—5.5V;</p><p>  三、工作電流:2.0mA </p><p>  本次設計LCD1602采用標準的16腳接口,各引腳如下表所示:</p><p>  字符型液晶顯示模塊的引腳主要分為3類:數據線(D0~D7);控制線(RS、R/W、E);電源線(

17、VDD、VSS、VL)。</p><p><b>  引腳功能介紹:</b></p><p>  D0~D7:數據總線。用于與單片機數據總線連接。</p><p>  RS: 寄存器選擇端。</p><p><b>  R/W:讀寫端。</b></p><p><b&g

18、t;  E:芯片使能端。</b></p><p>  VDD:電源線。LCD顯示器電源為+5V。</p><p><b>  VSS:接地線。</b></p><p>  VL:液晶顯示偏壓。接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。</p><

19、;p>  BLA:背光源正極。</p><p>  BLK:背光源負極。</p><p><b>  3、鍵盤輸入</b></p><p>  本次課程設計采用獨立鍵盤,通過鍵盤開關觸點的斷開、閉合來實現高低電平的輸入。單片機接受該指令,然后做出相應的動作。</p><p><b>  4、整點報時<

20、;/b></p><p>  整點報時采用蜂鳴器實現,由PNP型三極管驅動,低電平有效。當P3.0輸出電平時,三極管導通,蜂鳴器接通并發出報時聲音。</p><p><b>  整點報時電路</b></p><p><b>  四、系統軟件</b></p><p>  1.系統軟件主框圖

21、 2.LCD初始化程序流程圖</p><p><b>  3.按鍵流程圖</b></p><p><b>  五、總結</b></p><p>  通過本次課程設計,讓我認識到僅學習書本上的知識是不夠的。要想真正用于實踐還要學習很多。另外,還有必要采取理論與實踐相結合的學習方式。在查

22、閱資料并動手設計的過程中,雖然各種資料對于本課設多少有介紹,但是拿過來自己做,并完整地做出來還是有困難的。但是,最終我做出了課程設計,同時鍛煉了自己的獨立思考并解決問題的能力。另外,本次課程設計要用到一些軟件如Protel 99se,我學了這些軟件其中很多功能。雖然學習這些軟件的過程比較累,但是當畫出了理想的圖形時的成就感是不言而喻的。</p><p>  總之,通過這次課程設計,我收獲非常大。獨立設計成功了基于

23、AT89C51和LCD1602的的數字鐘(包括硬件電路和軟件部分)。這次課程設計我也付出了很多努力,同時也學習到了很多實際的知識,自己的能力也得到了鍛煉。我為自己的成長感到驕傲。</p><p><b>  參考文獻</b></p><p>  1.張毅剛,彭喜元,彭宇. 單片機原理及應用(第二版). 高等教育出版社,2010.</p><p>

24、;  2.林志琦.基于Proteus的單片機可視化軟硬件仿真[M].北京:北京航空航天大學出版社,2006. </p><p>  3.黃正謹.綜合電子設計與實踐[M].東南大學出版社.2002.</p><p>  4.楊欣等.電子設計從零開始[M].清華大學出版社.2005.</p><p>  5.謝嘉奎.電子線路[M].高等教育出版社.2003.&

25、lt;/p><p>  6.汪道輝.單片機系統設計與實踐[M].北京:電子工業出版社.2006</p><p>  7.施隆照.數碼管顯示驅動和鍵盤掃描控制器及其應用[J].國外電子元器件,2004.</p><p>  8.張毅剛.新編MCS-51單片機應用設計[M].哈爾濱:哈爾濱工業大學出版社,2003.</p><p>  9.張毅剛.單

26、片機原理與應用設計[M].北京:電子工業出版社,2008.</p><p>  10.張毅剛.單片機原理及應用[M].北京:高等教育出版社,2004.</p><p>  11、王幸之.AT89系列單片機原理與接口技術[M].北京:北京航空航天大學出版社,2004.</p><p><b>  附錄A</b></p><p&

27、gt;<b>  附錄B</b></p><p>  數字鐘程序如下所示:</p><p>  #include<reg51.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><

28、p>  uchar hour,min,sec,count,hour1,hour2,</p><p>  sec1,sec2,min1,min2,keystopc,temp;</p><p>  sbit keystop=P1^4;</p><p>  sbit keyh=P1^5;</p><p>  sbit keym=P1^6;&l

29、t;/p><p>  sbit keys=P1^7;</p><p>  sbit lcden=P3^4;</p><p>  sbit lcdrs=P3^5;</p><p>  uchar code table[]={</p><p>  '0','1','2','

30、;3','4','5','6','7','8','9',':'};</p><p>  void init()</p><p><b>  {</b></p><p><b>  count=0;<

31、/b></p><p><b>  hour=23;</b></p><p><b>  min=59;</b></p><p><b>  sec=50;</b></p><p>  TMOD=0x01;</p><p>  TH0=(65536

32、-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><b>  TR0=1;</b></p><p><b>  ET0=1;</b></p><p><b>  EA=1;</b></p><p>

33、;<b>  }</b></p><p>  void delay(uint z) </p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)<

34、/p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>  void write_com(uchar com)</p><p><b>  {</b></p><p><b>  lcdrs=0;</

35、b></p><p><b>  P0=com;</b></p><p><b>  delay(0);</b></p><p><b>  lcden=1;</b></p><p><b>  delay(0);</b></p>&l

36、t;p><b>  lcden=0;</b></p><p><b>  }</b></p><p>  void write_data(uchar date)</p><p><b>  {</b></p><p><b>  lcdrs=1;</b&g

37、t;</p><p><b>  P0=date;</b></p><p><b>  delay(1);</b></p><p><b>  lcden=1;</b></p><p><b>  delay(1);</b></p><

38、p><b>  lcden=0;</b></p><p><b>  }</b></p><p>  void init_1602()</p><p><b>  {</b></p><p><b>  lcden=0;</b></p&

39、gt;<p>  write_com(0x38);</p><p>  write_com(0x0c);</p><p>  write_com(0x06);</p><p>  write_com(0x01);</p><p>  write_com(0x80);</p><p><b>  

40、}</b></p><p>  void display(uchar hour1,uchar hour2,uchar min1,uchar min2,uchar sec1,uchar sec2) </p><p><b>  {</b></p><p>  init_1602();</p><p>  /

41、/write_com_nextl(0x80+0x40+0x03);</p><p>  write_data(table[hour1]);</p><p>  write_data(table[hour2]);</p><p>  write_data(table[0x0a]);</p><p>  write_data(table[min1

42、]);</p><p>  write_data(table[min2]);</p><p>  write_data(table[0x0a]);</p><p>  write_data(table[sec1]);</p><p>  write_data(table[sec2]);</p><p><b>

43、;  }</b></p><p>  void count0() interrupt 1</p><p><b>  {</b></p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><

44、b>  count++;</b></p><p>  if(count==20)</p><p><b>  {</b></p><p><b>  count=0;</b></p><p><b>  sec++;</b></p><p&

45、gt;  if(sec==60)</p><p><b>  {</b></p><p><b>  sec=0;</b></p><p><b>  min++;</b></p><p>  if(min==60)</p><p><b> 

46、 {</b></p><p><b>  min=0;</b></p><p><b>  hour++;</b></p><p>  if(hour==24)</p><p><b>  {</b></p><p><b>  h

47、our=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  

48、}</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  init();</b></p><p><b>  while(1)</b></p><p><b>  {

49、</b></p><p>  if(keystop==0) </p><p><b>  {</b></p><p>  delay(10);</p><p>  if(keystop==0)</p><p><b> 

50、 {</b></p><p>  if(keystopc!=1) keystopc++; </p><p>  else keystopc=0;</p><p>  while(keystop==0); </p><p><b>  delay(5

51、);</b></p><p>  while(keystop==0); </p><p><b>  }</b></p><p>  switch(keystopc)</p><p><b>  {</b></p><p>  case 1:TR0=0;break

52、; </p><p>  case 0:TR0=1;break;</p><p>  default:break;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(keyh==0)

53、 </p><p><b>  {</b></p><p><b>  delay(5);</b></p><p>  if(keyh==0)</p><p><b>  {</b></p><p>  if(hour!=23)

54、hour++;</p><p>  else hour=0;</p><p><b>  }</b></p><p>  while(!keyh); </p><p><b>  delay(5);</b></p><p>  while(!ke

55、yh);</p><p>  hour1=hour/10; </p><p>  hour2=hour%10;</p><p>  min1=min/10;</p><p>  min2=min%10;</p><p>  sec1=sec/10;</p><p>  sec2=sec

56、%10;</p><p>  display(hour1,hour2,min1,min2,sec1,sec2);</p><p><b>  }</b></p><p>  if(keym==0) </p><p><b>  {</b></p><p

57、><b>  delay(5);</b></p><p>  if(keym==0)</p><p><b>  {</b></p><p>  if(min!=59)</p><p><b>  {</b></p><p><b> 

58、 min++;</b></p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><p><b>  min=0;</b></p><p>&

59、lt;b>  }</b></p><p><b>  }</b></p><p>  while(!keym);</p><p><b>  delay(5);</b></p><p>  while(!keym);</p><p>  hour1=ho

60、ur/10;</p><p>  hour2=hour%10;</p><p>  min1=min/10;</p><p>  min2=min%10;</p><p>  sec1=sec/10;</p><p>  sec2=sec%10;</p><p>  display(hour1

61、,hour2,min1,min2,sec1,sec2); </p><p><b>  }</b></p><p>  if(keys==0) </p><p><b>  {</b></p><p><b>  delay(5);</b></p&

62、gt;<p>  if(keys==0)</p><p><b>  {</b></p><p>  if(sec!=59)</p><p><b>  {</b></p><p><b>  sec++;</b></p><p><

63、;b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><p><b>  sec=0;</b></p><p><b>  }</b></p><p>

64、;<b>  }</b></p><p>  while(!keys);</p><p><b>  delay(5);</b></p><p>  while(!keys);</p><p>  hour1=hour/10;</p><p>  hour2=hour%10;

65、</p><p>  min1=min/10;</p><p>  min2=min%10;</p><p>  sec1=sec/10;</p><p>  sec2=sec%10;</p><p>  display(hour1,hour2,min1,min2,sec1,sec2);</p><

66、;p><b>  }</b></p><p>  hour1=hour/10;</p><p>  hour2=hour%10;</p><p>  min1=min/10;</p><p>  min2=min%10;</p><p>  sec1=sec/10;</p>&

溫馨提示

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

評論

0/150

提交評論