zhxshseu 发表于 2013-4-10 00:20:15

红外编码的解码以及发射 编码保存到eeprom 程序+proteus仿真



该压缩包中包含了红外的解码程序,发射程序,包含三个工程first.uv2,receive.uv2,Send.uv2,具体说明请参看readme.docx
下下来直接就可以仿真,有图有真相:

zhxshseu 发表于 2013-4-10 09:51:54

里面的键盘扫描程序是最一般的行列扫描,效率比较低,建议大家换成如下的反转扫描,效率高一点
/*------------------------------------------------
          按键扫描函数,返回扫描键值
------------------------------------------------*/
unsigned char KeyScan(void)//键盘扫描函数,使用行列反转扫描法
{
unsigned char cord_h,cord_l;//行列值中间变量
KeyPort=0x0f;            //行线输出全为0
cord_h=KeyPort&0x0f;   //读入列线值
if(cord_h!=0x0f)    //先检测有无按键按下
{
DelayMs(10);      //去抖
if((KeyPort&0x0f)!=0x0f)
{
    cord_h=KeyPort&0x0f;//读入列线值
    KeyPort=cord_h|0xf0;//输出当前列线值
    cord_l=KeyPort&0xf0;//读入行线值

    while((KeyPort&0xf0)!=0xf0);//等待松开并输出

    return(cord_h+cord_l);//键盘最后组合码值
   }
}return(0xff);   //返回该值
}
/*------------------------------------------------
            按键值处理函数,返回扫键值
------------------------------------------------*/
unsigned char KeyPro(void)
{
switch(KeyScan())
{
case 0x7e:return 0;break;//0 按下相应的键显示相对应的码值
case 0x7d:return 1;break;//1
case 0x7b:return 2;break;//2
case 0x77:return 3;break;//3
case 0xbe:return 4;break;//4
case 0xbd:return 5;break;//5
case 0xbb:return 6;break;//6
case 0xb7:return 7;break;//7
case 0xde:return 8;break;//8
case 0xdd:return 9;break;//9
case 0xdb:return 10;break;//a
case 0xd7:return 11;break;//b
case 0xee:return 12;break;//c
case 0xed:return 13;break;//d
case 0xeb:return 14;break;//e
case 0xe7:return 15;break;//f
default:return 0xff;break;
}
}

电子爱好者_MCU 发表于 2013-4-10 10:01:25

遥控器 也可以仿真吗

zhxshseu 发表于 2013-4-10 10:04:45

可以的~在Send工程量里面,修改SendIRdata(char 系统码1,char 系统码2,char 数据码 )里面的参数值就行~U5单片机就是不断发送红外编码的

zhxshseu 发表于 2013-4-10 10:05:29

电子爱好者_MCU 发表于 2013-4-10 10:01 static/image/common/back.gif
遥控器 也可以仿真吗


可以的~在Send工程量里面,修改SendIRdata(char 系统码1,char 系统码2,char 数据码 )里面的参数值就行~U5单片机就是不断发送红外编码的

caicai2317 发表于 2013-4-10 10:06:42

自己动手做一下,会由收获的哦

电子爱好者_MCU 发表于 2013-4-10 10:12:21

zhxshseu 发表于 2013-4-10 10:05 static/image/common/back.gif
可以的~在Send工程量里面,修改SendIRdata(char 系统码1,char 系统码2,char 数据码 )里面的参数值就 ...

哦 这样啦 只做过实物 还不知道遥控器也可以仿真 呵呵

lxa0 发表于 2013-4-10 17:54:30

都有做实物的能力了
还仿什么真呀

fengye7251 发表于 2013-4-11 17:24:14

mark!      

xiaojun2019 发表于 2013-4-12 09:27:12

标记一下

wangxuedong 发表于 2013-9-5 00:41:24

好东西哇谢啦

柱子哥 发表于 2016-5-10 11:01:22

楼主在真实的硬件上用过吗?载波是38k还是40k
页: [1]
查看完整版本: 红外编码的解码以及发射 编码保存到eeprom 程序+proteus仿真