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

下載本文檔

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

文檔簡介

1、<p><b>  單片機(jī)課程設(shè)計(jì)報(bào)告</b></p><p><b>  課題名稱:數(shù)字時(shí)鐘</b></p><p><b>  一、設(shè)計(jì)目的:</b></p><p>  隨著半導(dǎo)體技術(shù)的不斷發(fā)展,各種微處理芯片的性價(jià)比越來越高,在各個(gè)領(lǐng)域的應(yīng)用也越來越廣泛,其中MCU在工業(yè)控制、航天航

2、空、民用家電、醫(yī)療設(shè)備等方面占有十分重要的地位。我們在之前所學(xué)習(xí)的MCS-51系統(tǒng)單片機(jī)就是MCU中的一員,作為低端的8位MCU它具有價(jià)格低、適配器件成熟種類多等優(yōu)勢,因此盡管現(xiàn)在32位、16位MCU不斷發(fā)展,但8位的MCU仍占有大約50%的市場份額,同時(shí)它也是我們學(xué)習(xí)MCU的必要的入門途徑,本次實(shí)習(xí)就是應(yīng)用我們所學(xué)習(xí)的MCS-51單片機(jī)進(jìn)行一次實(shí)際制作,要經(jīng)過從硬件設(shè)計(jì)、軟件設(shè)計(jì)、實(shí)驗(yàn)電路調(diào)試、軟件調(diào)試直至最后作品焊接成型,這對以前我

3、們所學(xué)習(xí)的理論知識(shí)進(jìn)行進(jìn)一步的鞏固和深化,更重要的是學(xué)習(xí)以MCU為控制核心的應(yīng)用的實(shí)際設(shè)計(jì)流程及基本的實(shí)踐動(dòng)手能力。</p><p><b>  二、設(shè)計(jì)內(nèi)容</b></p><p>  應(yīng)用AT89S51及相關(guān)器件制做一個(gè)LED數(shù)碼顯示電子時(shí)鐘。所需使用的軟件及硬件具體內(nèi)容如下:</p><p><b>  使用軟件及器件</

4、b></p><p>  軟件:Keil uVision2(IDE集成開發(fā)環(huán)境)、ELITE-IV單片機(jī)開發(fā)系統(tǒng)、protel99se</p><p><b>  器材清單:</b></p><p><b>  三、實(shí)習(xí)步驟</b></p><p>  根據(jù)實(shí)習(xí)內(nèi)容及所提供元器件,設(shè)計(jì)硬件電路

5、,提供的參考電路見圖1,也可自行設(shè)計(jì)</p><p>  1)復(fù)位及晶振電路是單片機(jī)最小系統(tǒng)必備部分</p><p>  2)三個(gè)按鈕接在P3.0、P3.1、P3.2上用于調(diào)整時(shí)、分、秒</p><p>  3)P2口送LED數(shù)碼顯示的段碼</p><p>  4)P1.0至P1.5送數(shù)碼顯示控制的位碼</p><p>

6、;  根據(jù)設(shè)計(jì)的硬件電路,在面包板上搭接實(shí)驗(yàn)電路</p><p>  在硬件基礎(chǔ)在keil上上進(jìn)行軟件設(shè)計(jì),調(diào)試</p><p>  調(diào)試通過后, 向AT89S51燒寫程序</p><p>  將燒寫好的AT89S51插接到實(shí)驗(yàn)電路中,驗(yàn)證是否正常,如果正常說明軟、硬件正確可進(jìn)行電子時(shí)鐘焊接制做。</p><p>  焊接好電子時(shí)鐘后,再次上

7、電調(diào)試,驗(yàn)證通過,實(shí)習(xí)圓滿完成。</p><p><b>  注意的問題:</b></p><p>  單片機(jī)在鎖緊座的正確放法:單片機(jī)缺口朝上。</p><p>  在面包板上接好電路后,先用萬用表測量一下電源及地是否會(huì)短路。</p><p>  接電源調(diào)試時(shí)不能帶電插拔元件</p><p>&

