找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6017|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)無(wú)線遙控開關(guān),包含原理圖pcb和源代碼,需要的朋友可以試試?yán)?/span>

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:107189 發(fā)表于 2016-3-4 21:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
之前買了快315m的無(wú)線模塊
一直沒(méi)用,不知道干點(diǎn)什么好,閑著沒(méi)事呢就用它做了個(gè)無(wú)線開關(guān)遙控模塊,開關(guān)數(shù)是兩路,每路是250v10a,功率很足嘛,




源代碼

#include<reg51.h>
sbit datout=P2^0;
sbit k1=P2^1;
sbit k2=P2^2;
//sbit k1=P3^3;
//sbit k2=P3^4;  
sbit led1=P2^3;
sbit led2=P2^4;
sbit bell=P2^0;
void delay(int t)
{
    char i;
    while(t--)
    {
        for(i=0;i<100;i++);
    }
}
void timerinit()
{    
    PCON &= 0x7F;        //波特率不倍速
    SCON = 0x50;        //8位數(shù)據(jù),可變波特率    
    TMOD &= 0x0F;        //清除定時(shí)器1模式位
    TMOD |= 0x20;        //設(shè)定定時(shí)器1為8位自動(dòng)重裝方式
    TL1 = 0xe8;        //設(shè)定定時(shí)初值       //1200
    TH1 = 0xe8;        //設(shè)定定時(shí)器重裝值
    ET1 = 0;        //禁止定時(shí)器1中斷
    TR1 = 1;        //啟動(dòng)定時(shí)器1
    EA=1;
}
void main()
{
    int i;
    timerinit();
    while(1)
    {
        if(k1==0)                
        {
            delay(10);
            if(k1==0)               //按鍵動(dòng)作被接受
            {
                while(k1==0);       //等待松手
                bell=0;led1=~led1; //按鍵指示部分
                delay(10);
                bell=1;                    
                for(i=0;i<5;i++)  //發(fā)送按鍵1的編碼f0發(fā)送5次
                {
                    SBUF=0xf0;
                    while(TI==0);
                    TI=0;
                }
            }            
        }
        if(k2==0)
        {
            delay(10);                
            if(k2==0)
            {
                while(k2==0);
                bell=0;led2=~led2;
                delay(10);
                for(i=0;i<5;i++)//按鍵2的編碼0f,發(fā)送5次
                {
                    SBUF=0x0f;
                    while(TI==0);
                    TI=0;
                }            
            }
        }
     }
}
幫頂?shù)?有代碼你更不會(huì)回帖,對(duì)此說(shuō)呵呵
接收端的代碼

#include<reg51.h>
sbit jk1=P2^0;
sbit jk2=P2^1;  
sbit led1=P2^6;
sbit led2=P2^7;    
void delay(int t)
{
    char i;
    while(t--)
    {
        for(i=0;i<100;i++);
    }
}
void timerinit()
{    
    PCON &= 0x7F;        //波特率不倍速
    SCON = 0x50;        //8位數(shù)據(jù),可變波特率    
    TMOD &= 0x0F;        //清除定時(shí)器1模式位
    TMOD |= 0x20;        //設(shè)定定時(shí)器1為8位自動(dòng)重裝方式
    TL1 = 0xe8;        //設(shè)定定時(shí)初值       //1200
    TH1 = 0xe8;        //設(shè)定定時(shí)器重裝值
    ET1 = 0;        //禁止定時(shí)器1中斷
    TR1 = 1;        //啟動(dòng)定時(shí)器1
    ES=1;
    EA=1;
}
void main()
{
    timerinit();
    while(1)
    {        
    }
}
/*串口接收*/
void uart() interrupt 4
{
    static unsigned char  dat;
    if(RI)                               //接收中斷
    {    
        RI=0;                           //讀取接受到的數(shù)據(jù)
        dat=SBUF;
    }                                   //如果是按鍵1的編碼
    if(dat==0xf0)
    {                          
        REN=0;                        //繼電器開關(guān)受控做出反應(yīng)                 times=0;    
        delay(200);                    //延時(shí)確保受控電器不致于頻繁開關(guān)            
        jk1=~jk1;
        led1=~led1;                   //開關(guān)指示燈狀態(tài)    ,燈滅斷開,燈亮接通
        dat=0;
        REN=1;    
    }
    if(dat==0x0f)
    {                
        REN=0;
        delay(200);                
        jk2=~jk2;
        led2=~led2;
        dat=0;

    }
}
您還沒(méi)有安裝flash播放器,請(qǐng)點(diǎn)擊這里安裝

評(píng)分

參與人數(shù) 1黑幣 +3 收起 理由
mslong + 3 很給力!

查看全部評(píng)分

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:635039 發(fā)表于 2021-10-6 11:28 | 只看該作者
為什么看不到了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表