您现在的位置:智能制造网>技术首页>技术交流

315M无线模块+单片机的无线系统

2010年07月01日 17:21来源:安阳市新世纪电子研究所 >>进入该公司展台人气:1266

315M无线模块+单片机的无线系统

 来源: 网易博客    作者:未知     摘录:2008-08-15

 
 1.引 言

    篇文章简单描述对舰上16枚火箭进行遥控点火zui基本的芯片通信调试过程。有关的具体控制暂公布,如果你对这个遥控设计感兴趣或有商业需求,请作者

 2.使用的315芯片的资料:
   
/f05p.htm
   
/j04v.htm

 3. 遥控端信号发射部分的电路(测试用)
                    

 4. 原理
   
*块单片机p1.0口输出脉冲方波提供给无线发射模块,无线发射模块将信号以电磁波的形式传到无线接收模块。无线接收模块会根据这个电磁波还原出脉冲方波提供给第二块单片机,第二块单片机进行进一步的解算处理。
 5. 通信协议
   
根据这个原理和315M收发模块的特性。我决定以900us高电平和2000us底电平表示1;450us高电平和 2000us低电平表示0。而8个1或0组成一个字节。为了防止误码,所以在每个字节的前面加一个2ms高电平和2ms低电平的起始码。 
 6. 单片机相关知识

⑴用定时器产生制定脉宽的脉冲

 ⑵用计数器计算接收到脉冲的宽度

GATE=1时(门控方式),  启动计数器的条件 TR=1且INT0=1。所以利用这点,可以测量外部脉冲的高电平宽度

 7. 单片机调试程序

*步的调试不停发送1( 一个位) ,观察接收到的信号是否正常。有示波器的话非常方便直观,如果没有示波器,那么可以在单片机上接16个LED灯,将TH0显示在P2口的8个灯,TL0显示在P0的8个灯。比如收到脉宽900us的信号,那么TL0=11000010B  TH0=1B ,下排P2口左边第二个和右边zui后两个灯亮,上排P0口左边*个亮。然而实验中发现实际接收到的脉宽比预计的平均少20us,但是这丝毫不会影响接收数据的正确性,因为在这个协议中只要判断TH0和TL0的高4位就足以识别是1或0了发送程序关键部分如下。 

略 

    第二步的调试发送一字节数据( 8个位) ,并显示在P2口上ORG 0000H
 

AJMP MAIN

ORG 0010H

MAIN:

          MOV TMOD,#01H

          CLR C

          MOV R5,#08H

 aa:      MOV A,#10101010B

          acall  send

          mov a,#01010101b

          acall send

          mov a,#11110000b

          acall send

          mov a,#1111b

          acall send

          ajmp aa

send:         MOV TH0,#00fcH

              MOV TL0,#0018H

           SETB P1.0

              SETB TR0

              JNB TF0,$

           CLR P1.0

              CLR TF0

              MOV TH0,#00FCH

              MOV TL0,#0025H

               SETB TR0

              JNB TF0,$

              CLR TF0

    SS:        RLC A

              JC S1

              AJMP S0

    S1:        MOV TH0,#00feH

              MOV TL0,#003fH

           SETB P1.0

              SETB TR0

              JNB TF0,$

           CLR P1.0

              CLR TF0

              MOV TH0,#00FCH

              MOV TL0,#0025H

              SETB TR0

              JNB TF0,$

              CLR TF0

              AJMP OUT

    s0:        MOV TH0,#00ffH

              MOV TL0,#001fH

           SETB P1.0

              SETB TR0

              JNB TF0,$

           CLR P1.0

              CLR TF0

              MOV TH0,#00FCH

              MOV TL0,#0025H

              SETB TR0

              JNB TF0,$

              CLR TF0

              ajmp out

    OUT:       DJNZ R5,SS

              clr c

              mov a,#10101010b

              mov r5,#08h

              ret

 DELAY:        mov R0,#05Fh

         w_1:  mov R1,#0fFh

         w_2:  djnz R1,w_2

               djnz R0,w_1               RET 

接收端的电路(测试)

如果顺利,那么在接收芯片的数据输出端也会产生900us脉宽的脉冲波。如果没有示波器,那么怎么知道接受到信号的脉宽呢?我在P2口接了8个LED。读取TH0 TL0 里的数值,取反,然后依次在P2上显示。比如900us脉宽对应TH0=11B TL0=10000100B,对应位为1折亮,所以当显示TH0的时候zui左边的两个LED会被点亮,而显示TL0的时候从左往右:第三个和zui后一个亮。但事实上脉冲信号存在20us的误差。然而这丝毫不影响遥控的准确性,因为我是取900us表示1,450us表示0,然后根据8个1或0组成一个字节的控制码。具体的通信协议就不在这啰嗦了

              
   
接收部分测试用的代码

ORG 0000H

AJMP MAIN

org 0003h

ajmp TF

ORG 0050H

MAIN:   

         SETB IT0        

         CLR IE0

          MOV TMOD,#00001001B

         MOV TH0,#00H

         MOV TL0,#00H

         MOV IE,#10000001B

         ajmp $

 TF:      acall det         

         MOV A,TH0

         CJNE A,#07H,diuqi

         AJMP DETECT

 detect:  acall det

         MOV A,TH0

         CJNE A,#03H,S_C

         AJMP SETB1

     S_C:MOV A,TH0

         CJNE A,#01h,ERROR

         AJMP SETB0

     SETB1:

          MOV A,R7

          SETB C

          RLC A

          MOV R7,A

          DJNZ R3,DETECT

          AJMP OUT

    SETB0:

          MOV A,R7

          CLR C

          RLC A

          MOV R7,A

          DJNZ R3,DETECT

          AJMP OUT

   det:   mov th0,#00h

         mov tl0,#00h

         JB P3.2,detect

         SETB TR0

    S_2: JNB P3.2,S_2

    s_3: JB P3.2,s_3

         clr tr0

         ret

  diuqi:    acall fuwei

           reti

  ERROR:

           clr p0.7

           acall delay

           setb p0.7

           acall delay

           acall fuwei

           RETI

  OUT:      clr p0.6

           CPL A

           mov p2,A

           mov r4,#20h

       del:acall delay

           djnz r4,del

           setb p0.6

           mov p2,#0ffh

           acall delay

           acall fuwei

           reti

 fuwei:     mov TH0,#00h

           mov TL0,#00h

           MOV R3,#08H

           MOV R6,#02H

           clr ie0

           ret

 DELAY:         mov R0,#061h              

         w_1:  mov R1,#0ffh

         w_2:  djnz R1,w_2

               djnz R0,w_1

               RET

注:本资料摘自网络,如有侵害作者利益,请将把其删除。另,本电路我们未实际测试仅供参考,如电路中存在问题请作者本人谢谢!

全年征稿/资讯合作 联系邮箱:1271141964@qq.com
  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。


编辑精选

更多


宣传样本推荐图书

旗下子站

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备



关于我们|本站服务|会员服务|企业建站|旗下网站|友情链接| 兴旺通| 产品分类浏览|产品sitemap

智能制造网 - 工业4.0时代智能制造领域“互联网+”服务平台

Copyright gkzhan.comAll Rights Reserved法律顾问:浙江天册律师事务所 贾熙明律师

客服热线:0571-87756395加盟热线:0571-87759904媒体合作:0571-89719789

客服部:编辑部:展会合作:市场部:

关闭