久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4672|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)紅外通信教學(xué)ppt課件及keil源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
壓縮包里有紅外的教學(xué)課件
我自己寫(xiě)的紅外實(shí)現(xiàn)程序
用到串口通信、定時(shí)器、以及LCD1602的相關(guān)程序
包含lcd1602.h、lcd1602.c、delay.h、delay.c、ir.c

紅外線:在光譜中,波長(zhǎng)在0.76至400微米的一段,我們稱為紅外線。
所有高于絕對(duì)零度(-273.15℃)的物質(zhì)都可以 產(chǎn)生紅外線。
紅外線是不可見(jiàn)光線。

紅外通信是利用紅外技術(shù)實(shí)現(xiàn)兩點(diǎn)間的近距離保密通信和信息轉(zhuǎn)發(fā)。他一般由紅外發(fā)射和接收系統(tǒng)兩部分組成。
今天我們就以紅外遙控為代表,具體講一講紅外通信的具體過(guò)程。

紅外線遙控是目前使用最廣泛的一種通信和遙控手段。

紅外線遙控裝置的優(yōu)點(diǎn):
  體積小、功耗低、功能強(qiáng)、成本低。

應(yīng)用場(chǎng)合:
  在家用電器中,彩電、錄像機(jī), 錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等產(chǎn)品中應(yīng)用非常廣泛。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。

紅外發(fā)光管:
     紅外發(fā)光二極管通常使用砷化鎵(GaAs)、砷鋁化鎵 (GaAlAs)等材料,采用全透明或淺藍(lán)色、黑色的樹(shù)脂封裝。 通電后會(huì)產(chǎn)生的光波波長(zhǎng)為940nm左右的紅外線。

紅外一體化接收頭:其內(nèi)部含有高頻的濾波電路,專(zhuān)門(mén)用來(lái)濾除紅外線合成信號(hào)的載波信號(hào)(38KH),并送出接收到的信號(hào)。當(dāng)紅外線合成信號(hào)進(jìn)入紅外接收頭,在其輸出端便可以得到原先紅外發(fā)射器發(fā)出的數(shù)字編碼。


常用的紅外遙控系統(tǒng)一般分發(fā)射和接收兩個(gè)部分。
應(yīng)用編/解碼專(zhuān)用集成電路芯片來(lái)進(jìn)行控制操作,如下圖所示。發(fā)射部分包括鍵盤(pán)矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。



   1、更好的減少周邊環(huán)境對(duì)紅外信號(hào)的干擾。 因?yàn)榻?jīng)過(guò)調(diào)制后,我們
      在接收時(shí),可以選擇性的接收。比如現(xiàn)在發(fā)送的是38KHZ的紅外
      信號(hào),那我接收時(shí)只接收38KHZ的信號(hào),其它頻率的一概不收。
   
   2、另外經(jīng)過(guò)載波的二次調(diào)制還可以提高發(fā)射效率,達(dá)到降低電源功
      耗的目的。

1 、引導(dǎo)碼:  相當(dāng)于一把鑰匙,單片機(jī)只有檢測(cè)到了引導(dǎo)碼出現(xiàn)了才
       確認(rèn)接收后面的數(shù)據(jù) ,保證數(shù)據(jù)接收的正確性.

2 、客戶碼: 用來(lái)區(qū)分各紅外遙控設(shè)備,使之不會(huì)互相干擾.

3 、操作碼: 用戶實(shí)際須要的編碼,按下不同的鍵產(chǎn)生不同
       的操作碼,待接收端接收到后根據(jù)其進(jìn)行不同的操作.

4 、操作反碼: 為操作碼的反碼,目的是接收端接收到所有數(shù)
       據(jù)之后,將其取反與操作碼比較,不相等則表示在傳輸過(guò)程中
       編碼發(fā)生子變化,視為此次接收的數(shù)據(jù)無(wú)效,可提高接收數(shù)據(jù)
       的準(zhǔn)確性.


