找回密碼
         注冊會員
        搜索附件  

        5_3_0782cb2ccdcca4c.jpg

         

        自制紅外遙控器(2):
        /*-------------本程序由GAQ制作-----------24m晶振---*/
        /*----------------QQ472666316---------------------*/
        /*--------------saa3010和sc3010飛利浦解碼---------*/
        /*-----------------------------------------------*/
        #include<reg52.h>
        #define uchar unsigned char
        #define uint unsigned int
        sbit ir=P1^7; //紅外端
        sbit ledcs=P1^6; // led的片選
        sbit bm=P1^4;
        sbit wm=P1^5;
        bit irout;
        bit wflage;
        bit flage,keyflage;
        uchar irdate,count,set_count=62;//時間是62~~65時間設(shè)置的越長靈敏低


        void delayms(uchar gaq) //延時10ms
        {
        uchar j,k,a;
        for(a=gaq;a>0;a--)
        for(j=200;j>0;j--)
        for(k=255;k>0;k--);
        }


        void init_time0()
        {
        TMOD=0x02;
        TH0=0xE6;
        TL0=0xE6;
        ET0=1;
        EA=1;
        }


        /*----------------------------------------------*/
        /*------------------saa3010的位0-----------------*/
        /*----------------------------------------------*/

        void bit0()
        {
        flage=1;
        count=0;
        TL0=TH0;
        TR0=1;
        while(count<set_count);
        TR0=0;
        flage=~flage;
        count=0;
        TL0=TH0;
        TR0=1;
        while(count<set_count);
        TR0=0;
        }
        /*----------------------------------------------*/
        /*------------------saa3010的位1-----------------*/
        /*----------------------------------------------*/
        void bit1()
        {
        flage=0;
        count=0;
        TL0=TH0;
        TR0=1;
        while(count<set_count);
        TR0=0;
        flage=~flage;
        count=0;
        TL0=TH0;
        TR0=1;
        while(count<set_count);
        TR0=0;
        }

        /*----------------------------------------------*/
        /*------------------saa3010的起始位2個----------*/
        /*----------------------------------------------*/


        void start_2()
        {
        bit1();
        bit1();

        }

        /*----------------------------------------------*/
        /*------------------saa3010的控制位 1位---------*/
        /*----------------------------------------------*/

        void control_1()
        {
        wflage=~wflage;
        if(wflage)
        bit1();
        else
        bit0();
        }

        /*----------------------------------------------*/
        /*------------------系統(tǒng)碼5位全是0--------------*/
        /*----------------------------------------------*/
        void system_5()
        {
        uchar i;
        for(i=0;i<5;i++)
        {
        bit0();
        }

        }


        /*----------------------------------------------*/
        /*------------------指令碼6位-----------------*/
        /*----------------------------------------------*/
        void command_6()
        {
        uchar i;
        irdate<<=2;
        for(i=0;i<6;i++)
        {
        if(irdate&0x80)
        {
        bit1();
        }
        else
        {
        bit0();
        }
        irdate<<=1;
        }
        ir=1;
        }

        /*----------------------------------------------*/
        /*------------------按鍵掃描程序-----------------*/
        /*----------------------------------------------*/
        void keyscan()
        {
        uchar keytemp;
        P3=0xff;
        keytemp=P3&0x0f;
        if(keytemp!=0x0f)
        {
        delayms(2); //延時10ms
        keytemp=P3&0x0f;
        if(keytemp!=0x0f)
        keyflage=1; //有按鍵標(biāo)志
        switch(keytemp)
        {
        case 0x0e:irdate=32;P0=1;break;//按鍵1對應(yīng)該遙控器P+的鍵值
        case 0x0d:irdate=33;P0=2;break;//按鍵2對應(yīng)該遙控器P-的鍵值
        case 0x0b:irdate=16;P0=3;break;//按鍵3對應(yīng)該遙控器VOL+的鍵值
        case 0x07:irdate=17;P0=4;break;//按鍵4對應(yīng)該遙控器VOL-的鍵值
        }
        }
        }


        void main()
        {
        ledcs=1;
        bm=0;
        wm=0;
        irout=1;
        init_time0(); //設(shè)置定時器產(chǎn)生38khz
        while(1)
        {
        keyscan();
        if(keyflage==1)
        {
        start_2();
        control_1();
        system_5();
        command_6();
        keyflage=0;
        }
        }

        }

        /*----------------------------------------------*/
        /*----------------產(chǎn)生38khz的載波頻率-----------*/
        /*----------------------------------------------*/
        void time0() interrupt 1 using 1
        {
        count++;
        if(flage==1)
        irout=~irout;
        else
        irout=1;
        ir=irout;
        }

        我這是用keil3的波形仿真的 我感覺用這個做波形的實驗和好使




        5_3_0782cb2ccdcca4c.jpg

        QQ|手機(jī)版|MCU資訊論壇 ( 京ICP備18035221號-2 )|網(wǎng)站地圖

        GMT+8, 2025-5-5 12:32 , Processed in 0.040137 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2025 Discuz! Team.

        返回頂部
        国产精品爽黄69天堂a| 亚洲国产成人精品久久久国产成人一区二区三区综| 国产精品福利片免费看| 国产精品激情综合久久| 久久夜色精品国产www| 亚洲午夜国产精品无码老牛影视| 国产午夜精品久久久久免费视 | 亚洲国产最新在线一区二区| 日韩精品无码一区二区三区不卡 | 久久人搡人人玩人妻精品首页| 中国又粗又大又爽的毛片| 精品国产VA久久久久久久冰| 777国产盗摄偷窥精品0OOO| 久热精品人妻视频| 欧美亚洲色综久久精品国产| 欧美精品天天操| 亚洲精品无码久久毛片| 精品一区二区三区东京热| 97久久精品人人做人人爽| 中文精品99久久国产 | 国产精品九九久久精品女同亚洲欧美日韩综合区| 欧美精品一区二区在线精品 | 91精品国产综合久久香蕉 | 国产精品55夜色66夜色| 精品久久久久久久久久久久久久久| 亚洲国产精品久久电影欧美| 88国产精品无码一区二区三区| 亚洲精品无码久久久久AV麻豆| 69堂国产成人精品视频不卡| 欧美日韩国产成人高清视频,欧美日韩在线精品一 | 国产成人精品久久一区二区三区 | 久久国产亚洲精品无码| 国产精品高清免费网站| 亚洲精品无码专区久久久| 99免费精品国产| 色一乱一伦一图一区二区精品| 国产精品午夜一级毛片密呀| 久久精品水蜜桃av综合天堂| 精品无码一级毛片免费视频观看| 人妻少妇精品视中文字幕国语| 国产精品无码v在线观看|