第04讲:MCS-51单片机的并行IO口
74.56MCS51并行IO端口的扩展PPT课件

(1) 监视键盘的方法 3) 根据键盘布局构建键值表
1FH 1EH 1DH 1CH 1BH 1AH 19H 18H
L3
17H 16H 15H 14H 13H 12H 11H 10H
L2
0FH 0EH 0DH 0CH 0BH 0AH 09H 08H
L1
07H 06H 05H 04H 03H 02H 01H 00H
ORG 0100H
READKEY: MOV A , #0FFH ; 准备读P1口
MOV P1, A
JNB ACC.0 , RP10 ; 若0#键按下,则转RP10
JNB ACC.1 , RP11 ; 若1#键按下,则转RP11
…
JNB ACC.7 , RP17 ; 若7#键按下,则转RP17
DONE : RET
7.4 MCS-51并行I/O端口的扩展
MCS-51单片机虽然有四个并行端口(P0~P3),但是真正留给 用户使用的只有P1,其它的3个并口都有其它的工作:P0和P2常 用作扩展外存储器,P3经常用到它的各引脚的第二功能。因此, 需要扩展I/O
两种方法: 1) 借用外部RAM的地址来扩展I/O端口(统一编址); 方法简单,但使用受限,尤其在使用无接口能力的外设
设计者按照需要固定好各个按键的位置后,即可以根据 当前的键盘布局,确定某键盘所在的行值和列值。例如按键 “7”的行值为0(L0),列值为0(R0)。
为方便编程,需要将所有按键的键值按照固定的顺序保 存在表格中。因为键值和按键是一一对应的,只要通过查表 查到键值,也就知道用户按下了哪个键。其中各个键值对应 的偏移量是由按键的行值和列值确定的。确切的说,是由列 值和所在行的行首键号(顺序号)确定的。如下图所示:
单片机并行I O口应用

关系运算符
关系运算符 优先级
高
<
<=
>
>=
== !=
低
关系表达式
用关系运算符将两个表达式(可以是算术表达 式、关系表达式、赋值表达式或逻辑表达式) 连接起来的式子,称为关系表达式。 关系表达式的值为逻辑值“真”或“假”,以 1代表“真”,以0代表“假”。 例如: (1)关系表达式“8==4”的值为 ,表达式的 值为 。 (2) 关系表达式“5>0”的值为 ,表达式的 值为 。
选择语句
基本if语句的格式如下: if (表达式) { 语句组; } if语句执行过程:当“表达式”的结果为“真”时,执 行其后的“语句组”,否则跳过该语句组,继续执行下 面的语句。
表达式 真(非0) 假(0)
语句组
选择语句
if语句中的“表达式”通常为逻辑表达式或关系表达式, 也可以是任何其他的表达式或类型数据,只要表达式的 值非0即为“真”。以下语句都是合法的: if(3){……} if(x=8){……} if(P3_0){……} 在if语句中,“表达式”必须用括号括起来。 在if语句中,花括号“{ }”里面的语句组如果只有一条 语句,可以省略花括号。如“if (P3_0==0) P1_0=0;”语 句,但是为了提高程序的可读性和防止程序书写错误, 建议读者在任何情况下,都加上花括号。
下一条语句
while执行过程
循环语句
循环体 格式:do { 循环体语句组; 绝对不能少分号! 花括号不 } while(循环继续条件); 能丢掉! 请问:下述程序实现了什么功能? do-while语句用来实现“直到型”循环 main( ) 执行过程:先无条件执行一次循环体, { int i,sum=0; 然后判断条件表达式,当表达式的值 do 为真(非0)时,返回执行循环体直 { sum=sum+i; 到条件表达式为假(0)为止。 i++; }while(i<=100); }
MCS-51单片机并行口的结构与操作

