[STC单片机]

用定时器和延时函数模拟无线信号

[复制链接]
1312|4
手机看帖
扫描二维码
随时随地手机跟帖
cellagent|  楼主 | 2013-10-23 17:49 | 显示全部楼层 |阅读模式
用单片机模拟无线信号波形,波形的格式是:同步头+8位(0或1,用不同的波形表示)。无线信号的接收是通过外部中断0测量波形高电平的宽度,反推出是0或1,从而获取发送的数据。数据位波形高低电平的宽度采用定时器和延时函数,当发送数据0xd6时,proteus仿真波形如下:
无线波形.png
黄线是延时函数产生的,蓝线是定时器产生,两个窄脉冲代表'1',两个款脉冲代表'0'。在proteus仿真中,分别用这两种波形输入,另一个单片机均能显示正确的数据,但是实物测试时,延时函数的波形不能被正确读取,定时器产生的波形能够正确读取。我分析可能的原因是延时函数并不能产生和定时器一样的波形,因为其中的指令都需要占用时间,所以实际输出的波形可能发生了变化,导致另一个单片机测量脉冲宽度时范围不匹配(例如,范围在13000~14000代表检测到同步头)。由于没有示波器,不知道这两种波形到底是怎样的。我把程序附上,有示波器的朋友请帮我看看这两种波形波有没有差别,或者觉得我分析有误的,麻烦给出意见,谢谢!


相关帖子

cellagent|  楼主 | 2013-10-23 17:53 | 显示全部楼层
附上产生两种波形的程序。

两种无线波形.rar

1.69 KB

使用特权

评论回复
cellagent|  楼主 | 2013-10-24 08:30 | 显示全部楼层
问题还没解决,别沉啊。

使用特权

评论回复
xiaoliping1945| | 2013-10-29 19:51 | 显示全部楼层
有时候仿真是跟实际不一样的,可以放到硬件上,用示波器捕获两个波形,看是否是一样的,

使用特权

评论回复
cellagent|  楼主 | 2013-10-29 20:09 | 显示全部楼层
xiaoliping1945 发表于 2013-10-29 19:51
有时候仿真是跟实际不一样的,可以放到硬件上,用示波器捕获两个波形,看是否是一样的, ...

谢谢你的回复。很多情况下就是苦于没有示波器。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

171

帖子

3

粉丝