本帖最后由 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, 不知哪位高手给出一点建议
|