315M无线模块+单片机的无线系统 |
来源: 网易博客 作者:未知 摘录:2008-08-15 |
1.引 言 |
本篇文章简单描述了对舰上16枚火箭进行遥控点火zui基本的芯片通信调试过程。有关的具体控制暂未公布,如果你对这个遥控设计感兴趣或有商业需求,请作者,。 2.使用的315芯片的资料: 3. 遥控端信号发射部分的电路(测试用) 4. 原理 ⑴用定时器产生制定脉宽的脉冲 ⑵用计数器计算接收到脉冲的宽度 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 |
注:本资料摘自网络,如有侵害作者利益,请将把其删除。另,本电路我们未实际测试仅供参考,如电路中存在问题请作者本人谢谢! |
免责声明
- 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
- 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
- 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
- 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
2025第十一届中国国际机电产品交易会 暨先进制造业博览会
展会城市:合肥市展会时间:2025-09-20