【简要说明】 一、尺寸:长182mmX宽72mmX高12mm
二、主要功能,用于PLC或单片机以及其它低压电器设备的输入操作
三、板子触点电流不得大于1A,电压差不得超过30V,请用于30V一下电器设备。
四、特点:1、32路按键矩阵输入。
2、每一路输入,触发式输出 3、按键采用12x12触感好,寿命长,触发干脆利落。
4、输入端子采用螺旋压接试,防震,仿拽,防氧化,牢固可靠。
5、具有并行的2.54mm排针或者排座接口,客户可以自行加装排针或者排座,方便测试连接。
6、输入端端子可以改为插拔式端子,更换方便简单(需要更换需要购买时联系淘宝销售并详细注明)
7、采用军工级板子,抗压、抗震、寿命长。
8、可以配DIN外壳,方便装入配电柜,安装更方便。
9、按键间距大,空间清晰,可以自己加标贴,避免操作误动作。
10、工作温度-40度至 +70度 11、工作湿度 40% ~ 80%RH
【标注说明】 【功能描述】 【原理图】 【PCB尺寸图】 【应用举例】与单片机链接示意图 /******************************************************************** *********************************************************************/ #include<reg52.h> //库文件 #define uchar unsigned char//宏定义无符号字符型 #define uint unsigned int //宏定义无符号整型 sbit S1=P2^0; //数码管十位 sbit S2=P2^1; //数码管个位 /******************************************************************** 初始定义 *********************************************************************/ uchar code seg7code[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar xs; uchar X,Y,Z; uchar Z1,Z2,Z3,Z4; /******************************************************************** 延时函数 *********************************************************************/ void delay(uchar dj) //延时程序 { unsigned char i,j; for(i=dj;i>0;i--) for(j=248;j>0;j--); } /******************************************************************** 显示函数 *********************************************************************/ void Led(uchar date) //显示函数 { /*****************数据转换*****************************/ uint c,v; c=date%100/10; //求十位 v=date%10; //求个位 S1=1;S2=1; P0=seg7code[c]; S1=0;S2=1; delay(80); S1=1;S2=1; P0=seg7code[v]; S1=1;S2=0; delay(80); S1=1;S2=1; } /******************************************************************** 键盘函数 *********************************************************************/ void Getch ( ) //取键值函数 { P1=0xFF; //先对P1 置数 列扫描 P3=0x7F; //先对P3 置数 行扫描 if(P1!=0xff) //判断是否有键按下 { delay(10); //延时,软件去干扰 if(P1!=0xff) //确认按键按下 { if(P1==0XFE){Z=1;} if(P1==0XFD){Z=2;} if(P1==0XFB){Z=3;} if(P1==0XF7){Z=4;} if(P1==0XEF){Z=5;} if(P1==0XDF){Z=6;} if(P1==0XBF){Z=7;} if(P1==0X7F){Z=8;} } } P1=0xFF; //先对P1 置数 列扫描 P3=0xBF; //先对P3 置数 行扫描 if(P1!=0xff) //判断是否有键按下 { delay(10); //延时,软件去干扰 if(P1!=0xff) //确认按键按下 { if(P1==0XFE){Z=9;} if(P1==0XFD){Z=10;} if(P1==0XFB){Z=11;} if(P1==0XF7){Z=12;} if(P1==0XEF){Z=13;} if(P1==0XDF){Z=14;} if(P1==0XBF){Z=15;} if(P1==0X7F){Z=16;} } } P1=0xFF; //先对P1 置数 列扫描 P3=0xDF; //先对P3 置数 行扫描 if(P1!=0xff) //判断是否有键按下 { delay(10); //延时,软件去干扰 if(P1!=0xff) //确认按键按下 { if(P1==0XFE){Z=17;} if(P1==0XFD){Z=18;} if(P1==0XFB){Z=19;} if(P1==0XF7){Z=20;} if(P1==0XEF){Z=21;} if(P1==0XDF){Z=22;} if(P1==0XBF){Z=23;} if(P1==0X7F){Z=24;} } } P1=0xFF; //先对P1 置数 列扫描 P3=0xEF; //先对P3 置数 行扫描 if(P1!=0xff) //判断是否有键按下 { delay(10); //延时,软件去干扰 if(P1!=0xff) //确认按键按下 { if(P1==0XFE){Z=25;} if(P1==0XFD){Z=26;} if(P1==0XFB){Z=27;} if(P1==0XF7){Z=28;} if(P1==0XEF){Z=29;} if(P1==0XDF){Z=30;} if(P1==0XBF){Z=31;} if(P1==0X7F){Z=32;} } } } /******************************************************************** 主函数 *********************************************************************/ void main() { P1=0xff; //先对P1 置数 列扫描 P3=0xff; //先对P3 置数 行扫描 while(1) { xs=Z; Getch(); //调用取键值函数 Led(xs); } } /******************************************************************** 结束 *********************************************************************/ 【图片展示】
|