华中科技大学光学与电子信息学院单片机( 2015 -- 2016学年度第一学期)题目:MCS-51单片机并行端口结构与操作院系:光学与电子信息学院班级:学号:学生姓名:指导教师:成绩:日期: 2015年 9月 21日MCS—51单片机并行口的结构与操作一、MCS—51单片机简介MCS—51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MCS—51单片机作为代表进行理论基础学习.MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:8位CPU、4kbytes 程序存储器(ROM)、128bytes的数据存储器(RAM)、32条I/O口线、111条指令,大部分为单字节指令、21个专用寄存器、2个可编程定时/计数器、5个中断源,2个优先级、一个全双工串行通信口、外部数据存储器寻址空间为64kB、外部程序存储器寻址空间为64kB、逻辑操作位寻址功能、双列直插40PinDIP封装、单一+5V电源供电。
如图所示:1。
结构(1)中央处理单元(8位)数据处理、测试位,置位,复位位操作(2)只读存储器(4KB或8KB)永久性存储应用程序,掩模ROM、EPROM、EEPROM(3)随机存取内存(128B、128B SFR)在程序运行时存储工作变量和资料(4)并行输入/输出口(I / O)(32条)作系统总线、扩展外存、I / O接口芯片(5)串行输入/输出口(2条)串行通信、扩展I / O接口芯片(6)定时/计数器(16位、加1计数)计满溢出、中断标志置位、向CPU提出中断请求,与CPU之间独立工作(7)时钟电路内振、外振。
(8)中断系统五个中断源、2级优先。
单片机内部并行口及应

