51单片机管脚说明
mcs-51单片机的引脚和输入输出端口

MCS-51单片机的引脚和输入输出端口MCS-51有4组8位I/O口,共占用32个引脚:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口。
●P0口(P0.0~P0.7)占用32~39脚;●P1口(P1.0~P1.7)占用1~8脚;●P2口(P2.0~P2.7)占用21~28脚;●P3口(P3.0~P3.7)占用10~17脚;这四个口的主要功能如下:(1) P0 口是一个8位不带内部上拉电阻的漏极开路型准双向I/O口,因此该口输出时需外接上拉电阻,而P1 、P2 和P3口都是带内部上拉电阻的8位双向I/O口。
(2) 在访问片外ROM时,P0口分时兼作数据总线和低8位地址线;P2口作高位地址线。
(3) 内部带程序存储器的芯片,在EPROM编程和程序验证时,P1输入低8位地址,P2输入高8位地址,P0输入指令代码。
(注:P1、P2作输入口时,必须要使每位先置“1”,才能读入外部数据。
)(4) P3口除作双向I/0口外还兼有专用功能。
P0口和P2口:图1为P0口和P2口其中一位的电路图,由图可见,电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。
这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能像P1、P3直接用作输出口。
它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。
P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。
外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为216=64k,所以8051最大可外接64kB的程序存储器和数据存储器P1口:图2为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至1,此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。
C51单片机引脚图及引脚功能介绍

80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈ 电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊ 控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM 编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vp p功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋ I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、 EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
51单片机默认状态下各管脚电平

51单片机默认状态下各管脚电平51单片机是一种常用的微控制器,具有多个管脚用于输入输出以实现各种功能。
下面我们来了解一下51单片机默认状态下各管脚的电平。
1. P0口:P0口是51单片机的8位双向IO口,它的默认状态下是高电平。
P0口可以用来连接外部设备,如LED灯、数码管等。
通过控制P0口的电平,我们可以实现对外部设备的控制。
2. P1口:P1口也是一个8位双向IO口,它的默认状态下也是高电平。
P1口可以用来连接外部设备,如按键、传感器等。
通过读取P1口的电平,我们可以获取外部设备的状态信息。
3. P2口:P2口是一个8位双向IO口,它的默认状态下是高电平。
P2口可以用来连接外部设备,如LCD显示屏、蜂鸣器等。
通过控制P2口的电平,我们可以实现对外部设备的显示和声音输出。
4. P3口:P3口是一个8位双向IO口,它的默认状态下是高电平。
P3口可以用来连接外部设备,如数码管、电机等。
通过控制P3口的电平,我们可以实现对外部设备的数值显示和运动控制。
5. EA管脚:EA管脚是51单片机的外部访问使能管脚,它的默认状态下是低电平。
当EA管脚为低电平时,51单片机将从外部存储器中启动程序。
当EA管脚为高电平时,51单片机将从内部存储器中启动程序。
6. ALE管脚:ALE管脚是51单片机的地址锁存使能管脚,它的默认状态下是高电平。
当ALE管脚为高电平时,51单片机将地址信息锁存。
当ALE管脚为低电平时,51单片机将地址信息输出到外部设备。
7. PSEN管脚:PSEN管脚是51单片机的程序存储器使能管脚,它的默认状态下是高电平。
当PSEN管脚为高电平时,51单片机将从程序存储器中读取指令。
当PSEN管脚为低电平时,51单片机将从外部设备中读取指令。
8. RST管脚:RST管脚是51单片机的复位管脚,它的默认状态下是高电平。
当RST管脚由高电平变为低电平时,51单片机将重新启动。
通过控制RST管脚的电平,我们可以实现对51单片机的复位操作。
第3章MCS-51单片机的内部资源及应用

