現(xiàn)代電子系統(tǒng)設(shè)計(jì)與實(shí)踐課程設(shè)計(jì)--紅外遙控器_第1頁(yè)
已閱讀1頁(yè),還剩11頁(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>  現(xiàn)代電子系統(tǒng)設(shè)計(jì)與實(shí)踐課程設(shè)計(jì)</p><p>  設(shè)計(jì)題目: 紅外遙控器 </p><p>  專 業(yè) </p><p>  班 級(jí) </p><p>  學(xué) 號(hào)

2、 </p><p>  學(xué)生姓名 </p><p>  指導(dǎo)教師 </p><p>  設(shè)計(jì)時(shí)間 </p><p>  教師評(píng)分 </p><

3、p>  2012年 12 月16日</p><p><b>  前言</b></p><p>  紅外遙控是一種無(wú)線、非接觸控制技術(shù),具有抗干擾能力強(qiáng),信息傳輸可靠,功耗低,成本低,易實(shí)現(xiàn)等顯著優(yōu)點(diǎn),被諸多電子設(shè)備特別是家用電器廣泛采用,并越來(lái)越多的應(yīng)用到計(jì)算機(jī)系統(tǒng)中。</p><p>  由于紅外線遙控不具有像無(wú)線電遙控那樣穿過(guò)障礙物去

4、控制被控對(duì)象的能力,所以,在設(shè)計(jì)紅外線遙控器時(shí),不必要像無(wú)線電遙控器那樣,每套(發(fā)射器和接收器)要有不同的遙控頻率或編碼(否則,就會(huì)隔墻控制或干擾鄰居的家用電器),所以同類產(chǎn)品的紅外線遙控器,可以有相同的遙控頻率或編碼,而不會(huì)出現(xiàn)遙控信號(hào)“串門”的情況。這對(duì)于大批量生產(chǎn)以及在家用電器上普及紅外線遙控提供了極大的方面。由于紅外線為不可見(jiàn)光,因此對(duì)環(huán)境影響很小,再由紅外光波動(dòng)波長(zhǎng)遠(yuǎn)小于無(wú)線電波的波長(zhǎng),所以紅外線遙控不會(huì)影響其他家用電器,也不

5、會(huì)影響臨近的無(wú)線電設(shè)備。</p><p><b>  目錄</b></p><p><b>  一、實(shí)驗(yàn)?zāi)康?</b></p><p>  二、控制要求..............................................</p><p><b>  三、實(shí)驗(yàn)器材

6、1</b></p><p>  四、設(shè)計(jì)思路及實(shí)現(xiàn)方法2</p><p><b>  4.1設(shè)計(jì)思路2</b></p><p><b>  4.2閃爍控制2</b></p><p><b>  4.3紅外控制3</b></p><p>

7、;  4.4開發(fā)板管腳分配3</p><p>  五、設(shè)計(jì)總結(jié)與體會(huì)10</p><p>  六、參考文獻(xiàn)...............................................</p><p><b>  一、實(shí)驗(yàn)?zāi)康?lt;/b></p><p>  通過(guò)這次課程設(shè)計(jì),要學(xué)會(huì)設(shè)計(jì)簡(jiǎn)單的單片機(jī)系統(tǒng),

8、懂得單片機(jī)的運(yùn)用。熟練地掌握keil Uv2軟件和STC_ISP_V480下載軟件的正確使用;熟練對(duì)電烙鐵的使用以及能夠熟練的編寫程序。進(jìn)一步的了解現(xiàn)代電子系的設(shè)計(jì)。</p><p><b>  二、控制要求</b></p><p><b>  1、系統(tǒng)功能</b></p><p>  用keil Uv2軟件和STC_IS

9、P_V480下載軟件實(shí)現(xiàn)LED燈閃爍,以及可用遙控器控制。</p><p><b>  2、系統(tǒng)要求</b></p><p>  要求LED燈以20S的間隔閃爍;</p><p>  要求用一個(gè)遙控器控制,當(dāng)遙控器發(fā)送一個(gè)信號(hào)時(shí),接收端會(huì)在計(jì)算機(jī)上顯示相應(yīng)的信號(hào)編碼;</p><p><b>  三、實(shí)驗(yàn)器材&

10、lt;/b></p><p>  萬(wàn)用板(1塊)、瓷片電容(2塊 300pf)、極性電容(1塊 10uf)、電阻(2個(gè) 10K 500歐)、LED燈(1個(gè))、開關(guān)按鈕(1個(gè))、STC12C2052AD芯片(1塊)、排針(4個(gè))、晶振(11.0592 1個(gè))、電烙鐵(一套)、紅外接收器(1個(gè))。</p><p>  四、設(shè)計(jì)思路及實(shí)現(xiàn)方法</p><p>&l

