数码信息历只有4个按键(51单片机四位数码管4个LED灯4个按键实现多种功能?)

Posted

篇首语:人并不是因为美丽才可爱,而是因为可爱才美丽。本文由小常识网(cha138.com)小编为大家整理,主要介绍了数码信息历只有4个按键(51单片机四位数码管4个LED灯4个按键实现多种功能?)相关的知识,希望对你有一定的参考价值。

数码信息历只有4个按键(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,按下,恢复到初始状态;

硬件电路图:

元件清单

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##电工##电子技术#

相关参考

数码管动态显示实验(基于51单片机的数字时钟设计(数码管和LCD显示))

...和LCD显示)两种显示方法一,针对初学者的要求1、掌握单片机定时/计数器的工作原理和控制方法。2、熟练掌握单片机定时/计数器的几种不同工作方式特点及其选择方法。3、掌握实验系统中数码管显示部分的电路结构和特点。4...

数码管在protues里怎么找(基于51单片机的电子时钟内附开题报告模板、论文模板)

基于单片机的数字式电子时钟设计设计要求1)设计AT89S51的最小系统;2)LED显示电路及与AT89S51接口,LED数码块显示时、分、秒;3)时钟调整电路及与AT89S51接口;4)电子时钟程序设计;5)基于Proteus的电子时钟原理及仿真实现;...

数码管共阴极编码(讲解单片机四位数码管)

想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。我们在开发板上可以看到数码管这个元器件,它的主要作用就是显示数字,下面我们就来看一下它具体的引脚功能。四位数码管模块(74HC595)的使用14脚:DS(SER...

数码信息历(那些红极一时的手机品牌,现在还存活多少?)

...、网页浏览及其他无线资讯服务。较新的型号亦加入个人数码助理功能如电话簿、行事历等及话音通讯功能。大部分BlackBerry设备附设小型但完整的QWERTY键盘,方便用户输入文字

热转印杯子调试(太牛了业余单片机爱好者用DS3231制作自动亮度的4位数码管时钟)

作为一名业余的单片机爱好者,从开始玩到现在,做的最多的就是各种各样的时钟了。从最初的纯软件计时,到DS1302时钟芯片再到后来的GPS、SNTP对时的都做过。纯软件计时一断电就全归零了,完全没有实用价值;DS1302的好一些...

热转印杯子调试(太牛了业余单片机爱好者用DS3231制作自动亮度的4位数码管时钟)

作为一名业余的单片机爱好者,从开始玩到现在,做的最多的就是各种各样的时钟了。从最初的纯软件计时,到DS1302时钟芯片再到后来的GPS、SNTP对时的都做过。纯软件计时一断电就全归零了,完全没有实用价值;DS1302的好一些...

数码管显示数字(单片机-动态数码管)

#include"REG52.H"typedefunsignedintu16;typedefunsignedcharu8;#defineSMG_A_DP_PORTP0sbitHCA=P2^2;sbitHCB=P2^3;sbitHCC=P2^4;u8gsmg_code[]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0

数码管显示0到9编码(详解7段数码管的工作原理,电气特性及运用电路)

数码管是嵌入式开发中比较常用的一个模块,本篇文章根据查阅的资料以及学习笔记整理成文,尽可能详尽的讲解常用数码管原理和使用方法。有不足和疏忽的地方,请不吝指正。目录1.工作原理2.电气特性3.驱动方式4.开发实例5...

温度报警器(基于51单片机的DS18B20温度报警系统,温度过高声光报警)

功能如下:一、单片机读取DS18B20采集的当前温度,并动态显示在数码管上,精度0.1。二、当温度大于设定值,让发光二极管闪烁,蜂鸣器间断鸣叫。温度高于一定值时,二极管常亮,蜂鸣器一直鸣叫,已达到警示作用。实物焊...

温度报警器(基于51单片机的DS18B20温度报警系统,温度过高声光报警)

功能如下:一、单片机读取DS18B20采集的当前温度,并动态显示在数码管上,精度0.1。二、当温度大于设定值,让发光二极管闪烁,蜂鸣器间断鸣叫。温度高于一定值时,二极管常亮,蜂鸣器一直鸣叫,已达到警示作用。实物焊...