首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求82c54 用三个计数器同时计数的代码

求82c54 用三个计数器同时计数的代码

请教82c54 用三个计数器同时计数的用法或代码

[此贴子已经被作者于2006-1-16 21:41:18编辑过]

给一点提示:

  1)定义控制口地址变量和计数器0高低字节变量

unsigned short U24CtrlPort;
unsigned int i1L, i1H;
//计数器0高低字节变量
并在类的构造函数中赋命令口地址值及初值
usCtrlPort=0x163;
i1L=0;
i1H=0;
  2) 初始化82C54时,给本芯片的控制口地址赋操作命令字并赋初值
Initialize82C54()
{
//在本文中芯片的读写操作均为先读低字节,
再读高字节
_outp(usCtrlPort,0x30);//写命令字
_outp(0x160,0x00); //计数器0赋初值
_outp(0x160,0x00);
}
  3) 用_inp函数读出各地址的值,读数之前先锁存计数值再读数
void Read82C54Data()
{
//锁存82C54计数器的通道
_outp(CtrlPort1,0x00); //锁存82C54计数器0
//读出计数值,先读取低字节,再读取高字节
//读取82C54计数器0
i1L=_inp(0x160);
i1H=_inp(0x160);
_outp(0x160,0x00); //计数器0重赋初值
_outp(0x160,0x00);
}
我是主持人,煸情功夫一流。我是工程师,刻苦学习一生。我是海王星,透明蓝色一体。因为有了你,我就一通百通。
返回列表