單片機(jī)課程設(shè)計(jì)--單片機(jī)io口的應(yīng)用_第1頁(yè)
已閱讀1頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  單片機(jī)課程設(shè)計(jì) </b></p><p>  專(zhuān) 業(yè): 測(cè)控技術(shù)與儀器 </p><p>  課程名稱(chēng):?jiǎn)纹瑱C(jī)微機(jī)原理及應(yīng)用</p><p>  課程老師: 周偉老師 </p><p>  單片機(jī)I/O口的應(yīng)用</p><p>

2、  摘要:本設(shè)計(jì)隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的,其中流水燈的應(yīng)用就是一個(gè)典型的例子,特別在商業(yè)廣告領(lǐng)域有重要的應(yīng)用,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī),控制,蜂鳴器,紅外線檢測(cè),流水燈,AT89S52,數(shù)碼

3、管顯示</p><p>  第1章 系統(tǒng)設(shè)計(jì)方案</p><p>  1.1 隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。</p><p>

4、;  本設(shè)計(jì)所介紹的是單片機(jī)的一些簡(jiǎn)單的應(yīng)用,最小系統(tǒng)的復(fù)位,I/O口的一些應(yīng)用來(lái)控制輸出,達(dá)到控制彩燈(流水燈)。近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善。本系統(tǒng)采用單片機(jī)AT89S52為中心器件,用3個(gè)I/O口控制彩

5、燈(流水燈),P0口控制一位數(shù)碼管,并帶紅外檢測(cè)報(bào)警功能,系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展性強(qiáng)。也可以為我們更好地了解單片機(jī)的應(yīng)用加深我們對(duì)單片機(jī)的認(rèn)識(shí),對(duì)我們以后的學(xué)習(xí)都帶來(lái)很大的幫助。</p><p>  1.2 設(shè)計(jì)內(nèi)容與設(shè)計(jì)思路及關(guān)鍵技術(shù)</p><p>  單片機(jī)采用用AT89S52芯片,控制彩燈(流水燈),數(shù)碼管顯示倒計(jì)時(shí),按時(shí)間來(lái)控制彩燈的亮滅,然后循環(huán)顯示,并帶紅外線報(bào)警檢測(cè)。

6、 </p><p>  P1口涉及下載線,而P3.2作用于外部按鍵中斷P3.3作用于紅外線端,P2.7連接蜂鳴器,所以就用P0用來(lái)控制數(shù)碼管顯示。</p><p>  第2章 系統(tǒng)硬件設(shè)計(jì)</p><p><b>  2.1 設(shè)計(jì)方框圖</b></p><p>  流水燈設(shè)計(jì)總體設(shè)計(jì)方框圖如圖1所示,控制器采用單片機(jī)AT

7、89S52,用數(shù)碼管(共陽(yáng)</p><p><b>  管)顯示時(shí)間。</b></p><p>  主控制器采用低功耗,高性能COMS 8位單片機(jī)AT89S52芯片;單片機(jī)復(fù)位則由最小系統(tǒng)決定,由電源復(fù)位產(chǎn)生;時(shí)鐘振蕩則由12MHz的晶振產(chǎn)生;LED顯示則由用3個(gè)彩燈組成,數(shù)碼管由一位共陽(yáng)組成和蜂鳴器紅外檢測(cè)來(lái)設(shè)計(jì)。</p><p>  2.2

8、 總原理圖設(shè)計(jì)</p><p>  2.3.工作原理說(shuō)明 </p><p>  單片機(jī)板子做好以后通過(guò)下載線下載自己原先寫(xiě)好的程序,程序下載好后板子器件按程序工作,數(shù)碼管顯示一到十,每當(dāng)數(shù)碼管跳動(dòng)五秒是lED燈變換一次從上往下,數(shù)碼管連接單片機(jī)的I/O口是P0口 三個(gè)LED燈連接的是P24 P25 P26口。按鍵接P32口當(dāng)按鍵按下時(shí)數(shù)碼管計(jì)時(shí)停止進(jìn)入按鍵選擇不同的LED燈亮,按一下全亮

9、按第二下第一個(gè) 按第三下第二個(gè)亮再按下全亮再按進(jìn)入正常的計(jì)時(shí)環(huán)節(jié)。蜂鳴器接單片機(jī)p27口當(dāng)紅外線端口被擋住時(shí)蜂鳴器報(bào)警。</p><p><b>  2.4成品圖</b></p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p>  3.1 系統(tǒng)整體流程</p><p>  從原理圖中可以看

