本帖最后由 懒惰的魔方 于 2016-12-19 14:03 编辑
单片机晶振12MHz,
因此下面函数中,
没有做延时处理.
m82c54WR的作用是写控制字,写初值.
82c54有三路16位计数器,分别为计数器0,1,2
现在遇到的问题是,计数器0 计数器1完全正常计数,而计数器2不正常,个人猜测可能初值没有被写入的几率比较大(不确定).
即使单独测试三路计数器,结果依然一样,依然是计数器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);