8、lt;b>  四、元件參數(shù)</b></p><p><b>  1.9012</b></p><p>  9012是一種最常用的普通三極管。 </p><p>  它是一種低電壓,大電流,小信號(hào)的PNP型硅三極管</p><p>  集電極電流Ic:Max -500mA </p><

9、p>  集電極-基極電壓Vcbo: -40V </p><p>  工作溫度:-55℃ to +150℃ </p><p>  主要用途: 開關(guān)應(yīng)用、射頻放大</p><p>  2.89S51管腳圖</p><p>  3.雙位共陰極數(shù)碼塊管腳圖</p><p><b>  部分程序參考流程圖<

10、/b></p><p>  ELITE-III系統(tǒng)硬件(V2.0)介紹</p><p>  ELITE-IV實(shí)物圖:</p><p><b>  硬件資源介紹: </b></p><p>  1.電源輸入(6V) </p><p><b>  2.電源開關(guān)按鈕</b>&

11、lt;/p><p><b>  3.電源正常指示燈</b></p><p>  4.700mA過流指示燈</p><p><b>  5.NE555 </b></p><p>  6.高檔一體化紅外接受頭</p><p><b>  7.流水等開關(guān)按鍵</b>

12、;</p><p><b>  8.Usb取電接口</b></p><p>  9.DS1302時(shí)鐘芯片</p><p><b>  10. 流水燈 </b></p><p>  11. 24C02 </p><p>  12. 93C46 </p><p

13、>  13. ADC0804 模數(shù)轉(zhuǎn)換芯片</p><p>  14. MAX232 </p><p><b>  15. 串口接口 </b></p><p>  16. AT89S**ISP切換鍵</p><p><b>  17. 蜂鳴器 </b></p><p>

14、<b>  18. 復(fù)位鍵 </b></p><p>  19. 華邦I(lǐng)SP切換</p><p><b>  20. COM1座</b></p><p>  21. MCU冷啟動(dòng)</p><p>  22. COM1切換</p><p><b>  23. I2C接

15、口</b></p><p>  24. A/D內(nèi)外切換</p><p><b>  25. EA切換</b></p><p><b>  26. A/D輸入</b></p><p><b>  27. INTO </b></p><p>  

16、28. INT_TO </p><p><b>  29. SPI接口</b></p><p>  30. COM0測試</p><p>  31. 18B20溫度傳感器接口</p><p>  32. KEY_A </p><p>  33. KEY-B </p><p>

17、;<b>  34. 51單片機(jī)</b></p><p>  35. 單片機(jī)縮緊座 </p><p><b>  36. A/D調(diào)節(jié)</b></p><p>  37. LCD12864接口</p><p>  38. 74HC574 </p><p>  39. LCD16

18、02接口 </p><p>  40. ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)芯片</p><p>  41. LCD12232接口</p><p>  42. 1602、12232LCD對比度</p><p>  43. 74HC244 </p><p>  44. LCD12864對比度調(diào)整旋鈕</p><

19、p><b>  45. 4*4鍵盤</b></p><p>  46. 8*8鍵盤擴(kuò)展接口</p><p>  47. 輸出5V電源接口</p><p>  48. 6位8字?jǐn)?shù)碼管</p><p>  49. 數(shù)碼管開關(guān)按鍵。 </p><p><b>  50. 步進(jìn)電機(jī) <

20、;/b></p><p> ?。ǘ┫螺d器的安裝和使用 </p><p>  一 AT89S系列下載器</p><p>  1. 打開隨機(jī)光盤中的“ISPSetup”文件夾,雙擊ISPSetup.exe執(zhí)行安裝程序。</p><p>  2.點(diǎn)擊“下一步”,出現(xiàn)圖6對話框,繼續(xù)點(diǎn)“下一步”。</p><p>&l

21、t;b>  3.選擇安裝路徑。</b></p><p>  4.點(diǎn)擊“完成”按鈕,完成安裝過程。</p><p>  說明:本軟件是對Atmel 的89S系列MCU進(jìn)行在線下載程序,打開hex文件之前需要執(zhí)行“清空”操作,同時(shí)要按下開發(fā)板上的 S1和S2 按鈕。依次執(zhí)行“鑒別”—“擦除”—“寫入”操作后,彈起S1和S2按鈕,按復(fù)位鍵,單片機(jī)即可運(yùn)行剛下載的新程序。<

