电工文库|8051单片机串行口扩展矩阵键盘接口与应用

   更新日期:2017-03-31     来源:建材之家    作者:水电之家    浏览:23    评论:0    
核心提示:由于8051的串行口在方式0工作状态下,可以方便地通过移位寄存器74LS164扩展并行输出口。因此,可以将这些并行口线作为列线,与P3口的行线构成行列式键盘。每占用一条P3口线可增加8个按键,用户根据需要可增减。 在8051的串行口方式0工作状态下,结合P3.4和P3.5实现2*8键盘。如图所示。 C51软件设计: #include<stdio.h> //预处理 #inc

电工知识|电容分相式单相异步电动机正反接原理图

推荐简介:电容分相式单相异步电动机正反接原理图 值得指出,欲使电动机反转,不能像三相异步电动机那样掉换两根电源线来实现,必须以掉换电容器C的串联位置来实现,如图所示,即改变QB的接通位置,就可改变旋转磁场的方向,从而实现电动机的反转。洗衣机中的电动机,就是靠定时器中的自动转换开关来实现这种切换的。......
水电之家讯:由于8051的串行口在方式0工作状态下,可以方便地通过移位寄存器74LS164扩展并行输出口。因此,可以将这些并行口线作为列线,与P3口的行线构成行列式键盘。每占用一条P3口线可增加8个按键,用户根据需要可增减。

在8051的串行口方式0工作状态下,结合P3.4和P3.5实现2*8键盘。如图所示。



C51软件设计:

#include<stdio.h> //预处理

#include<reg51.h>

#include<intrins.h>

unsigned char getkey(void); //键盘扫描函数

void proc1(void); //定义按键处理程序1

void proc2(void); //定义按键处理程序2

void proc3(void); //定义按键处理程序3

void proc4(void); //定义按键处理程序4

……

bit0=P3.4;

bit1=P3.5;

void delay(void); //定义延时函数

void main(void) //主函数

{

unsigned char idata key;

SCON=0x00; //串口初始化

ES=0;

EA=0; //关闭中断

while(1)

{

key=getkey();

if(key!=0xff)

switch (key)

{

case 0x00:

proc0();

braek;

case 0x01:

proc1();

braek;

case 0x02:

proc2();

braek;

case 0x03:

proc3();

braek;

……

……

……

default:

break;

}

}

}

unsigned char getkey(void) //键盘扫描函数

{

unsigned char idata key_code,col=0; mask=0x00;

TI=0;

SBUF=mask;

while(TI==0);

if((bit0&bit1)!= 0)

return(0xff);

delay();

if((bit0&bit1)!= 0)

return(0xff);

mask=0xfe;

while(col!=8)

{

TI=0;

SBUF=mask;

while(TI==0);

if((bit0&bit1)!= 0)

{

mask=mask<<1;

mask=mask|0x01;

col=col+1;

continue;

}

else break;

}

if(col==8)

return(0xff);

if(bit0==1) key_code=col;

else key_code=8+col;

while(bit0&bit1==0);

return(key_code);

}

void delay(void)

{

unsigned int i=10;

while(i--);

}水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
小程序码
 
打赏
 
更多>文章标签:水电之家
更多>同类水电电工资讯
0相关评论

推荐图文更多...
点击排行更多...
水电商机信息更多...
水电电工圈更多...
最新视频更多...
推荐产品更多...
天花之家 | 木门之家 | 灯具之家 | 铁艺之家 | 幕墙之家 | 五金头条 | 楼梯头条 | 墙纸头条 | 壁纸头条 | 玻璃头条 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 照明之家 | 防水之家 | 防盗之家 | 区快洞察 | 潜江建材 | 仙桃建材 | 恩施建材 | 随州建材 | 咸宁建材 | 黄冈建材 | 荆州建材 | 孝感建材 | 荆门建材 | 鄂州建材 | 襄樊建材 | 宜昌建材 | 十堰建材 | 黄石建材 | 长沙建材 | 湘西建材 | 娄底建材 | 怀化建材 | 永州建材 | 郴州建材 |
建材 | 720全景 | 企业之家 | 移动社区 | 关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap | 粤ICP备14017808号-1
(c)2015-2017 BYBC.CN SYSTEM All Rights Reserved
Powered by 电工之家