51_动态数码管 仿真+例程

基于51单片机的知识总结,使用protues和keil共同学习。
我使用的是protues7.8 和 keil4,需要软件的联系我。
源码及protues仿真:https://download.csdn.net/download/sinat_33734313/11839368

数码管

protues电路仿真

仿真元器件

排阻:RESPACK-8、RX8
共阴数码管:7SEG-MPX8-CC-BLUE
锁存器:74HC573
3-8译码器:74LS138

仿真电路截图

在这里插入图片描述
在这里插入图片描述

硬件说明

1.P0需要外接上拉电阻。
2.使用共阴数码管。
3.使用74HC573控制数码管显示符号。1脚为输出使能,低电平有效;11脚为锁存使能,高电平有效。功能表如下图所示。
输出使能有效时,操作才有效。
当锁存使能有效时,输出与输入同步;当锁存使能失能时,符合建立时间和保持时间的数据会被锁存。
在这里插入图片描述
4.使用74LS138进行位选进而控制哪一个数码管显示。
管脚说明:
在这里插入图片描述
逻辑图:
在这里插入图片描述
真值表:
在这里插入图片描述

程序

#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;

u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
					0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值

void delay(u16 i)
{
	while(i--);	
}

void DigDisplay()
{
	u8 i;
	for(i=0;i<8;i++)
	{
		switch(i)	 //位选,选择点亮的数码管,
		{
			case(0):
				LSA=0;LSB=0;LSC=0; break;//显示第0位
			case(1):
				LSA=1;LSB=0;LSC=0; break;//显示第1位
			case(2):
				LSA=0;LSB=1;LSC=0; break;//显示第2位
			case(3):
				LSA=1;LSB=1;LSC=0; break;//显示第3位
			case(4):
				LSA=0;LSB=0;LSC=1; break;//显示第4位
			case(5):
				LSA=1;LSB=0;LSC=1; break;//显示第5位
			case(6):
				LSA=0;LSB=1;LSC=1; break;//显示第6位
			case(7):
				LSA=1;LSB=1;LSC=1; break;//显示第7位	
		}
		P0=smgduan[i];//发送段码
		delay(100); //间隔一段时间扫描	
		P0=0x00;//消隐
	}
}

void main()
{	
	while(1)
	{	
		DigDisplay();  //数码管显示函数	
	}		
}

程序说明

1.首先进行位选,选择哪一个数码管显示,其次再控制其显示内容。
2.需要注意的是每次显示完毕后,要进行消隐。

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
普中单片机开发板是一种用于学习和开发单片机的硬件平台,而Proteus则是一款常用的电子电路仿真软件。结合这两个工具,可以进行单片机的仿真实验。 在Proteus中进行单片机仿真,首先需要在软件中选取合适的单片机型号,然后通过连接电路图和代码实现对单片机的仿真仿真可以帮助我们在实际硬件未准备齐全或不易操作的情况下进行实验验证。 在使用Proteus进行单片机仿真时,需要在代码中添加适当的注释。注释是对代码功能的解释和说明,有助于提高代码的可读性和可维护性。 注释可以包括以下信息: 1. 代码作者:在代码的开头可以注明编写代码的人员的名字或者团队的名称。 2. 代码的功能:对代码所实现的功能进行简要的说明,让其他人可以快速了解代码的作用。 3. 输入输出说明:对代码中使用的各个输入和输出参数进行说明,包括其类型、取值范围等信息。 4. 算法原理:对于涉及到较为复杂的算法,可以通过注释进行简单的说明,帮助其他人理解代码的实现过程。 5. 重要变量说明:对于代码中的重要变量,可以进行注释说明其作用和意义,以及在代码中的使用方法。 在为Proteus仿真实验例程添加注释时,我们应该清晰明了地解释每个实验的目的和步骤,并且注释的语言应该简洁明了,易于理解。此外,还要注意注释的格式清晰,尽量遵循代码注释的规范,方便其他人阅读和修改代码。 总之,通过在普中单片机开发板Proteus仿真实验例程中添加注释,可以提高代码的可读性和可维护性,方便其他人理解和使用代码,也有助于培养良好的编程习惯和规范。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值