电子工程师提升计划【1.2】

2.1.7 串行通信口

        串行通信口是单片机和外部设备进行串行通信的接口。当单片机要将数据传送给外部设备时,可以通过串行通信口将数据由TXD端输出;外部设备送来的数据可以从RXD端输入,通过串行通信口将数据送入单片机。
        串行是指数据传递的一种方式,串行传递数据时,数据是一位一位进行传递的。

2.1.8 I/O接口

        MCS-51系列单片机有4组I/O接口,它们分别是P0、P1、P2和P3端口。单片机通过这些端口与外部设备连接。这4组端口都是复用端口,既可作为输出端口,也可以作为输入端口,具体作为哪种端口由单片机内部的程序来决定。

        当这些端口用作输入端口时,可以外接键盘、各种传感器和检测开关等输入部件;如果用作输出端口,可以接发光二极管、继电器等输出部件。
        单片机在工作时,输入部件通过输入端口将输入信号送入内部,CPU根据输入信号来执行ROM中的相关程序,然后从输出端口输出控制信号,控制输出部件工作。

2.1.9 总线控制器

        单片机内部用ROM来存储写入的程序,但内部的ROM容量通常较小,只能存储一些不复杂的程序,如果遇到一些大型复杂的程序,所占容量大,单片机内部的 ROM 将无法完全装下,解决这个问题的方法就是使用外接存储器。总线控制器主要用于控制外接存储器,使它能像单片机内部的存储器一样使用。

2.2 MCS-51系列单片机的引脚功能

        学习单片机技术,一定要了解单片机中各引脚的功能。MCS-51系列单片机共有40个引脚,各引脚的排列如图2-2所示。MCS-51系列单片机的40个引脚根据功能可以分作3类:基本工作条件引脚、输入/输出(I/O)引脚和控制引脚。

2.2.1 基本工作条件引脚

        单片机基本工作条件引脚有电源引脚、复位引脚和时钟引脚,只有具备了基本工作条件,单片机才能开始工作。

(1)电源引脚
40脚为电源正极引脚(VCC),20脚为电源负极引脚(VSS)。电源正极引脚一般接5V电源,电源负极引脚接地。
(2)复位引脚
9脚为复位引脚(RST/VPD)。在单片机接通电源后,为了使内部电路正常工作,需要复位电路
为它提供复位信号,使内部电路进入初始状态,然后才开始工作。MCS-51 系列单片机采用高电平复位,即外接复位电路给复位引脚送入高电平信号后,就可以对单片机内部电路进行复位。9脚还具有掉电保持功能,为了防止掉电使单片机内部RAM中的数据丢失,可在该脚再接一个备用电源,掉电时,由备用电源为该脚提供4.5~5.5V的电压,可保持RAM中的数据不会丢失。
(3)时钟引脚
18、19脚为时钟引脚(XTAL2、XTAL1)。
单片机内部有大量的数字电路,这些数字电路工作时需要时钟信号进行控制,才能有次序、有节拍地工作。单片机内部的时钟振荡器与时钟引脚外接的定时电路构成时钟振荡电路,产生时钟信号供给内部电路使用;另外,也可以由外部的振荡器产生时钟信号,通过时钟引脚送入单片机,供给内部电路。

2.2.2 输入/输出引脚

        MCS-51系列单片机有P0、P1、P2和P3共4组I/O接口,每组接口又有8个引脚:P0端口引脚P0.0~P0.7,P1端口引脚P1.0~P1.7,P2端口引脚P2.0~P2.7,P3端口引脚P3.0~P3.7。这4组接口既可用作输入端口将外部信号输入单片机,也可以用作输出端口将信号从单片机内输出。另外,这些接口还具有一些其他功能,具体说明如下。P0端口(32~39脚)的功能有:输入8路信号,输出8路信号,用作8位数据总线,或用作16位地址总线中的低8位地址总线。
P1端口(1~8脚)的功能有:输入8路信号,输出8路信号。
P2端口(21~28脚)的功能有:输入8路信号,输出8路信号,用
作16位地址总线中的高8位地址总线。
P3端口(10~17脚)的功能有:输入8路信号,输出8路信号。P3
端口的8个引脚还具有其他功能,具体说明如下。
P3.0:用作串行数据输入端(RXD)。
P3.1:用作串行数据输出端(TXD)。

P3.4:用作定时器/计数器T0的外部脉冲信号输入端(T0)。
P3.5:用作定时器/计数器T1的外部脉冲信号输入端(T1)。

P0、P1、P2、P3端口具有多种功能,具体应用哪一种功能,由单片机内部的程序来决定。需要注意的是,在某一时刻,端口的某一引脚只能用作一种功能。