10、到單片機(jī)最小系統(tǒng),外圍電路由蜂鳴器,數(shù)碼管,紅外檢測(cè)組成 工作時(shí)通過(guò)按鍵key可控制數(shù)碼管繼續(xù)顯示或者停止和LED燈的規(guī)律變化,當(dāng)紅外接收裝置產(chǎn)生中斷時(shí)蜂鳴器報(bào)警。</p><p>  3.2單片機(jī)I/O口擴(kuò)展的主程序</p><p>  #include<reg52.h></p><p>  #define ucharunsigned char&

11、lt;/p><p>  #define uintunsigned int</p><p>  sbit P24=P2^4;</p><p>  sbit P25=P2^5;</p><p>  sbit P26=P2^6;</p><p>  sbit P32=P3^2;</p><p>  sb

12、it P33=P3^3;</p><p>  sbit qi=P2^7;</p><p>  uchar gui[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0,}; </p><p>  void delay()</p><p><b>  {</b><

13、/p><p>  uchar i=100;</p><p>  while(i--);</p><p><b>  } </b></p><p>  void main()</p><p><b>  {</b></p><p><b>

14、  uchar g;</b></p><p>  TMOD=0x01; </p><p>  TH0=0x3c; </p><p><b>  TL0=0xb0;</b></p><p><b>  ET0=1; </b></p><p><b>  

15、TR0=1;</b></p><p><b>  IT0=1; </b></p><p><b>  EA=1;</b></p><p><b>  P24=1;</b></p><p><b>  P25=1;</b></p>

16、<p><b>  P26=1 ;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(P33!=1)</p><p><b>  {</b></p>

17、<p><b>  qi=0;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  qi=1;</b><

18、;/p><p><b>  }</b></p><p>  if(P32==0)</p><p><b>  {</b></p><p><b>  TR0=0;</b></p><p><b>  delay(); </b>&

19、lt;/p><p>  if(P32==0)</p><p><b>  {</b></p><p><b>  g++; </b></p><p>  while(!P32);</p><p><b>  } </b></p><p&g

20、t;<b>  if(g==8)</b></p><p><b>  {</b></p><p><b>  TR0=1;</b></p><p><b>  g=0;</b></p><p><b>  } </b></

21、p><p><b>  if(g==1)</b></p><p><b>  {</b></p><p>  P24=0;P25=0;P26=0;</p><p><b>  }</b></p><p><b>  if(g==2)</b&g

22、t;</p><p><b>  {</b></p><p>  P24=1;P25=1;P26=0;</p><p><b>  }</b></p><p><b>  if(g==3)</b></p><p><b> 

23、 {</b></p><p>  P24=1;P25=0;P26=1;</p><p><b>  }</b></p><p><b>  if(g==4)</b></p><p><b>  {</b></p><p>

24、;  P24=0;P25=1;P26=1;</p><p><b>  }</b></p><p><b>  if(g==5)</b></p><p><b>  {</b></p><p>  P24=0;P25=0;P26=0;</p>

25、<p><b>  }</b></p><p><b>  if(g==6)</b></p><p><b>  {</b></p><p>  qi=0; </p><p><b>  }</b></p><p&g

26、t;<b>  if(g==7)</b></p><p><b>  {</b></p><p>  qi=1; </p><p><b>  }</b></p><p><b>  } </b></p><p&g

27、t;<b>  } </b></p><p><b>  }</b></p><p>  void InterruptTimer0() interrupt 1</p><p><b>  {</b></p><p>  static unsigned char sec = 0

28、,cnt = 0,i = 0; </p><p>  char g = 0; </p><p>  cnt++; </p><p>  if (cnt >= 20) </p><p><b>  {</b></p><p><b>  sec++;

29、</b></p><p>  cnt = 0; </p><p>  P0 = gui[i];</p><p><b>  i++;</b></p><p>  if(i == 10)</p><p><b>  {</b></p><

30、;p><b>  i = 0;</b></p><p>  } </p><p><b>  }</b></p><p>  switch (sec)</p><p><b>  {</b></p><p>  case 5 : P

31、24=0;P25=1;P26=1 ; break;</p><p>  case 10: P24=1;P25=0;P26=1 ; break;</p><p>  case 15: P24=1;P25=1;P26=0 ; break;</p><p>  case 20: P24=1;P25=1;P26=1 ;sec=0; break;</p><

32、;p>  default: break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  系統(tǒng)調(diào)試</b></p><p><b>  1 硬件的調(diào)試</b></p><

33、p>  1.1首先用萬(wàn)用表測(cè)量電路板上電源與地,保證這兩端不短路; </p><p>  1.2其次先焊接電源電路,焊接完后立即上電測(cè)試電源輸出5V是否正常(電源指示燈是否正常點(diǎn)亮),注意上電前需要再次測(cè)試電源與地,保證這兩端不短路; </p><p>  1.3排除邏輯故障  </p><p>  這類(lèi)故障往往由于設(shè)計(jì)

34、和加工制板過(guò)程中工藝性錯(cuò)誤所造成的。</p><p>  主要包括錯(cuò)線、開(kāi)路、短路。排除的方法是首先將加工的印制板認(rèn)真對(duì)照原理圖,看兩者是否一致。應(yīng)特別注意電源系統(tǒng)檢查,以防止電源短路和極性錯(cuò)誤,并重點(diǎn)檢查系統(tǒng)總線(地址總線、數(shù)據(jù)總線和控制總線)是否存在相互之間短路或與其它信號(hào)線路短路。必要時(shí)利用數(shù)字萬(wàn)用表的短路測(cè)試功能,可以縮短排錯(cuò)時(shí)間。  </p><p>  1.

35、4排除元器件失效  </p><p>  造成這類(lèi)錯(cuò)誤的原因有兩個(gè):一個(gè)是元器件買(mǎi)來(lái)時(shí)就已壞了;另一個(gè)是由于安裝錯(cuò)誤,造成器件燒壞??梢圆扇z查元器件與設(shè)計(jì)要求的型號(hào)、規(guī)格和安裝是否一致。在保證安裝無(wú)誤后,用替換方法排除錯(cuò)誤。  </p><p>  1.4排除電源故障    </p><p

36、>  在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V~4.8V之間屬正常。若有高壓,聯(lián)機(jī)仿真器調(diào)試時(shí),將會(huì)損壞仿真器等,有時(shí)會(huì)使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。</p><p>  1.6焊接結(jié)束:先用萬(wàn)用表測(cè)量一下電路板上的電源與地,確定不短路后再上電,然后用萬(wàn)用表測(cè)量電路板上5V電源是否正確(電源指示燈是否正常點(diǎn)亮

37、),最后才能把各個(gè)芯片插到座子上</p><p><b>  2 軟件的調(diào)試</b></p><p>  1.7在函數(shù)的定義上應(yīng)該注意的問(wèn)題</p><p>  在程序剛剛開(kāi)始寫(xiě)時(shí)需要注意定義上面的錯(cuò)誤,例如:uchar gui[]={0xf9;0xa4;0xb0;0x99;0x92;0x82;0xf8;0x80;0x90;0xc0;};這句

38、話錯(cuò)了兩個(gè)地方,運(yùn)行的時(shí)候指示了出來(lái),原因是符號(hào)的錯(cuò)誤和數(shù)量的錯(cuò)誤正是: uchar gui[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0};</p><p>  在主程序中出現(xiàn)了一些問(wèn)題,程序運(yùn)行是沒(méi)有錯(cuò)誤但是實(shí)現(xiàn)的功能不是很理想,主要是蜂鳴器工作原理理解錯(cuò)誤,以前以為是給高電平再給低電平在加個(gè)while(1)循環(huán)即可</p>

39、<p>  if(P33!=1)</p><p><b>  {</b></p><p>  qi=~qi;</p><p><b>  }</b></p><p>  進(jìn)過(guò)改正后蜂鳴器報(bào)警正常,改正后為</p><p>  if(P33!=1)<

40、/p><p><b>  {</b></p><p><b>  qi=0;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b&

41、gt;</p><p><b>  qi=1;</b></p><p><b>  }</b></p><p>  在中斷程序中同樣的也出現(xiàn)了問(wèn)題,定義的變量每次進(jìn)入中斷后又重新賦值了導(dǎo)致功能不能實(shí)現(xiàn),因?yàn)閯傞_(kāi)始變量定義為</p><p>  unsigned char sec = 0,c nt =

42、 0,i = 0;</p><p><b>  改正后為</b></p><p>  static unsigned char sec = 0,cnt = 0,i = 0;</p><p>  這里改變的主要是一般變量變?yōu)殪o態(tài)變量所以變量只會(huì)使用一次 最終功能得以穩(wěn)定實(shí)現(xiàn)。</p><p><b>  結(jié)論與總