11、t;b>  4.1設(shè)計(jì)思路</b></p><p>  首先根據(jù)原理圖焊接電路板,然后檢查后沒(méi)問(wèn)題將程序燒寫到芯片里,最后調(diào)試。</p><p><b>  4.2閃爍控制</b></p><p><b>  程序代碼:</b></p><p>  #include<STC1

12、2C2052AD.H></p><p>  #define uchar long</p><p>  #define uint unsigned int</p><p>  sbit led1=P3^3;</p><p>  uchar num;</p><p>  void main()</p>

13、<p><b>  {</b></p><p>  TMOD=0X01;</p><p>  TH0=(65536-45872)/256;</p><p>  TL0=(65536-45872)%256;</p><p><b>  EA=1;</b></p><p&g

14、t;<b>  ET0=1;</b></p><p><b>  TR0=1;</b></p><p><b>  while(1);</b></p><p><b>  }</b></p><p>  void T0_time() interrupt 1

15、</p><p><b>  {</b></p><p>  TH0=(65536-45872)/256;</p><p>  TL0=(65536-45872)%256;</p><p><b>  num++;</b></p><p>  if(num==180)<

16、/p><p><b>  {</b></p><p><b>  num=0;</b></p><p>  led1=~led1;</p><p><b>  }</b></p><p><b>  }</b></p>&

17、lt;p><b>  4.3紅外控制</b></p><p><b>  程序代碼:</b></p><p>  #include <STC12C2052AD.h></p><p>  #include <stdio.h> /* prototype declara

18、tions for I/O functions */</p><p>  typedef unsigned char BYTE; // 數(shù)據(jù)范圍0-255</p><p>  typedef unsigned int WORD; // 數(shù)據(jù)范圍0-65535</p><p>  typedef bit BOOL ; // 數(shù)據(jù)范圍0-1</p

19、><p>  sbit IRIN = P1^2; // 紅外接收器數(shù)據(jù)線</p><p>  BYTE IRCOM[7];</p><p>  /* 0.14MS延時(shí) */</p><p>  /********************************/</p>

