51单片机加74hc595驱动多个数码管静态显示的程序设计

51单片机加74hc595驱动多个数码管静态显示的程序设计,第1张

1、首先数码管分为1位,4位,8位,4位和8位的又分为共阴和共阳数码管。

2、共阳数码管,即阳极全部连接在一起,单片机接口给低电位即可点亮对应的段位。

3、可利用MCS-51系列单片机的芯片AT89C52的P34,P35,P36,P37进行计时并在数码管上显示时间,作为按键的入口。

4、共阴数码管,即阴极全部连接在一起,单片机接口给高电位即可点亮对应的段位。

5、其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

1、新建项目,做好准备。

2、数码管段选表。

3、延时函数。

4、uchar i; 变量i;wk = 1;打开位选,P0 = 0xf7;1111 0111第4位数码管显示,wk = 0;关闭位选。

5、while(1) //死循环效果{} 。

6、dk = 1; //打开段选,P0 = leddata[i];,dk = 0; //关闭段选,delay(100);//延时效果。

7、选择效果,限制i值的循环范围。

51单片机(四位数码管的显示)程序基于单片机V1或V2实验系统,编写一个程序,实现以下功能:1)首先在数码管 上显示P ”个字符;2)等待按键,如按了任何一个键,则将这 4个字符清除, 改为显示0000”个字符(为数字的0)。E3最佳答案下面这个程序是4x4距阵键盘丄ED数码管显示,一共可以到0-F显示,你可以稍微改一下就可以实现你的功能了,如还有问题请发信息,希望能帮上你!#i nclude<at89x52h> 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)

//键盘初始化//有键按下?//延时//确认真的有键按下?//使行线 P24 为低电平,其余行为高电平//a 作为缓存//开始执行行列扫描{case 0xee:k=15;break;case 0xde:k=11;break;case 0xbe:k=7;break;case 0x7e:k=3;break;default:P2 = 0xfd; //使行线 P25 为低电平,其余行为高电平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; //使行线 P26 为低电平,其余行为高电平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; //使行线P27为低电平,其余行为高电平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 !!!欢迎您的下载,资料仅供参考!

59

百度文库VIP限时优惠现在开通,立享6亿+VIP内容

立即获取

51单片机(四位数码管的显示)程序[1]

51单片机(四位数码管的显示)程序

基于单片机V1或V2实验系统,编写一个程序,实现以下功能:1)首先在数码管 上显示P ”个字符;2)等待按键,如按了任何一个键,则将这 4个字符清除, 改为显示0000”个字符(为数字的0)。

E3最佳答案

下面这个程序是4x4距阵键盘丄ED数码管显示,一共可以到0-F显示,你可以稍微

改一下就可以实现你的功能了,如还有问题请发信息,希望能帮上你!

以上就是关于51单片机加74hc595驱动多个数码管静态显示的程序设计全部的内容,包括:51单片机加74hc595驱动多个数码管静态显示的程序设计、单片机用汇编写两个数码管显示0到99循环的程序、单片机四位数码管显示中间一行字母等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9724432.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存