22、/p><p> ?。ㄈ╇娮隅婋娐钒宀季€</p><p><b> ?。ㄋ模?shù)字鐘程序</b></p><p><b>  程序</b></p><p>  #include<reg51.h></p><p>  #include<absacc.h><

23、;/p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  /*七段共陰管顯示定義*/ </p><p>  uchar code dispcode[ ]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0

24、x7F,0x6F,</p><p>  0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF};</p><p>  /*定義并初始化變量*/</p><p>  uchar seconde=0;</p><p>  uchar minite=0;</p><p>  uc

25、har hour=12;</p><p>  uchar mstcnt=0;</p><p>  sbit P3_0=P3^0; // second 調(diào)整定義</p><p>  sbit P3_1=P3^1; //minite調(diào)整定義</p><p>  sbit P3_2=P

26、3^2; //hour調(diào)整定義</p><p><b>  /*函數(shù)聲明*/</b></p><p>  void delay(uchar k ); //延時(shí)子程序</p><p>  void time_pro( ); //時(shí)間處理子程序</p><p>  void d

27、isplay( ); //顯示子程序</p><p>  void keyscan( ); //鍵盤掃描子程序</p><p>  /*****************************/</p><p><b>  /*延時(shí)子程序*/</b></p><p>  /***

28、*************************/</p><p>  void delay (uchar k)</p><p><b>  {</b></p><p><b>  uchar j;</b></p><p>  while((k--)!=0)</p><p>

29、;<b>  {</b></p><p>  for(j=0;j<125;j++)</p><p><b>  {;}</b></p><p><b>  }</b></p><p><b>  } </b></p><p

30、>  /**************************/</p><p>  /*時(shí)間處理子程序*/</p><p>  /**************************/</p><p>  void time_pro( void)</p><p><b>  { </b></p>&l

31、t;p>  if(seconde==60) //秒鐘設(shè)為60進(jìn)制</p><p>  { seconde=0;</p><p><b>  minite++;</b></p><p>  if( minite==60) //分鐘設(shè)為60進(jìn)制</p><p&

32、gt;  { minite=0;</p><p><b>  hour++;</b></p><p>  if(hour==24) //時(shí)鐘設(shè)為24進(jìn)制</p><p>  {hour=0; }</p><p><b>  }</b></p><p>

33、;<b>  }</b></p><p><b>  }</b></p><p>  /*****************************/</p><p>  /* 顯示子程序*/</p><p>  /*****************************/</p>&

34、lt;p>  void display(void) </p><p><b>  { </b></p><p><b>  P2=0xfe;</b></p><p>  P0=dispcode[hour/10]; //顯示小時(shí)的十位</p><p&g

35、t;<b>  delay(4);</b></p><p><b>  P2=0xfd;</b></p><p>  P0=(dispcode[(hour%10)])|0X80; //顯示小時(shí)的個(gè)位</p><p><b>  delay(4);</b></p><p

36、><b>  P2=0xfb;</b></p><p>  P0=dispcode[minite/10]; //顯示分的十位</p><p><b>  delay(4);</b></p><p><b>  P2=0xf7;</b></p><p

37、>  P0=(dispcode[minite%10])|0X80; //顯示分的個(gè)位</p><p><b>  delay(4);</b></p><p><b>  P2=0xef;</b></p><p>  P0=dispcode[seconde/10]; //顯示秒的十

38、位</p><p><b>  delay(4);</b></p><p><b>  P2=0xdf;</b></p><p>  P0=dispcode[seconde%10]; //顯示秒的個(gè)位</p><p>  delay(4); </p>

39、<p><b>  }</b></p><p>  /*******************************/</p><p>  /*鍵盤掃描子程序*/</p><p>  /*******************************/</p><p>  void keyscan (void)&

40、lt;/p><p><b>  { </b></p><p>  if(P3_0==0) //按鍵1秒的調(diào)整</p><p><b>  { </b></p><p>  delay(30);</p><p>  if(P1_0==0)&l

41、t;/p><p><b>  {</b></p><p>  seconde++;</p><p>  if(seconde==60)</p><p>  {seconde=0; }</p><p><b>  }</b></p><p><b>

42、;  }</b></p><p>  if(P3_1==0) //按鍵2分的調(diào)整</p><p><b>  { </b></p><p>  delay(30);</p><p>  if(P1_1==0)</p><p><b>  

