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

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p>  一 課程設(shè)計的目的………………………………………………………………3</p><p>  二 課程設(shè)計的具體要求………………………………………………………3</p><p>  三 設(shè)計過程……………………………………………………………………3</p><p&g

2、t;  四 基本原理……………………………………………………………………4</p><p>  五 硬件連接圖…………………………………………………………………4</p><p>  六 程序代碼及其流程圖………………………………………………………5</p><p>  七 調(diào)試實現(xiàn)的功能……………………………………………………………13</p>&l

3、t;p>  八 課程總結(jié)……………………………………………………………………13</p><p>  九 參考教材……………………………………………………………………13</p><p>  可光控和手控LED顯示</p><p>  一 課程設(shè)計的目的:</p><p>  單片計算機即單片微型計算機。(Single-Chip Mic

4、rocomputer ),是 集CPU ,RAM ,ROM ,定時,計數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強,廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動化上。而52單片機是各單片機中最為典型和最有代表性的一種。通過本課程設(shè)計,能獨立地完成一個典型單片機應(yīng)用系統(tǒng)的設(shè)計和調(diào)試任務(wù),深刻地領(lǐng)會和掌握《單片機原理及應(yīng)用》課程中講述的基本理論和基本技能,在《單片機原理及應(yīng)用》課程的基礎(chǔ)上,進一步培養(yǎng)學(xué)生的綜合分析與設(shè)計能力和動手能力,為后續(xù)課程

5、學(xué)習(xí)和今后從事電子信息系統(tǒng)及相關(guān)領(lǐng)域的實際工作打下堅實的基礎(chǔ)。</p><p>  二 課程設(shè)計的具體要求:</p><p>  主要內(nèi)容包括理論設(shè)計、硬件制作、軟硬件調(diào)試及報告等幾大部分。</p><p>  理論設(shè)計包括總體方案的選擇(要求使用Protel或AltiumDesign軟件畫出與所選題目有關(guān)的應(yīng)用系統(tǒng)電路圖)、硬件結(jié)構(gòu)組成圖和軟件流程設(shè)計圖等;<

6、;/p><p>  硬件制作部分由實驗室統(tǒng)一提供單片機系統(tǒng)板,學(xué)生應(yīng)手工焊接單片機板,并在實驗板上或面包板上搭建系統(tǒng)板所不能提供的外圍具體應(yīng)用電路構(gòu)成整體應(yīng)用系統(tǒng);</p><p>  軟件設(shè)計利用Keil C51軟件開發(fā)平臺,采用C或匯編語言進行軟件程序編寫。硬件電路的可靠焊接和軟件程序的編寫是本課程設(shè)計的關(guān)鍵環(huán)節(jié),通過軟硬件綜合調(diào)試使學(xué)生熟悉并掌握單片機軟硬件開發(fā)的整個流程。</p&

7、gt;<p><b>  三 設(shè)計過程:</b></p><p>  得到單片機的各種零部件,進行焊接,從中學(xué)會了貼片元件的焊接方法。</p><p>  焊接好單片機后,寫入一些簡單的程序調(diào)試單片機是否焊接正確,經(jīng)驗證單片機焊接無誤。</p><p>  在選定題目的基礎(chǔ)上編寫本次課程設(shè)計的有關(guān)程序,并在KEIL上運行檢測其正確

8、與否,無誤后將其下載到單片機上,運行,查看結(jié)果。</p><p>  4,運行無誤后,寫設(shè)計報告。</p><p><b>  四 基本原理:</b></p><p>  本課題用到的是89C52單片機,LED數(shù)碼管,LED燈,鍵盤,光敏電阻,蜂鳴器等。</p><p>  89C52是一個低電壓,高性能CMOS 8位

9、單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的89C52單片機可提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。</p><p>  89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口

10、,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線, 89C52可以按照常規(guī)方法進行編程,但不可以在線編程。</p><p>  通過鍵盤S3,S1是否按下可以判斷P1.5和P3.0的電平的高低,從而啟動不同的程序。在程序一中,通過鍵盤S3,S4是否按下可以判斷P1.5,P1.6的高低電平,從而啟動和復(fù)位程序一。</p><p>  LED數(shù)碼管是動態(tài)的。碼選通過P3口的高四

11、位,低電平選通,P0口送字段碼。LED燈為共陽極接法,其陰極分別接P2口的八個輸出。P2口各位送低電平,對應(yīng)各口的LED燈亮。</p><p>  蜂鳴器有P1.7口控制,低電平時響,高電平時不響。</p><p>  光敏電阻的特性是無光照射時電阻阻值較大,有光時較小,其與可調(diào)電阻R23共同作用可調(diào)節(jié)P1.1的高低電平,從而控制程序二中LED燈的亮滅和蜂鳴器的聲音。有光時光敏電阻阻值較小

