單片機晶振12MHz,因此下面函數中,沒有做延時處理. m82c54WR的作用是寫控制字,寫初值.
134154sfnwwawjfr0v0ift.png (75.71 KB, 下載次數: 49)
下載附件
2017-1-2 23:53 上傳
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);
復制代碼
以下是電路圖和時序圖:
134245yy69d04yy6mytczd.png.thumb.jpg (94.83 KB, 下載次數: 64)
下載附件
2017-1-2 23:53 上傳
140313tqorscd5gzs3qxs5.png.thumb.jpg (168.79 KB, 下載次數: 78)
下載附件
2017-1-2 23:53 上傳
|