这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单片机输入/输出端口的工作原理

共2条 1/1 1 跳转至

单片机输入/输出端口的工作原理

工程师
2020-08-04 23:26:28     打赏

单片机的功能主要是通过向特殊寄存器输送0 或1 二进制数来实现的,所以,了解0和1 的作用对理解单片机工作的基本原理非常重要,下面就以一个程序实例来说明输入/输出端口的工作原理。

  程序TEST.ASM 是一个实例程序,图1是它的电路图,在图中单片机P1端口的8个引脚分别与8只发光二极管相连。

单片机输入/输出端口的工作原理

  图1 Pl 端口输出电路

  如果将该程序写入单片机后,在程序运行时会看到8个发光二极管中接在P1.0~P1.3、P1.5~Pl.7的发光二极管被点亮;而P1.1和P1.4所接的发光二极管熄灭。

  程序:TEST.ASM

  MOV P1 ,#00010010B

  JMP $

  END ~

  引脚与寄存器的关系

  程序中的Pl对外是输入/输出端口,共有8个引脚,分别与8只发光二极管相连;而Pl对内是特殊功能寄存器里的一个单元,地址在90H ,单元内共有8个位,每位接出一根引线,就是在外面看到的引脚PI.0~P1.7,Pl寄存器与引脚的对应关系示意图如图2.7所示。  

单片机输入/输出端口的工作原理

  图2 Pl 寄存器与引脚的对应关系示意图

  单片机的P0、P2、P3 与上述的逻辑结构相同。

  单片机中0和1的作用

  1.在端口的外部0与1是表示电平的高低

  图3 所示是图1 P1 端口输出的等效电路,D是发光二极管,当正向电流有电流流过时,二极管就会发光。R 是限流电阻,防止二极管因电流过大而被烧坏。

  从电路中可以看出,当开关K 向下与b 点相接时,二极管的负极接地,即Pl 端口输出呈现低电平,用0来表示,此时二极管因有电流通过而发光;当开关K 向上与a 点相接时,二极管的负极接电源+5V ,即Pl 端口输出呈现高电平,用1 来表示(此时的l 不是1V ,而是代表+5V ) ,此时二极管被截止,没有电流通过,也就不能发光。

  所以,当Pl引脚为低电平O 时,灯会点亮;当P1引脚为高电平1时,灯会灭。0和1在端口的外部是表示电平的高低。

  单片机输入/输出端口的工作原理

  图3 Pl 端口等效电路

  2.在单片机内部对寄存器而言,0 和1是表示二进制数

  要想使输出端引脚呈现低电平或高电平,只需要向寄存器Pl 输入相应的二进制数0或1 即可。例如,通过使用单片机的MOV 指令(MOV 指令的功能是输送数据),把8 位二进制数00010010 送到特殊功能寄存器Pl 单元,程序为:MOV PI , #00010010B ,如图4 所示。0 所对应的引脚是低电平,发光二极管导通发光;1 所对应的引脚是高电平,发光二极管截止,灯灭。  

单片机输入/输出端口的工作原理 

  图4 装入8 位二进制数

  3.对连接的发光二极管来说,0 和1 表示灯亮与灭

  这是指发光二极管按图1接法而言,不是绝对的。因大部分单片机电路都是按此接法,所以记住此规律对分析单片机电路是很有益的。

  从上述可归纳出:0 和1 在寄存器内表示二进制的数;0 和1 在输出端口处表示电平的高低;O 和1 又代表灯亮与灭(导通与截止)。




高工
2020-08-13 20:10:34     打赏
2楼

讲解的很不错


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]