找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9968|回复: 3
收起左侧

51单片机控制433M无线模块发射程序(小区档车杆)

  [复制链接]
ID:236699 发表于 2019-1-24 22:40 | 显示全部楼层 |阅读模式
感谢论坛的朋友们:刚开始学51单片机,只会点亮单个发光管,做了个小东东,呵呵

433m无线发射波形图:
LANYAKA OK.JPG STC15W204S延时.JPG STC-ISP 6.860.JPG

单片机源程序如下:

//        我刚会点亮单个发光管,其它什么都不会,大家不要笑我的代码啊,哈哈哈哈            
/*   
新手参考测试 11.0592MHZ   STC15F104W STC15W204S STC15F2K61S2(仅单个芯片+pcb裸板,无任何其它电子原件!)
日期:20190124 ver 0.001  test OK
STC-ISP V6.860 设置11.0592MHZ后,是11.0492MHZ--11.0692MHZ 之间,有误差小于3us左右
*/
#include <intrins.h>
#include<STC15F2K60S2.H>
                                //sbit ZTB30=P3^0;
                                //sbit ZTB31=P3^1;
                                //sbit ZTB32=P3^2;
                                //sbit ZTB33=P3^3;                 
sbit ZTB34=P3^4;                  //  批量    STC15F104 发射脚
sbit ZTB54=P5^4;                 //  开发板  st15wc204 发射脚
sbit ZTB55=P5^5;                //  开发板  st15wc204 发射脚
unsigned int  K=1,i;                //  k=0,K=1, 433MHZ发射板 正负逻辑,原装0  模块1


void HH()
         {
         ZTB54=K;ZTB34=K;                         //高电屏
         }  

void LL()
         {
         ZTB54=!K;ZTB34=!K;                       //低电屏
         }

void A1()                                           //高低电屏逻辑   A1 100us 100us
         {        
         HH();for(i=65;i>0;i--);
         LL();for(i=65;i>0;i--);
         }
                          

void B1()                                          //高低电屏逻辑   B1 200us 200us
        {        
        HH();for(i=130;i>0;i--);
        LL();for(i=130;i>0;i--);
        }


void C1()                                          //高低电屏逻辑    C1 400us  400us
       {        
         HH();for(i=260;i>0;i--);
         LL();for(i=260;i>0;i--);
       }


void D1()                                          //高低电屏逻辑  D1  800us  800us
       {         
         HH();for(i=520;i>0;i--);
         LL();for(i=520;i>0;i--);
       }

void  T3()
        {
        HH(); for(i=65535;i>0;i--);              //  100.572ms      11.0592  mhz        
        LL(); for(i=65535;i>0;i--);                 //  100.572ms            11.0592  mhz        
        }
void T4()
       {         
        HH(); for(i=65162;i>0;i--);              //  100ms             11.0592  mhz                 
        LL(); for(i=65109;i>0;i--);                     //  100ms           11.0592   mhz
       }                                                                    


void main()
{
ZTB55=0;                         //与GND短接,当电源地线用 ,(不想跳过此芯片脚:ant、 vcc、 p55+gnd   只焊并排三个脚)  

T3();                              //测试一下高低电屏平均误差时间<3us,
A1();B1();C1();D1();                           
A1();A1();A1();A1();A1();                    
B1();B1();B1();B1();B1();
C1();C1();C1();C1();C1();
D1();D1();D1();D1();D1();
T4();

}


======================================================================================
======================================================================================                 
                     


/*   某小区档车杆 蓝牙卡 发射码 "ABCD" 循环 临时测试 (误差<3us)
                        STC15F104W STC15W204S STC15F2K61S2
             制作日期:20190114 ver 0.004  test
淘宝 433收发模块一套+STC15F104+SOP8板+旧手机电池,全完事8元钱左右写好程序接上电就成了!
*/
#include <intrins.h>
#include<STC15F2K60S2.H>                 
sbit ZTB=P3^4;                                          //  批量    STC15F104 发射脚
sbit ZTB54=P5^4;                                   //  开发板  st15wc204 发射脚
sbit ZTB55=P5^5;                //  开发板  st15wc204 发射脚
unsigned int  K=0,i;                //  k=0,K=1, 433MHZ发射板 正负逻辑,原装1  模块0

void PP()
         {
             ZTB54=K;ZTB=K;ZTB55=K ;
         }  
                                            
void BB()
     {
         ZTB54=!K;ZTB=!K;ZTB55=!K;
     }

void A1()                                           //高低电屏逻辑   A 01 300us 300us
         {        
         PP();for(i=188;i>0;i--);
         BB();for(i=199;i>0;i--);
         PP();
         }
                          

