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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 866|回復: 2
收起左側

紅外接收接收不了,麻煩各位師兄幫忙看一下。

[復制鏈接]
ID:342739 發表于 2024-12-17 16:05 | 顯示全部樓層 |閱讀模式
/*************  本程序功能說明  **************

單片機型號:STC89C52

晶振頻率  :11.0592MHz

復位電路  :內部復位電路

功能描述  :演示紅外接收點亮LED。

LED對應IO口:P1.0-P3.7-P3.6-P3.5-P3.4-P3.3-P3.2-P3.1

******************************************/

#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
sbit IR_INPUT=P3^2;               //紅外接收引腳
bit IRflag=0;                                       //紅外接收結束標志
uchar IRcode[4];                       //紅外代碼接收緩沖區
void Initinfrared();

void main()
{
        Initinfrared();  
  while(1)
  {
                switch(IRcode[2])
                {
                        case 0x15:P1=0x7f;break;
                        case 0x07:P1=0xbf;break;
                        default:P1=0xff;break;
                }
        }

}

void Initinfrared()
{
    IR_INPUT=1;
                TMOD=0x01;
                EA=1;
                ET0=0;   //打開T0中斷
    EX0=1;         //打開外部中斷0
    IT0=1;          //下降沿觸發

}
/*獲取當前高電平的結束時間*/
unsigned int GetHighTime()
{
                TH0=0;  
    TL0=0;
    TR0=1;
                while(IR_INPUT)
                {
                        if(TH0>=0x40)  //  12/11.0592*16384≈18mS
                        break;
                }
                TR0=0;
                return(TH0*256+TL0);
}
/*獲取當前低電平的結束時間*/
unsigned int GetLowTime()
{
                TH0=0;  
    TL0=0;
    TR0=1;
                while(!IR_INPUT)
                {
                        if(TH0>=0x40)
                        break;
                }
                TR0=0;
                return(TH0*256+TL0);
}

void EXINT1_ISR() interrupt 0 // 外部中斷服務程序
{
                uchar i,j;  
    uchar buf;
                uchar time;
                time=GetLowTime();
                if((time<7833)||(time>8755)) // 引導碼9ms判斷  12/11.0592*X≈8500 (8.5ms~9.5ms之間)
                {
                        EX0=1;
                        return;
                }
                time=GetHighTime();
                if((time<3686)||(time>4608)) // 引導碼頭4.5ms判斷  12/11.0592*X≈4000 (4ms~5ms之間)
                {
                        EX0=1;         // 打開外部中斷0
                        return;         // 返回
                }
                for(i=0;i<4;i++)                                                 // 接收4個字節處理程序
                {
                        for(j=0;j<8;j++)                                  // 接收8個位/字節,處理程序
                        {
                                time=GetLowTime();
                                if((time<313)||(time>718))  // 判斷560us低電平  12/11.0592*X≈560us (500us~600us之間)
                                {
                                        EX0=1;
                                        return;
                                }
                                time=GetHighTime();
                                if((time>313)&&(time<718))        // 判斷560us高電平  12/11.0592*X≈560us (500us~600us之間)
                                {
                                        buf>>=1;
                                }                        // 當確認是0時,把變量buf循環右移,將低位移到高位
                                else if((time>1345)&&(time<1751)) // 判斷1.68ms高電平  12/11.0592*X≈1680us (1.46ms~1.9ms之間)
                                {
                                        buf>>=1;                       // 當確認是1時,右移1位
                                        buf|=0x80;
                                }
                                else
                                {
                                        EX0=1;
                                        return;
                                }
                        }
                        IRcode[i]=buf;  // 接收完數據后把數據傳給數組對應的位置。
                }
                IRflag=1;                // 將結束標志位置1,代表接收完成,中斷返回。
                EX0=1;

}

回復

使用道具 舉報

ID:57657 發表于 2024-12-18 11:13 | 顯示全部樓層
遙控接收需要紅外接收頭,接收管沒有解調放大電路用不了的,具體需要有原理圖才知道是什么問題。
回復

使用道具 舉報

ID:517951 發表于 2024-12-19 07:51 | 顯示全部樓層
用示波器,或邏輯分析儀接到紅外接收管輸出腳量測一下有沒有輸出波形, 軟件對應的IO端口有沒有與紅外端口正確對應.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久热精品在线播放 | 免费视频二区 | 亚洲第一网站 | 免费的av网站 | www.av在线| 日韩在线免费视频 | 久久大陆 | 粉嫩粉嫩芽的虎白女18在线视频 | 91精品国产综合久久婷婷香蕉 | av看看 | 香蕉久久久 | 天天操人人干 | 天天干天天爱天天爽 | 草久在线视频 | 九九久久精品 | 欧美日韩视频在线 | 亚洲一区二区在线视频 | 成人精品视频在线 | 欧美视频一区 | 久久网站免费视频 | 久久精品免费一区二区 | 午夜在线观看免费 | 日本久久久一区二区三区 | 黑人一级片视频 | 亚洲精品久久嫩草网站秘色 | 欧美a级成人淫片免费看 | 欧美日韩在线综合 | 欧美一区二区三区久久精品 | 亚洲成人蜜桃 | 午夜爱爱网 | 激情欧美一区二区三区中文字幕 | 中文字幕一区二区三区在线观看 | 国产福利网站 | 久久九九色 | 日韩在线视频观看 | 亚洲国产成人精品女人久久久 | 国产免费一级片 | 国产精品视频专区 | 成人激情视频在线观看 | 一区亚洲 | 欧美一区二区三区视频在线观看 |