【簡要說明】 一、尺寸:長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); } } /******************************************************************** 結束 *********************************************************************/ 【圖片展示】
|