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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14019|回復: 4
收起左側

51單片機紅外接收代碼加解碼

[復制鏈接]
ID:59583 發表于 2014-3-13 22:22 | 顯示全部樓層 |閱讀模式
頭文件 stc12c5a.h下載: http://m.zg4o1577.cn/mcu/2564.html
頭文件 1602.h 下載: http://m.zg4o1577.cn/bbs/dpj-24671-1.html
  ///*redPC838.c文件
* 紅外接收數據,中斷方式,并通過串口發送
* 晶振:11.0592M*/
#include<STC12c5a.h>
#include<1602.h>
typedef unsigned char uint8;
sbit Ir_Pin = P3^3;
uint8 Ir_Buf[4]; //用于保存解碼結果
extern int keynum=1;
void int1_init(void)
{
IT1 = 1; //下降沿有效
EX1 = 1;
EA = 1;
TMOD = 0x01;
}
/*獲取低電平時間*/
unsigned int Ir_Get_Low()
{
TL0 = 0;
TH0 = 0;
TR0 = 1;
while (!Ir_Pin && (TH0&0x80)==0);  
              
TR0 = 0;           
return (TH0 * 256 + TL0);
}
/* 獲取高電平時間*/
unsigned int Ir_Get_High()
{
TL0 = 0;
TH0 = 0;
TR0 = 1;
while (Ir_Pin && (TH0&0x80)==0);
TR0 = 0;
return (TH0 * 256 + TL0);
}
//*******************************************
void PC838()
{ int1_init();
}
void int1_isr() interrupt 2
{
unsigned int temp;
char i,j;
temp = Ir_Get_Low();
if ((temp < 7833) || (temp > 8755))  //引導脈沖低電平8500~9500us
return;
temp = Ir_Get_High();
if ((temp < 3686) || (temp > 4608))  //引導脈沖高電平4000~5000us
return;
for (i=0; i<4; i++) //4個字節
{
for (j=0; j<8; j++) //每個字節8位
{
temp = Ir_Get_Low();
if ((temp < 184) || (temp > 737)) //200~800us
return;
temp = Ir_Get_High();
if ((temp < 184) || (temp > 1843)) //200~2000us
return;
Ir_Buf[ i] >>= 1;
if (temp > 1032) //1120us
Ir_Buf[ i] |= 0x80;
}
}
if( Ir_Buf[2]=~ Ir_Buf[3])  //驗證鍵數據碼和其反碼是否相等,一般情況下不必驗證用戶碼
{
if(Ir_Buf[2]==0x16)  keynum=0; //a[0]=00h;a[1]=ffh
if(Ir_Buf[2]==0x0c)  keynum=1; //a[0]=00h;a[1]=ffh
if(Ir_Buf[2]==0x18)  keynum=2; //a[0]=00h;a[1]=ffh
if(Ir_Buf[2]==0x5E)  keynum=3;
if(Ir_Buf[2]==0x08)  keynum=4;
if(Ir_Buf[2]==0x1C)  keynum=5;
if(Ir_Buf[2]==0x5A)  keynum=6;
if(Ir_Buf[2]==0x42)  keynum=7;
if(Ir_Buf[2]==0x52)  keynum=8;
if(Ir_Buf[2]==0x4A)  keynum=9;
if(Ir_Buf[2]==0x45)  keynum=10; //ON/OFF
if(Ir_Buf[2]==0x46)  keynum=11; //MODE
if(Ir_Buf[2]==0x47)  keynum=12; //靜音
if(Ir_Buf[2]==0x44)  keynum=13; //暫停
if(Ir_Buf[2]==0x40)  keynum=14; //下一曲
if(Ir_Buf[2]==0x43)  keynum=15; //上一曲
if(Ir_Buf[2]==0x07)  keynum=16; //EQ
if(Ir_Buf[2]==0x15)  keynum=17; //VOL-
if(Ir_Buf[2]==0x09)  keynum=18; //VOL+
if(Ir_Buf[2]==0x19)  keynum=19; //RPT
if(Ir_Buf[2]==0x0D)  keynum=20; //U/SD
  //  beep();        //蜂鳴器響一聲 提示解碼成功



}

}
//******************8redPC838.h文件
#ifndef _redPC838_
#define _redPC838_
#define uchar unsigned char
#define uint  unsigned int
void PC838();
extern int keynum;
#endif

回復

使用道具 舉報

ID:45963 發表于 2015-6-19 17:49 | 顯示全部樓層
牛牛牛
回復

使用道具 舉報

ID:201936 發表于 2017-7-9 14:10 | 顯示全部樓層
謝謝了,保存下來
回復

使用道具 舉報

ID:558624 發表于 2019-7-28 15:19 | 顯示全部樓層
謝謝分享,下載了
回復

使用道具 舉報

ID:33548 發表于 2019-10-22 20:37 | 顯示全部樓層
謝謝分享,下載了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美亚洲 | 中文字幕国产精品视频 | 视频一区二区三区四区五区 | 九九九久久国产免费 | 国产精品久久久久久吹潮日韩动画 | 久久久久久91 | 精品久久久久久久久久久 | 男女网站免费观看 | 嫩草懂你的影院入口 | 中文字幕一二三区 | 成人国产免费观看 | 欧美日韩免费一区二区三区 | 日本又色又爽又黄的大片 | 日韩av啪啪网站大全免费观看 | 一区二区在线免费观看视频 | 国产在线一区二区 | 亚洲欧洲国产视频 | 亚洲精品www. | 在线视频一区二区三区 | 日本久久精品视频 | 日韩在线国产精品 | 欧美亚洲国产一区二区三区 | 中文字幕在线剧情 | 国产精品久久av | 欧美激情黄色 | 国产视频一区二区在线观看 | 二区av| 欧美久久久久久久 | 成人精品一区二区三区四区 | 99久久精品国产一区二区三区 | 在线观看第一区 | av天天干| 亚洲情侣视频 | 午夜免费网站 | 一区二区精品 | 一区二区在线免费观看 | 国产视频91在线 | 日韩一区二区三区在线播放 | 国产原创在线观看 | 欧美久久精品一级黑人c片 91免费在线视频 | 91麻豆精品国产91久久久更新资源速度超快 |