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

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  課程名稱:單片機(jī)</b></p><p>  報(bào)告題目:倒數(shù)計(jì)數(shù)器</p><p><b>  學(xué)生姓名:</b></p><p><b>  所在學(xué)院:</b></p&

2、gt;<p><b>  專業(yè)班級(jí):</b></p><p>  學(xué)生學(xué)號(hào): </p><p><b>  指導(dǎo)教師: </b></p><p>  2013年 12月25 日</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p>&

3、lt;p><b>  摘要</b></p><p>  本設(shè)計(jì)是基于AT89C51單片機(jī)的倒數(shù)計(jì)數(shù)器,根據(jù)單片機(jī)技術(shù)原理,主要通過軟件設(shè)計(jì),制作出的倒數(shù)計(jì)數(shù)器能穩(wěn)定運(yùn)行,并當(dāng)計(jì)數(shù)完成時(shí)能發(fā)出聲音.本設(shè)計(jì)主要用到數(shù)碼管,LED燈,鍵盤,蜂鳴器,定時(shí)器/計(jì)數(shù)器等學(xué)習(xí)單片機(jī)中所必須掌握的部分.利用Keil uVision4作為編程軟件進(jìn)行源程序設(shè)計(jì)及調(diào)試。同時(shí)利用STC-ISP-V483作為

4、程序下載器,將源程序燒入單片機(jī)中。</p><p>  關(guān)鍵詞:單片機(jī) 鍵盤 計(jì)數(shù)器 蜂鳴器 LED燈 數(shù)碼管</p><p><b>  目錄</b></p><p>  一、概述…………………………………………………………………………1</p><p>  二、設(shè)計(jì)方案………………………………………………………………

5、2</p><p>  1方案總體思路…………………………………………………………………2</p><p>  2.程序流程圖……………………………………………………………………2</p><p>  三、程序…………………………………………………………3</p><p>  四、總原理圖及元器件清單……………………………………………………4

6、</p><p>  五、結(jié)論與心得………………………………………………………………………6</p><p>  六、參考文獻(xiàn)……………………………………………………………………6</p><p><b>  概述</b></p><p>  單片機(jī)是20世紀(jì)中期發(fā)展起來的一種面向控制的大規(guī)模集成電路模塊,具有功能強(qiáng)、體

7、積小、可靠性高、價(jià)格低廉等特點(diǎn),在工業(yè)控制、數(shù)據(jù)采集、智能儀表、機(jī)電一體化、家用電器等領(lǐng)域得到了廣泛的應(yīng)用,極大的提高了這些領(lǐng)域的技術(shù)水平和自動(dòng)化程度。 AT89C51是一種低功耗、高性能CMOS8位微控制器,具有8K 在線系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CP

8、U 和在系統(tǒng)可編程Flash,使得AT89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。</p><p>  本例利用AT89C51單片機(jī)設(shè)計(jì)一個(gè)簡易的倒數(shù)計(jì)數(shù)器,可用來煮方便面、煮開水或小睡片刻等。做一小段時(shí)間倒計(jì)數(shù),當(dāng)?shù)褂?jì)數(shù)為0時(shí),則發(fā)出聲響,通知倒計(jì)數(shù)終了。</p><p><b>  二、設(shè)計(jì)方案</b></p><p>

9、<b>  1. 方案總體思路</b></p><p>  用8051單片機(jī)控制程序執(zhí)行,通過LED動(dòng)態(tài)掃描來顯示倒計(jì)時(shí)。買次執(zhí)行中斷時(shí)判斷計(jì)時(shí)是否繼續(xù)倒計(jì)時(shí),同時(shí)通過按鍵掃描的方式來判斷是否有輸入更改倒計(jì)時(shí)的控制信息。通過單片機(jī)的處理來達(dá)到對倒計(jì)時(shí)的更新,當(dāng)?shù)褂?jì)時(shí)結(jié)束時(shí)來驅(qū)動(dòng)蜂鳴器發(fā)出響聲。</p><p><b>  2.程序流程圖</b>&

10、lt;/p><p><b>  v</b></p><p><b>  三、程序</b></p><p>  C語言比匯編語言簡潔緊湊,靈活方便,語法限制不太嚴(yán)格,自由度大,本例采用C語言進(jìn)行程序編寫。</p><p>  #include <reg52.h></p><

11、p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  void diyi(); //函數(shù)聲明</p><p>  void xianshi();//函數(shù)聲明</p><p>  void panduan();//函數(shù)聲明</p&

12、gt;<p>  void delay(uchar z);//函數(shù)聲明</p><p>  uchar t=10,m=0,a,temp,b; //定義相關(guān)變量</p><p>  uchar code at[]={0xe0,0xd0,0xb0,0x70};</p><p>  uchar code as[10]={0xc0,0xf9,0xa4,0xb

13、0,0x99,0x92,0x82,0xf8,0x80,0x90};</p><p>  uchar code bs[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};</p><p><b>  //數(shù)組定義</b></p><p>  void main()//主函數(shù)</p><p&

