之前买了快315m的无线模块 一直没用,不知道干点什么好,闲着没事呢就用它做了个无线开关遥控模块,开关数是两路,每路是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位数据,可变波特率 TMOD &= 0x0F; //清除定时器1模式位 TMOD |= 0x20; //设定定时器1为8位自动重装方式 TL1 = 0xe8; //设定定时初值 //1200 TH1 = 0xe8; //设定定时器重装值 ET1 = 0; //禁止定时器1中断 TR1 = 1; //启动定时器1 EA=1; } void main() { int i; timerinit(); while(1) { if(k1==0) { delay(10); if(k1==0) //按键动作被接受 { while(k1==0); //等待松手 bell=0;led1=~led1; //按键指示部分 delay(10); bell=1; for(i=0;i<5;i++) //发送按键1的编码f0发送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,发送5次 { SBUF=0x0f; while(TI==0); TI=0; } } } } } 帮顶的,有代码你更不会回帖,对此说呵呵 接收端的代码 #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位数据,可变波特率 TMOD &= 0x0F; //清除定时器1模式位 TMOD |= 0x20; //设定定时器1为8位自动重装方式 TL1 = 0xe8; //设定定时初值 //1200 TH1 = 0xe8; //设定定时器重装值 ET1 = 0; //禁止定时器1中断 TR1 = 1; //启动定时器1 ES=1; EA=1; } void main() { timerinit(); while(1) { } } /*串口接收*/ void uart() interrupt 4 { static unsigned char dat; if(RI) //接收中断 { RI=0; //读取接受到的数据 dat=SBUF; } //如果是按键1的编码 if(dat==0xf0) { REN=0; //继电器开关受控做出反应 times=0; delay(200); //延时确保受控电器不致于频繁开关 jk1=~jk1; led1=~led1; //开关指示灯状态 ,灯灭断开,灯亮接通 dat=0; REN=1; } if(dat==0x0f) { REN=0; delay(200); jk2=~jk2; led2=~led2; dat=0; } } |
Xenical Prix Remboursement ImmawayKak https://asocialiser.com/ – Cialis anensatoetrY Venta Cialis Hermosillo slitteemek cialis 20mg dieskrem For Sale Discount Progesterone