标题:
单片机无线电遥控开关源程序 采用PT2262/2272带解码模块
[打印本页]
作者:
51黑电子happy
时间:
2017-3-30 02:40
标题:
单片机无线电遥控开关源程序 采用PT2262/2272带解码模块
PT2262/2272
是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,这种无线模块在生活中有很应用,如遥控车玩具车,遥控门等。本例采用这种模块,来遥控开关.
PT2262/2272
无线芯片的资料详见:
http://www.51hei.com/bbs/dpj-44384-1.html
单片机源程序:
//---------------------------------------------------------------------------------------------------------
// 程序名: 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 ();
}
}
}
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
0.png
(47.83 KB, 下载次数: 54)
下载附件
2017-3-30 02:39 上传
该系列源码包含有很多非常经典,代码风格十分规范,而且注释详细的单片机例程,还带仿真,对于MCU学习特别是初学者是很有帮助的,全部源码下载(共25个项目):
http://www.51hei.com/bbs/dpj-79328-1.html
本例程下载(含proteus仿真工程文件与源码):
单片机无线电遥控开关源程序.rar
(20.24 KB, 下载次数: 115)
2017-3-30 02:38 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
ads2017
时间:
2017-3-30 10:22
感谢分享@@@@@@@@@@@
作者:
刘昕
时间:
2017-12-7 17:35
感谢分享
作者:
xgang320
时间:
2019-5-9 11:48
骗黑币的大家不要下载,以下是全部程序
//---------------------------------------------------------------------------------------------------------
// 程序名: 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 ();
}
}
}
}
}
//-----------------------------------------------------------------------------------------------------
作者:
zctwss321
时间:
2019-5-9 14:41
你的电路原理图呢?
作者:
xiaolingfu
时间:
2020-4-6 12:27
5楼大侠真厚道
作者:
云启
时间:
2020-4-30 13:53
谢谢楼主!很有用
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1