void B1()                                          //高低低电屏逻辑   B 011 300us 700us
     {        
        PP();for(i=188;i>0;i--);
        BB();for(i=458;i>0;i--);
        PP();
         }


void C1()                                          //高高低电屏逻辑    C 001 700us  300us
     {        
         PP();for(i=455;i>0;i--);
         BB();for(i=199;i>0;i--);
         PP();
     }


void D1()                                          //高高低低电屏逻辑  D 0011  700us  700us
     {         PP();for(i=455;i>0;i--);
         BB();for(i=458;i>0;i--);
                PP();
          }
void  T3()
         {
    PP();       for(i=65000;i>0;i--);
        A1();       for(i=66;i>0;i--);
        PP();                for(i=31;i>0;i--);
        A1();       for(i=65;i>0;i--);  
        PP();                for(i=31;i>0;i--);
        B1();            for(i=136;i>0;i--);
        PP();            for(i=11400;i>0;i--);
        A1();
        PP();            for(i=8413;i>0;i--);
         
        }

void T4()
  {         
            PP();  for(i=1260;i>0;i--);
            BB();  for(i=302;i>0;i--);
            PP();

            PP();  for(i=1260;i>0;i--);
            BB();  for(i=302;i>0;i--);
            PP();

            PP();  for(i=1260;i>0;i--);
            BB();  for(i=302;i>0;i--);
            PP();

            PP();  for(i=1260;i>0;i--);
            BB();  for(i=302;i>0;i--);
            PP();
         
  }


void main()
{

T3();
C1();A1();A1();B1();
C1();A1();C1();B1();
C1();A1();C1();A1();
A1();A1();A1();C1();
C1();A1();A1();C1();
C1();D1();D1();C1();
C1();C1();B1();A1();
A1();B1();C1();C1();
A1();
T4();


T3();
A1();B1();A1();B1();
A1();B1();C1();B1();
A1();B1();C1();A1();
C1();B1();A1();C1();
A1();B1();A1();C1();
A1();C1();D1();C1();
A1();D1();B1();A1();
C1();A1();C1();C1();
C1();
T4();


T3();
D1();A1();A1();D1();
D1();A1();C1();D1();
D1();A1();C1();C1();
B1();A1();A1();A1();
D1();A1();A1();A1();
D1();D1();D1();A1();
D1();C1();B1();C1();
B1();B1();C1();A1();
A1();
T4();

T3();
A1();C1();A1();A1();
A1();C1();C1();A1();
A1();C1();C1();B1();
C1();B1();D1();A1();
C1();C1();A1();D1();
A1();B1();A1();B1();
A1();A1();B1();B1();
C1();A1();C1();C1();
A1();
T4();

T3();
D1();D1();C1();D1();
D1();D1();A1();D1();
D1();D1();A1();C1();
B1();B1();C1();B1();
A1();D1();C1();A1();
D1();A1();D1();B1();
B1();B1();D1();C1();
A1();A1();C1();A1();
A1();
T4();

T3();
B1();C1();C1();D1();
B1();C1();A1();D1();
B1();C1();A1();C1();
D1();A1();C1();B1();
C1();C1();C1();A1();
B1();B1();D1();B1();
D1();A1();D1();C1();
C1();B1();C1();A1();
C1();
T4();



}
                 
0.png

全部资料51hei下载地址:
参考.rar (253.82 KB, 下载次数: 94)

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:138119 发表于 2019-1-24 23:31 | 显示全部楼层
本姑娘硕士阶段研究过各类无线收发系统,像2262、2272、1527、等等,固定码,滚动码,并做过一些相关项目,如果感兴趣,可以一起学习交流。QQ:826220679。
回复

使用道具 举报

ID:138119 发表于 2019-1-24 23:37 | 显示全部楼层
这类蓝牙卡,其实说白了和蓝牙是毫无关系的一种产品,一般是由MSP430系列低功耗单片机为核心,38K红外接收头为唤醒条件, 当有车辆靠近道闸的时候,触发道闸控制器,发送固定编码的红外无线信号,当蓝牙卡接收到红外无线信号后会唤醒蓝牙卡上的430单片机,然后按照提前设定的编码通过315MHz或者433MHz或接近的频率发送给道闸控制器,通过道闸控制器内相应的高频接收头,解析蓝牙卡的数据,验证合法性后,打开道闸栏杆。
回复

使用道具 举报

ID:236699 发表于 2019-1-25 12:36 | 显示全部楼层
用的就是图片这个样子类似的,
1.png 2.jpg
3.jpg
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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