浅谈PS/2接口协议的剖析(第3页)
本文共计5192个字,预计阅读时长18分钟。【 字体:大 中 小 】
微信号已复制到剪贴板
通过软件可在专用键盘复位后把P0.2清0,以使模拟开关CD4052打开相应的通道。这时工控PC的标准键盘将开始工作。标准键盘可以完成工控PC刚启动时对外设检测的应答。复位后的专用键盘不停地扫描有没有按键,如果有键按下则识别按键,并且按照预先的设计进行编码,同时调用发送程序并通过PS/2口发送到工控PC。此时模拟开关关闭相应通道(将P0.2置1),专用键盘接入工控PCPS/2口的时钟线和数据线而工作,但标准键盘被模拟开关从PS/2的时钟线和数据线中断而不工作,这样,双键盘便可时分复用同一个工控PC机的PS/2口。相应的发送子程序如下:
#define DATAP00 用P0.0做数据线
#define CLKP01 用P0.1做时钟线
#define INHIBITP02 用P0.2做CD4052的INH端
#define PORTRP1 用P1口做读入口
#define PORTWP2 用P2口做写出口 可以实现64个自定义键
void send(ucharx)/***function forsend a char da-ta***/
{
uchar i,temp,char_temp;
bit flag_check=1;
INHIBIT=1;//disable standard keyboard
delay_ ms(3);
temp=x;
for(i=0;i<8;i++)//find the number of 1 in this uchar x is odd or not
{
char_temp=temp&0x01;
if(char_temp==0x01)
{
flag_check=!flag_check;
}
temp=temp>>1;
}
CLK=1;//send 1 to P1 then read P1
while (!CLK) //ifCLK is low wait
{
;
}
CLK=1;DATA=1;//send 1 to P1 then read P1
if(CLK==1)
{
delay_us(30);//
}
if(CLK==1&&DATA==1)//send data
{
DATA=0;//start bit 0
delay_us(10);
CLK=0;
delay_us(5);//
temp=x;
for(i=0;i<8;i++)//send 8 bits LSBfirst
{
CLK=1;
delay_us(5);
char_temp=temp&0x01;
if(char_temp==0x01)
{
DATA=1;
}
else
{
DATA=0;
}
//DATA=(bit)(temp&0x01);
//LSB
delay_us(10);
CLK=0;
delay_us(5);
temp=temp>>1;
}
CLK=1;//send check bit
delay_us(5);?
DATA=flag_check;
delay_us(10);?
CLK=0;
delay_us(5)
CLK=1;//send stop bit
delay_us(5);?
DATA=1;
delay us?10??
CLK=0?
delay_us(5);?
CLK=1;
delay_us(30);? ?
CLK=1;DATA=1;//send 1 to P1 then read P1
if(CLK==1&&DATA==0)
{
return; //pc is sending data to mcu, go to
receiving function
}
INHIBIT=0; //enable standard keyboard
}
5 结论
PS/2接口协议是现在大多数键盘、鼠标与PC机通讯的标准协议。其中鼠标对PC机的通讯更为简单,只是传输数据的内容不一样而已。充分理解PS/2接口协议,可以帮助设计者自主开发一些工控机上的专用键盘等外设,并能够按照用户的要求开发出专用的多功能键盘。该工控机的双键盘设计目前已被某工控公司所采纳,并已作为组件加入到产品当中

论文客服 微信扫一扫

论文范文
《范进中举》自测训练(上)
《范进中举》自测训练(下)
音乐课题开题报告(通用13篇)
音乐课题开题报告模板
节奏训练在音乐教学中的运用论文(通用6篇)
机械加工机械振动成因及解决措施论文
探微初中语文课堂之美
情感教育在初中阅读教学中的应用
试论高职院校化学试验室废水污染的防治
电气自动化专业优秀工程师培养探寻
建筑施工安全管理问题研究
高中语文学习中有效思考方法探析
浅论汽车维修与运用机械类模块教学的初步设计
机械加工专业教学现状及教改措施
机械加工行业OA系统解决方案
机械设计与机械加工中常见问题及改善措施论文
建筑设计过程中的150个问题及解决措施
试论机械加工过程中数控技术的运用
机械加工振动问题及措施的论文
机械设备在维修过程中的问题与解决措施