51单片机P2口的内部结构及原理及基础知识

通过本实例,了解51单片机P2口的内部结构和原理,同时掌握51单片机编程实现端口移位控制。本实例涉及的基础知识主要是51单片机P2口的内部结构及原理,以及51单片机编程中的移位实现。

例1和例2中,我们分别使用51单片机的P1口和P0口来控制发光二极管。 本例中我们将使用51单片机的P2口来控制发光二极管,直接使用P2口的8口。 每个输出脚控制8个发光二极管,达到跑马灯(跑马灯)的效果。

通过本实例,您可以了解51单片机P2口的内部结构和原理,同时掌握51单片机实现端口移位控制的编程。

1.2. 设计理念

本例中,单片机P2口的8个引脚用于连接8个发光二极管,采用电流吸收驱动方式来驱动发光二极管。 编程控制每次将P2口的1位输出为低电平,从而使相应引脚的LED点亮。

1.3. 基础知识

本例涉及的基础知识主要是51单片机P2口的内部结构和原理,以及51单片机编程中的移位实现。

51单片机的P2口可以作为普通I/O口使用,也可以作为外部地址总线的高8位接口使用。 图1是51单片机P2口的内部结构。

51单片机P2口的内部结构及原理及基础知识

图1 51单片机P2口内部结构

从图中可以看出,控制信号端决定了模拟开关MUX是处于地址总线接口还是通用I/O接口。 当控制信号为0时,模拟开关MUX向下拨,此时P2口可作为通用I/O口使用。 当控制信号为1时,模拟开关MUX向上翻转,P2口作为地址总线的高8位。 当选择P2口作为通用I/O口时,其内部结构和工作原理与例1中介绍的P1口相同。

1.4. 电路设计

本例电路如图2所示,用51单片机的P2口驱动8个发光二极管D1~D8。 从图中可以看出,驱动方式采用“电流吸收”驱动方式。

51单片机P2口的内部结构及原理及基础知识

图2 流水灯电路图

在本例中,使用电阻器作为电路元件。 让我们来认识一下电阻元件。

51单片机P2口的内部结构及原理及基础知识

图3 排除实物图

网络电阻器,即网络电阻器(线绕电阻器)。 该电阻器是将几个参数完全相同的电阻器封装在一起并组合而成。 它们的一个引脚作为公共引脚连接在一起。 其余引脚正常引出。 因此,如果一个电阻由n个电阻组成,那么它就有n+1个引脚。 一般来说,最左边的是公共引脚。 通常在排除项上用彩色点标记。 该排除装置具有组装方便、安装密度高的优点。 电阻器通常有一个公共端子,用封装表面的一个小白点表示。 它的颜色通常是黑色或黄色。 使用一个排阻电阻比使用几个固定电阻更方便。

1.5. 编程

本例的程序代码如下。

#include 
int main(void)
{
  unsigned char i,j;
  unsigned char LED;
  LED = 0x01;								   //×îµÍλLEDµãÁÁ
  P2 = ~LED;                                   //¹àµçÁ÷Çý¶¯
  while(1)
  {
    for(i=0;i<250;i++)                            //Èí¼þÑÓʱ
    {
      for(j=0;j<250;j++);	
    }
	  if(LED == 0x80)                           
	  //ÅжÏÊÇ·ñµ½×î¸ß룬Èç¹ûÁ÷Ë®µ½Í·£¬ÔòÕÛ·µµ½×îµÍλµãÁÁ
	  {
	    LED = 0x01;
	  }
	  else
	  {
	    LED = LED << 1;                         //ÒÆ룬ÐгÌÁ÷Ë®
	  }
	  P2 = ~LED;
  }
}

程序中,先点亮P2.0口连接的LED灯D1,然后关闭,同时点亮D2……,从而依次点亮全部8个LED灯。

程序中使用可变LED,依次使P2口的8位按从低到高的顺序输出高电平,点亮相应的LED等。使用移位操作。 移位语句如下:

这句话是左移操作。 例如:当LED=0x01时,执行左移一个LED

单片机

DIY远程空气质量检测仪-12的最小系统原理图

2024-5-6 6:03:37

单片机

word完美格式模拟电子技术课程设计说明书

2024-5-6 7:02:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索