12、。P1.1為低電平,程序使LED燈和蜂鳴器不工作。無光或暗光時P1.1為高電平,程序使LED燈和蜂鳴器工作。</p><p><b>  五 硬件連接圖:</b></p><p>  六 程序代碼及其流程圖:</p><p><b>  1程序流程圖:</b></p><p><b>  

13、程序1: </b></p><p><b>  程序2:</b></p><p><b>  2,C語言源程序:</b></p><p>  #include<reg52.h></p><p>  #defineuchar unsigned char</p>

14、<p>  void display();</p><p>  void circle(void);</p><p>  void light(void) reentrant;</p><p>  uchar choose(void);</p><p>  void reset(void);</p><p>

15、;  void InitTimer();</p><p>  sbit p11=P1^1;</p><p>  sbit p15=P1^5; //啟動led燈及數(shù)碼管循環(huán)顯示程序</p><p>  sbit p16=P1^6; //復(fù)位led燈及數(shù)碼管循環(huán)顯示程序</p><p>  sbit p17=P1^7;</p&g

16、t;<p>  sbit p30=P3^0; //啟動光控程序</p><p><b>  int a;</b></p><p><b>  uchar e;</b></p><p>  //共陽極數(shù)碼管位碼//</p><p>  unsigned char code Po[4

17、]={0xe0,0xd0,0xb0,0x70};</p><p>  //共陽極數(shù)碼管段碼//</p><p>  unsigned char code value[18]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,</p><p>  0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e, 0x

18、00,0xff};</p><p><b>  //延時</b></p><p>  void delay(int i)</p><p><b>  { int j;</b></p><p>  for(j=0;j<i;j++) {}</p><p><b>

19、  }</b></p><p><b>  //蜂鳴器聲音函數(shù)</b></p><p>  void speak1()</p><p><b>  { </b></p><p>  reset(); p17=0;delay(200);p17=1;</p><

20、;p><b>  }</b></p><p>  void speak2()</p><p><b>  { </b></p><p>  reset();p17=0;delay(2000);p17=1; </p><p><b>  }</b>

21、</p><p>  void speak3()</p><p><b>  { </b></p><p>  reset();delay(10000);p17=0;delay(20000);p17=1;</p><p><b>  }</b></p><p>  v

22、oid speak4()</p><p><b>  { </b></p><p>  reset();p17=1;delay(1000);p17=0;delay(10000); </p><p><b>  }</b></p><p><b>  //主函數(shù)</b>

23、</p><p>  void main(void)</p><p>  { uchar i;</p><p><b>  while(1)</b></p><p><b>  { </b></p><p>  if(p15==0) {delay(20); //

24、選擇程序1</p><p>  if(p15==0) {i=1;} break;</p><p><b>  } </b></p><p><b>  //選擇程序2</b></p><p>  if(p30==0) {delay(20);</p><p>  if(p30=

25、=0) {i=2;}break;</p><p><b>  } </b></p><p><b>  }</b></p><p><b>  switch(i)</b></p><p><b>  { </b></p><p>

26、  case 1:circle();break;</p><p>  case 2:light();break;</p><p><b>  } </b></p><p><b>  }</b></p><p>  //LED燈循環(huán)函數(shù)</p><p>  void cir

27、cle(void)</p><p><b>  { </b></p><p>  char i,j,m,n,k,l;</p><p><b>  while(1)</b></p><p>  { display();</p><p><b>  P2=0xff;

28、</b></p><p>  for(i=0;i<8;i++)//led循環(huán)1</p><p>  {speak1(); </p><p>  P2=P2<<1;delay(6666);}</p><p>  P2=0XFF; //led循環(huán)2</p><p>  for(j=0

29、;j<8;j++)</p><p>  {speak2();</p><p>  delay(6666);P2=P2>>1;}</p><p>  delay(6666);</p><p>  m=0xf0;n=0x0f;</p><p>  for(k=0;k<4;k++)

30、 //led循環(huán)3</p><p>  {speak3();</p><p>  delay(6666);</p><p>  m=m<<1;n=n>>1;</p><p><b>  P2=m|n;</b></p><p><b>  }</b>&l

31、t;/p><p>  m=0xf0;n=0x0f;</p><p>  for(l=0;l<4;l++) //led循環(huán)4</p><p>  {speak4();</p><p>  delay(6666);</p><p>  m=m<<1;n=n>>1;</p>

32、<p>  P2=~(m|n);</p><p><b>  }</b></p><p>  delay(6666);delay(6666);</p><p><b>  a++ ;</b></p><p><b>  }</b></p><p&g

33、t;<b>  }</b></p><p>  void light(void) reentrant //光控顯示函數(shù)</p><p>  { uchar i,j,b,temp,temp1;int k; e=0;</p><p>  e=choose();</p><p>  switch(e)

