快捷搜索:  汽车  科技

51单片机独立按键控制led灯速度(51单片机四位数码管4个LED灯4个按键实现多种功能)

51单片机独立按键控制led灯速度(51单片机四位数码管4个LED灯4个按键实现多种功能)

任务描述:

用89C51单片机实现如下功能:<初始状态为数码管显示2020,四个灯灭。 1、电路有四个控制按键,四个灯,四个数码管; 2、按键1,按下,,第一个数码管开始从0-9递增,同时第一个灯亮; 3、按键2,按下,第二个数码管开始从0-9显示偶数,同时四个灯的偶数灯亮(即2、4个灯亮); 4、按键3,按下,第三个数码管从0-9显示奇数,同时四个灯的奇数灯亮(即1、3个灯亮); 5、按键4,按下,恢复到初始状态;

51单片机独立按键控制led灯速度(51单片机四位数码管4个LED灯4个按键实现多种功能)(1)

硬件电路图:

51单片机独立按键控制led灯速度(51单片机四位数码管4个LED灯4个按键实现多种功能)(2)

元件清单

51单片机独立按键控制led灯速度(51单片机四位数码管4个LED灯4个按键实现多种功能)(3)

C语言程序

#include<reg51.h> unsigned char tube1[]={0x5b 0x3f 0x5b 0x3f};//数码管初始状态2020 字符码 unsigned char tube2[]={0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 0x07 0x7f 0x6f};//共阴极字符码 sbit key1=P2^0; sbit key2=P2^1; sbit key3=P2^2; sbit key4=P2^3; sbit led1=P3^0; sbit led2=P3^1; sbit led3=P3^2; sbit led4=P3^3; void delay(unsigned int time); void main() { unsigned char i W; while(1) { if(key1==1&key2==1&key3==1) //初始状态 { W=0x01; P3=0X00; for(i=0;i<4;i ) { P1 =W; W<<=1; P0=tube1[i]; delay(10); P1 =0x00; } } if(key1==0) // 按键1按下 { delay(10); if(key1==0) { led1=1; led2=0; led3=0; led4=0; W=0x08; for(i=0;i<10;i ) { if(key2==0|key3==0|key4==0) break; P1 =W; P0=tube2[i]; delay(1000); P1 =0x00; } } while(!key1); delay(10); while(!key1); } if(key2==0) //按键2按下 { delay(10); if(key2==0) { led1=0; led3=0; led2=1; led4=1; W=0x04; for(i=0;i<10;i=i 2) { if(key1==0|key3==0|key4==0) break; P1 =W; P0=tube2[i]; delay(1000); P1 =0x00; } } while(!key2); delay(10); while(!key2); } if(key3==0) //按键3按下 { delay(10); if(key3==0) { led1=1; led3=1; led2=0; led4=0; W=0x02; for(i=1;i<10;i=i 2) { if(key2==0|key1==0|key4==0) break; P1 =W; P0=tube2[i]; delay(1000); P1 =0x00; } } while(!key3); delay(10); while(!key3); } } } void delay(unsigned int time) { unsigned int j; for(;time> 0;time--) for(j=0;j<125;j ); }仿真视频

51单片机四位数码管4个LED灯4个按键实现多种功能的仿真视频(点击蓝色字体可查看视频)

#C语言##单片机##PLC##电工##电子技术#

猜您喜欢: