和记娱乐


网站导航

联系我们

和记娱乐

联系人: 

电 话:021-64057486

公司网址:http://www.happy123456789.com

   址:成都市松江区漕河泾松江新兴产业园区研展路丰产支路55号B座803室

邮编:201165


通信知识

您的当前位置: 和记娱乐主页 > 通信知识 >

单片机引脚与端口操作

发布日期:2019-09-21 10:58 来源:和记h88 发布人:和记娱乐 点击:

  以前写过一篇也是关于单片机引脚的文章,写的非常简单,那时候的见解,今天再次看到单片机关于读引脚和端口的操作时突然又常的不解,上网搜资料很多也都是关于单片机IO口结构的解释,经过一番辛苦的搜索终于是找到了关于端口和引脚的资料,下面是我自己从各个方面总理的。

  首先对于单片机IO口一般有第二功能,因为P0口比较特别以P0口为例说明。具体的单片机IO口结构和功能见:戳这里

  单片机P0口作为输入时需要先给锁存器置1,以关闭V2场效应管,不置1的话当锁存器的值为0时,V2导通接地使引脚的值为低,不能输入高电平。至于怎么给P0口置1,就是给P0寄存器置1.

  见P0口结构图可知,P0口作为通用IO口,即输入输出口时,需要把V1场效应管关闭,多功能开关连接到锁存器,高电平信号通过锁存器Q端输出时为低电平,V2管截止,V1,V2都截止,输出既不是高电平又不是低电平,这就是漏极开输出。为了能够输出高电平需要外接上拉电阻。

  读引脚是读P0口引脚上的电平信号,读端口是读锁存器中的值,即就是读P0口寄存器的值。作为输出时引脚和端口的值是一样的,但是作为输入时因为外设可以影响引脚的值,所以端口和引脚的值作为输入时可以不一样。

  一般的教科书上都会强调:读端口的指令为端口内容取反这样的“读-修改-写”指令。而读引脚之前,先置1,然后用Mov A,Px之类的指令即可。 以下是从web(上搜集的资料:

  5. 端口的内容什么时候发生改变?当Px口作为输入,若外部引脚信号不断变化,读取引脚值之后, 端口内容是否变化?

  某网友的看法与我不谋而合:“ 由于复位后各引脚寄存器的值是明确的,而以后各引脚的寄存器的值的改变不会因为芯片外面而,影响到引脚寄存嚣的值,引脚的寄存器的值只可能由程序来改变,所以就没有必要只读寄存器的值而不改变寄存器的内容了。 ”

  参考引脚内部结构图可知,端口就是一个锁存器,纵使锁存器D口数据在变(内部数据线),只要时钟触发端clk没有触发信号,锁存器中的内容永远都不会改变,也就是说,不管外部引脚信号如何变,也不管执行过多少次读引脚操作,端口锁存器中的内容是不会发生变化的。

  那么,端口内容何时变化?答曰:只要执行过一次输出,端口内容必为输出值,因为端口就是输出的数据锁存器。

  Px口如果作为输出口,由引脚内部结构可知,端口内容是直接反映到引脚上去的。这对于P1口更为直接。而其他口,由于有第二功能,是否作为I/O口受内部控制信号的控制

  关于单片机其他IO口和P0差不多就不多说了,以后再继续更新对IO口的理解,今天就先写到这里,这里有些资料是引用别人的,在这里非常感谢大家的分享。

      和记娱乐,和记h88,h88平台官网