.........

[复制链接]
3062|9
 楼主| Sundy_ 发表于 2007-9-21 20:00 | 显示全部楼层 |阅读模式
本帖最后由 Sundy_ 于 2013-6-21 17:30 编辑

.....
wangkj 发表于 2007-9-21 22:07 | 显示全部楼层

是不是应该用volitate类型?

用反汇编看看,可能某变量被优化掉了。
z_no1 发表于 2007-9-21 22:24 | 显示全部楼层

几个问题

1:unsigned char timecout; if(timecout==400)
//8位无符号数是0~255,到不了400,
2:P0口是双向口,一般不用它做IO,人家是做总线的身板。
3:“定时400次后关闭定时器”你这样只能听到非常短的一声。不知道你后面接的是喇叭还是蜂鸣器。这两个控制不一样。
4:“用汇编试可以”把代码贴出来吧。还有电路图。我怀疑你汇编和这不一样。
wangkj 发表于 2007-9-22 00:07 | 显示全部楼层

其实这种问题要调试器跟踪一遍,很容易找出问题

单片机的仿真器很便宜,不会连这个都没有吧?
gamethink 发表于 2007-9-23 14:19 | 显示全部楼层

ok

P0做IO没什么特别,加个上拉电阻就可以
古道热肠 发表于 2007-9-23 14:42 | 显示全部楼层

估计是时间大短

  区区400次中断,片刻完成,建议不退出机制,让其狂叫不止,搞响之后再找毛病。
  要注意发声的频率在可听范围,最好是1K,小嗽叭才好听。
yjgyiy 发表于 2007-9-23 23:37 | 显示全部楼层

RE

原因就在
unsigned char值的范围为0~255
ayb_ice 发表于 2007-9-24 07:46 | 显示全部楼层

unsigned char值的范围为0~255...

yezhenyu 发表于 2007-9-24 08:32 | 显示全部楼层

4楼;“单片机的仿真器很便宜”

不会吧,怎么俺知道的怎么都至少1K多RMB啊,呵呵。
wangkj 发表于 2007-9-24 09:04 | 显示全部楼层

1k 还贵呀!trace32,bdi2000这些32系统的仿真器

都是10多万!
1k自己都能买得起。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

10

帖子

0

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