在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > SAA3010紅外遙控接收的C程序源代碼

            SAA3010紅外遙控接收的C程序源代碼

            作者: 時間:2011-05-05 來源:網(wǎng)絡(luò) 收藏

            的C

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

            // 用單片機進行已經(jīng)是很平常的應用了,基本上稍懂單片機就可以自己編//
            // 但往往很多人編的要么繁瑣,要么占用大量存儲器、CPU資源, //
            // 而且用于現(xiàn)場時還可能因為受到干擾而不能正常工作 //
            // 真正試過的都會發(fā)現(xiàn),要想編個真正好用的不是那么簡單的 //

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

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

            // SAA3010存儲定義
            uchar ykcode; //遙控碼(14位的最后8位)
            bit ykok; //遙控數(shù)據(jù)有效標志

            uchar ykbnum; //遙控已接收位數(shù)
            uchar ykbtc; //遙控中斷時 ykbtc=TH1
            uchar ykdelay; //遙控延時接收
            bdata uchar ykcodetemp; //遙控臨時碼
            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); //檢查有無遙控信號

            /*
            // SAA3010函數(shù)原型: 公用函數(shù)
            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); //發(fā)送子程序
            extern void led_cls(void); //清除顯示
            extern void led_show(unsigned int n); //顯示數(shù)字子程序
            extern void led_showhh(unsigned int n); //16進制顯示數(shù)字子程序
            extern void led_test(void); //4LED測試函數(shù)
            extern void led_delay(unsigned char ms); //延遲函數(shù)
            */

            // SAA3010函數(shù)內(nèi)容
            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 中斷優(yōu)先
            TCON |= 0x41; //TCON EX0下降沿觸發(fā),啟動T1 //
            ykbnum=0;
            ykcodetemp=0;
            ykdelay=0;

            }

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

            bit YkTest(void) //檢查有無遙控信號
            {
            return(ykok);
            }


            上一頁 1 2 下一頁

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