14、gt;<b>  {</b></p><p>  diyi(); //調(diào)用定義函數(shù)</p><p>  EA=0; //關(guān)閉中斷 </p><p><b>  while(1)</b></p><p><b>  {</b></p><p> 

15、 panduan(); //調(diào)用判斷函數(shù)</p><p><b>  if(b==1)</b></p><p>  xianshi();//調(diào)用顯示函數(shù)</p><p><b>  }</b></p><p><b>  }</b></p><p> 

16、 void diyi()//定義定義子函數(shù)</p><p><b>  {</b></p><p>  P2=0xbf;P0=0xbf; P2=0x9f; P0=0xff;</p><p>  TMOD=0x01;</p><p>  TH0=(65536-50000)/256;</p><p

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

18、><p>  void exer1() interrupt 1 //定義定時(shí)器/計(jì)數(shù)器子函數(shù)</p><p><b>  {</b></p><p><b>  uchar t1;</b></p><p>  TH0=(65536-50000)/256;</p><p>  T

19、L0=(65536-50000)%256;</p><p><b>  t1++;</b></p><p>  if(t1==10)</p><p>  {P2=0x9f;P0=0x00;}</p><p>  if(t1==20)</p><p><b>  {</b>&

20、lt;/p><p>  P2=0x9f;P0=0xff; //LED燈閃爍</p><p><b>  t1=0; </b></p><p><b>  if(t==0)</b></p><p><b>  {</b></p><p>  if((m

21、==0))</p><p><b>  {</b></p><p>  P2=0xbf; P0=0xff;P2=0x9f;P0=0xff;//定時(shí)時(shí)間到了 打開蜂鳴器 關(guān)閉LED燈</p><p>  P2 = 0xdf;P0 =bs[4]; P2=0x1f; P0=0xff; P2 = 0xff; P0=0xff; P2=0x1f;P0=0

22、x00;</p><p><b>  b=0;</b></p><p><b>  EA=0;</b></p><p><b>  }</b></p><p><b>  if(m!=0)</b></p><p><b>

23、  {</b></p><p>  t=60; m--;</p><p><b>  } </b></p><p><b>  } </b></p><p><b>  t--;</b></p><p><b>  }&

24、lt;/b></p><p><b>  }</b></p><p>  void xianshi()//定義顯示子函數(shù) </p><p><b>  {</b></p><p>  P2 = 0xdf;P0 =bs[0]; P2=0x1f; P0=0xff; P2 = 0xff;

25、P0 =as[t%10]; P2=0x1f;P0=0x00;delay(3);</p><p>  P2 = 0xdf;P0 =bs[1]; P2=0x1f; P0=0xff; P2 = 0xff; P0 =as[(t/10)%10]; P2=0x1f;P0=0x00;delay(3);</p><p>  P2 = 0xdf;P0 =bs[2]; P2=0x1f; P0=0xff

26、; P2 = 0xff; P0 =0xbf; P2=0x1f;P0=0x00;delay(3);</p><p>  P2 = 0xdf;P0 =bs[3]; P2=0x1f; P0=0xff; P2 = 0xff; P0 =as[m%10]; P2=0x1f;P0=0x00;delay(3);</p><p>  P2 = 0xdf;P0 =bs[4]; P2=0x1f;

27、P0=0xff; P2 = 0xff; P0 =as[(m/10)%10]; P2=0x1f;P0=0x00;delay(3);</p><p><b>  }</b></p><p>  void delay(uchar z)//延時(shí)子函數(shù)</p><p><b>  {</b></p><p>

28、;  uchar i,j;</p><p>  for(i=0;i<z;i++)</p><p>  for(j=0;j<110;j++);</p><p><b>  }</b></p><p>  void panduan()//判斷子函數(shù)</p><p><b>  

