微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 关于51单片机中应用m82c54计数器的问题

关于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代码:


  1. //初始化略过
  2.         //写控制字
  3.         m82c54WR(1,1,0X16);//计数器0方式3
  4.         m82c54WR(1,1,0X56);//计数器1方式3
  5.         m82c54WR(1,1,0X96);//计数器2方式3
  6.         //写初值
  7.          m82c54WR(0,0,0x04);
  8.         m82c54WR(0,1,0x04);
  9.         m82c54WR(1,0,0x04);

复制代码

以下是电路图和时序图:





Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top