求82c54 用三个计数器同时计数的代码
- UID
- 130076
- 性别
- 男
|
求82c54 用三个计数器同时计数的代码
请教82c54 用三个计数器同时计数的用法或代码
[此贴子已经被作者于2006-1-16 21:41:18编辑过] |
|
|
|
|
|
- UID
- 85745
- 性别
- 男
|
给一点提示:
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);
} |
我是主持人,煸情功夫一流。我是工程师,刻苦学习一生。我是海王星,透明蓝色一体。因为有了你,我就一通百通。 |
|
|
|
|
|