基于AT89S51的4×4 矩阵键程序设计_第1页
基于AT89S51的4×4 矩阵键程序设计_第2页
基于AT89S51的4×4 矩阵键程序设计_第3页
基于AT89S51的4×4 矩阵键程序设计_第4页
基于AT89S51的4×4 矩阵键程序设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于AT89S51的4×4矩阵键程序设计用AT89S51的并行口P1接4×4矩阵键盘,以P3.0-P3.3

作输入线,以P3.4-P3.7作输出线;在数码管上显示数字按键的“0-9”序号,其它按键显示0。原理分析:4X4矩阵键盘每个按键都有它的行值和列值,当每个按键的行值为低电平,列值为高电平时,按键为未按下状态。判断是否有按钮按下时,先让这一行通低电平,再通过扫描每一列来判断是否被按下(逐列使列值通高电平),如果被按下,那么这一列的电平此时会成为低电平;如果这一列在扫描时为低电平,说明这一列有按键被按下,而行值是每次在判断列值前就确定的,这样就能知道到底是哪一个按键被按下了。基本流程:设置第一行为低电平——>扫描每一列(设置为高电平),判断是否为0——>确定是否有按键按下——>设置第二行为低电平——>扫描第二列......(如此循环到第四行,再从第一行重新开始)编译环境:KEILC51V3

仿真软件:proteus7.4

单片机类型:AT89C52数码管类型:7seg-mpx1-cc(cc——共阴数码管)键盘类型:keypad-samllcalc单片机上的程序如下:#include《reg52.h》charcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};sbitrow1=P3^4;sbitrow2=P3^5;sbitrow3=P3^6;sbitrow4=P3^7;inttemp;intkey;//voiddelay500ms();voiddelay20ms();voidmain(){P1=table[0];while(1){P3=0xff;row1=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){delay20ms();temp=P3;temp=temp&0x0f;if(temp!=0x0f){switch(temp){case0x0e:key=7;break;case0x0d:key=8;break;case0x0b:key=9;case0x07:key=0;}P1=table[key];}}P3=0xff;row2=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){delay20ms();temp=P3;temp=temp&0x0f;if(temp!=0x0f){switch(temp){case0x0e:key=4;break;case0x0d:key=5;break;case0x0b:key=6;break;case0x07:key=0;}P1=table[key];}}P3=0xff;row3=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){delay20ms();temp=P3;temp=temp&0x0f;if(temp!=0x0f){switch(temp){case0x0e:key=1;break;case0x0d:key=2;break;case0x0b:key=3;break;case0x07:key=0;break;}}P1=table[key];}P3=0xff;row4=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){delay20ms();temp=P3;temp=temp&0x0f;if(temp!=0x0f){switch(temp){case0x0e:key=0;break;case0x0d:key=0;break;case0x0b:key=0;break;case0x07:key=0;break;}}P1=table[key];}}}/*voiddelay500ms(){inti,j,k;for(i=0;i《10/2;i++){for(j=0;j《180;j++){for(k=0;k《20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论