2.2.3 控制引脚

        控制引脚的功能主要有:当单片机外接存储器(RAM或ROM)时,通过控制引脚控制外接存储器,使单片机能像使用内部存储器一样使用外接存储器;在向单片机编程(即向单片机内部写入编好的程序)时,编程器通过控制引脚使单片机进入编程状态,然后才能将程序写入单片机。
控制引脚的功能说明如下。
        EA/VPP (31脚):存储器使用控制输入端/编程电压输入端。当EA=1(高电平)时,单片机使用内部存储器;当EA=0(低电平)时,单片机使用外接存储器。在用编程器往单片机写入程序时,要在该脚加12~25V的编程电压。
        PSEN (29脚):程序存储允许输出端。它是外部ROM读选通控制端,当单片机要从外接ROM 中读取信息时,该端要输出一个低电平给外接ROM。ALE/ (30脚):低8 位地址锁存允许信号输出端/编程脉冲输入端。在外接存储器时,如图2-3所示,该脚输出控制信号到单片机的外接锁存器,让锁存器将P0 端口送来的 8 位地址信号锁存起来,当作低 8 位地址信号A0~A7(高8位地址A8~A15由P2端口送出),这样P0端口不用再输出8位地址信号,就可以空闲下来,用来传送8位数据信号。在单片机编程时,编程器由该脚将编程脉冲输入单片机。

2.3 单片机的基本工作条件与工作时序

2.3.1 基本工作条件

        单片机是一种大规模的数字集成电路,它的基本工作条件是电源、复位信号和时钟信号,只有具备了这些条件,单片机才能开始工作。
1.电源的提供
单片机内部有各种电路,这些电路在工作时需要提供电源。40脚为电源正极引脚(VCC),20脚为电源负极引脚(VSS)。电源正极引脚一般接5V电源,负极引脚接地。
2.复位电路
单片机内部有大量的数字电路,在为这些电路提供电源的同时,还要给它们提供复位信号,让这些电路都进入初始状态,然后才开始工作。单片机的复位电路如图2-4所示,9脚为复位引脚(RST)。

        在接通+5V 电源的瞬间,由于 C1 来不及充电,其两端的电压 UC1为 0V,R2 两端的电压 UR2为 5V (UC1+UR2=5V),即单片机的9脚为高电平,该高电平信号进入9脚,对内部电路进行复位,让内部电路都进入初始状态。随着+5V电源对C1不断充电,C1两端的电压迅速上升,而 R2 两端的电压则迅速下降,当C1两端电压充到5V时,R2两端电压为0V,单片机9脚变为0V(低电平),复位完成,单片机的内部电路开始工作。由于该复位过程在单片机接通电源时就会自动进行,故又称上电复位。
        如果单片机工作不正常,可按一下复位开关S,在按下开关时,+5V电源通过R1加到9脚,9脚为高电平,该高电平对内部电路进行复位,使内部电路全部回到初始状态,当S断开时,9脚变为低电平,复位结束,单片机内部电路全部恢复到起始状态,然后重新开始工作。该复位过程称作手工复位。
3.时钟电路
为了让单片机的内部电路有次序、有节拍地工作,需要为这些电路提供时钟脉冲信号,让时钟信号来控制它们工作。有的电路来一个时钟脉冲就工作一次,有的电路需要来多个时钟脉冲才工作一次,如
        果没有时钟脉冲到来,这些电路就不能正常工作。时钟信号频率越高,这些电路的工作速度越快。18、19 脚为时钟信号引脚(XTAL2、XTAL1)。单片机可采用两种时钟电路来提供时钟信号,如图2-5所示。

        图2-5(a)采用了内时钟电路,单片机内部的反相放大器与XTAL2、XTAL1 引脚外接的反馈兼选频电路(C1、C2、晶振)构成时钟振荡器,产生时钟信号提供给单片机的内部电路。如果晶振的频率为12MHz,则时钟振荡器产生的时钟信号频率为12MHz。
        图2-5(b)采用了外时钟电路,单片机外部的振荡电路产生的时钟信号经放大器放大后,进入XTAL2引脚,送给单片机的内部电路。单片机XTAL2、XTAL1引脚之间的内部放大电路由于无外接反馈选频电路,并且XTAL1引脚接地,所以不会产生振荡。

2.3.2 工作时序

        单片机是在时钟脉冲的控制下工作的,有的电路来一个时钟脉冲就可完成一次工作,而有的电路需要来多个时钟脉冲才能完成一次工作。为了方便分析工作时序,单片机中规定了几种周期:时钟周期、状态周期、机器周期和指令周期。
