2.基于51单片机数码管的制作

本文介绍了使用51单片机驱动一位和两位数码管显示数字的项目准备工作,包括硬件连接和软件代码实现。对于一位数码管,提供了共阳极数码管的显示代码及延迟函数;对于两位数码管,展示了如何分别计算并显示十位和个位数字的方法。
摘要由CSDN通过智能技术生成

一.项目准备工作

1.硬件:准备一个数码管和一个一位数数码管(不同的型号的数码管与单片机连接的方式不同)下面是小编用的两位数数码管连接图,杜邦线若干。51单片机一个。

 2.软件部分:

一位数码管代码如下:

#include<reg51.h>
unsigned char code s[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};  //共阳极数码管
void delay(unsigned int n)
{
 unsigned int i=0,j=0;
 for(i=0;i<n;i++)
 {
  for(j=0;j<120;j++);
 }
}
void main()
{
	int i;
	for(i=9;i>=0;i--)
	{
		P2=s[i];
		delay(400);
	}
}

     两位数码管 :/10为计算十位显示

                            %10为计算个位显示

代码如下:

#include<reg51.h>
sbit LED_A=P3^0;
sbit LED_B=P3^1;
unsigned char code ledchar[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
//共阳极数码管
void delay(int time) //延迟
	{
   int temp = 0;
	 int i = 0;
	 for(temp=time;temp>=0;temp--)
		{
	 for(i=1000;i>=0;i--){}
	 }
}

void main()
{
      int i,j,x,y;
			LED_A=0;
			LED_B=0;
	  for(i=30;i>=0;i--)
		{ 
		  x=i/10;  //十位显示
			y=i%10;   //个位显示
		  for(j=0;j<20;j++)
			{
			     LED_B=0;
					 LED_A=1;
					 P2=ledchar[x];
					 delay(2);
					 LED_A=0;
					 LED_B=1;
					 P2=ledchar[y];
					 delay(2);
			}
		}
}

仿真如下:

 

采用数码管显示,20-30秒显示日期,40-50秒显示农历和温度,材料:AT89S52RC,DS1302,DS18B20,4位数码管*2,按键*6,开关,74LS573*2,蜂鸣器,5V电源,LED指示灯*2,3V纽扣电池,MAX232,电阻电容若干....QQ:407946228 ------------------------- K1 ---按住不放,查看当前日期 ------------------------- K2 ---按住不放,查看当前农历日期和温度 ------------------------- K3 ---整点提示音开/关 响三声表示开 响一声表示关闭 ------------------------- K4 ---查看当前闹钟时间 ------------------------- 组合按键 ------------------------- ------------------------- k5+k1 进入设置时间 (响一声,兰灯亮) K1 小时加 K2 分钟加 K3 秒加 K5 退出设置 (响两声,兰灯灭) ------------------------- k5+k2 进入设置日期 (响一声,兰灯亮) K1 年加 K2 月加 K3 日加 K4 星期加 k5 退出设置 (响两声,兰灯灭) ------------------------- k5+k4 进入闹钟时间 (响一声,兰灯亮) K1 小时加 K2 分钟加 K4 闹钟开/关 K5 退出设置 (响两声,兰灯灭)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值