连接键盘与鼠标的设备。
打开键盘看里面的电路板,有4根线连接:
分别是:CLK,VCC,DATA,GND
塑料块朝下,面向自己。塑料块右边为脚,左边为第二脚,然后是3.4.5.6
1脚接CLK,3脚接VCC,5脚接DATA,6脚接GND。
#include<reg52.h>
#define uchar unsigned char
uchar code table[4][4]=
{0xC0,0xF9,0xA4,0xB0,
0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
uchar i,j;
void delay()
{
uchar x,y;
for(x=10;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
while(1)
{
P1=0x0f;
if((P1&0x0f)!=0x0f)
{
delay();
switch (P1)
{
case 0x07: j=3;break;
case 0x0b: j=2;break;
case 0x0d: j=1;break;
case 0x0e: j=0;break;
default:break;
}
}
P1=0xf0;
if((P1&0xf0)!=0xf0)
{
delay();
switch (P1)
{
case 0x70: i=3;break;
case 0xb0: i=2;break;
case 0xd0: i=1;break;
case 0xe0: i=0;break;
default:break;
}
}
一台同事用电脑,在使用中突然出现死机现象,但重新启后电脑却出现黑屏现象。
分析与处理
打开机箱后仔细观察,发现通电时电源指示灯亮、风扇转动正常,据此估计电源应该是没有问题的。
利用替换法逐步更换了可能导致电脑黑屏的配件,如内存、显卡、CPU等,但奇怪的是故障依旧。经多次试验后发现,该电脑偶尔可以正常启动,但屏幕上出现“键盘错误”的提示后,就不能继续了。
据此怀疑可能是键盘接口损坏、松动或是电缆接触不良、部分断路。于是准备将键盘插头拔下来检查一下,可是在拔插头时,笔者感到电缆线的表面温度很高,且已经软化。顺着这根电缆线一直查到电缆与键盘的连接处,这才发现电缆的外包装胶皮已经磨损脱落,而内部的几根导线并在一起,且一些裸露的金属导线也彼此相接触,从而造成了较严重的短路现象。同时由于短路后的电流较大,致使键盘线温度升高,主板也因供电电压不足,才出现了不能启动、黑屏的故障。
因为当时没有现成的键盘可以替换,于是笔者便动手将键盘拆开,露出内部电路板。然后将外皮损坏的电线剪去一段,再按照原样重新进行了焊接,插上键盘开机测试,电脑恢复了正常。
发生此故障的原因,主要是安装电脑时键盘线留出的自由活动余量较小,且挤在了桌缝当中,而在使用时感到不便,就经常抽动键盘且用力较大,致使键盘线与键盘脱离,时间长了便造成了外皮磨损而短路的故障。