1. 首页
  2. 编程语言
  3. C
  4. 4X4键盘仿真和程序

4X4键盘仿真和程序

上传者: 2019-01-03 03:27:32上传 ZIP文件 30.9KB 热度 55次
#include #define uchar unsigned char uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(unsigned int a) { while(a--); } main() { uchar i,key,key_l,key_h; i=0; while(1) { P1=0Xf0;//11110000 key_l=P1;//1110000 key_l=key_l&0xf0;//11100000 //11110000 //11100000 if(key_l!=0xf0) { delay(5000); P3=7; if(key_l!=0xf0) { key_l=key_l&0xf0; key_l=key_l|0x0f;//11100000 //00001111 //11101111 P1=key_l;//1110 1111 key_h=P1;//11101110 key_h=key_h&0x0f;//00001110 key_l=key_l&0xf0;//11100000 key=key_l+key_h;//11101110 } switch(key) { case 0xee:P0=table[1];break; case 0xde:P0=table[2];break; case 0xbe:P0=table[3];break; case 0xed:P0=table[4];break; case 0xdd:P0=table[5];break; case 0xbd:P0=table[6];break; case 0xeb:P0=table[7];break; case 0xdb:P0=table[8];break; case 0xbb:P0=table[9];break; case 0xd7:P0=table[0];break; } } } } 1111 key_h=P1;//11101110 key_h=key_h&0x0f;//00001110 key_l=key_l&0xf0;//11100000 key=key_l+key_h;//11101110 } switch(key) { case 0xee:P0=table[1];break; case 0xde:P0=table[2];break; case 0xbe:P0=table[3];break; case 0xed:P0=table[4];break; case 0xdd:P0=table[5];break; case 0xbd:P0=table[6];break; case 0xeb:P0=table[7];break; case 0xdb:P0=table[8];break; case 0xbb:P0=table[9];break; case 0xd7:P0=table[0];break; } } } }
用户评论