久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1770|回復: 0
打印 上一主題 下一主題
收起左側

求這個單片機紅外遙控程序的詳細注釋

[復制鏈接]
跳轉到指定樓層
樓主
ID:626338 發表于 2020-3-27 16:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
10黑幣
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
        
sbit key1=P2^0;  //亮
sbit key2=P2^1;  //滅
sbit key3=P2^2;  //加
sbit key4=P2^3;  //減
sbit key5=P2^4;  //5min
sbit key6=P2^5;  //10min
sbit key7=P2^6;  //20min


sbit LED=P1^1; //發射指示燈

sbit out=P1^0; //紅外發射管

uchar i,a,num1;
void init()//初始化
{
        key1=1;
        key2=1;
        key3=1;
        key4=1;
        key5=1;
        key6=1;
        key7=1;
}
void delay(uchar aa)
{
        uchar bb,cc;
        for(bb=aa;bb>0;bb--)
                for(cc=200;cc>0;cc--);
}
void delayms(uchar aa)//延時程序
{
        for(a=aa;a>0;a--)
        {
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
                _nop_();
        }
}

void khz(uchar aa)//發射38KHZ的程序
{
        for(a=aa;a>0;a--)   //這個for語句可以得到準確的26.3波特率
                {
                        out=0;
                        i=7;                //低了17us
                        while(i>0)i--;                //   38kHZ  
                        out=1;
                                //高了9us      17+9=26us   比26.3快了一點
                }

}
        //khz(116);//3.028ms   精確的時間
        //khz(64);//2.006ms
        //khz(40); //1.052ms
        //delayms(125);//2.012ms      這里是一些的時間介紹
        //delayms(65);//1.054ms
        //delayms(93);//1.5ms
void fashu(uchar num)
{
        khz(116);//發射3ms 38khz
        delayms(125);
        for(num1=8;num1>0;num1--)
        {
                khz(40);
                if(num&0x01)
                        delayms(93);//delay 1.5ms
                else
                        delayms(65);//delay 1ms
                num=num>>1;
        }
        khz(20);
}
void tishi()
{
          LED=0;
                delay(50);
                LED=1;
                delay(50);
                LED=0;
                delay(50);
                LED=1;
}
void keyscan()//按鍵
{
        if(key1==0)
        {
                _nop_();_nop_();_nop_();_nop_();
                _nop_();_nop_();_nop_();_nop_();
                if(key1==0)
                {
                        while(!key1);
                        fashu(0xff);
                        tishi();
                }

        }
        if(key2==0)
        {
                _nop_();_nop_();_nop_();_nop_();
                _nop_();_nop_();_nop_();_nop_();
                if(key2==0)
                {
                        while(!key2);
                        fashu(0xdd);
                        tishi();
                }
        }
        if(key3==0)
        {
                _nop_();_nop_();_nop_();_nop_();
                _nop_();_nop_();_nop_();_nop_();
                if(key3==0)
                {
                        while(!key3);
                        fashu(0xcd);
                        tishi();
                }
        }        
        
        
        if(key4==0)
        {
                _nop_();_nop_();_nop_();_nop_();
                _nop_();_nop_();_nop_();_nop_();
                if(key4==0)
                {
                        while(!key4);
                        fashu(0xbb);
                        tishi();
                }

        }        
        

                if(key5==0)
        {
                _nop_();_nop_();_nop_();_nop_();
                _nop_();_nop_();_nop_();_nop_();
                if(key5==0)
                {
                        while(!key5);
                        fashu(0xfb);
                        tishi();
                }

        }        
        
        
        if(key6==0)
        {
                _nop_();_nop_();_nop_();_nop_();
                _nop_();_nop_();_nop_();_nop_();
                if(key6==0)
                {
                        while(!key6);
                        fashu(0xdf);
                        tishi();
                }
        }        

                if(key7==0)
        {
                _nop_();_nop_();_nop_();_nop_();
                _nop_();_nop_();_nop_();_nop_();
                if(key7==0)
                {
                        while(!key7);
                        fashu(0xef);
                        tishi();
                }

        }        
}
void main()
{
        init();
        while(1)
        {
                keyscan();
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 婷婷色在线| 国产成人精品久久二区二区 | 久久精品一 | 毛片免费在线观看 | 黄色永久免费 | 在线看国产 | 九九精品在线 | 欧美日韩一区精品 | 国产三区在线观看视频 | 亚洲精品一区二区三区蜜桃久 | 九九综合| 日韩高清中文字幕 | 日韩欧美手机在线 | 97在线播放 | 99国内精品久久久久久久 | 久久精品视频在线观看 | 久久综合狠狠综合久久综合88 | 亚洲欧美视频一区二区 | 人成在线| 奇色影视 | www国产成人免费观看视频 | 日本三级电影免费 | 91原创视频在线观看 | 99福利视频 | 久久久久久免费精品一区二区三区 | 91精品国产91久久久久福利 | 中文字幕一区二区三 | 国产极品车模吞精高潮呻吟 | 欧美精品乱码99久久影院 | 91大片| 综合色站导航 | 亚洲免费视频在线观看 | 91精品国产高清一区二区三区 | 日本精品视频在线 | 国产区高清 | 爽爽免费视频 | 久久久久久久久久久久久九 | 又黄又色 | 欧美人妖网站 | 日韩欧美三级电影 | 日韩亚洲欧美综合 |