51单片机驱动数码管静态显示

51单片机驱动数码管静态显示

首先要知道数码管的电路图

 

4位数码管,通过控制数码管的(1234管脚)也就是数码管的位选端的电平,控制对应的数码管位置亮,控制断选端(A~DP端)电平输出控制数码管的二极管亮。

采用共阳极数码管,也就是需要数码管位选端(1234端)控制输入高电平驱动数码管,每次只能控制一位数码管亮 

由于89C52的P0的IO口没有上拉电阻,因此需要在IO口和数码管之间加上一个排阻,也就是RP1

#include <REGX52.H>

sbit wei1 = P2^4;//定义第一位数码管
sbit wei2 = P2^5;//定义第二位数码管
sbit wei3 = P2^6;//定义第三位数码管
sbit wei4 = P2^7;//定义第四位数码管

void Nixie(unsigned char Location,Number)
{
	switch(Location)	//通过switch循环控制数码管位选端
	{
		case 1:wei1=0; wei2=0; wei3=0; wei4=1;break;
		case 2:wei1=0; wei2=0; wei3=1; wei4=0;break;
		case 3:wei1=0; wei2=1; wei3=0; wei4=0;break;
		case 4:wei1=1; wei2=0; wei3=0; wei4=0;break;	//共阳极数码管位选端输入高电平驱动
	}
	P0=0xA4;  //P0口输出0010 0101数码管显示2
}
void main()
{
	Nixie(1,1);	  //驱动数码管位选端1就是第一位数码管亮
}

运行后

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿贝多分

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值