【ARM+51单片机开发板套件试用体验】6矩阵按键设计

  • wanyanfei1984
  • LV4工程师
  • |      2018-04-16 17:07:44
  • 浏览量 1000
  • 回复:0
1、线路板的连接 2、电路原理图: 连接方式: 上图中线路板的连接图:JP8和JP4链接,Jp10和JP3连接,其中的JP165短接片要拔下,否则会引起管脚冲突。 3、程序设计: #include "reg52.h" typedef unsigned int uint; typedef unsigned char uchar; #define SW P1 #define Smg P0 uchar DisplayS ={ 0x3f, //0 0x06, //1 0x5b, //2 0x4f, //3 0x66, //4 0x6d, //5 0x7d, //6 0x07, //7 0x7f, //8 0x6f, //9 0x77, //A 0x7c, //B 0x39, //C 0x5e, //D 0x79, //E 0x71, //F 0xff //全显示 }; uchar Kvalue; void delay(uint); void ScanSW(void); void main() { while(1) { ScanSW(); Smg= ~DisplayS; } } void delay(uint m) { uinti = 1000*m; while(i--); } void ScanSW() { uinta=0; SW= 0xF0; Smg= 0xff; if(SW!= 0xf0) { delay(1); if(SW!=0xf0) { SW= 0x0F; switch(SW) { case(0x7):Kvalue = 1;break; case(0xb):Kvalue = 2;break; case(0xd):Kvalue = 3;break; case(0xE):Kvalue = 4;break; } SW= 0xF0; switch(SW) { case(0x70):Kvalue = Kvalue;break; case(0xb0):Kvalue = Kvalue+4;break; case(0xd0):Kvalue = Kvalue+8;break; case(0xe0):Kvalue = Kvalue+12;break; } while((SW!=0xf0)&& (a<50) ) { delay(2); a++; } } } } 本程序引用了行列扫描的方式进行了矩阵按键的程序设计,完成了矩阵按键从S1~S16对应按键操作时候,数码管会显示出对应的数字。 在后期的计算机设计中可以应用到!
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子