单片机计数器问题?

1.在PROTEUS软件中绘制系统完整仿真电路原理图,包括8位流水灯电路,三个独立按键电路(分别连接在INT0、INT1引脚和TI引脚);
2.通过定时器T0实现8位流水灯的向左或向右逐个点亮的控制效果,每1秒钟移动1位;
3.通过连接在INT0和INT1引脚的按键闭合动作产生相应的外部中断,若INT0中断就让LED灯左移,若INT1中断就让LED灯右移;
4.顺利完成之后可尝试让通过连接在T1引脚的按键闭合动作产生脉冲下降沿,让T1工作在计数方式模式二自动重装载计数初值,并将TH1和TL1均初始化位0XFF,从而让TI模拟为外部中断源,在其中断服务函数中实现LED流水灯的临时熄灭和继续显示控制(按一次键熄灭,再按一次接着原状态显示,如此交替控制,注意在熄灭前保护原显示状态并停止定时器T0定时,再次显示时还从原状态开始并使能T0继续计时)。

计数器和定时器的工作原理都是加一。。
如果你想要用计数器的话。在TMOD里设百置一下就行了。
如果你想显示下降度沿的次数。你可以读计数器里面的值。。。

在TMOD里设置MOV TMOD,#06H;T0工作在方式2,计数模式
给问T0放初值。比如说MOV TH0,#00H
MOV TL0,#00H
SETB TR0;启动定时器0
这个时候T0从0开始进行加一计数。。。因为我设置的是方式2.所以计数到256的时答候溢出 。所以在方式2的基础上你的计数最大不能超过256.。如果你想要记更大的数。那直接用方式1就行。。好好查查书吧。版。
如果你想显示你的脉冲个数。。直接找个权寄存器比如说A
然后把TH0里面的值取出来就OK拉。。。
比如 MOV A,TH0;
温馨提示:答案为网友推荐,仅供参考
相似回答