【小白自学】51单片机:静态数码管显示1314

学习目标:3周了解并掌握51单片机

学习内容:静态数码管显示1314

最终实现的效果如图所示。
在这里插入图片描述
在开始写程序之前,先了解单个数码管是如何点亮的。数码管的引脚分布如下图所示,1234567分别对应abcdefg,你可能觉得从图上来看并不是对应的,但在内部的电路中,其实是按照顺序排列的。
数码管引脚图
想显示一个数字就用一个数码管,那么想显示4个数字就要用4个数码管。如何将4个数码管放在一起呢?其实很简单,只需要将各个引脚连在一个公端即可。
在这里插入图片描述
在这里插入图片描述
那么已经知道数码管是如何连接的,如何实现想要的数字呢?如下方的代码所示,采用最底层的逻辑,想要哪一段亮灭就给哪一段高低电平。在后续的学习中会有更加方便快捷的方法,只需要几行代码就能实现静态显示,动态显示,倒计时等等。但是初学者还是要明白最基础的逻辑,这样在后续的学习中才能更加得心应手。

#include <REGX52.H>

void delay(int i)
{
while(1)
{
  i--;
}

}
void main()
{
	while(1)
	{
	 P1_0=0;P1_1=0;P1_2=0;P1_3=0;//关闭电源
	 P0_0=0;P0_1=0;P0_2=0;P0_3=0;P0_4=0;P0_5=0;P0_6=0;P0_7=0;//关闭显示
	 
	 P1_0=1;P1_1=0;P1_2=0;P1_3=0;//开启P10电源
	  P0_0=0;P0_1=1;P0_2=1;P0_3=0;P0_4=0;P0_5=1;P0_6=1;P0_7=0;//显示4
	 Delay1ms();


	 P1_0=0;P1_1=0;P1_2=0;P1_3=0;//关闭电源
	 P0_0=0;P0_1=0;P0_2=0;P0_3=0;P0_4=0;P0_5=0;P0_6=0;P0_7=0;//关闭显示
	 
	 P1_0=0;P1_1=1;P1_2=0;P1_3=0;//开启电源
	  	 P0_0=0;P0_1=1;P0_2=1;P0_3=0;P0_4=0;P0_5=0;P0_6=0;P0_7=0;//显示1
	  Delay1ms();

	 P1_0=0;P1_1=0;P1_2=0;P1_3=0;//关闭电源
	 P0_0=0;P0_1=0;P0_2=0;P0_3=0;P0_4=0;P0_5=0;P0_6=0;P0_7=0;//关闭显示
	 
	 P1_0=0;P1_1=0;P1_2=1;P1_3=0;//开启电源
	  P0_0=1;P0_1=1;P0_2=1;P0_3=1;P0_4=0;P0_5=0;P0_6=1;P0_7=0;//显示3
	  Delay1ms();

	 P1_0=0;P1_1=0;P1_2=0;P1_3=0;//关闭电源
	 P0_0=0;P0_1=0;P0_2=0;P0_3=0;P0_4=0;P0_5=0;P0_6=0;P0_7=0;//关闭显示
	 
	 P1_0=0;P1_1=0;P1_2=0;P1_3=1;//开启电源
	 P0_0=0;P0_1=1;P0_2=1;P0_3=0;P0_4=0;P0_5=0;P0_6=0;P0_7=0;//显示1
	  Delay1ms();


	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值