谢谢楼主!很有用 |
5楼大侠真厚道 |
你的电路原理图呢? |
骗黑币的大家不要下载,以下是全部程序 //--------------------------------------------------------------------------------------------------------- // 程序名: WX6-6.c // 程序功能: 无线电遥控开关 //--------------------------------------------------------------------------------------------------------- #include <reg51.h> //头文件 #define uchar unsigned char #define uint unsigned int #define IN P0 //接收数据端口 sbit VT=P0^4; //接收控制信号位 sbit REY=P2^6; //继电器REY控制引脚定义 sbit SPK=P2^0; // 沟缋刃藕攀淙胛? sbit LED=P1^0; //继电器工作指示灯 //---------------------------------------- 延时函数 ------------------------------------------------ void delay(uint k) //总延时时间:1ms k { uint i,j; //定义局部变量i、j for(i=0;i<k;i++){ //外层循环 for(j=0;j<121;j++) //内层循环 {;}} } //----------------------------------------- 发声函数 ---------------------------------------------- void fs_d () { unsigned int j,y; // 声明无符号整型变量j, y { for(y=0;y<1000;y++) //循环1000次,嘀响0.5s { SPK=~SPK; //反相输出 for(j=0;j<50;j++); //延时约500μs } delay(200); } } //------------------------------------------ 主函数 ---------------------------------------------- void main() { unsigned char KA,KB; KA=0x01; //无线遥控器A键控制码为0x01 KB=0x02; //无线遥控器A键控制码为0x02 REY=1; //先关闭继电器 while(1) //循环检测 { if(VT==1) //遥控有信号输出 { delay(100); //等待,消除干扰信号 if(VT==1) //依然有遥控信号 { if((IN & 0x0f)==KA) //如果按下遥控器A键 { REY=0; //继电器吸合 LED=0; //继电器工作指示灯亮 fs_d (); //鸣响1声 } if((IN & 0x0f)==KB) //如果按下遥控器B键 { REY=1; //释放继电器 LED=1; //继电器工作指示灯灭 fs_d (); //鸣响2声 fs_d (); } } } } } //----------------------------------------------------------------------------------------------------- |
扣了15黑币也不能下载 |
感谢分享 |
感谢分享@@@@@@@@@@@ |