43、結(jié)</b></p><p><b>  5.1 設(shè)計(jì)總結(jié)</b></p><p>  設(shè)計(jì)思路:對(duì)于上述的測(cè)試結(jié)果和運(yùn)行過(guò)程,達(dá)到了課程設(shè)計(jì)任務(wù)書(shū)中的要求,可以實(shí)現(xiàn)數(shù)碼管顯示時(shí)間并在規(guī)定額時(shí)間內(nèi)閃爍,通過(guò)按鍵控制LED燈有規(guī)律的閃爍,紅外線報(bào)警等功能,通過(guò)優(yōu)化后使得運(yùn)行結(jié)果也更直觀易懂。</p><p>  設(shè)計(jì)過(guò)程:寫(xiě)好程序后,通

44、過(guò)軟件仿真,用Altium designer軟件畫(huà)好原理圖,最后焊板子,燒寫(xiě)程序,實(shí)現(xiàn)功能。</p><p>  測(cè)試結(jié)果及改進(jìn)方向:實(shí)驗(yàn)板最終成功下載了程序并運(yùn)行了,該實(shí)驗(yàn)提高對(duì)單片機(jī)的認(rèn)識(shí),提高焊接、布局、電路檢查及軟件調(diào)試能力,但是也有很多的不足,實(shí)現(xiàn)的功能很單一,沒(méi)什么創(chuàng)意,難度也不大,還有焊接的板子沒(méi)焊接的很好,都是日后需要改進(jìn)的地方。</p><p><b>  5.

