打印
[51单片机]

求高手,程序调试一下午了,好奇怪

[复制链接]
4200|33
手机看帖
扫描二维码
随时随地手机跟帖
楼主
crazy2012| | 2013-8-17 18:17 | 显示全部楼层 回帖奖励 |倒序浏览
一看就是学生写的程序,程序思路不对。楼下请给予详细指点。

使用特权

评论回复
沙发
crazy2012| | 2013-8-17 18:18 | 显示全部楼层
其实不奇怪,你的软件架构就不对了,现象能正确就怪了。

使用特权

评论回复
板凳
crazy2012| | 2013-8-17 18:35 | 显示全部楼层
samsunghellome 发表于 2013-8-17 18:27
请师傅给予指点,十分感谢

好吧,同学,我今天给你说的很重要,你要知道,指令是多么的重要,要学会释放CPU,把你的delay去掉,你这样程序不就没法响应其他任务了吗,当然,要转化一下思路。你用定时器来来做消抖处理。


同学,恭喜你,你要进步了。

使用特权

评论回复
地板
crazy2012| | 2013-8-17 18:48 | 显示全部楼层
samsunghellome 发表于 2013-8-17 18:42
师傅,我把delay去掉,用定时器,请问程序其他方面还有问题吗?

用了定时器就不会出现你的乱糟糟的情况了。加上状态机就可以实现你要的按键功能了。


另外你这个delay你是怎么知道他的具体延时时间的呢。你要么查看生成的汇编指令,然后算时间,要么就是用示波器看吧。你这样太不方便了。移植性不好,你换成定时器来做,定时时间精确,想怎么做就怎么做。哈哈。

使用特权

评论回复
5
crazy2012| | 2013-8-17 18:57 | 显示全部楼层
samsunghellome 发表于 2013-8-17 18:53
好的,谢谢师傅指点。我比较喜欢单片机,等我学好了,我也在论坛帮助别人 ...

同学,有兴趣就好,你现在还没有建立起时间观念,单片机玩的就是时间观念。比如扫描键盘,多久扫描一次。这个你都得心中有数。

我们写单片机程序,有时候是需要精确到ns级别的。  你要对ns,us,ms,s有时间观念的。不能大概估的哦。

使用特权

评论回复
6
crazy2012| | 2013-8-17 18:59 | 显示全部楼层
另外提醒你,不是所有的东西都适合软件仿真的哦,比如算法类的你可以仿真下,但是对于这种类似的机械键盘,不同的键盘灵敏度是不同的,延时时间也是不同的哦。


扔掉你的仿真软件,搭建个实际电路。毕竟,最终是要做实物的哦。

使用特权

评论回复
7
crazy2012| | 2013-8-17 19:16 | 显示全部楼层
samsunghellome 发表于 2013-8-17 19:11
哈哈,我手里有德飞莱的51板子,下午捣鼓了一下午,软件仿真一步一步的没问题,下载到板子上就出问题了, ...

是啊,另外告诉你,真正做产品,要比你自己diy玩要考虑问题多的多哦。一个小小的问题瑕疵都可能会让用户觉得不爽哦。

比如你的鼠标,乱跳指针,你是不是有把它砸了冲动。:lol

没啥的,你现在的问题,刚学的人几乎都要遇到这个问题,很正常的,你要做的就是抓紧赶上。

使用特权

评论回复
8
crazy2012| | 2013-8-17 20:24 | 显示全部楼层

把链接里的&epclose=1去掉就可以访问了,不是你的ID的帖子,肯定结不了贴。呵呵。


https://bbs.21ic.com/forum.php?mod=viewthread&tid=600492

使用特权

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

本版积分规则