在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于C語(yǔ)言的SAA3010紅外遙控接收的源代碼

            基于C語(yǔ)言的SAA3010紅外遙控接收的源代碼

            作者: 時(shí)間:2012-08-03 來(lái)源:網(wǎng)絡(luò) 收藏

            的C程序

            本文引用地址:http://www.biyoush.com/article/171080.htm

            // 用單片機(jī)進(jìn)行已經(jīng)是很平常的應(yīng)用了,基本上稍懂單片機(jī)就可以自己編//
            // 但往往很多人編的程序要么繁瑣,要么占用大量存儲(chǔ)器、CPU資源, //
            // 而且用于現(xiàn)場(chǎng)時(shí)還可能因?yàn)槭艿礁蓴_而不能正常工作 //
            // 真正試過(guò)的都會(huì)發(fā)現(xiàn),要想編個(gè)真正好用的程序不是那么簡(jiǎn)單的 //

            // 其實(shí),所有芯片的編碼都是比較簡(jiǎn)單的(有限的狀態(tài)),只要仔細(xì)分析它的編碼//
            // 我們完全可以用狀態(tài)機(jī)的方式來(lái)處理各種可能的情況,甚至從被干擾的雜亂波形中找出正確的編碼//
            // 下面是狀態(tài)機(jī)的遙控接收程序示例: //
            //--------------------------------------------------------------------------//
            // //
            // (c) Copyright 2001-2003 xuwenjun //
            // All Rights Reserved //
            // V1.00 //
            //--------------------------------------------------------------------------//
            //標(biāo) 題: 遙控芯片接收程序 //
            //文件名: ir_3010.c //
            //版 本: V1.00 //
            //修改人: xuwenjun E-mail:[email protected] //
            //日 期: 03-06-14 //
            //描 述: SAA3010遙控芯片接收程序 //
            //--------------------------------------------------------------------------//
            //老版本: 無(wú) 老版本文件名: //
            //創(chuàng)建人: xuwenjun E-mail:[email protected] //
            //日 期: 03-06-14 //
            //描 述: SAA3010遙控芯片接收程序 //
            // 當(dāng)ykok=1時(shí),ykcode中的數(shù)據(jù)就是接收到的遙控碼(14位的最后8位) //
            //--------------------------------------------------------------------------//
            //占用以下資源: //
            // 1. 遙控使用外部中斷0,接P3.2口 //
            // 2. 遙控使用定時(shí)計(jì)數(shù)器1 //
            // 3. 5.1字節(jié)data RAM //
            // 4. 293字節(jié) code ROM //
            //--------------------------------------------------------------------------//
            //聲 明: //
            // 以下代碼僅免費(fèi)提供給學(xué)習(xí)用途,但引用或修改后必須在文件中聲明出處. //
            // 如用于商業(yè)用途請(qǐng)與作者聯(lián)系. E-mail:[email protected] //
            // 有問(wèn)題請(qǐng)mailto [email protected] 歡迎與我交流! //
            //--------------------------------------------------------------------------//

            #i nclude reg52.h>
            #define uchar unsigned char

            // SAA3010存儲(chǔ)定義
            uchar ykcode; //遙控碼(14位的最后8位)
            bit ykok; //遙控?cái)?shù)據(jù)有效標(biāo)志

            uchar ykbnum; //遙控已接收位數(shù)
            uchar ykbtc; //遙控中斷時(shí) ykbtc=TH1
            uchar ykdelay; //遙控延時(shí)接收
            bdata uchar ykcodetemp; //遙控臨時(shí)碼
            sbit ykcodetemp0=ykcodetemp^0;


            // SAA3010端口定義
            //sbit YKIO=P3^3; //遙控使用外部中斷0,接P3.2口

            // SAA3010函數(shù)原型: 公用函數(shù)
            void YkInit(void); //遙控接收初始化
            unsigned char YkGetcode(void); //返回遙控碼
            bit YkTest(void); //檢查有無(wú)遙控信號(hào)

            /*
            // SAA3010函數(shù)原型: 公用函數(shù)
            extern void YkInit(void); //遙控接收初始化
            extern unsigned char YkGetcode(void); //返回遙控碼
            extern bit YkTest(void); //檢查有無(wú)遙控信號(hào)
            */

            /*
            // 外部引用四位LED顯示模塊 //
            extern unsigned char code tab_duam[]; //位映射
            extern void led_send(unsigned char d); //發(fā)送子程序
            extern void led_cls(void); //清除顯示
            extern void led_show(unsigned int n); //顯示數(shù)字子程序
            extern void led_showhh(unsigned int n); //16進(jìn)制顯示數(shù)字子程序
            extern void led_test(void); //4LED測(cè)試函數(shù)
            extern void led_delay(unsigned char ms); //延遲函數(shù)
            */

            // SAA3010函數(shù)內(nèi)容
            void YkInit(void) //遙控接收初始化
            {
            TMOD=0x11; //TMOD T0,T1均選用方式1(16位定時(shí))
            SCON=0x00;
            TH1=0;
            TL1=0;
            IE|=0x89; //SETB EX0 0x1 外部中斷 0 允許
            //SETB ET0 0x8 定時(shí)器 1 中斷允許
            //SETB EA 0x80 開(kāi)中斷
            IP|=0x01; //SETB INT0 中斷優(yōu)先
            TCON |= 0x41; //TCON EX0下降沿觸發(fā),啟動(dòng)T1 //
            ykbnum=0;
            ykcodetemp=0;
            ykdelay=0;

            }

            unsigned char YkGetcode(void) //返回遙控碼
            {
            return(ykcode);
            }

            bit YkTest(void) //檢查有無(wú)遙控信號(hào)
            {
            return(ykok);
            }

            紅外遙控器相關(guān)文章:紅外遙控器原理

            上一頁(yè) 1 2 下一頁(yè)

            評(píng)論


            相關(guān)推薦

            技術(shù)專(zhuān)區(qū)

            關(guān)閉