第三章 MCS-51单片机的并行IO口
3.1MCS-51单片机的并行IO口
一、并行I/O口的功能结构
2、接口功能 (2)通用I/O接口
(四)P0口
此时“控制”信号为“0”,多路开关 MUX向下,输出驱动器处于开漏状态,故需 外接上拉电阻,这种情况下,电路结构与P1 相同,所以也是一个准双向口,当要作为输 入时,必须先向口锁存器写“1”。
一、并行I/O口的功能结构
(四)P0口
这是由接口的特殊结构所决定的。每一个 口都包含一个锁存器,一个输出驱动器和两 个(P3口为3个)输入缓冲器。各口的结构也 P 3 有些差异,下面分别介绍。
一、并行I/O口的功能结构
1、接口结构
(一)P1口
P1口一位的结构如下图所示:
图2.15
一、并行I/O口的功能结构
1、接口结构
(一)P1口
接口结构中锁存器起输出锁存作用, 8位锁存器组成特殊功能寄存器P1,场 效应管和上拉电阻组成输出驱动器,以 增大负载能力,三态门1和三态门2分别 用于控制输入引脚和锁存器的状态。
作为I/O口应用的一个实例,下面介绍 8031单片机的最小应用系统如下图所示
二、产生接口控制信号的指令
(四)P0口
8051指令系统中能与接口打交道的指令 大体可分两类 1.一般的输入/输出指令 2.“读-修改-写”指 令
二、产生接口控制信号的指令
1.一般的输入输出指令
(四)P0口
输入指令执行时,内部产生“读引脚”信号, 直接从口线读入,亦称“读引脚”指令。 下面是属于这种指令的各种实例:
二、产生接口控制信号的指令
(四)P0口 2.“读-修改-写”指令 INC P2 接口锁存器加1 DEC P1 接口锁存器内容减1 DJNZ P3,LOOP 减1后不为零则跳转 还有三条虽不明显,但也属此列: MOV P1.1,C CLR P1.1 SETB P1.1 将进位位送接口的某位 清接口的某一位 接口的某一位置位
MCS-51单片机的并行接口
1.1 P0口
口结构
P0口
“读-改-写”类指令 先读端口,然后对读入的数据进行修改,最后再写回到端口 不直接读取引脚上的数据而读锁存器Q端内容,是为了消除错
读引脚电平的可能性
P0口
P0既可用作地址/数据总线,又可用作通用I/O端口 用作输出端口时,输出级为开漏电路,在驱动NMOS电路时应
例 某接口电路与单片机使用一条线传送握手信号。双方约定, 单片机先向接口发送一个1和一个0,随后接口电路向单片机回 送一个1
单片机原理与应用
单片机原理与应用
MCS-51单片机的并行接口
MCS-51单片机本身提供了4个8位的并行端口,分别记做P0、 P1、P2和P3,共有32条I/O口线
都是双向端口,每个口包含一个锁存器(即特殊功能寄存器P0、 P1、P2和P3)、一个输出驱动器和输入缓冲器
端口和其中的锁存器都表示为P0、P1、P2、P3 结构不同,功能各异
1.4 P3口
口结构
P3口
作为通用I/O口使用时,工作原理与P1、P2口类似,但第二功 能输出端应保持高电平,使锁存器输出端Q内容能通过与非门
P3口的各位都具有第二功能
P3口
P3口的第二功能输入信号
P3.0——RxD,串行口数据接收 P3.2—— INT0#,外部中断0请求信号输入 P3.3—— INT1#,外部中断1请求信号输入 P3.4——T0,定时器/计数器0外部计数脉冲输入 P3.5——T1,定时器/计数器1外部计数脉冲输入
ORL ANL XRL CPL
P1, #3CH ;将P1中间4位置位
P1, #0C3H ;将P1中间4位清零
P1, #03H ;将P1最低2位取反
P1.5
;取反P1.5
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级优先。
51单片机并行io口工作原理
51单片机并行io口工作原理51单片机是一种常用的嵌入式系统开发平台,具有强大的并行IO 口功能。
本文将介绍并行IO口的工作原理及其在51单片机中的应用。
我们来了解一下什么是并行IO口。
并行IO口是指可以同时进行多个输入输出操作的接口。
在51单片机中,通过并行IO口可以实现与外部设备的数据交互,如控制LED灯、读取按键状态等。
在51单片机中,有两种类型的IO口:通用IO口和特殊功能IO口。
通用IO口可以进行输入输出操作,而特殊功能IO口则有特定的功能,如串口通信、定时器等。
并行IO口的工作原理是通过对寄存器的写入和读取来控制IO口的状态。
在51单片机中,有4个8位寄存器,分别是P0、P1、P2、P3。
P0口的每一位对应一个IO口,P1、P2、P3口则是通过外部扩展芯片来实现更多的IO口。
通过向寄存器中写入数据,可以控制IO口的输出状态。
例如,向P0寄存器写入0x55,即二进制01010101,可以控制P0口的1、3、5、7位输出高电平,2、4、6、8位输出低电平。
通过读取寄存器中的数据,可以获取IO口当前的输入状态。
例如,读取P1寄存器的值,可以获取P1口每一位的输入状态。
在51单片机中,可以通过对寄存器的位操作来实现对单个IO口的控制。
例如,通过设置P2口的某一位为1,可以将对应的IO口设置为输出模式;通过设置P2口的某一位为0,可以将对应的IO口设置为输入模式。
通过对寄存器的位操作,可以实现对多个IO口的同时控制。
除了通过编程对寄存器进行操作外,51单片机还提供了一些特殊功能IO口,可以直接使用这些IO口来实现一些常见的功能。
例如,P3.0和P3.1口可以作为外部中断输入口,P3.3和P3.4口可以作为定时器输入口,P3.5和P3.6口可以作为串口通信口。
在实际应用中,我们可以根据需要将不同的外部设备连接到51单片机的IO口上,通过对寄存器的编程,控制外部设备的状态。
例如,我们可以将LED灯连接到P0口的某一位上,通过对P0寄存器的位操作,控制LED灯的亮灭;我们也可以将按键连接到P1口的某一位上,通过读取P1寄存器的值,获取按键的状态。
51单片机资料-单片机IO口介绍
20
综上所述:当P0作为I/O口使用时,特别是作 为输出时,输出级属于开漏电路,必须外接 上拉电阻才会有高电平输出;如果作为输入, 必须先向相应的锁存器写“1”,才不会影响 输入电平。
DQ CLK Q
T1
T2 MUX
P0.n P0口 引脚
读引脚
5
驱动场效应管T2栅极接通。故内部总线与P0口同相。由 于输出驱动级是漏极开路电路,若驱动NMOS或其
它拉流负载时,需要外接上拉电阻。P0的输出级可驱动
8个LSTTL负载。
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
读锁存器
地址/数据 VCC 控制
内部总线 写锁存器
DQ CLK Q
T1
P0.n P0口
T2
引脚
MUX
读引脚
9
P0口必须接上拉电阻;
在读信号之前数据之前,先要向相应的锁存器做写1操作的I/O口 称为准双向口;
三态输入缓冲器的作用:
VCC
(ANL P0,A)
OUTPUT
Q1
P0i
9 01 3
GND
①P1口的一位的结构
它由一个输出锁存器、两个三态输入缓冲器和输出驱
动电路组成----准双向口。
VCC
读锁存器
内部总线 写锁存器
DQ CLK Q
R
P1.n P1口
T
引脚
读引脚
第3章51系列单片机程序设计(C语言部分)
idata
间接寻址片内数据存储区,可访问片内全部RAM地址空间(256字节)
pdata
分页寻址片外数据存储区(256字节)由MOV @Ri访问(i=0,1)
xdata
片外数据存储区(64 KB)由MOVX @DPTR访问
code
程序存储器64 KB空间,由MOVC @DPTR访问
第3章 51系列单片机程序设计(C部分)
/* Ary37定义为abry[3]的第7位 */
第3章 51系列单片机程序设计(C部分)
3.5 数 组
数组:数组是一组类型相同 有序数据的集合。用数组名 和下标来唯一确定数组中的 元素。
第3章 51系列单片机程序设计(C部分)
3.5.1 一维数组
一、一维数组的定义 形式:类型说明符 数组名 [常量表达式]
使用C51进行编程时,MCS-51片内的I/O口与片外扩展的I/O可以统一在一个头文 件中定义,也可以在程序中(一般在开始的位置)进行定义。
对于MCS-51片内I/O口按特殊功能寄存器方法定义。 例如:
sfr P0=0x80 ; /* 定义P0口,地址为80H */ sfr P1=0x90 ; /* 定义P1口,地址为90H */
第3章 51系列单片机程序设计(C部分)
3.4.3 C51数据的存储类型与MCS-51存储结构
表 3.4.2 C51存储类型与MCS-51存储空间的对应关系
存储类型 与存储空间的对应关系
data
直接寻址片内数据存储区,访问速度快(128字节)
bdata
可位寻址片内数据存储区,允许位与字节混合访问(16字节)
据 浮点型(float) 类
型 指针类型
详细见表3.4.1
单片机应用技术(C语言版)第2版课后习题答案-王静霞
3
LED数码若采用动态显示方式,下列说法错误的是__________。
A.将各位数码管的段选线并联
B.将段选线用一个8位I/O端口控制
C.将各位数码管的公共端直接连接在+5V或者GND上
D.将各位数码管的位选线用各自独立的I/O端口控制
C
4
共阳极LED数码管加反相器驱动时显示字符“6”的段码是_________。
规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。
当振荡脉冲频率为12MHz时,一个机器周期为1µs;当振荡脉冲频率为6MHz时,一个机器周期为2µs。
序号
知识点
题型
内容
答案
1
项目三单片机并行I/O端口的应用
3.1单项选择题
下面叙述不正确的是()
A.一个C源程序可以由一个或多个函数组成
P3口各引脚与第二功能表
引脚
第二功能
信号名称
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据发送
P3.2
外部中断0申请
P3.3
外部中断1申请
P3.4
T0
定时/计数器0的外部输入
P3.5
T1
定时/计数器1的外部输入
P3.6
外部RAM写选通
P3.7
外部RAM读选通
3
什么是机器周期?机器周期和晶振频率有何关系?当晶振频率为6MHz时,机器周期是多少?
voiddelay(void)
{inti;
for(i=0; i<10000; i++);
}
10000
12
在单片机的C语言程序设计中,______________类型数据经常用于处理ASCII字符或用于处理小于等于255的整型数。
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。
第3章 MCS-51单片机指令系统
(1)内部数据存储器的低128个字节单元 (00H~7FH)。例: MOV A, 40H ,表示把内 部RAM 40H单元的内容传送给A。 假设40H单元中的内容为2BH,结果是将直接地 址40H单元中的数据2BH传送到累加器A中。
第三章 MCS-51单片机指令系统
3.2.2 直接寻址
(2)特殊功能寄存器。 特殊功能寄存器只能用直接寻址方式进行访问。 对于特殊功能寄存器,在助记符指令中可以直接 用符号来代替地址。例: MOV A, P0 ,表示把 P0口(地址为80H)的内容传送给A。
3.3.1 内部数据存储器传送指令
1.立即数传送指令
MOV A,#data ;A←data MOV Rn,#data ;Rn←data,n=0~7 MOV direct,#data ;direct←data MOV @Ri,#data ;(Ri)←data,i=0,1 MOV DPTR,#data16 ;DPTR←data16 前四条指令将8位立即数传送到指定的存储单元中。 最后一条指令将16位立即数传送到数据指针 DPTR中,其中高8位送入DPH,低8位送入DPL。
(3)三字节指令 编码格式为:
例如数据传送指令MOV 20H,#3AH的编码格式为:
3.2 寻址方式
第三章 MCS-51单片机指令系统
所谓寻址,就是寻找操作数的真正地址,寻址方 式,就是指寻找操作数地址的方式。
在用汇编语言编程时,数据的存放、传送、运算 都要通过指令来完成。 编程者必须自始至终都要 十分清楚操作数的位置, 以及如何将它们传送到适 当的寄存器去参与运算。每一种计算机都具有多 种寻址方式。寻址方式的多少是反映指令系统优 劣的主要指标之一。
2. 汇编语言
汇编语言就是用助记符表示的指令,汇编语言与 机器语言一一对应。用汇编语言编写程序,每条 指令的意义一目了然,给程序的编写、阅读和修 改带来很大方便。而且用汇编语言编写的程序占 用内存少,执行速度快,尤其适用于实时应用场 合的程序设计。因此,在单片机应用系统中主要 是用汇编语言来编写程序。 汇编语言的缺点:缺乏通用性,程序不易移植, 是一种面向机器的低级语言。使用汇编语言编写 程序时,必须熟悉机器的指令系统、寻址方式、 寄存器的设置和使用方法。每种计算机系统都有 它自己的汇编语言。不同计算机的汇编语言之间 不能通用。
MCS51的片内接口及定时器计数器
参考程序如下:
ORG 0000H LJMP MAIN
ORG 0100H MAIN:
MOV TMOD,#09H MOV TH0,#00H MOV TL0,#00H BACK1: JB P3.2,BACK1 SETB TR0
BACK2: JNB P3.2,BACK2
BACK3: JB P3.2,BACK3 CLR TR0 MOV 70H,TL0 MOV 71H,TH0 SJMP $
P1=~K;} Return; }
5.2 MCS-51定时/计数器及其应用
51系列内部有2个16位的定时/计数器T0、T1
52系列内部有3个16位的定时/计数器T0、T1、T2
功能:
定时 计数
可编程 串行口的波特率发生器
定时/计数器的可编程特性:
⑴ 确定其工作方式是定时还是计数
⑵ 预置定时或计数初值
回目录 上页 下页
计数初值X的计算方法: 计数方式:
N= 2n-X(X即为要求计数的次数)
定时方式: (2n - X)×T = 定时值
∴ X = 2n -定时值 / T 其中T为机器周期,时钟的12分频, 若晶振为6MHz,则T = 2µs, 若晶振为12MHz,则T = 1µs
回目录 上页 下页
BACK:
MOV A,P0 ;读P0口开关状态,并送入累加器A
CPL A
;对累加器A求反
MOV P1,A
;从P1口输出
SJMP BACK ;循环执行
C51参考程序如下: Sfr P0=0x80; Sfr P1=0x90; Void main(){ Volatile unsigned char k; P0=0xff; P1=0; While(1) { K=P0;
单片机IO口扩展技术
单片机IO 口扩展技术口扩展技术在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型。
MCS-51单片机的并行口有P0、P1、P2和P3,由于P0口是地址/数据总线口,P2口是高8位地址线,P3口具有第二功能,这样,真正可以作为双向I/O 口应用的就只有P1口了。
这在大多数应用中是不够的,因此,大部分MCS-51单片机应用系统设计都不可避免的需要对P0口进行扩展。
由于MCS-51单片机的外部RAM 和I/O 口是统一编址的,因此,可以把单片机外部64K 字节RAM 空间的一部分作为扩展外围I/O 口的地址空间。
这样,单片机就可以像访问外部RAM 存储器单元那样访问外部的P0口接口芯片,以对P0口进行读/写操作。
用于P0口扩展的专用芯片很多。
如8255可编程并行P0口扩展芯片、8155可编程并行P0口扩展芯片等。
本文重点介绍采用具有三态缓冲的74HC244芯片和输出带锁存的74HC377芯片对P0口进行的并行扩展的具体方法。
1 1 输入接口的扩展输入接口的扩展输入接口的扩展 MCS-51单片机的数据总线是一种公用总线,不能被独占使用,这就要求接在上面的芯片必须具备“三态”功能,因此扩展输入接口实际上就是要找一个能够用于控制且具备三态输出的芯片。
以便在输入设备被选通时,它能使输入设备的数据线和单片机的数据总线直接接通;而当输入设备没有被选通时,它又能隔离数据源和数据总线(即三态缓冲器为高阻抗状态)。
1.1 74HC2244芯片的功能如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器。
74HC244芯片的引脚排列如图1所示。
74HC244芯片内部共有两个四位三态缓冲器,使用时可分别以1C 和2G 作为它们的选通工作信号。
MCS-51单片机原理和接口技术习题参考答案
MCS-51单片机原理和接口技术习题参考答案第一章绪论1-1解答:第一台计算机的研制目的是为了计算复杂的数学难题。
它的特点是:计算机字长为12位,运算速度为5000次/,使用18800个电子管,1500个继电器,占地面积为150m2,重达30t,其造价为100多万美元。
它的诞生,标志着人类文明进入了一个新的历史阶段。
1-2解答:单片微型计算机简称单片机。
一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件。
1-3解答:单片机的发展大致经历了四个阶段:第一阶段(1970—1974年),为4位单片机阶段;第二阶段(1974—1978年),为低中档8位单片机阶段;第三阶段(1978—1983年),为高档8位单片机阶段;第四阶段(1983年至今),为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。
1-4解答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品;Motorola公司的6801、6802、6803、6805、68HC11系列产品;Zilog公司的Z8、Super8系列产品;Atmel公司的AT89系列产品;Fairchild公司的F8和3870系列产品;TI公司的TMS7000系列产品;NS公司的NS8070系列产品;NEC公司的μCOM87(μPD7800)系列产品;National公司的MN6800系列产品;Hitachi公司的HD6301、HD63L05、HD6305。
1-5解答:(1)8031/8051/8751三种型号,称为8051子系列。
8031片内没有ROM,使用时需在片外接EPROM。
8051片内含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。
8751片内含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。
(2)8032A/8052A/8752A是8031/8051/8751的增强型,称为8052子系列。
第04讲:MCS-51单片机的并行IO口
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。
第03章 MCS - 51单片机指令系统
第 二 节 数 据 传 送 指 令
第3章 MCS-51单片机指令系统
(2)将数据传送到工作寄存器Rn的指令(3条) 例:已知累加器A的内容为30H,寄存器R7的内容 为50H,内部RAM30H单元的内容为40H,内部 RAM50H单元的内容为10H,请指出下列每条指令 执行以后相应单元内容的变化.
第 一 节 指 令 格 式 与 寻 址 方 式
第3章 MCS-51单片机指令系统
(6) 相对寻址:
在MCS -51 指令系统中设有转移指令, 分 为直接转移和相对转移指令, 在相对转移 指令中采用相对寻址方式。这种寻址方式 是以PC的内容为基本地址, 加上指令中给 定的偏移量作为转移地址,也就是目的地 址(用来修改PC的值)。指令中给出的偏 移量是一个 8 位带符号的常数, 可正可负, 其范围为-128~+127。
第3章 MCS-51单片机指令系统
(1) 立即寻址:
立即寻址方式是将操作数直接存放在指令字 节中,作为指令的一部分存放在代码段里。 比如:MOV A, #3AH 跟在指令操作码后面的数就是参加运 算的数, 该操作数称为立即数。立即数有一字 节和二字节两种可能, 如指令: MOV DPTR, #0DFFFH 上述两条指令均为立即寻址方式, 第 一条指令的功能是将立即数 3AH送累加器A中, 第二条指令的功能是将立即数 0DFFFH送数据 指针DPTR中(DPH, 0FFH→DPL)。
第 二 节 数 据 传 送 指 令
第3章 MCS-51单片机指令系统
3.2数据传送指令
程序中使用最多的指令,主要用于内部RAM、 寄存器、外部RAM以及程序存储器之间的数据 传送、保存以及交换。 工作原理:将源操作数简单地传给目的 操作数,而源操作数的内容不变,PSW的内容 不改变。 分类:内部数据传送指令、外部传送指 令、查表指令、交换指令和堆栈指令。
单片机C语言第3章51单片机P0P3口的C51编程1课件
1. 结构
P0
P1
P2
P3
D锁存器
★
★
★
★
MUX开关 ★
★
输出控制 ★
★
★
内部上拉电阻
★
★
★
2. 功能
P0
P1
P2
读引脚
VCC
2
P1.N锁存器
D
Q
CLK
Q
R V
P1.N
1
(1)输出方式:数据经内部总线送入锁存器存储,某位数 据为1,则Q=1,Q=0,VT1截止,引脚P1.N上出现高电 平;反之,数据为0,则Q=0,Q=1,VT1导通,引脚 P1.N上出现低电平。
(2)读引脚方式:读引脚时,控制器打开三态门1,引脚 P1.N上的数据经三态门1进入芯片的内部总线,再送到 累加器A,输入时无锁存功能。
1、P0口具有通用I/O口方式,可实现输出、读引脚(输入) 和读锁存器三种功能;
2、作为通用I/O口方式时,需要外接上拉电阻;
3、P0口具有地址/数据分时复用方式,可实现地址/数据输 出、数据输入两种功能;
4、地址/数据分时复用方式时无需外接上拉电阻;
5、分时复用方式的数据输入时无需程序写1操作。
P0~P3小结
V
P0.n的通用I/O口工作方式:输出、读引脚、读锁存器
读锁存器 2
VCC
外接上拉电阻
内部总线 写锁存器
P0.N锁存器
D
Q
V
CLK
Q
MCS-51单片机的并行I-O
内 部总 线 写 锁存 器
D
Q
P 3.X
锁 存器
CP Q
内 部上 拉 电 阻
P 3.X 引脚 &
读 引脚
第 二输 入 功 能
P3口的位结构
P3端口(P3.0-P3.7,10-17脚); P3端口是一个带内部上拉电阻的8位I/O端口,P3端口的每一位
可以驱动4个LS型TTL负载; P3端口除了做为一般I/O端口外,每个引脚还具有第二功能。
“读—修改—写”类指令的端口输出与P0的端口输出功能相同。 3.地址总线
CPU在执行读片外ROM、读/写片外RAM或I/O口指令时,单片机 内硬件自动将控制信号C=1,MUX开关接到地址线,地址信息经非门 和驱动管V输出。
1.4 P3口的结构和功能
1.P3口的结构
读 锁存 器
第 二输 出 功 能 VCC来自1.2 P1口的结构和功能
1.P1口的结构
读锁 存器
内部 总线 写锁 存器
D
Q
P 1.X
锁存 器
CP Q
VCC
内部 上拉电阻 P 1.X 引脚
读引 脚
P1口的位结构
1.3 P2口的结构和功能
1.P2口的结构
读锁存器
内部总线 写锁存器
DQ P 2.X 锁存器
CP Q
VCC
地址 控制 MUX
内部上拉电阻
CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总 线上,P0.x引脚的状态与地址/数据总线的地址信息相同。然后, CPU自动使模拟转换开关MUX拨向锁存器,并向P0口写入0FFH,同时 “读引脚”信号有效,数据经缓冲器读入内部总线。因此,可以认 为P0口作为地址/数据总线使用时是一个真正的双向口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Q
第 3章
并行接口P0-P3
各部分功能
1、P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任
何一位,即在P0口有8个与上图相同的电路组成。 2、输入缓冲器:在P0口中,有两个三态的缓冲器,三态门有 三个状态,即在其的输出端可以是高电平、低电平,同时还 有一种就是高阻状态(或称为禁止状态)。上面一个是读锁 存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据 ,那就得使读锁存器的这个缓冲器的三态控制端有效。下面 一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使
标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上
的数据才会传输到我们单片机的内部数据总线上。
第 3章
并行接口P0-P3
3、D锁存器:构成一个锁存器,通常要用一个时序电路,在51 单片机的32根I/O口线中都是用一个D触发器来构成锁存器的 。大家看上图中的D锁存器,D端是数据输入端,CP是控制 端(也就是时序控制信号输入端),Q是输出端,Q非是反向 输出端。
第 3章
并行接口P0-P3
作为I/O端口使用时的工作原理
PO作I/O口使用
CPU发控制电平“0”封锁与门,使T1管截止,同时使MUX 开关同下面的触点接通,使锁存器的 Q 与T2栅极接通。
当CPU向端口输出数据时,写脉冲加在锁存器的 CL上 、内部总线的数据经反相,再经T2管反相,PO口的这一位 引脚上出现正好和内部总线同相的数据。由于输出驱动级 是漏极开路电路(因T1截止),在作I/O口使用时应外接10K 的上拉电阻。
0 P1.0
CP Q
注意: 1、P1口作输入口时,P1.0—P1.7上的信号经过缓冲器送到内部数据总线上。 在读引脚之前,要先将锁存器置1,否则可能读错。 2、CPU对P1口的读操作有2种:读引脚和读—改—写锁存器。
返回
第 3章
并行接口P0-P3
3.P2口 P2口的位结构比P1多了一个转换控制部分,当P2口作通用 I/O口时,多路开关MUX倒向左;
所示:
第 3章
并行接口P0-P3
端口的内部结构 四个端口的一位结构见图5.1,同一个端口的各位具有 相同的结构。由图可见,四个端口的 结构有相同之处:
都有两个输入缓冲器,分别受内部读锁存器和读引脚控制 信号的控制。 都有锁存器(即专用寄存器PO~P3) 都是场效应管输出驱动。 依据每个端口的不同功能,内部结构亦有不同之处,以 下重点介绍不同之处。
当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序 脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出 端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据 就会传输到Q及Q非端。数据传送过来后,当CP时序控制端的时序信号消 失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁 存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次
第 3章
并行接口P0-P3
1.PO口 PO口的输出驱动电路由上拉场效应管T1和驱动场效应 T2组成,控制电路包括一个与门, 一个非门和一个模拟开关 MUX。
地址/数据 读锁存器 &
Q
控制
Vcc T1 P0.x 引脚 T2
1 内部总线 写锁存器 P0.x 锁存器 Q CL
Q
1 Q
D
Q
MUX 2
Q
读引脚 (a)P0口位结构
第 3章
并行接口P0-P3
第3章 MCS51单片机内部并行口及应用
3.1 MCS-51 单片机并行口结构
3.2 MCS-51 单片机并行口应用
第 3章
并行接口P0-P3
3.1 MCS-51单片机并行口结构
3.1.1 P0口结构
3.1.2 P1口结构
3.1.3 P2口结构
3.1.4 P3口结构
第 3章
返回
第 3章
并行接口P0-P3
P1口直接做输入口时,输入信息的过程: (将P1.0处的0送入DB0.0的过程) +5V
当CPU执行读 —改—写指令(以端口为目 读锁存 的操作数的ANL、ORL、XRL、DEC、 INC 、SETB、CLR等)时,产生读锁存 信号,此时是先读锁存器的状态,在修改 D Q DB0.0 之后,送回锁存器保存。 锁存器 写控制信号 当CPU执行 MOV A,P1或 JB/JNB 有效 P1.x,标号 时,产生读引脚控制信号, 读引脚 。 此时读的是引脚的状态
P0口直接做输出口时,输出信息的过程: (将0送到P0.0的过程)
地址/数据控制线
+5V
0
读锁存
&
0
DB0.0
0 P0.0
D CP Q
锁存器 1 转换开关
Q
0
写控制信号
读引脚 注意: P0口做输出口时,内部数据经过锁存器送到P0.0---P0.7上。由于上 管始终截止,而当下管也截止时,P0.0—P0.7被架空,没有标准的高电平, 所以P0口作输出口使用时,必须外接上拉电阻。
第 3章
并行接口P0-P3
当PO口作地址/数据线使用时,CPU及内部控制信号为 “1”,转换开关MUX打向上面的触点, 使反相器的输出端 和T2管栅极接通,输出的地址或数据信号通过与门驱动T1 管,同时通过反相器驱动T2管完成信息传送,数据输入时 ,通过缓冲器进入内部总线。
地址/数据 读锁存器 & 1 内部总线 写锁存器 P0.x 锁存器 CL 2 读引脚 (a)P0口位结构 D Q T2 MUX 1 T1 P0.x 引脚 控制 Vcc
P1.0 T2引脚,定时/计数器2外部计数脉冲输入 P1.1 T2EX引脚,定时/计数器2触发和方向控制 P1.5 P1.6 MOSI引脚,在系统编程数据输入 MISO引脚,在系统编程数据输出
P1.7
SCK引脚,在系统编程时钟输入
第 3章
并行接口P0-P3
P2口—1.作为输入/输出口。
2.作为高8位地址总线。 P3口—P3口为双功能 1.作第一功能使用时,其功能为输入/输出口。 2.作第二功能使用时,每一位功能定义如下表
注意: 1、P0口作输入口时,P0.0—P0.7上的信号经过缓冲器送到内部数据总线上。 在读引脚之前,要先将锁存器置1,否则可能读错。 2、CPU对P0口的读操作有2种:读引脚和读—改—写锁存器。
返回
第 3章
并行接口P0-P3
2.P1口 P1口的结构见下图
读锁存器 1 内部总线 写锁存器 P1.x 锁存器 CL Q 2 读引脚 (b)P1口位结构 D Q Vcc
PO~P3端口的功能和内部结构
大多数口线都有双重功能,具体介绍如下:
第 3章
并行接口P0-P3
PO口—1.作为输入/输出口。 2.作为地址/数据总线 ,接外围芯片时PO口分时输出 低 8 位地址与数据信号。 P1口—1.作为输入/输出口。 2.在增强型(52系列)和ISP型(在系统编程型)中有如 下功能:
就作为‘地址/数据’总线使用。那么这个多路选择开关就是 用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使 用的选择开关了。当多路开关与下面接通时,P0口是作为普 通的I/O口使用的,当多路开关是与上面接通时,P0口是作为 ‘地址/数据’总线使用的。
第 3章
并行接口P0-P3
5、输出驱动部份:P0口的输出是由两个MOS管(场效应 管)组成的推拉式结构,也就是说,这两个MOS管一 次只能导通一个,当T1导通时,T2就截止,当T2导通 时,T1截止。 6、与门、与非门
返回
第 3章
并行接口P0-P3
P0口直接做输出口时,输出信息的过程: (将1送到P0.0的过程)
地址/数据控制线
+5V
0
读锁存
& P0.0
1
DB0.0
D
0
写控制信号
CP Q
锁存器 0 转换开关
Q
读引脚 注意: P0口做输出口时,内部数据经过锁存器送到P0.0---P0.7上。由于上 管始终截止,而当下管也截止时,P0.0—P0.7被架空,没有标准的高电平, 所以P0口作输出口使用时,必须外接上拉电阻。
并行接口P0-P3
3.1单片机的并行接口接口P0~P3
MCS-51单片机有P0、P1、P2、P3四个8位双向I/O口,每 个端口可以按字节输入或输出,也可以按位进行输入或输出, 四个口共32根口线,用作位控制十分方便。P0口为三态双向 口,能带8个TTL电路;P1、P2、P3口为准双向口,负载能力 为4个TTL电路。
读锁存器 1 内部总线 写锁存器 P2.x 锁存器 CL 2 读引脚 D Q MUX 地址 控制 Vcc 内部上拉电阻 P2.x 引脚 1 T
第 3章
并行接口P0-P3
当扩展片外存贮器时,MUX开关打向右,P2口作高八位地 址线输出高八位地址信号。 其MUX的的倒向是受CPU内部控制的。 应当注意:当P2口的几位作地址线使用时,剩下的P2口线 不能作I /O口线使用。
内部上拉电阻 P1.x 引脚 T
P1口作通用I/O口使用,因电路结构上输出驱动部分接 有上拉电阻。当作输入时,同PO一样, 要先对该口写“1”。
第 3章
并行接口P0-P3
3.1.2 P1口结构
+5V P1.0
读锁存
DB1.0
写控制信号
D
锁存器
Q
CP Q
读引脚
作用: P1口只能直接作为输入口或输出口使用。 返回
第 3章
并行接口P0-P3
3.1.1 P0口结构
地址/数据控制线 读锁存
+5V
&
P0.0 DB0.0
写控制信号
D
锁存器
Q
转换开关
CP Q
读引脚
作用: 1、外扩芯片时,P0口不再做I/O口使用,而是作为地址/数据总线使用。 2、没有外扩芯片时,P0口可以直接作为输入口或输出口使用。 返回