[STC单片机] 用定时器和延时函数模拟无线信号

[复制链接]
2034|4
 楼主| cellagent 发表于 2013-10-23 17:49 | 显示全部楼层 |阅读模式
用单片机模拟无线信号波形,波形的格式是:同步头+8位(0或1,用不同的波形表示)。无线信号的接收是通过外部中断0测量波形高电平的宽度,反推出是0或1,从而获取发送的数据。数据位波形高低电平的宽度采用定时器和延时函数,当发送数据0xd6时,proteus仿真波形如下:

黄线是延时函数产生的,蓝线是定时器产生,两个窄脉冲代表'1',两个款脉冲代表'0'。在proteus仿真中,分别用这两种波形输入,另一个单片机均能显示正确的数据,但是实物测试时,延时函数的波形不能被正确读取,定时器产生的波形能够正确读取。我分析可能的原因是延时函数并不能产生和定时器一样的波形,因为其中的指令都需要占用时间,所以实际输出的波形可能发生了变化,导致另一个单片机测量脉冲宽度时范围不匹配(例如,范围在13000~14000代表检测到同步头)。由于没有示波器,不知道这两种波形到底是怎样的。我把程序附上,有示波器的朋友请帮我看看这两种波形波有没有差别,或者觉得我分析有误的,麻烦给出意见,谢谢!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部