永发信息网

求HT6221的C语言解码程序

答案:1  悬赏:20  手机版
解决时间 2021-04-24 02:48
我的板是52系列的
最佳答案
你好,很高兴回答你的问题

Ht6221红外遥控C语言解码//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
//★HT6221标准红外C语言解码程序 ★
//★CPU AT89S51 晶振12MHz 接口 P.7 ★
//★ht6221 资料: ★
//★Designed by pufan ★
//★日期2006-06-14 ★
//★Email: zicosh@163.com ★
//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
#include<reg51.h>

#define UINT8 unsigned char
#define UINT16 unsigned int
#define UINT32 unsigned long

UINT8 IRCommandData;
UINT8 da[4]={0,0,0,0};

UINT8 table[18]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60,0x30,0x25,0xa7,0x26,0xa1,0xb1,0x34,0xab};

sbit IR=P3^7;

//============主程序====================================================
void delay(UINT16 cnt)
{
while(--cnt);
}

void d870us(void)
{
delay(108);//12M
}

void d1000us(void)
{
delay(125);//12M
}

void d4740us(void)
{
delay(593);//12M
}
//----------------------------------------------------

//-----------------------------------------------
// ht6221解码程序
//-----------------------------------------------
UINT8 IRDecode(void)
{
UINT8 i,m,n;

for(i=0;i<10;i++)
{
d870us();
if(IR) goto exit;
}

while(!IR);
d4740us();

//开始解码
for(m=0;m<4;m++){
for(n=0;n<8;n++){
while(!IR);

d870us();
if(IR)
{
d1000us();
da[m]=da[m]>>1;
da[m]=da[m]|0x80;
}
else
{
da[m]=da[m]>>1;
da[m]=da[m]|0;
}
//while(IR);
//while(!IR);
}
}
if((da[0]==0x0)&&(da[1]==0xFF))
{
if(da[2]==(~da[3]))
return da[2];
}
exit:
return 0;
}

void SendData(UINT8 c)
{
P0=c;
}

void main(void)
{
P2=0xFD;//选通一位数码管
P0=0xff;

while(1)
{
if(!IR)
{
IRCommandData=IRDecode();
switch(IRCommandData)
{
case 0x10:SendData(table[1]);break;
case 0x03:SendData(table[2]);break;
case 0x01:SendData(table[3]);break;
case 0x06:SendData(table[4]);break;
case 0x09:SendData(table[5]);break;
case 0x1d:SendData(table[6]);break;
case 0x1f:SendData(table[7]);break;
case 0x0d:SendData(table[8]);break;
case 0x19:SendData(table[9]);break;
default:break;
}
}
}
}

谢谢采纳。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我是独生子吗
瓦房店市公路运输管理所市郊管理站在什么地方
怎么管好自己的脾气?
毕业生登记表品德评语,高考考生思想品德鉴定
我长逗逗 还有逗疤 怎么才会消失呢
空间的图标好影藏吗?
DNF剑魂的觉醒技能是什么
问地下城转区预告的那些大庭怎么还不开放啊,
工商银行牡丹灵通卡密码输入错误 过三次 去不
谁知道嗨乐网游戏访问密码是多少?
龙之谷 干枯的玛丽莎泉的任务
阿多尼斯诗歌英文版本,卓别林经典语录 5分
海口旅游职业学校什么时候发录取通知书啊?可
求 顾曼的小说
传奇外传这个装备多少钱?
推荐资讯
求钢炼主题,那种老的都有了,要新的
军训晒黑了怎么快速强效美白?
橙子,麦片,苹果能混在一起做营养面膜吗?
问道血婴怎么加点比较好
什么样的感觉最美?
怎样起个起名字
吃了柿子两小时左右后又吃了花蟹,怎么办??
短信登陆QQ是怎么回事?
qq炫舞外挂下好了,然后怎么办?(我是要过任
不理他能让他忘了我吗?还有更好的办法不去伤
莎士比亚都说过些什么?
友情、爱情、亲情选择哪样好?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?