切换到宽版
左右分栏
统计
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
帮助
日志
群组
热榜
分享
记录
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
论坛
群组
火腿广场
手机客户端
帖子
用户
版块
帖子
搜索
PHPWIND
HELLOCQ
哈罗CQ火腿社区
>
单片机与自动控制
>
请教一个做计程装置时遇到的问题
发帖
回复
返回列表
新帖
3267
阅读
8
回复
请教一个做计程装置时遇到的问题
[复制链接]
上一主题
下一主题
离线
BG4ABM
UID:2169
注册时间
2002-10-28
最后登录
2025-05-20
在线时间
5316小时
发帖
1139
搜Ta的帖子
精华
0
访问TA的空间
加好友
用道具
注册用户
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
发帖
1139
加关注
发消息
只看楼主
倒序阅读
0楼
发表于: 2006-09-12
用旋转编码器、单片机和数码管做了一个计程装置,计数程序在t0中断里实现,编码器每 产生10个脉冲,就发生一次中断,表示前进了1厘米。数码管显示采用动态扫描,不断地扫描t0中存储距离的寄存器,并显示出来。
板子做完后发现,旋转编码器转得慢时,数码管上可以看到1厘米1厘米的变化过程,转得快时,数值变化的中间过程看不到,但停下后,可以看到最终的数值,这个数值是正确的。数值变化的中间过程看不到,是因为数码管动态扫描的时间比较长,当t0连续地产生中断时,扫描速度跟不上所致。
后来想实现每前进1厘米,蜂鸣器就响一下的功能,就在t0中断中加了几行setb+延时+clr的指令,然后控制一个三极管驱动蜂鸣器报警。结果发现有这样的问题:如果
延时时间很短(蜂鸣器声音会比较低),快转和慢转时数码管都能正确显示;如果延时时间比较长(蜂鸣器声音会比较响),慢转时数码管还能正确显示,但快转时显示的数值要比实际距离小很多。
我猜测产生这种现象的原因可能是:因为长延时的中断执行过程比较长,快转时一个中断还未执行完,下一个中断又产生了,结果可能漏掉了这次中断的计数,所以显示出来的数值比实际距离要小,不知道我的猜想是否正确,还望高手能解释一下这个现象,有无解决的办法?
共
条评分
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
离线
BG4XCR
UID:32024
注册时间
2006-03-15
最后登录
2025-04-16
在线时间
7464小时
发帖
33381
搜Ta的帖子
精华
0
访问TA的空间
加好友
用道具
注册用户
发帖
33381
加关注
发消息
只看该作者
1楼
发表于: 2006-09-12
我不是高手,你比谁都明白阿。。。。
共
条评分
回复
举报
离线
BG4XCR
UID:32024
注册时间
2006-03-15
最后登录
2025-04-16
在线时间
7464小时
发帖
33381
搜Ta的帖子
精华
0
访问TA的空间
加好友
用道具
注册用户
发帖
33381
加关注
发消息
只看该作者
2楼
发表于: 2006-09-12
用中断t1去发声。
共
条评分
回复
举报
离线
代洪波
UID:21980
注册时间
2004-12-22
最后登录
2021-02-18
在线时间
496小时
发帖
4809
搜Ta的帖子
精华
0
访问TA的空间
加好友
用道具
注册用户
发帖
4809
加关注
发消息
只看该作者
3楼
发表于: 2006-09-12
我觉得关键问题是你得先确定你这个系统可以接受的最高输入脉冲频率,然后再倒过来设计你的程序!因为频率很高的情况下,cpu可以做的事情就相对少了很多!意思就是你自己说的:响应不过来!让人耳朵分辨出来笛笛的声音需要一定时间,不能低于你的脉冲最短时间???
共
条评分
回复
举报
离线
BG7IGJ
UID:2775
注册时间
2002-12-25
最后登录
2009-01-21
在线时间
0小时
发帖
1998
搜Ta的帖子
精华
0
访问TA的空间
加好友
用道具
注册用户
发帖
1998
加关注
发消息
只看该作者
4楼
发表于: 2006-09-12
因为快速旋转时,进中断的速度也快了,在程序还没执行到 扫描程序时,可能已经产生了很多中断,所以不能实时显示。
在中断里加了延时,延时短时声音小,这个很正常,因为延时短,电压未达到锋值
延时长了,会漏数,因为在进入计数器之后,还未退出时,下次脉冲到来会被弗略
共
条评分
回复
举报
离线
BG4UVR
UID:17497
注册时间
2004-06-24
最后登录
2025-07-20
在线时间
5847小时
发帖
11288
搜Ta的帖子
精华
0
访问TA的空间
加好友
用道具
注册用户
发帖
11288
加关注
发消息
只看该作者
5楼
发表于: 2006-09-13
要想提高检测的速度,中断里的程序要尽量的少。这种应用,我一般在检测中断里只有1、2句。
共
条评分
回复
举报
离线
BG4XDO
UID:30892
注册时间
2006-01-25
最后登录
2024-12-20
在线时间
347小时
发帖
1124
搜Ta的帖子
精华
0
访问TA的空间
加好友
用道具
注册用户
发帖
1124
加关注
发消息
只看该作者
6楼
发表于: 2006-09-13
用高速CPU,提高时钟频率
共
条评分
回复
举报
离线
loverslcn
UID:1788
注册时间
2002-09-19
最后登录
2014-04-03
在线时间
0小时
发帖
621
搜Ta的帖子
精华
0
访问TA的空间
加好友
用道具
注册用户
发帖
621
加关注
发消息
只看该作者
7楼
发表于: 2006-09-14
计数器初值必须自动调整,当监测到脉冲变快时就需要减少计数器初值,以获得较慢的中断产生速度;当然每终端表示的前进距离也会自动变化。
共
条评分
回复
举报
离线
bg4kc
UID:36
注册时间
2001-10-04
最后登录
2025-07-18
在线时间
410小时
发帖
2638
搜Ta的帖子
精华
0
访问TA的空间
加好友
用道具
注册用户
发帖
2638
加关注
发消息
只看该作者
8楼
发表于: 2006-09-14
要是显示出来那么快,人眼就看不清了。 好像没什么意义,除非用来高速摄影。
共
条评分
回复
举报
发帖
回复
返回列表
https://www.hellocq.net/forum
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问
隐藏
快速跳转
火腿资讯区
中国QSL卡片管理局
公告通知
各地火腿活动专题
火腿交流区
火腿神聊
新手培训班
莫尔斯电码 - CW
QSL卡展板
火腿技术区
DX通信
QRP and DIY
设备
天线和铁塔
V/UHF和移动通信
卫星和空间通信
APRS专题
业余无线电应急通信
火腿资源区
FlexRadio SDR收发机
现代通信
业余无线电器材信息
EchoLink/IRLP/远程电台及其他VoIP技术专区
火腿文化
ARDF - 业余无线电测向
计算机应用及数码产品
《电子制作》杂志
邻家火腿快讯
单片机与自动控制
HAM软件、HAM网站
业余无线电中文计划
HELLOCQ火腿社区版务工作室
关闭
关闭
选中
1
篇
全选