首页 独立键盘、矩阵键盘

独立键盘、矩阵键盘

举报
开通vip

独立键盘、矩阵键盘独立键盘、矩阵键盘 键盘 一、实验任务 1、 单片机8个I/O口检测16个按键并用数码管显示 2、 独立键盘K1控制数码管的显示值步进 二、电路图 三、C51程序 1、矩阵键盘 #include #define uint unsigned int #define uchar unsigned char sbit ledk=P2^5; sbit smgdl=P2^6; sbit smgwl=P2^7; sbit key1=P3^4; sbit key2=P3^5; sbit key3=P3^...

独立键盘、矩阵键盘
独立键盘、矩阵键盘 键盘 一、实验任务 1、 单片机8个I/O口检测16个按键并用数码管显示 2、 独立键盘K1控制数码管的显示值步进 二、电路图 三、C51程序 1、矩阵键盘 #include #define uint unsigned int #define uchar unsigned char sbit ledk=P2^5; sbit smgdl=P2^6; sbit smgwl=P2^7; sbit key1=P3^4; sbit key2=P3^5; sbit key3=P3^6; sbit key4=P3^7; void delay(uint a) { uint b; uchar c; for(b=a;a>0;a--) for(c=100;c>0;c--); } void display_smg(uchar smg,uchar value) { uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; uchar code tabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x7 1}; smgwl=1; P0=tablewe[smg]; smgwl=0; smgdl=1; P0=tabledu[value]; smgdl=0; delay(10); } uchar key_press() { uchar key; P3=0xf0; key=P3; key=key&0xf0; if(key==0xf0) { return 0; } else { return 1; } } uchar key_scan() { uchar key_num; if(key_press()) { P3=0xfe; key_num=P3; switch(key_num) { case 0xee: return 0; break; case 0xde: return 1; break; case 0xbe: return 2; break; case 0x7e: return 3; break; } P3=0xfd; key_num=P3; switch(key_num) { case 0xed: return 4; break; case 0xdd: return 5; break; case 0xbd: return 6; break; case 0x7d: return 7; break; } P3=0xfb; key_num=P3; switch(key_num) { case 0xeb: return 8; break; case 0xdb: return 9; break; case 0xbb: return 10; break; case 0x7b: return 11; break; } P3=0xf7; key_num=P3; switch(key_num) { case 0xe7: return 12; break; case 0xd7: return 13; break; case 0xb7: return 14; break; case 0x77: return 15; break; } } } void main() { uchar i,j; while(1) { i=key_press(); if(i==1) display_smg(0,key_scan()); } } 3、 独立键盘 #include #define uint unsigned int #define uchar unsigned char sbit ledk=P2^5; sbit smgdl=P2^6; sbit smgwl=P2^7; sbit key1=P3^4; sbit key2=P3^5; sbit key3=P3^6; sbit key4=P3^7; void delay(uint a) { uint b; uchar c; for(b=a;a>0;a--) for(c=100;c>0;c--); } void display_smg(uchar smg,uchar value) { uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; uchar code tabledu[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x7 1}; smgwl=1; P0=tablewe[smg]; smgwl=0; smgdl=1; P0=tabledu[value]; smgdl=0; delay(10); } void main() { uchar i; i=0; while(1) { if(key1==0) { delay(10); if(key1==0) i++; if(i==10) i=0; while(key1!=1); display_smg(0,i); } } }
本文档为【独立键盘、矩阵键盘】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_079973
暂无简介~
格式:doc
大小:36KB
软件:Word
页数:0
分类:互联网
上传时间:2017-09-26
浏览量:41