键盘显示

更新时间:2023-03-13 11:58:14 阅读: 评论:0

夜爬-小满习俗

键盘显示
2023年3月13日发(作者:界海)#include //文件包含

#define uint unsigned int

#define uchar unsigned char //宏定义,方便使用





uchar code table[]={

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90}; //数码管显示编码

uchar num,temp,num1; //全局变量定义





/************************延时子函数***********************************/



void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

/**************************主函数*************************************/



uchar keyscan(); //定义键扫描函数



void display(uchar aa); //定义显示函数





void main()

{

num=0;

P0 = 0xc0 ;



while(1)

{

display(keyscan()); //调用键盘扫描子函数

}

}





/*************************显示子函数**********************************/



void display(uchar aa)

{



P0=table[aa];



}



/************************键盘扫描子函数*******************************/



uchar keyscan()

{

P1=0xfe; //P1赋值,低位送0

temp=P1; //temp读回P1的值,

temp=temp&0xe0; //屏蔽 temp低5位,只看高3位列控是否发声变化

while(temp!=0xe0) //不等,说明第一行有键按下

{ //延时去抖

delay(5); //再检测

temp=P1;

temp=temp&0xe0;

while(temp!=0xe0) //果真有键按下,

{ //把P1给temp,检测按键位置

temp=P1;

switch(temp)

{

ca 0xf6:num=1;

break;

ca 0xee:num=2;

break;

ca 0xde:num=3;

break;



}

while(temp!=0xe0) //一次按键检测,松手跳出循环

{

temp=P1;

temp=temp&0xe0;

}

}

}



P1=0xfd; //检测第二列

temp=P1;

temp=temp&0xe0;

while(temp!=0xe0)

{

delay(5);

temp=P1;

temp=temp&0xe0;

while(temp!=0xe0)

{

temp=P1;

switch(temp)

{

ca 0xf5:num=4;

break;

ca 0xed:num=5;

break;

ca 0xdd:num=6;

break;



}

while(temp!=0xe0)

{

temp=P1;

temp=temp&0xe0;

}

}

}





P1=0xfb;

temp=P1; //检测第三列

temp=temp&0xe0;

while(temp!=0xe0)

{

delay(5);

temp=P1;

temp=temp&0xe0;

while(temp!=0xe0)

{

temp=P1;

switch(temp)

{

ca 0xf3:num=7;

break;

ca 0xeb:num=8;

break;

ca 0xdb:num=9;

break;



}

while(temp!=0xe0)

{

temp=P1;

temp=temp&0xe0;

}

}

}



return num; //返回检测结果,



}



本文发布于:2023-03-13 11:58:13,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678679894236762.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:键盘显示.doc

本文 PDF 下载地址:键盘显示.pdf

下一篇:返回列表
标签:键盘显示
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图