- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
引言
本篇文章简单描述了对舰上16枚火箭进行遥控点火最基本的芯片通信调试 过程。有关的具体控制暂未公布,如果你对这个遥控设计感兴趣或有商业需求, 请联系作者,QQ使用的315芯片的资料:
/f05p.htm
/j04v.htm
遥控端信号发射部分的电路(测试用)
YCCGXD315*5V|I4Q23933S
YCCGXD
315
*5V|
I
4Q
2
39
3
3S
4
37
6
35
7
■g-
34
9
32
10
31
30
12
29
2S
27
1 \
1(5
厶口
25
1?
?4
13
23
I Q
20
21
C-CPU
ATS9SJ:
原理
第一块单片机p1.0 口输出脉冲方波提供给无线发射模块,无线发射模块将信
号以电磁波的形式传到无线接收模块。 无线接收模块会根据这个电磁波还原出脉 冲方波提供给第二块单片机,第二块单片机进行进一步的解算处理。
通信协议
根据这个原理和315M收发模块的特性。我决定以900us高电平和2000us底
电平表示1; 450us高电平和2000us低电平表示0。而8个1或0组成一个字
节。为了防止误码,所以在每个字节的前面加一个 2ms高电平和2ms低电平的起 始码。
单片机相关知识
⑴用定时器产生制定脉宽的脉冲
⑵用计数器计算接收到脉冲的宽度
GATE=时(门控方式),启动计数器的条件TR=1且INT0=1。所以利用这点, 可以测量外部脉冲的高电平宽度
单片机调试程序
第一步的调试不停发送1 ( 一个位 ) ,观察接收到的信号是否正常。 有示波 器的话非常方便直观,如果没有示波器,那么可以在单片机上接16个LED灯, 将TH0显示在P2 口的8个灯,TL0显示在P0的8个灯。比如收到脉宽 900us的 信号,那么TL0 TH0=1B,下排P2 口左边第二个和右边最后两个灯 亮,上排P0 口左边第一个亮。然而实验中发现实际接收到的脉宽比预计的平均 少2 0 us,但是这丝毫不会影响接收数据的正确性, 因为在这个协议中只要判断
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,
acall send
mov a, acall send
mov a, 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,
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对应位为1折亮,所以当显示TH0的时候最左边的两 个LED会被点亮,而显示TL0的时候从左往右:第三个和最后一个亮。但事实上 脉冲信号存在 20us 的误差。然而这丝毫不影响遥控的准确性, 因为我是取 900us 表示 1, 450us 表示 0,然后根据 8 个 1 或 0
原创力文档


文档评论(0)