基于Proteus的4个LED灯闪烁实验

本文介绍了基于Proteus的4个LED灯闪烁实验,讲解了P0口作为通用I/O接口时如何通过外接上拉电阻实现高电平输出,以及涉及的三极管和D锁存器工作原理。详细内容包括实验原理、仿真电路图、元器件和C51代码,还分析了解决P0口无法输出高电平的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 实验原理

P0口是个多功能的引脚,它既可以向外部存储器传送地址信息和数据信息,也可以作为一个通用的I/O接口和其他硬件之间来传输数据信息,但是P0口无法输出高电平,本实验为实现四个LED灯的闪烁,在P0口外加一个上拉电阻来实现其引脚输出高电平,从而实现4个LED灯闪烁。

2.Proteus仿真电路图

在这里插入图片描述

3.所用元器件图

在这里插入图片描述

4.C51代码

#include<reg51.h>	//定义头文件

sbit LED1=P0^0; 	  
sbit LED2=P1^0;
sbit LED3=P0^1;
sbit LED4=P1^1;	    //定义引脚

void delay(int ms) //定义延时子函数
{
	int i,j;
	for(i=ms;i>0;i--) //通过改变ms的次数来改变延时时间	 
	  for(j=110;j>0;j--); 
}

void main()		 //main代表主函数,程序执行的部分
{
	LED1=1;		   //初始化
	LED2=1;
	LED3=0;
	LED4=0;
	while(1)
	{
		LED1=0;	 //点亮
		delay(1000);  //延时,调用延时子函数

		LED1=1;				//熄灭
		delay(1000);  

		LED2=0;	 
		delay(1000);  

		LED2=1;				
		delay(1000); 

		LED3=1;	 	//点亮
		delay(1000);  

		LED3=0;		//熄灭		
		delay(1000); 

		LED4=1;	 
		delay(1000);  

		LED4=0;				
		delay(1000); 
	}
}

5.问题分析及解决

①三极管及符号
三极管分为NPN型和PNP型(P为正极,N为负极)
(B为基极,C为集电极,E为发射极)
在这里插入图片描述
NPN型
在这里插入图片描述
PNP型
特性:例如用NPN型,当给基极B通高电平时,C与E是导通的,当给基极B通低电平时,C与E是截止的。
②P0口内部结构
在这里插入图片描述
P0口是个多功能的引脚,它既可以向外部存储器传送地址信息和数据信息,也可以作为一个通用的I/O接口和其他硬件之间来传输数据信息,P0口就是通过多路开关来实现这两个功能的切换,当开关打到a时就执行第一个功能,当开关打到b时就执行第二个功能。
关于D锁存器,当给它一个高电平1时,他的Q¯引脚就输出低电平0,当给它输入低电平0时,Q¯就输出高电平1。
V1,V2这两个MOS管的性质和NPN型的三极管是相似的,也就是给它输入一个高电平时,是导通的,反之,给他输一个低电平时,是截止的。

③P0无法输出高电平之问题分析及解决
当P0口作为通用I/O接口时(开关打到b),也就是V1这个MOS管是截止的,此时高电平不可以通过V1传输到P0引脚, 也就是不能输出高电平。
当给D锁存器一个高电平1时,则Q¯输出0低电平,V2截止,
当给D锁存器一个低电平0时,则Q¯输出1低电平,V2导通,P0口输出低电平0(V2接地),为了输出高电平1,可外加一个上拉电阻来实现,此时D3就可以被点亮,而程序无需再做改动。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值