29、{</b></p><p><b>  P3=0xfd; </b></p><p><b>  delay(5);</b></p><p><b>  temp=P3;</b></p><p>  temp=temp&0xf0;</p><

30、;p>  if(temp!=0xf0)</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p>  if(temp!=0xfd)</p><p><b>  {</b></p><p>

31、  P2 = 0xc0;P0 =bs[4]; P2=0x00;P0=0xff;P2 = 0xe0;P0 =0xff;P2=0x00;P0=0x00;delay(3);</p><p>  while(P3!=0xfd); //判斷是否有鍵按下及格鍵功能</p><p>  if(temp==at[0]) </p><p>

32、;  { a=1;EA=0; m++;if(m==60)m=0;t=0; P2=0x9f;P0=0xff; P2=0xbf;P0=0xbf;b=1; }</p><p>  if(temp==at[1])</p><p><b>  {</b></p><p><b>  if(a==1)</b></p>

33、<p>  {EA=1; a=0;m=5;t=0; P2=0x9f;P0=0xff;}</p><p><b>  }</b></p><p>  if(temp==at[2])</p><p><b>  {</b></p><p><b>  if(a==1)</b&

34、gt;</p><p>  {EA=1;a=0;m=10;t=0; P2=0x9f;P0=0xff;}</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b&g

35、t;  P3=0xfe; </b></p><p><b>  delay(5);</b></p><p><b>  temp=P3;</b></p><p>  temp=temp&0xf0;</p><p>  if(temp!=0xf0)</p><p

36、><b>  {</b></p><p><b>  delay(5);</b></p><p>  if(temp!=0xfe)</p><p><b>  {</b></p><p>  P2 = 0xc0;P0 =bs[4]; P2=0x00;P0=0xff;

37、P2 = 0xe0;P0 =0xff;P2=0x00;P0=0x00;delay(3);</p><p>  while(P3!=0xfe); //判斷是否有鍵按下及格鍵功能</p><p>  if(temp==at[0])</p><p><b>  {</b></p><p><b>  if(a==

38、1)</b></p><p>  {EA=1; a=0;m=20;t=0;P2=0x9f;P0=0xff;}</p><p><b>  }</b></p><p>  P2 = 0xc0;P0 =bs[4]; P2=0x00;P0=0xff;P2 = 0xe0;P0 =0xff;P2=0x00;P0=0x00;delay(3);&

39、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  } </b></p><p><b>  總原理圖</b></p><p><b>  1,單片機(jī)電路<

40、;/b></p><p><b>  2,按鍵電路</b></p><p>  3,LED燈及數(shù)碼管電路</p><p><b>  五、結(jié)論與心得</b></p><p>  在此次單片機(jī)項(xiàng)目設(shè)計(jì)的過程中,我進(jìn)一步認(rèn)識(shí)到全面專業(yè)知識(shí)以及邏輯思考方式對研究問題的重要性,以及成功最重要的一塊敲門

41、磚是不妥協(xié),不放棄!</p><p>  在這過程中書到用時(shí)方恨少,天下還是好人多——同學(xué)和老師的幫助給了我莫大的動(dòng)力。在這兩周周中,有時(shí)一天中翻專業(yè)書的次數(shù)比前三周理論學(xué)習(xí)時(shí)合起來翻的次數(shù)都多,對理論聯(lián)系實(shí)際的重要性有了更新的領(lǐng)悟。通過請教他人加上自己的理解,并與所學(xué)的知識(shí)緊密相結(jié)合,我相信這過程必然對我今后的學(xué)習(xí)和工作產(chǎn)生積極的影響。除了獲取新的知識(shí),深感鞏固舊的學(xué)問也很重要,尤其是結(jié)合了這幾年學(xué)的相關(guān)的專業(yè)

42、知識(shí),對各門課都做一個(gè)全面的溫習(xí),才不用帶著書柜跑。這不僅對我現(xiàn)在的學(xué)習(xí)乃至今后的工作都會(huì)有很大的幫助。 </p><p>  通過此次多功能數(shù)字計(jì)數(shù)器的設(shè)計(jì)制作,我們將從書本上學(xué)到的知識(shí)應(yīng)用于實(shí)踐,再次鞏固了我的單片機(jī)知識(shí)。雖然設(shè)計(jì)過程中遇到了很多困難,但是在解決這些問題的過程無疑是對自身專業(yè)素質(zhì)的提高。當(dāng)最終調(diào)試成功的時(shí)候也是對自己的一種肯定。此次的設(shè)計(jì)不僅增強(qiáng)了自己在專業(yè)設(shè)計(jì)方面的信息,鼓舞了自己,更是一

43、次興趣的培養(yǎng),為以后的學(xué)習(xí)方向明確了重點(diǎn)。 另外在這次設(shè)計(jì)中我們遇到了不少的問題,針對不同的問題我們采取不同的解決方法,最終一一解決了。在我們遇到不懂得問題時(shí),利用課本上、參考書上的知識(shí),以及網(wǎng)上的資料最終解決問題。和隊(duì)友之間相互討論,明白了團(tuán)隊(duì)合作的重要性。 本次項(xiàng)目設(shè)計(jì)還存在很多不足,比如,計(jì)數(shù)功能也不夠詳細(xì)等。以后爭取完善這個(gè)設(shè)計(jì),以提高我們的單片機(jī)設(shè)計(jì)能力。 這里很感謝李曉艷老師給我們的指導(dǎo)和教育,感謝她給我們提供了良好的學(xué)

44、習(xí)設(shè)計(jì)環(huán)境,也很感謝可愛的伙伴們,讓我覺得團(tuán)隊(duì)的力量很偉大。 希望老師給以評(píng)點(diǎn)和支持,我將在今后朝著這些方向?qū)W習(xí)奮斗。</p><p><b>  六、參考文獻(xiàn)</b></p><p>  【3】張毅剛,彭喜元,彭宇.單片機(jī)原理及應(yīng)用.高等教育出版社.2012,11</p><p>  【2】譚浩強(qiáng).C程序設(shè)計(jì)教程.清華大學(xué)出版社2011,0

45、8</p><p>  【3】張永瑞.電子測量技術(shù)基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2002.</p><p>  【4】李春.數(shù)字頻率計(jì)設(shè)計(jì)[D].北京:邵陽電子廠,2011,02: 4頁到7頁;</p><p>  【5】張杰,楊艷麗,馬莉莉,張立倩.基于單片機(jī)C語言的數(shù)字頻率計(jì)設(shè)計(jì).</p><p>  內(nèi)蒙古農(nóng)業(yè)大學(xué)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論