20、<p>  void delay(BYTE x) </p><p><b>  {</b></p><p><b>  BYTE i;</b></p><p>  while(x--)</p><p><b>  {</b></p><p

21、>  for (i = 0; i<156; i++) {}</p><p><b>  }</b></p><p><b>  }</b></p><p>  void delay_ms(WORD n) </p><p><b>  {</b></p>

22、;<p><b>  WORD i=0;</b></p><p><b>  WORD j;</b></p><p>  while(i<n)</p><p><b>  {</b></p><p>  for(j=0;j<1000;j++){}<

23、;/p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /* 串口初始化 </p><p>  void serinit() <

24、;/p><p><b>  { </b></p><p><b>  /*</b></p><p>  TMOD=0x20; // 設(shè)置定時(shí)器1工作模式:8位自動(dòng)重裝載定時(shí)器</p><p>  TH1=0xfd; </p><p>  TL1=0xfd; // 設(shè)置波

25、特率9600</p><p>  TR1=1; // 允許定時(shí)器1計(jì)數(shù)</p><p><b>  SM0=0; </b></p><p>  SM1=1; // 設(shè)置串口工作方式一:8位UART,波特率可變</p><p>  EA=1; // 打開總中斷</p><p>  T

26、MOD=0x20; //定時(shí)器T1 PCON &= 0xef;</p><p>  SCON=0x50;</p><p>  TH1=0xfd; //波特率設(shè)置為9600</p><p><b>  TL1=0xfd;</b></p><p>  TR1=1; //開定時(shí)器T1運(yùn)行控制位</p>

27、<p><b>  TI=1;</b></p><p><b>  } </b></p><p>  /* 紅外接收數(shù)據(jù)處理 </p><p>  void IR_IN() </p><p><b>  {</b></p>

28、<p>  BYTE j,k,N=0;</p><p>  delay(15);</p><p>  if (IRIN==1) </p><p><b>  { </b></p><p><b>  return;</b></p><p>  }

29、 // 確認(rèn)IR信號(hào)出現(xiàn)</p><p>  while (!IRIN) // 等IR變?yōu)楦唠娖?,跳過(guò)9ms的前導(dǎo)低電平信號(hào)。</p><p>  {delay(1);}</p><p>  for (j=0;j<4;j++) // 收集四組數(shù)據(jù)</p><p&g

30、t;<b>  { </b></p><p>  for (k=0;k<8;k++) // 每組數(shù)據(jù)有8位</p><p><b>  {</b></p><p>  while (IRIN) // 等 IR 變?yōu)榈碗娖剑^(guò)4.5ms的前導(dǎo)高電平信號(hào)。</p>&l

31、t;p>  {delay(1);}</p><p>  while (!IRIN) // 等 IR 變?yōu)楦唠娖?lt;/p><p>  {delay(1);}</p><p>  while (IRIN) // 計(jì)算IR高電平時(shí)長(zhǎng)</p><p><b>  {</b><

32、/p><p><b>  delay(1);</b></p><p>  N++; </p><p>  if (N>=30)</p><p><b>  { </b></p><p>  return;} // 0.14ms

33、計(jì)數(shù)過(guò)長(zhǎng)自動(dòng)離開。</p><p>  } // 高電平計(jì)數(shù)完畢 </p><p>  IRCOM[j]=IRCOM[j] >> 1; // 數(shù)據(jù)最高位補(bǔ)“0”</p><p>  if (N>=8) {IRCOM[j] = IRCOM[j

34、] | 0x80;} // 數(shù)據(jù)最高位補(bǔ)“1”</p><p><b>  N=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if (IRCOM[2]!=~IRCOM[3])</p><p

35、><b>  { </b></p><p><b>  return; }</b></p><p><b>  } </b></p><p>  /* 主程序 main()</p><p><b>  {</b>

36、</p><p>  serinit(); // 串口初始化</p><p>  printf ("Hello World\n"); /* Print "Hello World" */</p><p>  SBUF=0x55; // 將紅外收到的鍵值給緩存器 </p><p>  whi

37、le(!TI); // 判斷是否發(fā)送完成,當(dāng)TI為1時(shí)表示已完成 </p><p>  TI=0; // 發(fā)送完畢,發(fā)送標(biāo)志位清0 </p><p>  SBUF=0x20; // 將紅外收到的鍵值給緩存器 </p><p>  while(!TI); // 判斷是否發(fā)送完成,當(dāng)TI為1時(shí)表示已完成 </p

38、><p>  TI=0; // 發(fā)送完畢,發(fā)送標(biāo)志位清0 </p><p>  SBUF=0xAA; // 將紅外收到的鍵值給緩存器 </p><p>  while(!TI); // 判斷是否發(fā)送完成,當(dāng)TI為1時(shí)表示已完成 </p><p>  TI=0; // 發(fā)送完畢,發(fā)送

39、標(biāo)志位清0 </p><p>  IRIN=1; // I/O口初始化</p><p>  delay_ms(10); // 延時(shí)</p><p><b>  while(1)</b></p><p><b>  {</b></p><p&g

40、t;  while(IRIN); // 等待紅外接收口信號(hào)</p><p><b>  IR_IN();</b></p><p>  delay_ms(200); </p><p>  if (IRCOM[2]!=0)</p><p><b>  {</b></p>&

41、lt;p>  SBUF=IRCOM[2]; // 將紅外收到的鍵值給緩存器 </p><p>  while(!TI); // 判斷是否發(fā)送完成,當(dāng)TI為1時(shí)表示已完成 </p><p>  TI=0; // 發(fā)送完畢,發(fā)送標(biāo)志位清0 </p><p><b>  }</b></p>

42、<p>  IRCOM[2]=0; </p><p><b>  }</b></p><p><b>  } </b></p><p>  4.4 STC12C2052AD芯片引腳分配</p><p><b>  五、設(shè)計(jì)總結(jié)與體會(huì)</b></p>&

43、lt;p>  通過(guò)這次紅外遙控器的設(shè)計(jì),我熟悉了C語(yǔ)言的運(yùn)用,更加熟練的掌握了keil Uv2軟件和STC_ISP_V480下載軟件的使用。實(shí)驗(yàn)中遇到的困難,在同學(xué)和查閱資料后,完成了這次期末作業(yè)。這次設(shè)計(jì),體驗(yàn)到了學(xué)以致用,雖然知道實(shí)際應(yīng)用不是這么簡(jiǎn)單,但是對(duì)實(shí)踐有了更大的興趣,能夠把所學(xué)在鞏固C語(yǔ)言的同時(shí),感受到了使用該語(yǔ)言進(jìn)行數(shù)字系統(tǒng)控制的方便靈活性。</p><p><b>  六、參考文

溫馨提示

  • 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)論