您当前的位置:五五电子网电子知识单片机-工控设备源码-程序SAA3010红外遥控接收的C程序源代码 正文
SAA3010红外遥控接收的C程序源代码

SAA3010红外遥控接收的C程序源代码

点击数:7202 次   录入时间:03-04 11:42:55   整理:http://www.55dianzi.com   源码-程序

//  SAA3010函数原型: 公用函数
void YkInit(void);                                        //遥控接收初始化
unsigned char YkGetcode(void);                //返回遥控码
bit YkTest(void);                                        //检查有无遥控信号

/*
//  SAA3010函数原型: 公用函数
extern void YkInit(void);                                                //遥控接收初始化
extern unsigned char YkGetcode(void);                        //返回遥控码
extern bit YkTest(void);                                                //检查有无遥控信号
*/

/*
        //  外部引用四位LED显示模块  //
extern unsigned char code tab_duam[];                        //位映射
extern void led_send(unsigned char d);                        //发送子程序
extern void led_cls(void);                                                //清除显示
extern void led_show(unsigned int n);                        //显示数字子程序
extern void led_showhh(unsigned int n);                        //16进制显示数字子程序
extern void led_test(void);                                                //4LED测试函数
extern void led_delay(unsigned char  ms);                //延迟函数
*/

//  SAA3010函数内容
void YkInit(void)                                        //遥控接收初始化
{
        TMOD=0x11;                                          //TMOD T0,T1均选用方式1(16位定时)
        SCON=0x00;
        TH1=0;
        TL1=0;
        IE|=0x89;                                          //SETB        EX0 0x1  外部中断 0 允许
                                                                        //SETB        ET0 0x8  定时器 1 中断允许
                                                                          //SETB        EA  0x80 开中断
        IP|=0x01;                                          //SETB  INT0 中断优先
        TCON |= 0x41;                                    //TCON  EX0下降沿触发,启动T1 //
        ykbnum=0;
        ykcodetemp=0;
        ykdelay=0;

}

unsigned char YkGetcode(void)                        //返回遥控码
{
        return(ykcode);
}

bit YkTest(void)                                        //检查有无遥控信号
{
        return(ykok);
}



www.55dianzi.com

void intx0() interrupt 0 using 2        //遥控使用外部中断0,接P3.2口
{
        ykbtc=TH1;TH1=0;TL1=0;TR1=1;ET1=1;
        switch(ykbnum)
        {
                case(0):
                        ykbnum=1;
                        break;
                case(1):
                        if(ykbtc==6)ykbnum=2;
                        else ykbnum=0;
                        break;
                case(2):
                        if(ykbtc==6||ykbtc==9)ykbnum=3;
                        else ykbnum=0;
                        break;
                case(3):
                        if(ykbtc==9||ykbtc==6){ykbnum=4;}
                        else ykbnum=0;
                        break;
                default:
                        if(ykbnum<7)if(ykbtc==6)ykbnum++;
                                                else ykbnum=0;

上一页  [1] [2] [3] [4]  下一页


本文关键字:程序  源代码  源码-程序单片机-工控设备 - 源码-程序

《SAA3010红外遥控接收的C程序源代码》相关文章>>>