ZKX's LAB

按键控制七段数码管 51单片机按键控制继电器和共阴七段数码管,要求四个按键各对应一个继电器和数码管,按键按一下继电器闭

2020-10-19知识32

单片机如何按一次按键使七段共阳极数码管从0-f,到f后又回到0等待下一次再按按键? unsigned char duan[16]={0~F的断百码};if(度key=0){for(i=0;i;i+){PA=duan[i];延时问;}for(i=16;i>;0;i-){PA=duan[i];延时;}}如果这样答看不懂,我就专没办法了;属

按键控制七段数码管 51单片机按键控制继电器和共阴七段数码管,要求四个按键各对应一个继电器和数码管,按键按一下继电器闭

用C语言编程两个按键控制三个7段数码管显示0~99 给你了 看看是不是这样的。很抱歉,回答者上传的附件已失效

按键控制七段数码管 51单片机按键控制继电器和共阴七段数码管,要求四个按键各对应一个继电器和数码管,按键按一下继电器闭

/51单片机按键控制继电器和共阴七段数码管,要求四个按键各对应一个继电器和数码管,按键按一下继电器闭合数码管显示对应k的数字,再嗯一下继电器断开数码管变成0。在源程序上,增加控制七段数码管的,4个数码管数据口共用P0端,通过P2^4、P2^5、P2^6、P2^7控制显示includeincludedefine uint unsigned intdefine uchar unsigned chardefine SMGDAT P0/数码管数据口sbit k1=P3^0;sbit k2=P3^1;sbit k3=P3^2;sbit k4=P3^3;sbit JDQ1=P2^0;sbit JDQ2=P2^1;sbit JDQ3=P2^2;sbit JDQ4=P2^3;sbit SMG1=P2^4;数码管位控制sbit SMG2=P2^5;数码管位控制sbit SMG3=P2^6;数码管位控制sbit SMG4=P2^7;数码管位控制uchar code smgsegtab[]={0X3F,0x06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};共阴数码管段码void Delay10ms();void main(){bit k1flag=0;bit k2flag=0;bit k3flag=0;bit k4flag=0;JDQ1=JDQ2=JDQ3=JDQ4=1;while(1){if(k1=0){Delay10ms();if(k1=0){k1flag=~k1flag;k1flag=。k1flag;是逻辑非,~是取反操作】while(k1=0);}}if(k1flag=1){JDQ1=0;继电器1吸合SMG1=1;SMG2=1;SMG3=1;SMG4=1;SMGDAT=smgsegtab[1];数码管显示1SMG1=0;}else{。

按键控制七段数码管 51单片机按键控制继电器和共阴七段数码管,要求四个按键各对应一个继电器和数码管,按键按一下继电器闭

用plc控制一个七段数码管,分别按下四个按钮,数码管分别显示1234,但是其PLC输出口不能是七个,输出口尽量少 PLC输出口用的少的话,那么外围电路就要很复杂了 一共四个按钮,所以是五个状态,所以PLC输出最少是3根线 输出 0 0 0—无按钮按下 0 0 1—按钮① 0 1 0—按钮② 0 1 1—。

如何用C程序编程 如何在运行七段数码管的同时四个按键控制四个LED灯 显示函数用定时器中断来做,不然按键之后等待松手的时候,数码管会熄掉,因为程序卡在那儿了

在PLC中,怎么使用按钮计数并在七段数码管中显示? 用增减计数器,两个按钮上升沿分别控制增减,计数结果就存在D寄存器中,然后读取到4个输出点就可以了。至于超出归零,当检测到9时,重新给D寄存器设1。显示在数码管,就要用外部译码电路,会用到74HC147芯片。你下,很简单直接显示在触摸屏也好啊

急急急急急………………求一个单片机做一个四个按键控制四个七段数码管显示的程序 网上很多,找一个电子钟程序把时间改成逢10进1就是你要的了

8个按键控制一个7段数码管,然后依次显示1到8,有什么方法可以做到?

求51单片机的C程序,就是键盘控制这个一位七段数码管,按键按1按下数码管上能够显示1,按2就能从1变到2。 51单片机的C程序,4*4键盘控制这个八位七段数码管。可以参考一下includedefine uchar unsigned charuchar temp;int key1,key,disbuf;此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e funsigned char code LED7Code[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};unsigned char ledx[8];bit s0,s1;void delay(uchar z){uchar i,j;for(i=0;i;i+)for(j=0;j;j+);}void scan()/要是按键了,扫描键盘编码值{P1=0xF0;delay(1);temp=P1;switch(temp){case 0xe0:key1=0;break;case 0xd0:key1=1;break;case 0xb0:key1=2;break;case 0x70:key1=3;break;}P1=0x0f;delay(1);temp=P1;switch(temp){case 0x0E:key=key1+0;break;case 0x0D:key=key1+4;break;case 0x0B:key=key1+8;break;case 0x07:key=key1+12;break;default:key=-1;}if((key1+1)&(key+1))disbuf=key;}void ejjc()/判断是否按键{P1=0xF0;if(P1。0xF0){ scan();s0=1;}else { s0=0;s1=1;}}void main(){uchar i;while(1){ejjc();if(s0=1&s1=1){s0=0;s1=0;for(i=0;i;i+){ ledx[i]=ledx[i+1];ledx[8]=disbuf;}}P0=0xff;P2=LED7Code[ledx[0]];P0=。

#led数码管#数码管#单片机#继电器#unsigned

随机阅读

qrcode
访问手机版