同样的方法把程序下载到单片机,按下第1 个按钮,第1 个LED 灯亮了,按下第2 个按钮,第2 个LED 灯亮了,松开按钮,相应的灯就灭了,是不是有点象工业控制中的点动控制原理。分析一下这个程序:
2.程序分析
看附图的硬件接线图,有4 个按钮分别接到了P3.2,P3.3,P3.4,P3.5 ,引脚上。再来分析一下程序,第1 条,使P3 口(包括P3.7-P3.0 )全部为高电平(为什么MOV P3,#0FFH 能使P3 口全部为高电平,我们在下一课中讨论);第2 条MOV A,P3;MOV 我们已经知道,是送数的意思,这条指令的意思就是把P3 口的数送到A 中去,A 是什么呢?我们也可以把它看成一个中间单元,就象R7 寄存器一样,第3 条指令就是把A 中的数送到P1 口去;第4 条是循环,这些我们都已经见过,当我们按下P3.2 所连接的按钮时,#0FFH 这个数就被送到了A 中,通过程序又送到了P1,使P1.2 输出低电平,LED3 就亮了,按下P3.3-P3.5 连接的按钮,对应的LED4-LED6 也亮了,松开按钮,相应的LED 灯就灭了。如果把按钮接到P2.0-P2.7 或P4.0-P4.7 可不可以呢?当然可以。所以在这里P3 口又起到了一个输入端的作用。
由上面两个实验我们得出结论,凡是以P 开头的管脚都可以用作输入输出口,在89C51 中这32 个管脚我们就称之为并行口。它们实际上就是特殊功能存储器SFR (什么是特殊功能寄存器,我们后面再讲)中的四个,记作P0,P1,P2,P3,它们都是双向通道,即既可以作为输出口,也可以作为输入口,作输出时数据可以锁存,作输入时数据可以缓冲,那么它们是怎么实现输入输出功能的呢?继续往下看。三.单片机并行口的结构分析先来看看输入结构:
1.输入结构
I/O 口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。比如取反,置位,清零等等指令;而读端口时才真正地把外部的数据读入到内部总线,图中的两个三角形表示的就是输入缓冲器,CPU 将根据不同的指令,分别发出“读端口”或“读引脚”信号,以完成不同的操作,这是硬件自动完成的,不需要我们操心。
读引脚时,也就是把端口作为外部输入线时,首先要通过外部指令把端口锁存器置“1”,然后再实行读引脚操作,否则就可能读入出错。为什么?看上面的图,如果不对端口置“1”,端口锁存器原来的状态有可能为“0”(Q 端为0,Q^为1)加到场效应管栅极的信号为“1”,该场效应管就导通,对地呈现低阻抗,此时即使引脚上输入的信号为“1”,也会因端口的低阻抗而使信号变低,使得外加的“1”信号读入后不一定是“1”,若先执行置“1”操作,则可以使场效应管截止,引脚信号直接加到三态缓冲器中,实现正确的读入。由于在输入操作时还必须附加一个准备动作,所以这类I/O 口被称为“准双向”口,MCS-51 的P0,P1,P2,P3 口作为输入/输出口时都是“准双向”口。接下来让我们再看另一个问题,从图中可以看出,这四个端口还有一个差别,除了P1 口外,P0,P2,P3 口都还有第二功能,这些第二功能又是作什么用的呢?下面我们就来讲解这个问题:
2.端口的工作原理(1)。P0 口
先来看P0 口,从图中可以看到,P0 口的内部有一个2 选1 的选择器,受内部信号的控制,如果在图中的位置则处在I/O 口工作方式,此时相当于一个“准双向口”,输入时须先将口置“1”,每根口线可以独立定义为输入或输出,但是须在口线上加上拉电阻。如果将开关往另一个方向,则就是另一个功能—作为地址/数据复用总线用,此时不能逐位定义为输入/输出,它有两种用法:当作数据总线用时,输入8 位数据;而当作地址总线用时,则输出8 位地址。再强调一点,当P0 口作为地址/数据总线用之后,就再也不能作I/O 口使用了。讲到这里,也许大家会感到困惑,什么叫作地址/数据复用?这其实是当单片机的并行口不够用时,需要扩展输入输出口时的一种用法,具体如何使用,这就比较复杂了,我们只能留到下册课程中再来给大家讲解,这里大家只要了解一下就可以了。知道了P0 口,再来看P1 口。
(2)。P1 口
同P0 不同,P1 口只能作为I/O 口使用,但它的内部有一个上拉电阻,所以连接外围负载时不需要外接上拉电阻,这一点P1,P2,P3 都一样,务必请大家注意。
(3)。P2 口
P2 口作为I/O 口线用时,与P0 口一样,当内部开关向另一个方向时,即作地址输出时,可以输出程序存储器或外部数据存储器的高8 位地址,并与P0 口输出的低地址一起构成16 位的地址线,从而可以分别寻址64K 的程序存储器或外部数据存储器,同样地址线是8 位一起自动输出的,不能象I/O 口线那样逐位定义。
(4)。P3 口
P3 口作为I/O 口线用时,同P1 口相同,也是“准双向口”;不同的是,P3 口的每一位都有另一种功能,也叫第二功能,各位的功能如下,它们的具体作用我们用到时再详细解释。
详细请到:http://blog.mcuol.com/user/Article/550.html |