关于51单片机中应用m82c54计数器的问题
时间:10-02
整理:3721RD
点击:
单片机晶振12MHz,因此下面函数中,没有做延时处理.
m82c54WR的作用是写控制字,写初值.
82c54有三路16位计数器,分别为计数器0,1,2
现在遇到的问题是,计数器0 计数器1完全正常计数,而计数器2不正常,个人猜测可能初值没有被写入的几率比较大(不确定).
单独测试,计数器0正常 计数器1正常 计数器2不正常
逐个测试,计数器0正常 计数器1正常 当写入计数器2控制字时,计数器0不正常了,计数器1正常
同时测试,计数器0正常 计数器1正常 计数器2不正常
以下是同时测试时Main代码:
- //初始化略过
- //写控制字
- m82c54WR(1,1,0X16);//计数器0方式3
- m82c54WR(1,1,0X56);//计数器1方式3
- m82c54WR(1,1,0X96);//计数器2方式3
- //写初值
- m82c54WR(0,0,0x04);
- m82c54WR(0,1,0x04);
- m82c54WR(1,0,0x04);
以下是电路图和时序图: