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

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

QQ登錄

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

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

單片機(jī)紅外遙控模塊程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:919762 發(fā)表于 2021-8-1 18:45 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit lsa=P2^2;
sbit lsb=P2^3;
sbit lsc=P2^4;
sbit IRIN=P3^2;

uint jz=0,time;//jz存的是鍵值相對(duì)應(yīng)的數(shù)值
uchar irdata[4],duan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f};

void delay(uint n)          //延時(shí)一次約為0.01ms 用來(lái)判斷脈沖時(shí)間
{while(n--);}

void smg(uint x)   //數(shù)碼管顯示
{
lsa=0;lsb=0;lsc=0;
P0=duan[x];//顯示數(shù)字

}

void init()                 //初始化
{
IT0=1;//確定中斷0(紅外接收)的觸發(fā)方式為下降沿觸發(fā)
EX0=1;//打開(kāi)外部中斷0和總中斷的允許位
EA=1;
IRIN=1;                         //相當(dāng)于打開(kāi)外部中斷0  此處意義為紅外接收器打開(kāi)
}

void hhh() interrupt 0   //執(zhí)行中斷:進(jìn)行讀取信號(hào)  最后產(chǎn)生鍵值
{
uint i,j,k;
delay(700);//能進(jìn)入中斷函數(shù)就代表IR已經(jīng)為0,此處的延時(shí)是為了判斷延時(shí)的大體時(shí)間
if(IRIN==0)
{
k=1000;
while(IRIN==0&&(k>0))//檢測(cè)引導(dǎo)碼中9ms低電平
{
delay(1);
k--;
}
if(IRIN==1)//判斷高電平
{
k=500;
while(IRIN==1&&(k>0))//檢測(cè)引導(dǎo)碼中4.5ms高電平
{
delay(1);
k--;
}
for(i=0;i<4;i++)        //開(kāi)始讀取用戶(hù)碼和數(shù)據(jù)和數(shù)據(jù)反碼,

{
        for(j=0;j<8;j++)//每組數(shù)據(jù)有八位,故內(nèi)層循環(huán)有八組,每次循環(huán)讀一位
        {
         if(IRIN==0)
         {
         k=70;
         while(IRIN==0&&(k>0))//檢測(cè)0.56ms的低電平
         {
         k--;
         delay(1);
         }
         }
         if(IRIN==1)//進(jìn)入高電平時(shí)間,這一塊比較核心,它判斷了高電平持續(xù)時(shí)間的長(zhǎng)短
         {
         time=0;
         k=500;
         while(IRIN==1&&k>0)//開(kāi)始檢測(cè)高電平
         {
         delay(10);
         time++;//time是以0.1ms為單位,因?yàn)閐y(10);
         k--;
         }
         if(time>30) return ;
         irdata[ i]>>=1;        //移位運(yùn)算,空出最高為為下一次采集做準(zhǔn)備
         if(time>=8)//如果高電平持續(xù)時(shí)間超過(guò)0.85ms代表位是“1”
         irdata[ i]|=0x80;//或運(yùn)算,給最高為置1
         time=0;//重置
         }
        }
}
}
if(irdata[2]!=~irdata[3])//irdata[2]與irdata[3]分別是數(shù)據(jù)碼和數(shù)據(jù)反碼 ,此操作是檢驗(yàn)數(shù)據(jù)準(zhǔn)確性
return;
}
switch(irdata[2])
{
case 0x16:jz=0;break;
case 0x0c:jz=1;break;
case 0x18:jz=2;break;
case 0x5e:jz=3;break;
case 0x08:jz=4;break;
case 0x1c:jz=5;break;
case 0x5a:jz=6;break;
case 0x42:jz=7;break;
case 0x52:jz=8;break;
case 0x4a:jz=9;break;
case 0x45:jz=10;break;
default:break;
}

}

void main()
{
init();//初始化
while(1)
smg(jz);//顯示數(shù)值
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲人成a在线v网站 | 国产欧美在线一区二区 | 一级做a爰片性色毛片视频停止 | 国产aⅴ爽av久久久久久久 | 成人午夜免费在线视频 | 国产影音先锋 | 精品国产一区二区三区久久影院 | 日本三级黄视频 | 久久综合九色综合欧美狠狠 | wwwxx在线观看 | 2022国产精品 | 国产剧情久久 | 天天视频成人 | 日本欧美在线 | 国产欧美在线视频 | 国产高清精品在线 | 午夜精品一区二区三区在线观看 | av在线播放国产 | 欧美精品一区二区三区视频 | 色必久久| 亚洲欧美国产视频 | 欧美激情一区二区三区 | 亚洲精品久久久久久首妖 | 日日欧美| 国产a爽一区二区久久久 | 九色网址 | 亚洲激情第一页 | 精品综合视频 | 亚洲午夜精品一区二区三区他趣 | 久久亚洲精品国产精品紫薇 | 91精品国产一区二区三区 | aⅴ色国产 欧美 | 欧美精品欧美精品系列 | 国产亚洲一区二区三区 | 国产成人在线看 | 久综合 | 在线免费观看欧美 | 高清一区二区三区 | 欧美日韩视频在线 | 日韩一区二区精品 | 干干干操操操 |