找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1783|回复: 5
收起左侧

为什么在单片机最小系统上接上红外头只能接收第一次信息?

[复制链接]
回帖奖励 25 黑币 回复本帖可获得 5 黑币奖励! 每人限 2 次(中奖概率 50%)
ID:368203 发表于 2019-1-23 21:16 | 显示全部楼层 |阅读模式
我首先在单片机开发板上试过用开发板自带的红外线头来测试红外线,发现成功,蜂鸣器会响然后再按一下会关闭。
然后我就换成我买的红外线头插在开发板上并改了相对于的引脚,再一次烧进去,发现蜂鸣器回响,再按一下也会关闭。
接着,我就将红外线头跟蜂鸣器移植到最小系统上,接线与在开发板的接线是一致的。然后我发现按了后,蜂鸣器的确会响,但是再按一下并不会关闭。
我就将程序改了下:
                case 0x18:P1.6=1;P2=~P2;break; //按下2
                case 0x55:P1.6=0;break; //按下3

我在刚烧进程序后就先用电表测了下P2口与P1.6的电压,都是4.1V左右的。当我按下3的时候P1.6的端口电压就变为约为0。
接着,我再按2,发现蜂鸣器没响,而P2口的电压还是维持4.1V左右,我就猜想是否是只能接收第一次的信息?
自己想了很久都没想明白,也上网查了别人的接线图,我自己没发现有什么不一样的,但不知道为什么我的就是只能接到第一次的信息。
希望各位大神能给点指导。
微信图片_20190123210508.jpg

回复

使用道具 举报

ID:232052 发表于 2019-1-23 23:10 | 显示全部楼层
你可以这样,用数码管或者液晶或者仿真调试,总之就是把你发过来的字符显示出来,这样方便调试才能找出问题,单纯这样是找不出问题的。一定要将发的字符打印出来。最好是串口
回复

使用道具 举报

ID:368203 发表于 2019-1-24 11:30 | 显示全部楼层
1137221527 发表于 2019-1-23 23:10
你可以这样,用数码管或者液晶或者仿真调试,总之就是把你发过来的字符显示出来,这样方便调试才能找出问题 ...

就是要显示出发送过来遥控器的编码?
回复

使用道具 举报

ID:368203 发表于 2019-1-24 11:55 | 显示全部楼层
1137221527 发表于 2019-1-23 23:10
你可以这样,用数码管或者液晶或者仿真调试,总之就是把你发过来的字符显示出来,这样方便调试才能找出问题 ...

但是我在开发板上是没有问题的啊,放到最小系统上就不行了,是不是这个最小系统有问题?
回复

使用道具 举报

ID:469900 发表于 2019-1-24 16:22 | 显示全部楼层
看看晶振有没有起振,最好能仿真一下,单步执行看看I/O电压变化
回复

使用道具 举报

ID:368203 发表于 2019-1-24 18:18 | 显示全部楼层
feng168 发表于 2019-1-24 16:22
看看晶振有没有起振,最好能仿真一下,单步执行看看I/O电压变化

最小系统上可以单步执行吗?还是单单在电脑上用keil仿真?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表