按键输入和LED数码管扫描显示实验.doc

上传人:灯火****19 文档编号:136988600 上传时间:2020-07-04 格式:DOC 页数:3 大小:17KB
返回 下载 相关 举报
按键输入和LED数码管扫描显示实验.doc_第1页
第1页 / 共3页
按键输入和LED数码管扫描显示实验.doc_第2页
第2页 / 共3页
按键输入和LED数码管扫描显示实验.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《按键输入和LED数码管扫描显示实验.doc》由会员分享,可在线阅读,更多相关《按键输入和LED数码管扫描显示实验.doc(3页珍藏版)》请在金锄头文库上搜索。

1、按键输入和LED数码管扫描显示实验设计内容:给8个按键键盘的每个键定义一个功能,从左到右按键一次按下时,分别显示数字1-8,当有两个及以上的按键按下时,显示数字9。LCD初始显示个人学号,当有按键按下时,最后一位显示对应的数字。实验程序:#include sbit key=P06; /键盘公共线,见原理图sbit ls1=P02; /千位公共极sbit ls2=P03; /百位公共极sbit ls3=P04; /十位公共极sbit ls4=P05; /个位公共极unsigned char keyval; /读取的键值#define Dat P1 /数据输出端char a;char b4=0,3

2、,3,0; /初始值为学号后四位unsigned char tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /延时-Delay(unsigned int t) while(t-); /显示-void Display(unsigned char mun) unsigned char j; for(j=0;j50;j+) Dat=a; Dat=tabb0; /把得到7段显示码数据送P1端口 ls1=0; /点亮千位 Delay(100); /显示一会 ls1=1; /关闭,显示下一位 Dat=tabb1; ls2=0; /点亮百位 De

3、lay(100); ls2=1; Dat=tabb2; ls3=0; /点亮十位 Delay(100); ls3=1; /个位 Dat=tabb3; ls4=0; Delay(100); ls4=1; Dat=0xff; /P1恢复为0xff/-键盘扫描程序-Scankey() unsigned char i; key=0; /拉低键盘公共线 if(Dat!=0xff) /有键按下 Delay(1000); /消抖动 if(Dat!=0xff) /有键按下 i=Dat; a=Dat; /读取键盘状态, switch(i) case 0x01: keyval=0x01;break; /K1 ca

4、se 0x02: keyval=0x02;break; /K2 case 0x04: keyval=0x03;break; /K3 case 0x08: keyval=0x04;break; /K4 case 0x10: keyval=0x05;break; /K5 case 0x20: keyval=0x06;break; /K6 case 0x40: keyval=0x07;break; /K7 case 0x80: keyval=0x08;break; /K8 default: keyval=0x09;break; /其它双键按下不处理,均为9 b3=b2;b2=b1;b1=b0;b0=keyval; while(Dat!=0xff) key=1; /暂时关闭键盘,不干扰显示 Display(keyval); /等待按键抬起 key=0; /开启键盘检测 key=1; /释放键盘公共线/-主程序-main() while(1) Display(keyval); /显示 Scankey(); /键盘扫描

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号