34、 </p><p>  { case 2: {for(k=0;k<65535;k++)</p><p>  { b=0xff;</p><p>  for(i=0;i<8;i++)</p><p>  { temp=0xff;</p><p>  temp=~temp;</p>&l

35、t;p>  temp=~temp<<i;</p><p>  P2=b&temp;</p><p>  for(j=0;j<(8-i);j++)</p><p>  {if(p11==0) {light();delay(30000);delay(30000);} //判斷有無光照射</p>&

36、lt;p>  speak2(); </p><p>  P2=P2<<1;delay(30000);</p><p>  } delay(50000);temp1=0xff;</p><p>  for(a=0;a<8;a++)</p><p>  {if(p11==0) {light();delay(3000

37、0);delay(30000);}</p><p>  speak2();P2=temp1<<(7-a);delay(30000);</p><p><b>  }</b></p><p>  } if(k==65535) k=0;</p><p><b>  };break;</b>

38、</p><p>  case1: {P2=0XFF;p17=1;light();delay(30000);delay(30000);}break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b><

39、/p><p>  uchar choose(void) //選擇有無光照射</p><p><b>  {</b></p><p><b>  while(1)</b></p><p>  {if(p11==0) {e=1;delay(30000);delay(30000);break;}<

40、/p><p>  else {e=2;break;}}</p><p><b>  return e;</b></p><p><b>  }</b></p><p>  void display()</p><p>  {InitTimer();}</p>&l

41、t;p>  void InitTimer() //T1中斷</p><p><b>  {</b></p><p>  TMOD = 0x10;</p><p>  TH1 = 0xDC;TL1 = 0x00;</p><p><b>  EA = 1;</b></p>

42、<p><b>  ET1 = 1;</b></p><p><b>  TR1 = 1;</b></p><p><b>  }</b></p><p>  void Timer1() interrupt 3 //數(shù)碼管顯示</p><p><b&g

43、t;  {</b></p><p>  static unsigned char b=0;</p><p>  TH1 = 0xDC;</p><p><b>  switch(b)</b></p><p><b>  {</b></p><p>  case 0

44、:{P0=value[17];P3=Po[3];P0=value[a/4096];break;}</p><p>  case 1:{P0=value[17];P3=Po[2];P0=value[(a%4096)/256];break;}</p><p>  case 2:{P0=value[17];P3=Po[1];P0=value[(a%256)/16];break;}</p&g

45、t;<p>  case 3:{P0=value[17];P3=Po[0];P0=value[a%16];break;}</p><p><b>  }</b></p><p><b>  b++;</b></p><p>  if(b==4) b=0;</p><p><b&

46、gt;  }</b></p><p>  void reset(void)</p><p><b>  {</b></p><p>  if(p16==0) {delay(20); //是否按下復(fù)位鍵</p><p>  if(p16==0) {p

47、17=1;</p><p><b>  while(1)</b></p><p>  {P0=0xc0;P2=0xff;P3=0xef;a=0;</p><p>  if(p15==0) {delay(20); //是否按下重啟鍵</p><p>  if(p15==0) {circle();}</p>

48、<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  } </b></p><

49、;p>  七 調(diào)試實現(xiàn)的功能:</p><p>  本作品為可光控和手控LED顯示,可分為兩個功能即光控制LED的顯示和手動控制LED的顯示。</p><p>  單片機上電后無動作,按下S1鍵后,進入光控程序。在暗光或無光時LED燈循環(huán)顯示同時蜂鳴器發(fā)聲。如有亮光照射是LED燈熄滅同時蜂鳴器停止工作。</p><p>  單片機上電后,按下S3鍵后,進入手控

50、程序,同時LED燈進行四種不同的循環(huán)顯示,并伴隨蜂鳴器所發(fā)出的四種不同的聲音。當(dāng)四種循環(huán)結(jié)束一遍后LED數(shù)碼管數(shù)字加一。數(shù)碼管數(shù)字滿16后進一位。在這過程中如果按下S4鍵后,則程序復(fù)位,LED燈熄滅,蜂鳴器停止工作,數(shù)碼管顯示0。如果S1再次按下后,則在次啟動LED燈、蜂鳴器和數(shù)碼管。</p><p><b>  八 課程總結(jié):</b></p><p>  單片機課程

51、設(shè)計,我不僅加深了對單片機理論的理解,將理論很好地應(yīng)用到實際當(dāng)中去,而且我還學(xué)會了如何去培養(yǎng)創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎(chǔ)上進行改進,使之功能不斷完善,成為自己的東西。</p><p>  課堂教學(xué)考慮到大多數(shù)同學(xué)的需求,主要強調(diào)“基本”—基本知識、基本理論、基本方法、基本技能。而這次設(shè)計正是為我們提供了一個深入學(xué)習(xí)、探索的機會,成為課堂教學(xué)的有益補充。</p>&l

溫馨提示

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

評論

0/150

提交評論