MOV P0, A ANL P0, #data ORL P0, A
(2)读端口数据方式: CPU读入的这个数据并非端口引脚线 上的数据。读端口数据可以直接读端口。例如,下面的指 令均可以从P1口输入数据,这是锁存器上的数据。
2.P2口
P2口常用做外部存储器的高8位地址 口。当不用做地址口时,P2口也可作为 通用I/O口,这时它也是一个准双向I/O 口。不必外接上拉电阻就可以驱动任何 MOS驱动电路,且只能驱动4个TTL输 入。P2口的位结构如右图所示。
3.P1口
P1口常用做通用I/O口,它也是一 个标准的准双向I/O口,不必外接上拉 电阻就可以驱动任何MOS驱动电路, 且只能驱动4个TTL输入。P1口的位结 构如右图所示。
制。
(3)中断允许控制寄存器IE (0A8H)
EA
ES ET1 EX1 ET0 EX0
(3)中断允许控制寄存器IE (0A8H)
中断与子程序的最主要区别:子程序是预先安排好的,中断 是随机发生的。
中断涉及的几个环节:中断源、 中断申请、开放中断、保护 现场、中断服务、恢复现场、中断返回。
2. 中断源
中断源是指引起中断的设备或事件,或发出中断请求的源头。
3. 中断的分类
中断按功能通常可分为可屏蔽中断、非屏蔽中断和软件中断三类。 可屏蔽中断是指CPU可以通过指令来允许或屏蔽中断的请求。 非屏蔽中断是指CPU对中断请求是不可屏蔽的,一旦出现,CPU必须响应。 软件中断则是指通过相应的中断指令使CPU响应中断。
1.I/O口直接用于输入/输出
在I/O口直接用做输入/输出时,CPU既可以把它们看做数据口,也可以看 做状态口,这是由用户决定的。
51单片机外部引脚英文全称是什么

引言:51单片机是一种常用的嵌入式系统微控制器,常用于各种电子设备中。
在使用51单片机时,了解其外部引脚的英文全称是非常重要的。
本文将详细介绍51单片机外部引脚的英文全称,探讨其各个引脚的功能和用途。
概述:51单片机外部引脚的英文全称是根据它们在芯片上的物理位置和连接功能来命名的。
这些引脚包括电源引脚、输入输出引脚、复位引脚和其他特殊功能引脚。
了解这些英文全称可以帮助工程师更好地掌握51单片机的使用和应用。
正文:1. 电源引脚(Power Pins)1.1 VCCVCC引脚是指供电引脚,它连接到单片机的正电源。
VCC引脚提供的电压通常是5V,也可以是3.3V或其他电压。
1.2 GNDGND引脚是指接地引脚,它连接到单片机的负电源。
GND引脚用于建立电路的共地参考点。
2. 输入输出引脚(I/O Pins)2.1 P0.0 - P0.7P0引脚是51单片机上的一个8位可编程输入输出引脚组。
P0.0到P0.7分别对应于物理引脚P0.0到P0.7。
这些引脚可以配置为输入或输出,用于与其他设备进行数据交换。
2.2 P1.0 - P1.7P1引脚是51单片机上的另一个8位可编程输入输出引脚组。
P1.0到P1.7分别对应于物理引脚P1.0到P1.7。
这些引脚也可以配置为输入或输出,用于与其他设备进行数据交换。
2.3 P2.0 - P2.7P2引脚是51单片机上的第三个8位可编程输入输出引脚组。
P2.0到P2.7分别对应于物理引脚P2.0到P2.7。
这些引脚同样可以配置为输入或输出,用于数据交换。
2.4 P3.0 - P3.7P3引脚是51单片机上的第四个8位可编程输入输出引脚组。
P3.0到P3.7分别对应于物理引脚P3.0到P3.7。
这些引脚也可以配置为输入或输出。
3. 复位引脚(Reset Pin)3.1 RSTRST引脚是51单片机上的复位引脚。
当RST引脚被拉低时,单片机将被复位。
复位引脚通常通过一个复位电路提供一个确定的复位信号。
80C51单片机引脚图及引脚功能介绍

80C51单片机引脚图及引脚功能介绍首先我们来介绍一下单片机的引脚图及引脚功能(如下图所示),引脚的具体功能将在下面详细介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;⒉时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM 编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM 编程期间,施加编程电源Vpp。
⒋ I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块单片机,想要使用它,首先必须要知道怎样去连线,我们用的一块89C51的芯片为例,我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
单片机引脚说明按其引脚功能分为四部分叙述这条引脚的功能