43、{</b></p><p><b>  minite++;</b></p><p>  if(minite==60)</p><p>  {minite=0;}</p><p><b>  }</b></p><p><b>  }</b>&

44、lt;/p><p>  if(P3_2==0) //按鍵3小時(shí)的調(diào)整</p><p><b>  { </b></p><p>  delay(30);</p><p>  if(P1_2==0)</p><p><b>  {</b><

45、/p><p><b>  hour++;</b></p><p>  if(hour==24)</p><p>  {hour=0; }</p><p><b>  }</b></p><p><b>  }</b></p><p>

46、<b>  }</b></p><p>  void timer0(void) interrupt 1 using 0 //定時(shí)器0方式1,50ms中斷一次</p><p><b>  {</b></p><p><b>  TH0=0x3c;</b></p><p>

47、  TMOD = 0x11;</p><p><b>  mstcnt++;</b></p><p>  if(mstcnt==20)</p><p><b>  {</b></p><p>  seconde++;</p><p>  mstcnt=0; //對計(jì)數(shù)單

48、元的清零</p><p>  } </p><p><b>  }</b></p><p>  /**************************/</p><p><b>  /*主函數(shù)*/</b></p><p>  /**********

49、****************/</p><p>  void main(void)</p><p>  { P1=0xff; //初始化p1口,全設(shè)為1 </p><p>  TMOD = 0x11; //time0為定時(shí)器,方式1</p><p>  TH0=0x3c;

50、 //預(yù)置計(jì)數(shù)初值</p><p><b>  TL0=0xb0;</b></p><p><b>  EA=1; </b></p><p><b>  ET0=1; </b></p><p><b>  TR0=1; </b></p>

51、<p><b>  while (1)</b></p><p><b>  { </b></p><p>  keyscan( ); //按鍵掃描</p><p>  time_pro( ); //時(shí)間處理</p><p>  display( ); //顯示時(shí)間

52、 </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  附流水燈實(shí)驗(yàn)程序:</b></p><p>  #include <reg51.h></p><p>  #define

53、uint unsigned int</p><p>  #define uchar unsigned char</p><p>  uint count,i=0;</p><p>  void main()</p><p><b>  {</b></p><p>  TMOD=0x01;//定時(shí)器

54、0工作方式1</p><p>  TH0=0x3c;//裝定時(shí)器初值高8位,50ms中斷一次 (65536-50000)/256</p><p>  TL0=0xb0;//裝定時(shí)器初值低8位,50ms中斷一次 (65536-50000)%256</p><p>  EA=1;//開中斷</p><p>  TR0=1;//定時(shí)器0開始<

55、/p><p>  ET0=1;//定時(shí)器0允許中斷</p><p>  while(1);//等待中斷</p><p><b>  }</b></p><p>  void timer0()interrupt 1</p><p><b>  {</b></p>&l

56、t;p>  TH0=0x3c;//重新設(shè)置初值 </p><p>  TL0=0xb0;//重新設(shè)置初值 </p><p><b>  count++;</b></p><p>  if(count==20)</p><p><b>  {</b></p><p>&l

57、t;b>  count=0;</b></p><p>  P1=~(0X01<<i); //P1接8個(gè)LED</p><p>  if(++i==8)</p><p><b>  i=0;</b></p><p><b>  }</b></p><p

58、><b>  }</b></p><p><b>  實(shí)習(xí)心得</b></p><p>  時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又接進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周前完成了。</p><p>  俗話說“好的開始是成功的一半”。說起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究下老師所給的題目。其次,老師對

59、實(shí)驗(yàn)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢耍銎鹪O(shè)計(jì)來才會(huì)事半功倍,如果沒有弄明白,就迷迷糊糊的去做,到頭來一點(diǎn)收獲也沒有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。</p><p>  雖然這次的課程設(shè)計(jì)算起來在實(shí)驗(yàn)室的時(shí)間只有五天,不過因?yàn)槲覀兠總€(gè)小組都有自己的實(shí)驗(yàn)板,所以可以自己帶回宿舍里做,時(shí)間還是蠻充裕的。硬件的設(shè)計(jì)跟布線都要我們自己動(dòng)手去連接,軟件的編程也要我們不斷的

