51单片机控制LED数码管显示方面的问题?

AD转换是通过计数的方法做的,计数器计的是高电平的时间。
51单片机的int0口既要检测上升沿到来后开启计数器,后又要检测下降沿的到来关闭计数器,单片机还要控制LED数码管的正常显示(不出现闪烁感)应该如何做?
我在其它任务中间插显示,只是简单的一条除法语句就会使led闪烁,这是为什么呢?(要显示的数码管很多,两个四位数码管,30个灯的光柱,还有报警灯)

LED闪烁说明延时不对啊,将延时减小,不要拿中断做计时,若果你的计时间长了,那LED扫描停止了肯定影响,计数可以用一个IO,主程序不断查询是否是高电平,如果是就开硬件计数器在计数器里做计数,然后当检测到IO是低电平就关硬件计数器。这样CPU利用率就高了,你的LED闪烁也解决了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-16
显示用中断,AD转换设为优先中断

最好加个显示芯片,分担一些单片机工作追问

AD转换是通过计数的方法做的,计数器计的是高电平的时间。

单片机的int0口既要检测上升沿到来后开启计数器,后又要检测下降沿的到来关闭计数器,
怎么做呀?在原地等待不行呀!

追答

int0口,只有下降沿和低电平中断,

第2个回答  2011-03-16
计数在中断中,刷led在主程序中
第3个回答  2011-03-16
做成静态显示不就可以了 用164串起来
第4个回答  2011-03-16
将延时时间写短点,还有就是你怎么不附带程序呢?
相似回答