找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5197|回复: 6
打印 上一主题 下一主题
收起左侧

单片机无线电遥控开关源程序 采用PT2262/2272带解码模块

  [复制链接]
跳转到指定楼层
楼主
PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,这种无线模块在生活中有很应用,如遥控车玩具车,遥控门等。本例采用这种模块,来遥控开关.


PT2262/2272无线芯片的资料详见:http://www.51hei.com/bbs/dpj-44384-1.html

单片机源程序:

  1. //---------------------------------------------------------------------------------------------------------
  2. // 程序名:  WX6-6.c
  3. // 程序功能: 无线电遥控开关
  4. //---------------------------------------------------------------------------------------------------------
  5. #include <reg51.h>                            //头文件
  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. #define IN P0                                 //接收数据端口
  9. sbit VT=P0^4;                                 //接收控制信号位
  10. sbit REY=P2^6;                                //继电器REY控制引脚定义
  11. sbit SPK=P2^0;                                // 沟缋刃藕攀淙胛?
  12. sbit LED=P1^0;                                //继电器工作指示灯

  13. //---------------------------------------- 延时函数 ------------------------------------------------       

  14.   void delay(uint k)                               //总延时时间:1ms k
  15.    {
  16.      uint i,j;                                 //定义局部变量i、j  
  17.      for(i=0;i<k;i++){                                //外层循环
  18.      for(j=0;j<121;j++)                             //内层循环
  19.     {;}}
  20.    }

  21. //----------------------------------------- 发声函数 ----------------------------------------------

  22.   void  fs_d ()                                         
  23.     {   
  24.       unsigned int j,y;                        // 声明无符号整型变量j, y        
  25.        {                    
  26.          for(y=0;y<1000;y++)                   //循环1000次,嘀响0.5s
  27.           {  
  28.             SPK=~SPK;                          //反相输出
  29.                 for(j=0;j<50;j++);                 //延时约500μs
  30.            }  
  31.         delay(200);                                       
  32.       }                                          
  33.    }
  34.   
  35. //------------------------------------------ 主函数 ----------------------------------------------

  36. void  main()
  37.   {
  38.     unsigned char KA,KB;   
  39.     KA=0x01;                                  //无线遥控器A键控制码为0x01                     
  40.     KB=0x02;                                  //无线遥控器A键控制码为0x02
  41.     REY=1;                                    //先关闭继电器
  42.     while(1)                                  //循环检测
  43.      {
  44.       if(VT==1)                               //遥控有信号输出
  45.        {
  46.          delay(100);                          //等待,消除干扰信号
  47.          if(VT==1)                            //依然有遥控信号
  48.            {           
  49.                     if((IN & 0x0f)==KA)               //如果按下遥控器A键
  50.                      {
  51.                            REY=0;                         //继电器吸合                 
  52.                    LED=0;                         //继电器工作指示灯亮
  53.                            fs_d ();                       //鸣响1声
  54.                          }
  55.                         if((IN & 0x0f)==KB)               //如果按下遥控器B键
  56.                      {
  57.                       REY=1;                          //释放继电器
  58.               LED=1;                          //继电器工作指示灯灭  
  59.                           fs_d ();                        //鸣响2声
  60.               fs_d ();
  61.                      }
  62.                           
  63.            }
  64.         }

  65. …………限于本文篇幅 余下代码请从51黑下载附件…………


复制代码



该系列源码包含有很多非常经典,代码风格十分规范,而且注释详细的单片机例程,还带仿真,对于MCU学习特别是初学者是很有帮助的,全部源码下载(共25个项目):http://www.51hei.com/bbs/dpj-79328-1.html

本例程下载(含proteus仿真工程文件与源码):
单片机无线电遥控开关源程序.rar (20.24 KB, 下载次数: 113)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:168444 发表于 2017-3-30 10:22 | 只看该作者
感谢分享@@@@@@@@@@@
回复

使用道具 举报

板凳
ID:164749 发表于 2017-12-7 17:35 | 只看该作者
感谢分享
回复

使用道具 举报

地板
ID:405193 发表于 2018-11-15 21:19
扣了15黑币也不能下载

5#
ID:254412 发表于 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 ();
                     }
                          
           }
        }
     }
  }

//-----------------------------------------------------------------------------------------------------



回复

使用道具 举报

6#
ID:166284 发表于 2019-5-9 14:41 来自手机 | 只看该作者
你的电路原理图呢?
回复

使用道具 举报

7#
ID:721169 发表于 2020-4-6 12:27 来自手机 | 只看该作者
5楼大侠真厚道
回复

使用道具 举报

8#
ID:485041 发表于 2020-4-30 13:53 | 只看该作者
谢谢楼主!很有用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表