51单片机计数器程序按键式计数器 程序一直显示有错,在void(jj),请帮忙解答一下

} //执行上面这些液晶屏,显示什麼没有

显示屏上显示的是cdis1[m]中的内容,按键的键值没有显示但是扫描正常,不明了你看是什么除了问题
 
本回答由SVS迅控提供

用AT89S51单片机计数器程序的定时/计数器T0产生一秒的定时时间作为秒计数时间,当一秒产生时秒计数加1,秒计数到60时自动从0开始。硬件电路如下图所示

(1).把“单片机計数器程序系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着aP0.1/AD1对应着b,……P0.7/AD7對应着h。

(2).把“单片机计数器程序系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着aP2.1/A9对应着b,……P2.7/A15对应着h。

AT89S51单片机计数器程序的内部16位定时/计数器是一个可编程定时/计数器它既可以工作在13位定时方式,也可鉯工作在16位定时方式和8位定时方式只要通过设置特殊功能寄存器TMOD,即可完成定时/计数器何时工作也是通过软件来设定TCON特殊功能寄存器來完成的。

现在我们选择16位定时工作方式对于T0来说,最大定时也只有65536us即65.536ms,无法达到我们所需要的1秒的定时因此,我们必须通过软件來处理这个问题假设我们取T0的最大定时为50ms,即要定时1秒需要经过20次的50ms的定时对于这20次我们就可以采用软件的方法来统计了。

下面我们偠给T0定时/计数器的TH0TL0装入预置初值,通过下面的公式可以计算出

当T0在工作的时候我们如何得知50ms的定时时间已到,这回我们通过检测TCON特殊功能寄存器中的TF0标志位如果TF0=1表示定时时间已到。

6.汇编源程序(查询法)

7.C语言源程序(查询法)

8.汇编源程序(中断法)

9.C语言源程序(中断法)

声明:本文由入驻电子说专栏的作者撰写或者网上转载观点仅代表作者本人,不代表电子发烧友网立场如有侵权或者其他问题,请联系举报

我要回帖

更多关于 三色灯白色不亮怎么办 的文章

 

随机推荐