单片机四位数码管显示中间一行字母

如题所述

51单片机(四位数码管的显示)程序基于单片机V1或V2实验系统,编写一个程序,实现以下功能:1)首先在数码管 上显示P ”个字符;2)等待按键,如按了任何一个键,则将这 4个字符清除, 改为显示0000”个字符(为数字的0)。E3最佳答案下面这个程序是4x4距阵键盘丄ED数码管显示,一共可以到0-F显示,你可以稍微改一下就可以实现你的功能了,如还有问题请发信息,希望能帮上你!#i nclude<at89x52.h> un sig ned char codeDig[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //gongyang 数码管 0-F 代码

un sig ned char k;//设置全局变量k为键盘的键值键盘延时函数

//延时函数
void key_delay(void) {int t;for(t=0;t<500;t++);}

键盘扫描函数******************************/
//键盘扫描函数
void keyscan(void)

{unsigned char a;P2 = 0xf0;if(P2!=0xf0){key_delay();if(P2!=0xf0){P2 = 0xfe; key_delay();a = P2;switch (a)
//键盘初始化//有键按下?//延时//确认真的有键按下?//使行线 P2.4 为低电平,其余行为高电平//a 作为缓存//开始执行行列扫描{case 0xee:k=15;break;case 0xde:k=11;break;case 0xbe:k=7;break;case 0x7e:k=3;break;default:P2 = 0xfd; //使行线 P2.5 为低电平,其余行为高电平a = P2;switch (a)
case 0xed:k=14;break;case 0xdd:k=10;break;case 0xbd:k=6;break;case 0x7d:k=2;break;default:P2 = 0xfb; //使行线 P2.6 为低电平,其余行为高电平a = P2;switch (a){case 0xeb:k=13;break;case 0xdb:k=9;break;case 0xbb:k=5;break;case 0x7b:k=1;break;default:P2 = 0xf7; //使行线P2.7为低电平,其余行为高电平a = P2;switch (a){case 0xe7:k=12;break;case 0xd7:k=8;break;case 0xb7:k=4;break;case 0x77:k=0;break;default:break;
}} break;}}}}

**************************** ***主函数 ***********************************
void main(void){while(1)
//调用键盘扫描函数//查找按键对应的数码管显示代码
{keyscan(); switch(k){case 0:P0=Dig[0];break;case 1:P0=Dig[1];break;case 2:P0=Dig[2];break;case 3:P0=Dig[3];break;case 4:P0=Dig[4];break;case 5:P0=Dig[5];break;
case 6:P0=Dig[6];break;case 7:P0=Dig[7];break;case 8:P0=Dig[8];break;case 9:P0=Dig[9];break;case 10:P0=Dig[10];break;case 11:P0=Dig[11];break;case 12:P0=Dig[12];break;case 13:P0=Dig[13];break;case 14:P0=Dig[14];break;case 15:P0=Dig[15];break; default:break; // 退出}}}

end
Welcome ToDownload !!!欢迎您的下载,资料仅供参考!

5.9
百度文库VIP限时优惠现在开通,立享6亿+VIP内容
立即获取
51单片机(四位数码管的显示)程序[1]
51单片机(四位数码管的显示)程序
基于单片机V1或V2实验系统,编写一个程序,实现以下功能:1)首先在数码管 上显示P ”个字符;2)等待按键,如按了任何一个键,则将这 4个字符清除, 改为显示0000”个字符(为数字的0)。
E3最佳答案
下面这个程序是4x4距阵键盘丄ED数码管显示,一共可以到0-F显示,你可以稍微
改一下就可以实现你的功能了,如还有问题请发信息,希望能帮上你!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-11-23
四位数码管显示字母:使用LED时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
相似回答