45、2 心得體會(huì)</b></p><p>  這個(gè)學(xué)期的單片機(jī)課已經(jīng)早早的上完了,但是理論純屬理論,沒(méi)有與實(shí)踐的結(jié)合總讓感覺(jué)學(xué)的不踏實(shí),感覺(jué)沒(méi)有達(dá)到學(xué)以致用的效果。所慶幸的是在課程介紹考試完之后,老師給安排了這次單片機(jī)課程設(shè)計(jì),給了我們學(xué)以致用的做好的實(shí)踐。</p><p>  單片機(jī)是我所學(xué)專(zhuān)業(yè)的主要課程之一,因此我認(rèn)為單片機(jī)課程設(shè)計(jì)是十分必要而且十</p><

46、;p>  分重要的。盡管剛剛學(xué)習(xí)這門(mén)課程時(shí)有點(diǎn)迷惘,不知道如何著手,但通過(guò)上網(wǎng)和圖書(shū)館查閱相關(guān)資料,自己認(rèn)真鉆研,解決了一個(gè)又一個(gè)的困難和障礙,對(duì)于單片機(jī)有了更深的理解。 </p><p>  通過(guò)本次的單片機(jī)課程設(shè)計(jì),不僅大大地豐富了我的理論知識(shí),而且在實(shí)踐過(guò)程中更令我學(xué)會(huì)了堅(jiān)持、耐心和努力。此次單片機(jī)課程設(shè)計(jì)需要運(yùn)用到許多之前所學(xué)過(guò)的知識(shí),令我認(rèn)識(shí)到自己以前學(xué)習(xí)的一些不足之處,例如對(duì)以前所學(xué)知

47、識(shí)的理解不夠深刻,掌握得不夠牢固,運(yùn)用不夠靈活。這讓我懂得了認(rèn)真學(xué)習(xí)的重要性,以及要孜孜不倦地鉆研所學(xué)過(guò)的知識(shí),做得融會(huì)貫通,不能一覽而過(guò),不求甚解。在邊學(xué)習(xí)邊動(dòng)手的過(guò)程中,我對(duì)單片機(jī)中斷原理有了進(jìn)一步的了解,同時(shí)也加深和鞏固了我對(duì)單片機(jī)的認(rèn)識(shí)。除此之外,由于是第一次焊板子,并且此次課程設(shè)計(jì)的過(guò)程中老師給的電阻電容都比以前自己見(jiàn)過(guò)得小的多、因此焊接的時(shí)候有較大困難,焊接順序也需要注意。在面對(duì)困難和障礙時(shí),我慶幸自己沒(méi)有退縮和逃避,而是通

48、過(guò)各種方法,迎難而上,以堅(jiān)持、耐心和努力勇敢無(wú)畏地面對(duì)困難,克服困難,解決困難。讓我發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、解決問(wèn)題以及動(dòng)手實(shí)踐的能力都有了很大的提高,并了解到理論知識(shí)與實(shí)踐相結(jié)合的重要意義。 </p><p>  從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的練習(xí)的過(guò)程中才能提高,通過(guò)這次的課程設(shè)計(jì)我從中所獲

溫馨提示

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

評(píng)論

0/150

提交評(píng)論