当前位置:
工控论坛
> >
产品
>
嵌入式系统
>
单片机
我要发帖
高速记数
点击:
1261
| 回复:
7
猎隼
关注
私信
精华:1帖
求助:1帖
帖子:151帖 | 1661回
年度积分:0
历史总积分:8983
注册:2005年9月28日
发表于:2006-01-06 19:51:00
楼主
请问我想在AT89C51上实现高速记数的功能,能不能实现?
分享到:
收藏
邀请回答
回复楼主
举报
周公
关注
私信
精华:10帖
求助:0帖
帖子:119帖 | 5549回
年度积分:0
历史总积分:6446
注册:2002年11月26日
发表于:2006-01-06 22:49:00
1楼
频率、脉冲宽度、计多少?
回复
引用
举报
猎隼
关注
私信
精华:1帖
求助:1帖
帖子:151帖 | 1661回
年度积分:0
历史总积分:8983
注册:2005年9月28日
发表于:2006-01-07 19:58:00
2楼
我自己编了一个类似的程序,在KEIL软件上模拟运行了一下,感觉反应速度不快。主要分了三个部分:
第一部分为记数器的外围信号输入,并进行初始记数。
第二部分为数字转换,将无符号数字转换成6位字符。
第三部分为将六个字符按先后顺序通过P0和P2口进行片选式的输出。
我将焦点都集中在了显示输出的环节,只有在输出端口扫描完一个周期后,才会去检测是否有记数信号的输入。
我欲选的晶振为12MHz,50KHz以下,6位数字。
请帮忙我的思路是否有错误?
回复
引用
举报
胡家
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 552回
年度积分:0
历史总积分:0
注册:1900年1月01日
发表于:2006-01-10 20:20:00
3楼
50K,每一次中断操作不能超过20uS,一个中断的PUSH,POP保护现场都要十来个uS,我觉得你的程序用循环结构绝不可能检测到那么高速的脉冲。你可能需要换晶振,换那东西应该很方便的呀,如果你换个24M的,那就有40个uS可用。把显示放大循环里处理,包括比较耗时的BCD转换。用定时器中断或外部中断来计数,中断里只进行计数,不进行其他的操作。理论上显示会偶尔有读到半个字的情况,但只是理论,肉眼是看不出来的
回复
引用
举报
胡家
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 552回
年度积分:0
历史总积分:0
注册:1900年1月01日
发表于:2006-01-10 20:27:00
4楼
回复
引用
举报
周公
关注
私信
精华:10帖
求助:0帖
帖子:119帖 | 5549回
年度积分:0
历史总积分:6446
注册:2002年11月26日
发表于:2006-01-10 21:21:00
5楼
‘用定时器中断或外部中断来计数,中断里只进行计数’是会产生上述问题。
但计数过程应该是采用计数器方式,50K 是没有问题的。注意把显示扫描过程使用中断完成,不要采用位延时扫描。
回复
引用
举报
猎隼
关注
私信
精华:1帖
求助:1帖
帖子:151帖 | 1661回
年度积分:0
历史总积分:8983
注册:2005年9月28日
发表于:2006-03-17 16:27:00
6楼
我现在已经成功的用中断进行加减计数操作,理论上是可行的,但不知道运行时是否会影响输出显示,会不会有显示不及时的问题。
回复
引用
举报
chenxueyong
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 9回
年度积分:97
历史总积分:128
注册:2006年3月08日
发表于:2007-06-21 20:40:00
7楼
高速计数的频率与单片机外围晶振的频率有绝对关系。晶振频率越高,计数频率越高,但AT89C51的晶振频率不可超过33MHz。
回复
引用
举报
热门招聘
相关主题
RVDS、Keil MDK、Keil C51 区别...
[1309]
proteus单片机仿真软件
[1518]
求PC104PLUS转PCI转接卡
[1034]
单片机、嵌入式系统接口彩色液...
[1561]
使用语音识别密码的智能电话...
[1870]
谁知道486级的PC104 CPU板的...
[2337]
基于i486EX的控制板,帮助!!!...
[1193]
嵌入式产品
[5713]
单片机烧录器
[2785]
请高手支着
[4235]
官方公众号
智造工程师
客服
小程序
公众号