單片機(jī)源程序如下:
  1. #include "delay.h"
  2. #include "lcd1602.h"
  3. #include <reg51.h>

  4. sbit IR = P3 ^ 2;

  5. unsigned char IR_Time;
  6. unsigned char IR_Rcv_OK;
  7. unsigned char IR_Pro_OK;
  8. unsigned char IR_Code[4];
  9. unsigned char IR_Data[33];
  10. unsigned char TempData[16];
  11. unsigned char LCD[16] = "0123456789ABCDEF";

  12. void Timer_Init(void)
  13. {
  14.     TMOD = 0x22;
  15.     TH0 = 0;
  16.     TL0 = 0;
  17.     ET0 = 1;
  18.     TR0 = 1;
  19. }

  20. void EX0_Init(void)
  21. {
  22.     IT0 = 1;
  23.     EX0 = 1;
  24.     EA = 1;
  25. }

  26. void Timer0_ISR(void) interrupt 1
  27. {
  28.     IR_Time++;
  29. }

  30. void EX0_ISR(void) interrupt 0
  31. {
  32.     static bit startflag;
  33.     static unsigned char BitCnt;
  34.     if (startflag)
  35.     {
  36.         if ((IR_Time < 60) & (IR_Time > 40))
  37.         {
  38.             BitCnt = 0;
  39.         }
  40.         IR_Data[BitCnt] = IR_Time;
  41.         IR_Time = 0;
  42.         BitCnt++;
  43.         if (BitCnt == 33)
  44.         {
  45.             IR_Rcv_OK = 1;
  46.             BitCnt = 0;
  47.             startflag = 0;
  48.         }
  49.     }
  50.     else
  51.     {
  52.         IR_Time = 0;
  53.         startflag = 1;
  54.         IR_Rcv_OK = 0;
  55.     }
  56. }

  57. void IR_Pro(void)
  58. {
  59.     unsigned char i, j, k;
  60.     unsigned char val;
  61.     k = 1;
  62.     for (i = 0; i < 4; i++)
  63.     {
  64.         for (j = 1; j <= 8; j++)
  65.         {
  66.             if (IR_Data[k] > 7)
  67.             {
  68.                 val |= 0x80;
  69.             }
  70.             if (j < 8)
  71.             {
  72.                 val >>= 1;
  73.             }
  74.             k++;
  75.         }
  76.         IR_Code[i] = val;
  77.         val = 0;
  78.     }
  79.     IR_Pro_OK = 1;
  80. }

  81. void button(void)
  82. {
  83. }
  84. void IR_Work()
  85. {
  86.     switch (IR_Code[2])
  87.     {
  88.     case 0x45:
  89.         button();
  90.         break;
  91.     default:
  92.         break;
  93.     }
  94. }

  95. void IR_Disp()
  96. {
  97.     TempData[0] = LCD[IR_Code[0] / 16];
  98.     TempData[1] = LCD[IR_Code[0] % 16];
  99.     TempData[2] = '-';
  100.     TempData[3] = LCD[IR_Code[1] / 16];
  101.     TempData[4] = LCD[IR_Code[1] % 16];
  102.     TempData[5] = '-';
  103.     TempData[6] = LCD[IR_Code[2] / 16];
  104.     TempData[7] = LCD[IR_Code[2] % 16];
  105.     TempData[8] = '-';
  106.     TempData[9] = LCD[IR_Code[3] / 16];
  107.     TempData[10] = LCD[IR_Code[3] % 16];

  108.     LCD_Write_String(5, 1, TempData);
  109. }
  110. void main(void)
  111. {
  112.     Timer_Init();
  113.     EX0_Init();
  114. ……………………

  115. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
51.rar (1.35 MB, 下載次數(shù): 52)








分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:404210 發(fā)表于 2018-11-18 18:04 | 只看該作者
最近在搞紅外發(fā)射,想下載,沒(méi)有積分
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av一区在线观看 | 精品亚洲一区二区三区四区五区 | 国产精品毛片一区二区在线看 | 91精品国产91久久久久久三级 | 欧美精品一区在线 | 久草在线 | 国产不卡视频 | 久草新视频| 久久国产精品无码网站 | 久久69精品久久久久久久电影好 | 日韩毛片| 午夜婷婷激情 | 日韩精品中文字幕在线 | 91精品国产91久久久久久吃药 | 精品国产99 | 日本在线视频一区二区 | 91综合网| 嫩呦国产一区二区三区av | 91精品欧美久久久久久久 | 久久精品亚洲国产 | 性色视频 | 在线国产小视频 | 日韩欧美电影在线 | 国产精品久久一区二区三区 | 日本精品一区二区三区视频 | wwwww在线观看 | 欧美日韩在线精品 | 国产欧美在线 | 天天干天天爽 | 黄色视频a级毛片 | 1区2区3区视频 | 国产aⅴ爽av久久久久久久 | 午夜精品久久久久久久久久久久久 | 少妇午夜一级艳片欧美精品 | 久久久久亚洲 | 天天色图 | 久久免费视频在线 | www亚洲免费国内精品 | 国产一区二区三区免费 | 欧美精品在线一区 | 国产成人免费视频网站高清观看视频 |