1.时钟周期
时钟周期是指振荡器产生的时钟信号周期,也即时钟振荡频率的倒数。例如:单片机时钟信号的频率为12MHz,那么时钟周期就为1/12μs。
2.状态周期
状态周期由两个时钟周期组成,它分为P1节拍和P2节拍,第1个时钟周期为P1节拍,第2个时钟周期为P2节拍。
3.机器周期
单片机在执行指令时,通常把执行过程划分成几个基本的操作,完成一个基本操作所需要的时间称为机器周期。一个机器周期由6个状态周期,也即12个时钟周期组成。
4.指令周期
指令周期是指执行一条指令所需要的全部时间,它通常为1~4个机器周期。例如,单片机在执行“MOV A,#C3H”指令时,需要2个机器周期,即24个时钟周期,若时钟周期为1/12μs,那么执行该指令需要2μs。

2.4 单片机的I/O接口

        MCS-51系列单片机有4组I/O接口:P0、P1、P2和P3。前面简单介绍了一下各个端口,要学好单片机技术,非常有必要详细了解这些端口的内部结构及工作原理。

2.4.1 P0端口

        P0端口有P0.0~P0.7共8个引脚,这些引脚除了可作I/O引脚外,在外接存储器时,还可作地址/数据总线引脚。P0端口每个引脚的内部电路结构都相同,其内部电路结构如图2-6所示。

(1)当P0端口用作输出端口时
        如果要将P0端口用作输出端口,单片机内部的CPU会发出一个“0”到与门的控制端。控制端的“0”一方面关闭与门(即与门的一端为“0”时,不管另一端输入何种信号,输出都为“0”),使地址/数据总线送来的信号无法通过与门;另一方面控制电子开关,让电子开关与锁存器的 端接通。
        此时若给锁存器的写锁存器端送写脉冲信号,内部总线送来的数据就可以通过D端进入锁存器并从Q和 端输出,如D端输入“1”,则端输出“0”(Q端输出“1”),该“0”经电子开关送到场效应管VT2的栅极,VT2截止,从P0端口输出“1”。
        也就是说,当给P0端口内部的与门控制端送“0”,同时给写锁存器端送写脉冲信号时,单片机内部总线的信号就可以通过接口电路从P0端口输出。

(2)当P0端口用作输入端口时
        当将P0端口用作输入端口时,P0端口的信号既送到三态门,又送到VT2的漏极。如果锁存器之前锁存的为“0”,即Q=0、 =1,其中=1会使VT2导通,P0端口被钳在“0”电平上,“1”将无法送入P0端口。
        解决的方法是:在将数据输入P0端口前,先通过内部总线向锁存器写“1”,即让 =0,VT2截止,P0 端口输入的“1”就可以送到三态门的输入端,此时再给三态门的读引脚送一个读控制信号,“1”就可以通过三态门送到内部总线。
        也就是说,要将P0端口作为输入端口,先要将P0端口的锁存器写“1”,然后再给输入三态门送读控制信号,P0端口的数据就可以通过接口电路,送到单片机内部的总线上。
(3)当P0端口用作地址/数据总线引脚时如果要将 P0 端口用作地址/数据总线引脚,先要给与门的控制端送“1”,于是与门打开,同时电子开关和非门输出端接通。当地址/数据总线为“1”时,“1”一方面通过与门送到VT1的栅极, VT1导通,另一方面送到非门,经反相变为“0”,再经电子开关送到VT2的栅极,VT2截止,VT1导通,VT2截止使P0端口输出为“1”;当地址/数据总线为“0”时,VT1导通,VT2也导通,P0端口输出为“0”。也就是说,当给与门的控制端送“1”时,内部地址/数据总线上
的信号就可以从P0端口输出, P0端口就可当作地址/数据总线引脚使用。

2.4.2 P1端口

        P1端口有P1.0~P1.7共8个引脚,这些引脚可作I/O引脚。P1端口每个引脚的内部电路结构都相同,其内部电路结构如图2-7所示。

        从图2-7 中可以看出,P1 端口的结构较P0端口简单很多,由于P1端口内部采用了一只场效应管,并且与电源之间接了一只上拉电阻,所以不需要在P1端口的外部接上拉电阻。
(1)当P1端口用作输出端口时
        如果要将P1端口用作输出端口,应给锁存器的写锁存器CL端送写脉冲信号,内部总线送来的数据就可以通过 D 端进入锁存器并从Q和端输出,如D端输入“1”,则 端输出“0”(Q端输出“1”),该“0”送到场效应管的栅极,场效应管截止,从P1端口输出“1”。
(2)当P1端口用作输入端口时
当将P1端口用作输入端口时,如果锁存器以前锁存的为“0”,即Q=0、 =1,其中 =1会使场效应管导通,P1端口被钳在“0”电平上,“1”将无法送入P1端口。所以与P0端口一样,在将数据输入P1端口前,先要通过内部总线向锁存器写“1”,让 =0,场效应管截止,P1端口输入的“1”就可以送到输入三态门的输入端,此时再给三态门的读引脚送一个读控制信号,“1”就可以通过输入三态门送到内部总线。
 

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值