标题:
求82c54 用三个计数器同时计数的代码
[打印本页]
作者:
lishan0546
时间:
2006-1-16 21:41
标题:
求82c54 用三个计数器同时计数的代码
请教82c54 用三个计数器同时计数的用法或代码
[此贴子已经被作者于2006-1-16 21:41:18编辑过]
作者:
一通百通
时间:
2006-1-17 08:48
给一点提示:
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);
}
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0