60、調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來。當(dāng)然,這其中也存在著很多問題,可以總結(jié)如下:</p><p>  第一、不夠細(xì)心比如由于粗心大意接錯(cuò)了線,導(dǎo)致有些數(shù)碼管不亮等等,還有由于對課本理論知識(shí)的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。</p><p>  第二、是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對于這次單片機(jī)課程實(shí)習(xí),我的第一大心得體會(huì)就是作

61、為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對應(yīng)該是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的問題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)不夠細(xì)心照成的。</p><p>  第三、在做人上,我認(rèn)識(shí)到,無論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。</p><p>  在這次難得的課程設(shè)計(jì)過程中我鍛煉了自己的思考能力和動(dòng)手能力。通過程序的編寫以及設(shè)計(jì)電路的過程,加強(qiáng)了我思考問

62、題的完整性和理論聯(lián)系實(shí)際的可行性。通過各個(gè)I/O口的接線,使我們對單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識(shí)。還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,動(dòng)手能力,發(fā)現(xiàn)問題,解決問題的能力。并且使我們熟練掌握了有關(guān)器件的性能及測試方法。</p><p>  再次感謝老師的輔導(dǎo)以及同學(xué)們的幫助,是他們讓我有了一個(gè)更好的認(rèn)識(shí),無論是學(xué)習(xí)還是生活,生活是實(shí)在的,要一步一個(gè)腳印的走。課程設(shè)計(jì)時(shí)間雖然很短,但我還是學(xué)習(xí)了很多的東西,

63、使我眼界打開,感受頗深。</p><p><b>  實(shí)習(xí)心得</b></p><p>  通過這一周的單片機(jī)的實(shí)訓(xùn),讓我有了不少體會(huì)。</p><p>  首先,通過老師對單片機(jī)C51程序設(shè)計(jì)基礎(chǔ)的講解,我對C語言程序中的數(shù)組、指針以及函數(shù)的一些只是有了更深一步的認(rèn)識(shí),并且通過老師對C51時(shí)鐘芯片實(shí)時(shí)讀寫程序,接口電路設(shè)計(jì)實(shí)例程序和液晶模塊實(shí)

64、例程序的讀取,讓我對時(shí)鐘芯片和液晶顯示的功能有了更深的了解。</p><p>  然后,在上機(jī)實(shí)訓(xùn)中,老師先讓我們調(diào)試從課堂中認(rèn)識(shí)的流水燈程序和電子時(shí)鐘程序,通過對這兩個(gè)程序的調(diào)試,我對液晶顯示屏、時(shí)鐘芯片的工作原理有了更深的理解,并且通過一些改編,讓我們發(fā)現(xiàn)了一些問題,并通過自己修改,最后完成實(shí)驗(yàn)。</p><p>  最后,在開始設(shè)計(jì)實(shí)驗(yàn)時(shí),先通過老師對我們的演示,使我們對程序設(shè)計(jì)有了

65、初步了解,讓后通過自己實(shí)踐動(dòng)手,自己發(fā)現(xiàn)解決問題,最后達(dá)到完成程序的問題,在這過程中,發(fā)現(xiàn)自己平時(shí)基本功不夠扎實(shí),不能及時(shí)有效的解決問題,而且不能善于思考問題,不能對問題有本質(zhì)上的了解,而老師的一些點(diǎn)撥讓我有些了解,進(jìn)而解決問題,這次實(shí)訓(xùn)還是有了不少收獲,對單片機(jī)的認(rèn)識(shí)更加深了,自己動(dòng)手能力也提高一些。</p><p>  這次實(shí)訓(xùn)雖然其中會(huì)有些錯(cuò)誤和失敗,但總的來說是受益匪淺,在運(yùn)用中發(fā)現(xiàn)問題,解決問題,就是最

溫馨提示

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

最新文檔

評論

0/150

提交評論