欢迎来到天天文库
浏览记录
ID:20361915
大小:37.50 KB
页数:3页
时间:2018-10-10
《四位数码管显示程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、大家可以参考下:我也没调试过大家有问题可以给我留言我的邮箱zhangyi061322@163.com基于单片机V1或V2实验系统,编写一个程序,实现以下功能:1)首先在数码管上显示“P___”4个字符;2)等待按键,如按了任何一个键,则将这4个字符清除,改为显示“0000”4个字符(为数字的0)。最佳答案下面这个程序是4x4距阵键盘,LED数码管显示,一共可以到0-F显示,你可以稍微改一下就可以实现你的功能了,如还有问题请发信息,希望能帮上你!#includeunsignedcharcodeDig
2、[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//gongyang数码管0-F代码unsignedchark;//设置全局变量k为键盘的键值/************************************键盘延时函数****************************/voidkey_delay(void)//延时函数{intt;for(t=0;t<500;t++);}/******
3、******************************键盘扫描函数******************************/voidkeyscan(void)//键盘扫描函数{unsignedchara;P2=0xf0;//键盘初始化if(P2!=0xf0)//有键按下?{key_delay();//延时if(P2!=0xf0)//确认真的有键按下?{P2=0xfe;//使行线P2.4为低电平,其余行为高电平key_delay();a=P2;//a作为缓存switch(a)//开始执行行列扫描{case0xe
4、e:k=15;break;case0xde:k=11;break;case0xbe:k=7;break;case0x7e:k=3;break;default:P2=0xfd;//使行线P2.5为低电平,其余行为高电平a=P2;switch(a){case0xed:k=14;break;case0xdd:k=10;break;case0xbd:k=6;break;case0x7d:k=2;break;default:P2=0xfb;//使行线P2.6为低电平,其余行为高电平a=P2;switch(a){case0xeb:
5、k=13;break;case0xdb:k=9;break;case0xbb:k=5;break;case0x7b:k=1;break;default:P2=0xf7;//使行线P2.7为低电平,其余行为高电平a=P2;switch(a){case0xe7:k=12;break;case0xd7:k=8;break;case0xb7:k=4;break;case0x77:k=0;break;default:break;}}}break;}}}}/*********************************主函数*
6、************************************/voidmain(void){while(1){keyscan();//调用键盘扫描函数switch(k)//查找按键对应的数码管显示代码{case0:P0=Dig[0];break;case1:P0=Dig[1];break;case2:P0=Dig[2];break;case3:P0=Dig[3];break;case4:P0=Dig[4];break;case5:P0=Dig[5];break;case6:P0=Dig[6];break;c
7、ase7:P0=Dig[7];break;case8:P0=Dig[8];break;case9:P0=Dig[9];break;case10:P0=Dig[10];break;case11:P0=Dig[11];break;case12:P0=Dig[12];break;case13:P0=Dig[13];break;case14:P0=Dig[14];break;case15:P0=Dig[15];break;default:break;//退出}}}/*******************************
8、***end***************************************/
此文档下载收益归作者所有