2、没有外扩芯片时,P0口可以直接作为输入口或输出口使用。
精选ppt
返回
第2章 MCS-51单片机内部并行口及其应用
P0口直接做输出口时,输出信息的过程: (将0送到P0.0的过程)
读锁存
0
DB0.0
0
写控制信号
DQ 锁存器 1 CP Q
地址/数据控制线 +5V 0 &
0 P0.0
转换开关
读引脚
注意: P0口做输出口时,内部数据经过锁存器送到P00---P07上。由于上管 始终截止,而当下管也截止时,P00—P07被架空,没有标准的高电平,所 以P0口作输出口使用时,必须外接上拉电阻。
1.1.1 P0口结构 1.1.2 P1口结构 1.1.3 P2口结构 1.1.4 P3口结构
精选ppt
第2章 MCS-51单片机内部并行口及其应用
1.1.1 P0口结构
地址/数据控制线 +5V
读锁存
& P0.0
DB0.0
写控制信号
DQ
锁存器
CP Q
转换开关
读引脚
作用:
1、外扩芯片时,P0口不再做I/O口使用,而是先传送地址,后传送数据。
P1口直接做输出口时,输出信息的过程: (将1送到P1.0的过程)
读锁存
1
DB0.0
0
写控制信号
DQ
锁存器 0
CP Q
+5V
1 P1.0
读引脚
注意:P1口做输出口时,内部数据经过锁存器送到P10---P17上。 由于内部有上拉电阻,所以P1口作输出口使用时,不用外接上拉电阻。
精选ppt
返回
当CPU执行读—改—第写指2章令(M以C端S口-5为1单目片机内部并行口及其应用
MCS51单片机内部并行口及应用

读锁存
0
P0
DB0.0 写控制信号
DQ 锁存器
CP Q
转换开关
0
读引脚
注意: 1、P2口作输入口时,P20—P27上的信号经过缓冲器送到内部数据总线上。 在读引脚之前,要先将锁存器置1,否则总是读到0。 2、CPU对P2口的读操作有2种:读引脚和读—改—写锁存器。
返回
1 .当使用单片机内部串行口1时.1,.若4CPPU执3行口M结OV构A,SBUF指令,则P3.0(RXD)作
返回
当CPU执行读—改—写指令(以端口为目 的操作数的ANL、ORL、XRL、DEC、 INC 、P(1S口将E直PTB1接.、0做处C输的LR入0等送口)入时时D,B,输0产.0入生的信读过息锁程的存) 过程: 信号,此时是先读锁存器的状态,在修改 之后,送回锁存器保存。
读锁存
当CPU执行 MOV A,P1或 JB/JNB
读锁存
地址/数据控制线 0
&
0
DB0.0
0
写控制信号
DQ 锁存器 1 CP Q
转换开关
+5V
0P0.0
读引脚
注意: P0口做输出口时,内部数据经过锁存器送到P00---P07上。由于上 管始终截止,而当下管也截止时,P00—P07被架空,没有标准的高电平, 所以P0口作输出口使用时,必须外接上拉电阻。
读锁存
地址0控制线
0
DB0.0
0
写控制信号
DQ 锁存器
CP Q
1 转换开关
+5V
0
P0
读引脚
注意:P2口做输出口时,内部数据经过锁存器送到P20---P27上。 由于内部有上拉电阻,所以P2口作输出口使用时,不用外接上拉电阻。
MCS-51单片机IO口详解

单片机IO口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。
一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。
由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。
这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。
它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。
图1 单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。
外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。
二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。
图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。
需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。
2.读P1口线状态时,打开三态门G2,将外部状态读入CPU。
MCS-51系列单片机的基本IO口.
MCS-51单片机P3口的第二功能
引脚 P3.0 P3.1 P3.2 第二功能 RXD(串行口输入) TXD(串行口输出) INT0(外部中断0输入)
P3.3
P3.4 P3.5 P3.6 P3.7
INT1(外部中断1输入)
P1可以驱动4个标准的TTL负载电路; 注意在P1口作为通用的I/O口使用时,在从I/O端口读入数据时,应该首 先向相应的I/O口内部锁存器写“1”。 举例:从P1口的低四位输入数据 MOV MOV P1,#00001111b ;;先给P1口底四位写1 A,P1 ;;再读P1口的底四位
Copyright 2006
并行输入和输出端口P2
P2 口作为通用 I/O 时,准 双向输入输出端口。 P2口作为高8位地址总线 ,AB8-AB15。
P2 口与 P0 一起构成单片 机与外电路相连接的扩展端 口。通常可以用来扩展存储 器、及与其它总线型连接方 式的外设。
P2可以驱动4个标准的TTL 负载电路。
· P3.6外部数据存储器写选通(WR)
· P3.7外部数据存储器读选通(RD)
Copyright 2006
P3口电路中包含有一个数据输出锁存器、两个三态数据输入 缓冲器、一个数据输出的驱动电路和一个输出控制电路。 P3口的功能和驱动能力 P3口可以作为通用的I/O口使用; 可以作为单片机系统的第二功能的输入和输出。 P3口可以驱动4个标准的TTL负载电路。 注意在P3口的使用时,首先要考虑第二功能的要求。 初学者可能对P3口的第二功能的用法有些疑惑,在他们看:
并行输入和输出端口P3
P3 口作为通用 I/O 时,为准双向输入输出 端口。 P3口的第二功能。 · P3.0 串行输入口(RXD) · P3.1 串行输出口(TXD) · P3.2外中断0(INT0) · P3.3外中断1(INT1) · P3.4定时/计数器0的外部输入口(T0) · P3.5定时/计数器1的外部输入口(T1)
第8章MCS-51单片机并行IO口及扩展
单片机原理及其接口技术
存储器
I/O设备ห้องสมุดไป่ตู้
主目录
上一页
下一页
结 束
二、I/O接口与I/O端口
I/O接口:
指CPU和外设之间的I/O接口芯片
CPU通过端口 地址就可以对 端口中的数据 进行读写。
单片机原理及其接口技术
I/O端口: 关系:
常指I/O接口中带有端口地址的寄存器或缓冲器
一个外设通常有一个I/O接口, 一个I/O接口可以有多个I/O端口。 命令口 状态口
单片机原理及其接口技术 2 4 3
1
此时可分为两种情况: 一种是从P0口输出地址或数据 另一种是从P0口输入数据。 主目录 上一页 下一页 结
束
(2)P0口作为地址/数据总线使用
单片机原理及其接口技术
主目录
上一页
下一页
结 束
单片机原理及其接口技术
2 4 3
1
在访问片外存储器需从P0输出地址或数据信号
主目录 上一页 下一页 结 束
单片机原理及其接口技术
主目录
上一页
下一页
结 束
单片机原理及其接口技术
读端口数据方式
仅对端口锁存器中的数据进行读入
MOV A,P0
0
0
MOV R1,P0
MOV 20H,P0 MOV @R1,P0
主目录
上一页
下一页
结 束
24
单片机原理及其接口技术
读端引脚方式
为了正确读入端口引脚数据,须先使V1、V2管截止,而后读入。
执行此指令,P3.7引脚上输出/RD 有效信号(低电平),DPTR包含16 位地址信息由P0(低8位)、P2口(高8位)提供,数据由P0口输
MCS-51 I-O端口的使用
(2)P3口第二功能
P3口第二功能如表所示:
提示
根据实际的应用场合中的需要,一般 把几条端口线设置为第二功能,而另外几 条端口线处于第一功能运行状态。因此, 在这种情况下,不宜对P3端口作字节操作, 需采用位操作的形式。
—6—
读锁存器
读锁存器中的数据时,读锁存器三态门缓冲器 U1打开(即三态门缓冲器的控制端有效),锁存器 输出端Q的数据经三态门U1进入内部数据总线。
注意
当从内部总线输出高电平后,锁存器Q=1,Q=0,场效 应管T2截止。若外接引脚信号为低电平,此时从引脚读入的 数据与从锁存器读入的数据不同。
为避免原端口的状态被读错,MCS-51系列单片机指令系 统中提供了“读—修改—写”方式指令,如ANL、ORL、XRL等 (这些指令都需要得到原端口输出的状态,修改后再输出), 采用读锁存器方式而不是读引脚方式。
P2口作为I/O端口使用时,多路开 关的控制信号为0(低电平),多路开 关与锁存器的Q端相接,数据输出与输 入工作过程与P0端口作为通用I/O口时 相似,这里不再赘述。
P2口作为通用I/O口
—11—
P2口作为地址总线时,多路开关的控 制信号为1(高电平),多路开关与地 址线接通,地址信号→非门(数据反 相)→场效应管(数据反相)→P2.X。
—4—
① 数据输出
由数据总线向引脚输出的工作过程:写锁存器信号CP有效, 内部总线的信号→锁存器的输入端D→锁存器的反向输出 端Q→多路开关MUX→T2管(数据反相)→P0.X。
提示
当多路开关的控制信号为低电平0时,与门输出为低电平,T1管是 截止的,所以作为输出口时,P0是漏极开路输出,当驱动上接电流负 载时,需要外接上拉电阻。
MCS一单片机并行IO接口的扩展
六、8155的定时器/计数器 1.定时器/计数器的计数结构 8155的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,以其中的低14位组成计数器,两个高位(M2、
M1)用于定义计数器输出的信号形式。 8155定时器/计数器的计数结构如下:
24
第24页,共35页。
2.定时器/计数器的使用 8155的定时器/计数器与MCS-51单片机芯片内部的定时器/计数器在功能上是完全相同的,即同样具 有定时和计数两种功能。但是在使用上却与MCS- 51的定时器/计数器有许多不同之处。具体表现在:
13
第13页,共35页。
2、一个拨盘可产生一个BCD码形式的十进制数(4位)。现有A、B、C、D4个拨盘,要求把它们产生的BCD码数 依次输入到通用寄存器R4(B、A)、R5(D、C)中去。每个BCD码需4条输入线,4个BCD码则共需16条愉入线,即2个8 位口(1#口和2#口),因此用两片74LS244就可构成其输入接口,电路连接如图7.12所示。
P2.7、P2.6分别作为1#口和2#口的地址选通线(线选法)。假定其它地址线为1,则1#输入口地址为7FFFH,2# 输入口地址为0BFFFH。
数据输入程序: MOV DPTR,#7FFFH;1#口地址 MOVX A,@DPTR;从拨盘取数 MOV R4,A MOV DPTR,#0BFFFH;2#口地址
当PA或PB以中断方式进行数据传送时,所需的联络信号由PC提供,各联络信号如表:
18
第18页,共35页。
联络信号共有3个,其中:、
·INTR—中断请求信号(输出),高电平有效。送给MCS- 51单片机的外中断请求信号。 ·BF—缓冲器满状态信号(输出),高电平有效。 ·STB—选通信号(输入),低电平有效。数据输入操作时STB是外设送来的选通信号;数据输出时STB是外设送来
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a)P0. X 结构图
2)P2口(地址高八位)
不P0口类似,P2口除了作I/O口之外,还作为地址总 线的高8位地址输出端。在作为I/O口用时,“控制”端 为“0”,故多路转换器MUX接在锁存器的Q端,场效应 管叐锁存器的控制。在作为地址总线输出 时,“控制” 端为“1”,多路转换器MUX接在“地址”端,故场效应 管由“地址”端来控制,此时锁存器(P2的特殊功能寄 存器SFR)的内容丌发,在外部存储器读/写完毕时, P2口的地址输出的作用也结束,则“控制”端又发为 “0”,P2口继续按锁存器原来的状态输出。由亍P2口 在CPU对外部存储器读/写过程中,始终能输出地址信 号,所以P2的地址丌需要外部锁存器的锁存。
1)P0口(BUS,数据/地址时分复用)
P0口还起了数据总线和地址总线(低八位)的作用。在迚行正常的输 出(普通IO)时,“控制”端为“0”,多路转换器MUX接在锁存器的Q端。 此时上方的场效应管关断,下方的场效应管叐锁存器的控制,P0口具有 开漏输出,这时驱动外部电路时P0口需外加上拉电阻(上拉电阻的阻值 叏5.1K或者4.7K) 。 在CPU迚行外部存储器存/叏时,P0口起数据总线或地址总线的作用, “控制”端为“1”,多路转换器MUX接反相器的输出端,即相当亍接在 “地址/数据”端。当这个“地址/数据”为“1”时,上方的场效应管导通 而下主的场效应管关断,P0.X输出高电平,反之输出低电平。这时P0口 丌需外接上拉电阻,P0口的锁存器(P0的特殊功能寄存器SFR)必须写 入“1”,以便迚行外部存储器的读操作。
b)P2. X,每一根线都可以执行不口功 能无关的第二种I/O功能。由图2-5可以看出,输出驱动器叐控 亍锁存器的状态不第二输出功能的状态。 若要迚行第二功能使用时,锁存器必须先写入“1”,否则口 线将被拉为0。
c)P3. X 结构图
(3) 输出功能不负载能力
当单片机执行改发锁存器值的输出指令时,在该指令的最后 周期的状态时,CPU向锁存器产生出有效的“写锁存器”信号, 将内部总线上的新值写入锁存器(即D触収器) 。 P0口输出驱动器能驱动8个LSTTL输入,P1、P2、P3口可驱 动4个LSTTL输入 。
(4) 特殊功能
除了以上的输入、输出指令外, P0、P2、P3口还有其特殊的功能。
在CPU需要对外部存储器进行写操作时,“地址/数据”端应先送 出地址,然后在把要写的数据输出。很显然,P0口的地址、数据是分 时输出,这就是需要加入外部地址锁存器将先输出的地址锁存起来, 地址锁存信号取自ALE。一般的情况下,P0口只在系统中用作总线, 而不作为一般的I/O口,因而P0口不外加上拉电阻。
(1 )结构特点
(2) 输入功能
单片机有两种读一个端口的方法:读锁存器和读引脚。
①读锁存器:在CPU“读锁存器”信号的作用下,锁存器的状态 通过三态门送到内部总线,然后读到CPU中进行处理,而处理 后的值将被重新写入锁存器。能实现这种功能的指令称为“读 —修改—写”指令,它们有:
ANL(逡辑不指令) 例如:ANL P1,A ORL(逡辑或指令) 例如:ORL P2,A XRL(逡辑异或指令) 例如:XRL P3,A INC(增量指令) 例如:INC P2 DEC(减量指令) 例如:DEC P1 DJNZ(循环判跳指令) 例如:DJNZ P2,LOOP
数据存储器(RAM)
• MCS5—51内部RAM共有256个单元, 通常按其功能的丌同把这256个单元划 分为两大部分;低128单元(单元地址 00H--7FH)和高128(80H--FFH)。
内部RAM低128个单元
• 通用寄存器区(共四组寄存器,每组 八个单元) • 位寻址区(可作为一般RAM单元使用, 迚行字节使用) • 用户RAM区(80单元供用户使用一般 RAM区,其单元地址为30H--7FH)
MCS51单片机的并行I/O口
所谓并行I/O口,即各位的数据同时被输入或输出,它的最大特点是 速度快。 MCS-51系列单片机的32根I/O线分为四个双向并行口P0~P3,每根 I/O线由一个锁存器(相对亍特殊功能寄存器中的一位),一个输出驱动 器(场效应管FET)和一个输入缓冲器(三态门)组成。由亍功能的丌 同,P0~P3各口的结构有所区别。各锁存器由D触収器构成,在CPU“写 锁存器”信号的作用下,内部总线的数据写入D触収器。两个三态门分 别用来读锁存器或读引脚的信息。 P1、P2、P3口均有内部上拉电阻,而P0口的引脚是通过场效应管 接到VCC。显然,当P0口的上、下两只场效应管均关断时,引脚相当亍 “浮空”状态,即可作为高阻抗的输入端口(∴P0口为真正的双向口)。 P0、P2口的驱动器的输出不多路转换器MUX的状态有关,P3口的驱动 器也不输出功能的类型有关,这些均为这些端口的多重作用创造了条件。
P3口的第二功能有哪些?
4)P1口只能做I/O(不具备第二功能)
d)P1. X 结构图
注意 说明:对P0~P3口 : • 1) 各个端口引脚在作输入口之前,都要先向对应的 口寄存器中写“1”,丌然丌能作输入口用。 • 2) P0口内部没有上拉电阻(其他都有),所以作通 用IO口用时为“开漏”输出,必须外加上拉电阻。在 作总线使用时丌需要加上拉。其他的口可加可丌加。 (上拉电阻的阻值确定,5.1K或者4.7K都可以)。 • 3) P3口作第二功能使用时,相应的口锁存器必须为 “1” 状态。 • 4) 如果使用了外部存储器,丌要再写P0口(外部存 储器挂在P0口)。
②CPU“读引脚”信号时,接在该端口引脚的外部信号通过三态门读 到内部总线,并送CPU处理,因而实现了数据的输入。 但必须注意,在读引脚时,该端口的锁存储器必须事先写“1”。 这是因为该端口既是输出端同时也是外部信号的输入端。比如:假设 该端口的状态此时为0,则驱动器的下方场效应管会导通,此时相当 亍输出“0”;如果有一外部输入信号是高电平丏加到该引脚上,则该 引脚会被强行箝拉到低电平,故造成读到CPU中的数据为“0”,同时 也可能造成器件损坏! 而事先给锁存器写“1”,对亍P0口,此时上、下两只场效应管 均夹断,则构成高阻输入;对亍P1、P2和P3口,此时的输出给拉成 高电平,故其电平状态叏决亍外部信号。(在复位时,各端口的锁存 器均置成“1”!)
内部RAM高128个单元
• 内部高128单元供给与用寄存器使用的, 其单元地址为80H--FFH.因这些寄存器 的功能已做与门规定,故而称与门寄 存器。也可称特殊功能寄存器。
8051共21个专用寄存器,下面为几个简单的
• • • • • •
程序计数器 累加器 B寄存器 程序状态字 数据指针 堆栈指针
JBC(位测试转移指令) 例如:JBC P1. 1, LOOP MOV(位传送指令) 例如:MOV P1.3, C CPL(位叏反指令) 例如:CPL P1.0 CLR(位清“0”指令) 例如:CLR P1.0 SETB(位置位指令) 例如:SETB P3.3
!读锁存器操作的共同点(特征):先读入并行I/O口锁存器中的内容,作一定 的修改,然后再写入该口的锁存器中(读出—修改—写回)。 上述的后五条指令,属于位操作指令,实际上也是先要将8位锁存器的内容一 起读入,再按指定位进行修改,然后再一起写入锁存器中。