打印

82C54一个很奇怪的问题

[复制链接]
719|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
uzb9401|  楼主 | 2017-7-22 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 uzb9401 于 2017-7-22 16:27 编辑

用单片机读取82C54的计数值,82C54对外部脉冲计数,外部脉冲为可变量,0-10KHz,现在有个奇怪的问题,就是我断掉外部脉冲到82C54的输入后,读出的计数值并不是我当时写进去的计数初值 ,按理说没有外部脉冲,82C54就不应该计数,开始写进去的计数初值是多少,读出来就应该是多少
但是在有外部脉冲时,计数是对的,
举例:例如外部脉冲是3KHz, 500mS读一次计数值(我用单片机自身定时500ms来完成这个功能),写入的计数初值为5000,那么500ms后,82C54的计数初值5000已经减掉1500,还剩3500,这个值读出来是对的
但是我断掉外部脉冲后,同样给5000的计数初值给82C54,500ms后读取的值竟然不是5000或接近的数值,而是很大的一个数值(>5000),这个我很难理解啊,我量了OUT端,也没输出,表示82C54确实没计数,既然没计数 ,为啥读出的计数值不等于计数初值呢?
我用的是方式5, 不知哪位高手给出一点建议

相关帖子

沙发
uzb9401|  楼主 | 2017-7-22 16:20 | 只看该作者
我把频率降到很低 ,100Hz,最初写入计数初值5000,500m后读82C54的的值时4950,这个毫无疑问是对的(500ms有50个外部脉冲,5000-50=4950,),(5000-4950)*2=100,刚好等于外部的100HZ,
给人的感觉就是不能没有外部脉冲输入,必须有才行,哪怕只有1个都可以,就是写完计数初值后,外部脉冲CLK必须要有脉冲,只要有1个都行,计数都是对的,不能没有,否者感觉像是没激活一样,

使用特权

评论回复
板凳
uzb9401|  楼主 | 2017-7-22 16:32 | 只看该作者
找到原因了,再一本书上找到“仅在GATE由低变高后的第一个CLK脉冲将CR内容写入到CE,并开始计数“这样一段话,这个就是和我想的一样,必须有一个CLK,否者计数值无法写入,读出的值当然是错的了

使用特权

评论回复
地板
tyw| | 2017-7-22 16:44 | 只看该作者
时间间隔定时器82C54.pdf (9.08 MB)

使用特权

评论回复
5
zhangmangui| | 2017-7-25 20:43 | 只看该作者
解决就好

使用特权

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

本版积分规则

34

主题

519

帖子

1

粉丝