单片机引脚说明-按其引脚功能分为四部分叙述这条引脚的功能————————————————————————————————作者: ————————————————————————————————日期:下面按其引脚功能分为四部分叙述这40条引脚的功能。
ﻫ1、主电源引脚VCC和VSSVCC——(40脚)接+5V电压;ﻫVSS——(20脚)接地。
2、外接晶体引脚XTAL1和XTAL2XTAL1(19脚)接外部晶体的一个引脚。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚)接外晶体的另一端。
在单片机内部,接至上述振荡器的反相放大器的输出端。
采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。
ﻫ3、控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP①RST/VPD(9脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。
推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10μF的电容,以保证可靠地复位。
ﻫVCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。
当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。
②ALE/PROG(30脚):当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。
因此,它可用作对外输出的时钟,或用于定时目的。
然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。
基于51单片机的模拟电梯控制系统_毕业设计

摘要本文介绍了基于单片机的电梯控制系统,硬件部分主要由单片机最小系统模块、电梯内外电路按键模拟检测模块、电梯外请求发光管显示模块、楼层显示数码管模块、电梯上下行模块及模拟传感器模块等5部分组成。
该系统采用单片机(AT89C51)作为控制核心,内外均使用按键按下与否引起的单片机相应端口电平变化的原理,作为用户请求信息发送到单片机,单片机根据判断的结果最终驱动步进电机做相应的运动,在运动的过程中,单片机依照请求信息通过模拟的传感器使步进电机停止运动,并利用彩灯作为上升和下降的状况显示,七段数码管实时显示当前楼层,完成整个请求和响应的过程。
软件部分使用汇编语言实现,利用查询方式来检测用户请求的按键信息。
根据电梯运行到相应楼层时,模拟按键引起的电平变化,进行判断和执行实现电梯的控制,并且将程序模块化,方便了修改和调用。
硬件设计简单可靠,结合软件,基本实现了四层电梯的模拟运行。
关键词:单片机,AT89C51,电梯控制,步进电机目录摘要 (I)目录 (II)第1章绪论 (1)1.1电梯的研究背景及意义 (1)1.2 电梯的国内外发展状况 (1)第2章电梯设计任务与要求 (2)2.1设计任务 (2)2.2设计要求 (2)第3章总体设计方案 (3)3.1设计思路 (3)3.2总体设计框图 (3)第4章电梯控制系统 (4)4.1电梯控制系统 (4)4.2主要硬件设计器件介绍 (5)4.3 软件设计 (9)第5章个人心得体会 (12)参考文献 (14)致谢 (15)附录I: (16)附录II: (18)第1章绪论1.1电梯的研究背景及意义电梯是高层宾馆、商城、住宅、多层厂房和仓库等高层建筑不可缺少的垂直方向的交通工具。
随着社会的发展,建筑物规模越来越大,楼层越来越多,对电梯的可靠性、舒适感和美学等方面的要求也有了更高的要求。
电梯是集机电一体的复杂系统,涉及机械传动、电气控制和土建等工程领域,而对现代电梯而言,应具有高度的安全性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机管脚说明(2007-06-26 15:46)分类:单片机资料几学习心得51单片机管脚说明发表日期:2007-06-16 00:12:46 点击数:10当我们拿到一块单片机芯片时,看到这么多的“大腿”,他们都有干什么用的?了解了51家族的渊源,现在我们就去了解一下它们的“腿”吧.大家可得学好了,这可是至关重要的哟.如果连手跟腿都分不清,要学好单片机那就有如凭空造屋了.这一章节相当管用,希望大家能用心学好,如果这一章节学不好,以后学习会有很大的阻力.(我们的教材都是以51系列的单片机来进行讲解的).引脚功能:MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图:l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子).l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子).l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子).l P3.0~P3.7 P2口8位双向口线(在引脚的10~17号端子).这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的.P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻.P1口只做I/O口使用:其内部有上拉电阻.P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明.有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢?这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失.(注:这些引脚的功能应用,除9脚的第二功能外,在“新动力2004版”学习套件中都有应用到.)在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效.ALE 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离.参见图2(8051扩展2KB EEPROM电路,在图中ALE 与4LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出.由于ALE是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时,ALE 脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用.PSEN 外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作.1、内部ROM读取时,PSEN不动作;2、外部ROM读取时,在每个机器周期会动作两次;3、外部RAM读取时,两个PSEN脉冲被跳过不会输出;4、外接ROM时,与ROM的OE脚相接.参见图2—(8051扩展2KB EEPROM电路,在图中PSEN与扩展ROM的OE脚相接)EA/VPP 访问和序存储器控制信号1、接高电平时:CPU读取内部程序存储器(ROM)扩展外部ROM:当读取内部程序存储器超过0FFFH(8051)1FFFH(8052)时自动读取外部ROM.2、接低电平时:CPU读取外部程序存储器(ROM).3、8751烧写内部EPROM时,利用此脚输入21V的烧写电压.RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作.XTAL1和XTAL2 外接晶振引脚.当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号.VCC:电源+5V输入VSS:GND接地.各端口工作原理讲解并行端口P0端口总线I/O端口,双向,三态,数据地址分时复用,该端口除用于数据的输入/输出外,在8031单片机外接程序存储器时,还分时地输出/输入地址/指令.由Po端口输出的信号无锁存,输入的信息有读端口引脚和读端口锁存器之分.P0端口8位中的一位结构图见下图:由上图可见,P0端口由锁存器、输入缓冲器、切换开关与相应控制电路、场效应管驱动电路构成.在输出状态下,当切换开关MUX向下时,从内部总线来的数据经锁存器反相和场效应管T2反相,输出到端口引脚线上.此时,场效应管T1关断,因而这种输出方式应为外接上拉电阻的漏极开路式.当切换开关MUX向上时,一位地址/数据信号分时地输出到端口线上.此外,由T1、T2的通断组合,形成高电平、低电平与高阻浮动三态的输出.在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外.例如,当从内部总线输出低电平后,锁存器Q=0,Q=1,场效应管T2开通,端口线呈低电平状态.此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号.又如,当从内部总线输出高电平后,锁存器Q=1,Q=0,场效应管T2截止.如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同.为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号.读-修改-写指令的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上.下面是几条读--修改-写指令的例子.这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状态被读错.P0端口是8031单片机的总线口,分时出现数据D7一D0、低8位地址A7一AO,以及三态,用来接口存储器、外部电路与外部设备.P0端口是使用最广泛的I/O端口.P1端口:通用I/0端口,准双向静态口.输出的信息有锁存,输入有读引脚和读锁存器之分.P1端口的一位结构见下图. 由图可见,P1端口与P0端口的主要差别在于,P1端口用内部上拉电阻R代替了P0端口的场效应管T1,并且输出的信息仅来自内部总线.由内部总线输出的数据经锁存器反相和场效应管反相后,锁存在端口线上,所以,P1端口是具有输出锁存的静态口.由下图可见,要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态.为此,在作引脚读入前,必须先对该端口写入l.具有这种操作特点的输入/输出端口,称为准双向I/O口.8031单片机的P1、P2、P3都是准双向口.P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入l后再作读操作.单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作.如果在应用端口的过程中,已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息.此外,随输入指令的不同,H端口也有读锁存器与读引脚之分.Pl端口是803l单片机中唯一仅有的单功能I/O端口,并且没有特定的专用功能,输出信号锁存在引脚上,故又称为通用静态口.P2端口:P2端口的一位结构见下图:由图可见,P2端口在片内既有上拉电阻,又有切换开关MUX,所以P2端口在功能上兼有P0端口和P1端口的特点.这主要表现在输出功能上,当切换开关MUX向左时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当MUX向右时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上.由于8031单片机必须外接程序存储器才能构成应用电路,而P2端口就是用来周期性地输出从外存中取指令的地址(高8位地址),因此,P2端口的切换开关MUX总是在进行切换,分时地输出从内部总线来的数据和从地址信号线上来的地址.因此P2端口是动态的I/O端口.输出数据虽被锁存,但不是稳定地出现在端口线上.其实,这里输出的数据往往也是一种地址,只不过是外部RAM的高8位地址.在输入功能方面,P2端口与P0和H端口相同,有读引脚和读锁存器之分,并且P2端口也是准双向口.可见,P2端口的主要特点包括:①不能输出静态的数据;②自身输出外部程序存储器的高8位地址;②执行MOVX指令时,还输出外部RAM的高位地址,故称P2端口为动态地址端口.P3端口:双功能静态I/O口P3端口的一位结构见下图.由上图可见,P3端口和Pl端口的结构相似,区别仅在于P3端口的各端口线有两种功能选择.当处于第一功能时,第二输出功能线为1,此时,内部总线信号经锁存器和场效应管输入/输出,其作用与P1端口作用相同,也是静态准双向I/O端口.当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的内含信号,在输入方面,即可以通过缓冲器读入引脚信号,还可以通过替代输入功能读入片内的特定第二功能信号.由于输出信号锁存并且有双重功能,故P3端口为静态双功能端口.P3口的特殊功能(即第二功能):使P3端品各线处于第二功能的条件是:1\串行I/O处于运行状态(RXD,TXD);2\打开了处部中断(INT0,INT1);3\定时器/计数器处于外部计数状态(T0,T1)4\执行读写外部RAM的指令(RD,WR)在应用中,如不设定P3端口各位的第二功能(WR,RD信叼的产生不用设置),则P3端口线自动处于第一功能状态,也就是静态I/O端口的工作状态.在更多的场合是根据应用的需要,把几条端口线设置为第二功能,而另外几条端口线处于第一功能运行状态.在这种情况下,不宜对P3端口作字节操作,需采用位操作的形式.端口的负载能力和输入/输出操作:P0端口能驱动8个LSTTL负载.如需增加负载能力,可在P0总线上增加总线驱动器.P1,P2,P3端口各能驱动4个LSTTL负载.前已述及,由于P0-P3端口已映射成特殊功能寄存器中的P0一P3端口寄存器,所以对这些端口寄存器的读/写就实现了信息从相应端口的输入/输出.例如:MOV A, P1 ;把Pl端口线上的信息输入到AMoV P1, A ;把A的内容由P1端口输出MOV P3, #0FFH ;使P3端口线各位置l串行端口:MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信.1.串行端口的基本特点8031单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要.其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统.串行端口有两个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等.串行端口有一个数据寄存器SBUF(在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同.发送时,只写不读;接收时,只读不写.在一定条件下,向阳UF写入数据就启动了发送过程;读SBUf就启动了接收过程.串行通信的波特率可以程控设定.在不同工作方式中,由时钟振荡频率的分频值或由定时器Tl 的定时溢出时间确定,使用十分方便灵活.2.串行端口的工作方式①方式08位移位寄存器输入/输出方式.多用于外接移位寄存器以扩展I/O端口.波特率固定为fosc/12.其中,fosc为时钟频率.在方式0中,串行端口作为输出时,只要向串行缓冲器SBUF写入一字节数据后,串行端口就把此8位数据以等的波特率,从RXD引脚逐位输出(从低位到高位);此时,TXD输出频率为fosc/12的同步移位脉冲.数据发送前,仅管不使用中断,中断标志TI还必须清零,8位数据发送完后,TI自动置1.如要再发送,必须用软件将TI清零.串行端口作为输入时,RXD为数据输入端,TXD仍为同步信号输出端,输出频率为fosc/12的同步移位脉冲,使外部数据逐位移入RxD.当接收到8位数据(一帧)后,中断标志RI自动置.如果再接收,必须用软件先将RI清零.串行方式0发送和接收的时序过程见下图.②方式110位异步通信方式.其中,1个起始位(0),8个数据位(由低位到高位)和1个停止位(1).波特率由定时器T1的溢出率和SMOD位的状态确定.一条写SBUF指令就可启动数据发送过程.在发送移位时钟(由波特率确定)的同步下,从TxD 先送出起始位,然后是8位数据位,最后是停止位.这样的一帧10位数据发送完后,中断标志TI 置位.在允许接收的条件下(REN=1),当RXD出现由1到O的负跳变时,即被当成是串行发送来的一帧数据的起始位,从而启动一次接收过程.当8位数据接收完,并检测到高电乎停止位后,即把接收到的8位数据装入SBUF,置位RI,一帧数据的接收过程就完成了.方式1的数据传送波特率可以编程设置,使用范围宽,其计算式为:波特率=2SMOD/32×(定时器T1的溢出率)其中,SMOD是控制寄存器PCON中的一位程控位,其取值有0和l两种状态.显然,当SMOD =0时,波特率=1/32(定时器Tl溢出率),而当SMOD=1时,波特率=1/16(定时器T1溢出率).所谓定时器的溢出率,就是指定时器一秒钟内的溢出次数.波特率的算法,以及要求一定波特率时定时器定时初值的求法,后面将详细讨论. ·串行方式1的发送和接收过程的时序见下图.③方式2,311位异步通信方式.其中,1个起始位(0),8个数据位(由低位到高位),1个附加的第9位和1个停止住(1).方式2和方式3除波特率不同外,其它性能完全相同.方式2,3的发送、接收时序见下图.由图可见,方式2和方式3与方式l的操作过程基本相同,主要差别在于方式2,3有第9位数据.发送时,发送机的这第9位数据来自该机SCON中的TB8,而接收机将接收到的这第9位数据送入本机SCON中的RB8.这个第9位数据通常用作数据的奇偶检验位,或在多机通信中作为地址/数据的特征位.方式2和方式3的波特率计算式如下:方式2的波特率=2SMOD/64×fosc方式3的波特率=2SMOD/32×定时器T1的溢出率由此可见,在晶振时钟频率一定的条件下,方式2只有两种波特率,而方式3可通过编程设置成多种波特率,这正是这两种方式的差别所在.3.串行端口的控制寄存器串行端口共有2个控制寄存器SCON和PCON,用以设置串行端口的工作方式、接收/发送的运行状态、接收/发送数据的特征、波特率的大小,以及作为运行的中断标志等.在这些引脚中,“新动力2004版”学习套件都有这些实验功能,并有相应的例程,配套的光盘中还有试验板的原理图.我在后面的章节中也会按照“新动力2004版”的实验功能一步一步的深入讲解下去.。