MCS-51单片机的并行接口
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的IO接口扩展
0
0 0 0
0
0 0 0
1
1 1 0
1
0 0 1
0
1 1 1
1
0 1 0
1
0 1 0
1
0 1 0
1 1 1
0 0 0 1 1 1 0 0 0
1
0 1 0
1
0 1 0
1 1 1
0 0 0 1 1 1 0 0 0
37FFH
2800H 2FFFH 1800H
0
0
0
1
1
0
0
0
0 0 0
0
0
0 1 1
1803H
中断扩展
• 标准的8051单片机只有两个外部中断输入端。 • 而当系统的外部中断源大于或等于3个时,则考虑通过中断 扩展获得更多的外部中断端口。 • 中断扩展的基本思想就是,通过系统的标准外部中断端口( 一级中断)的复用来扩展若干个二级中断。 • 当有扩展的中断请求输入时,在中断服务程序的开始处,读 入二级中断向量,依据不同的中断向量来区别不同的中断请 求源,然后执行对应的中断服务程序代码。 • 常见的中断扩展有编码器线和与两种方式。前者适合中断源 较多的情况,后者电路简单,但只适合中断源扩展较少的情 况。编码器方式的扩展电路如图8.6所示。
图8.7 线与方式的中断扩展电路
•
• • • • •
•
在图8.7中,直接使用二极管的“线与”操作来实现 中断输入的判别。当INT0到INT3的某个扩展中断源有中断请 求时,因二极管的“线与”功能,使得INT为低电平,从而 引起系统中断。进入中断后,通过查询P1.0到P1.3便可知道 应该执行哪一部分中断服务程序。假设INT接至51单片机的 脚,对应的中断服务程序的框架结构为: ORG 0013H JMP INTSERV …… INTSERV: … … ;现场保护 JNB P1.0,INT0SERV ;是中断INT0请求,则执行INT0对应的中断 服务程序 JNB P1.1,INT1SERV ;是中断INT1请求,则执行INT1对应的中断 服务程序
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级优先。
单片机-第8章 单片机的并行接口
1.8155的内部结构
图8-1 8155的内部结构
8155芯片各组成部分的作用:
双向数据总线缓冲器:用于缓冲存储单 片机与8155的RAM之间的读/写数据。 地址锁存器:用于锁存单片机送给8155 的端口地址或RAM单元地址。 地址译码器:用于对地址锁存器送来的 低3位地址进行译码,根据译码输出,选择 命令/状态寄存器、定时器/计数器或A、B 和C 3个I/O寄存器中的某一个工作。
命令寄存器和状态寄存器:命令寄存器存放 单片机送来的命令字,只能写入;状态寄存器 存放8155的状态字,只能读出。 定时器/计数器:是一个二进制14位的减法 计数器。计数器初值由单片机送入,由TIMER IN引脚上输入的脉冲实现减1计数控制,并根据 不同的计数输出方式从TIMER OUT引脚输出相 应的波形。作为定时器使用时,TIMER IN引脚 应输入频率恒定的周期脉冲。
读写控制器:根据和线上的信号,控制 单片机与8155之间所传信息的 读写。
RAM存储器:容量为256字节,用于存 放实时数据。存储器存储单元地址由地址 锁存器指定。
I/O寄存器:A、B和C 3个端口各有一 个I/O寄存器。其中A、B端口的I/O寄存器 为8位,用于存放外设的输入/输出数据;C 口的I/O寄存器为6位,用于存放输入/输出 数据或命令/状态信息。8155在某一时刻只 能选中某个I/O寄存器工作,这由单片机送 给8155的命令字决定。
PC1、PC2:C口工作方式设置位,设 置方法如表8-2所示。
P3口 的第二功能
P3口引脚 P3.0 名称 RXD 功 能 串行口输入
P3.1 P3.2 P3.3 P3.4 P3.5 P3.6
P3.7
TXD
INT0
单片机并行I-O口的扩展方法
单片机并行I/O口的扩展方法摘要:由于在MCS-51单片机开发中P0口经常作为地址/数据复用总线使用,P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等)使用,所以对于51单片机的4个I/O口,其可以作为基本并行输入/输出口使用的只有P1口。
因此在单片机的开发中,对于并行I/O口的扩展十分重要,主要分析3种扩展并行I/O口的方法。
关键词: MCS-51单片机; 并行I/O口; 扩展MCS-51单片机有4个并行的I/O口,分别为P0口、P1口、P2口和P3口,4个并行I/O 口在单片机的使用中非常重要,可以说对单片机的使用就是对这4个口的使用。
这4个并行I/O口除了作为基本的并行I/O口使用,还常作为其他功能使用,如P0口经常作为地址/数据复用总线使用[1], P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等等)使用。
这样,单片机只有P1口作为基本的并行I/O口使用,如果在单片机的使用中对并行I/O口需求较多,对于并行I/O口的扩展就非常重要了。
下面通过具体的实例(8位流水灯设计)来给出几种不同的并行I/O口扩展方法。
为了更好地说明以下几种不同的并行I/O口扩展方法,假设利用单片机实现流水灯的设计。
采用单片机的P1口设计流水灯,电路。
由图1可知,8只LED直接连接在单片机的P1口上,通过对单片机进行编程即可以实现8只发光二极管产生流水灯。
1 使用单片机的串行口扩展并行I/O口单片机有一个全双工的串行口[2],这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为移位寄存器使用。
当单片机的串行口工作在模式0时,若外接一个串入/并出的移位寄存器(74LS164),就可以扩展一个8 bit并行输出口;若外接一个并入/串出的移位寄存器(74LS165),就可以扩展一个8 bit并行输入口。
,单片机外接一个串入/并出的移位寄存器(74LS164),这样就可以扩展8 bit并行输出口。
第5章 MCS–51单片机的接口与应用 99页 5.8M
(1) 用键盘连接的I/O线的二进制组合表示键码。例如用4行、
4列线构成的16个键的键盘,可使用一个8位I/O口线的高、低4 位口线的二进制数的组合表示16个键的编码,如图5.4(a)所示。 各键相应的键值为88H、84H、82H、81H、48H、44H、42H、 41H、28H、24H、22H、21H、18H、14H、12H、11H。这种键 值编码软件较为简单直观,但离散性大,不便安排散转程序的 入口地址。
第5章 MCS–51单片机的接口与应用 JNB ACC.2,K2 JNB ACC.3,K3 JNB ACC.4,K4 JNB ACC.5,K5 JNB ACC.6,K6 ;检测2号键是否按下,按下转 ;检测3号键是否按下,按下转 ;检测4号键是否按下,按下转 ;检测5号键是否按下,按下转 ;检测6号键是否按下,按下转
;0号键功能程序
;0号键功能程序执行完返回 ;0号键功能程序
JMP START
……………………… PROM7: ……………………… JMP START …
;1号键功能程序执行完返回
;7号键功能程序 ;7号键功能程序执行完返回
第5章 MCS–51单片机的接口与应用
5.1.4 行列式键盘
行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构, 按键设置在行列的交点上。例如4×4的行列结构可组成16个键 的键盘。因此,在按键数量较多时,可以节省I/O口线。 1.行列式键盘的接口 行列式键盘的接口方法有许多,例如直接接口于单片机的 I/O口上;利用扩展的并行I/O接口;用串行口扩展并行I/O口接 口;利用一种可编程的键盘、显示接口芯片8279进行接口等。 其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系
MOVX @DPTR,A
MCS51单片机双机并行通信的实现
CLK
8位端 口
B
P0
BUSY
2.1 主 从 并 行 通 信 接 口 的 实 现 主 从 并 行 通 信 接 口 的 特 点 是 ,两 个 单 片 机 之 间
能 够 通 过 并 行 接 口 将 数 据 发 送 到 对 方 ,但 其 中 一 个 单 片 机 处 于 主 机 状 态 .而 另 一 个 单 片 机 处 于 从 机 状 态 。 在 这 种 通 信 方 式 下 ,工 作 状 态 有 两 种 ,即 主 机 发 送 从 机 接 收 和 主 机 接 收 从 机 发 送 。 下 面 我 们 讨 论 主 机 发 送 、接 收 数 据 和 从 机 发 送 、接 收 数 据 的 工 作 流
第 3期 总 第 205期 2010年 2月
内 蒙 古 科 技 与 经 济 Inner M ongolia Science Technology & Economy
N o.3,the 205th issue Feb.2010
M CS S 1单 片机 双机 并 行 通信 的实 现
麻 桃 花
(内 蒙古 机 电 职 业技 术 学 院 ,内蒙 古 呼 和 浩 特 01000o)
摘 要 :针 对 M CS 单 片 机 具 有 的 特 性 ,介 绍 了 在 一 个 系 统 内 的 两 个 M CS 单 片 机 可 以 采 用 不 同 的 并 行 互 联 方 式 来 实 现 它 们 之 间 通 信 的 简 便 方 法 。
关 键 词 :M CS 单 片 机 ;并 行 通 信 ;工 作 流 程 中 图 分 类 号 :TP368.1 文 献 标 识 码 :B 文 章 编 号 :1【)O7— 6921(2010)O3— 01OO— O1
MCS51单片机答案
1、MCS-51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序如何划分?答:时钟周期是单片机最基本的时间单位。
机器周期则是完成某一个规定操作所需的时间。
一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2。
2、MCS-51内部四个并行I/O口各有什么异同?作用是什么?答:MCS-51单片机共有四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。
但这四个端口的功能不全相同,P0口既可作一般I/O端口使用,又可作地址/数据总线使用;P1口是一个准双向并行口,作通用并行I/O口使用;P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能。
3、简述MCS-51单片机的中断响应过程。
答:CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入 PC,以便进入相应的中断服务程序。
一旦响应中断,CPU首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。
对于有些中断源,CPU在响应中断后会自动清除中断标志。
5、MCS-51单片机内部包括哪些主要逻辑功能部件?答:MCS-51单片机主要由下列部件组成: 1个8位CPU;1个片内振荡器及时钟电路;4KB ROM程序存储器,256BRAM;21个特殊功能寄存器;2个16位定时/计数器;4个8位并行I/O口及1个可编程全双工串行接口;可寻址64KB的外部程序存储器空间;可寻址64KB的外部数据存储器空间;5个中断源、两个优先级中断嵌套中断结构。
MCS-51单片机的硬件结构
MCS-51单⽚机的硬件结构MCS-51单⽚机的基本组成MCS-51是Intel公司⽣产的⼀个单⽚机系列的总称.在功能上,该系列单⽚机有基本型和增强型两⼤类,通常以芯⽚型号的末位数字来区别。
末位数字位“1”的型号是基本型,为“2”的信号是增强型。
MCS-51单⽚机的内部结构如图所⽰,基本结构包括:⼀个8位的CPU及⽚内振荡器;4KB掩膜ROM(8051),4KB EPROM(8751),⽆ROM(8031);128B RAM,21个特殊功能寄存器SFK;4个(P0~P3)8位并⾏I/O接⼝,⼀个可编程全双⼯通⽤异步串⾏接⼝(UART);具有5个中断源,2个优先级;可寻址64KB 的⽚外ROM和64KB的⽚外RAM;两个16位的定时/计数器;具有位操作功能的布尔处理机及位寻址功能。
MCS-51单⽚机的引脚及其功能MCS-51单⽚机的引脚封装MCS-51单⽚机有普通的HMOS芯⽚和CMOS低功耗芯⽚。
HMOS芯⽚采⽤双列直插封装⽅式,⽽CMOS芯⽚采⽤的封装⽅式有双列直插也有⽅形封装的。
尽管封装的⽅式不同,但是它们的结构完全⼀样。
输⼊/输出接⼝MCS-51单⽚机有4个双向8位I/O接⼝,它们是P0、P1、P2、P3。
在⽆外接存储器时,这4个I/O接⼝均可以作为通⽤I/O接⼝使⽤,CPU既可以对它们进⾏字节操作也可以进⾏位操作。
当外接程序存储器或数据存储器时,P0⼝和P2⼝不再作为通⽤I/O⼝使⽤。
此时,P0⼝传送存储器地址的低8位以及双向的8位数据,P2⼝传送存储器地址的⾼8位。
P0⼝和P2共同组成MCS-51单⽚机的16位地址总线,⽽低8位地址总线与8位双向数据总线分时复⽤。
P0⼝P0⼝有8位,每⼀位由⼀个锁存器、两个三态输⼊缓冲器、控制电路和驱动电路组成。
P0⼝有两种功能,⼀是作为通⽤I/O⼝;⼆是当外接存储器时,作为低8位地址总线和8位双向数据总线。
P0 ⼝作为通⽤I/O ⼝作为通⽤I/O ⼝时,P0 ⼝既可以做输⼊⼝,也可以做输出⼝,并且每⼀位都可以设定为输⼊或输出。
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;
第五章MCS-51单片机的硬件资源
单片机原理及应用
潭
大 第五章MCS-51单片机的硬件资源
学
单 片
5.1 MCS-51的并行接口及其应用
机 原
5.2 MCS-51的中断系统
理 及
5.3 MCS-51的定时器/计数器
应 用
5.4 MCS-51的串行接口及串行通信
编
著
组
第五章MCS-51单片机的硬件资源
湘 5.1 MCS-51的并行接口及其应用
著 组
MOS输入电路,且能驱动四个LSTTL输入。P2口常用
作外部存储器的高八位地址口。当不用作地址口时,
P2口亦可作通用I/O口,这时它也是一个准双向I/O口。
第五章MCS-51单片机的硬件资源
湘
潭
大 读锁存器
学
单
片
机 原
内部总线
理
DQ
及
应 写入
用
锁存器 CP Q
编
著
组 读引脚
地址
控制
MUX
(b)p2口电路逻辑
理 处于截止状态。引脚上的外部信号即加在下面一个
及 三态缓冲器的输入端,又加在下拉FET的漏极,假
应 用
定在此之前曾输出锁存过数据0 ,则FET是导通的,
编 这样引脚上的电位就始终被钳位在0 电平,使输入
著 组
高电平无法读入。因此作为一般I/O口使用时,P0口
是一个准双向口,即输入数据时,应先向口写“1”,
原 理
P3·1 TxD (串行输出通道)
及
P3·2
INT0 (外中断0)
应 用
P3·3
INT1 (外中断1)
编 著
P3·4
T0 (定时器0外部输入)
89C51单片机并行口及应用
P3口的结构 P3口是一个多功能口,结构如图,与 是 个多功能 结构如图 与P1口相比, 相 增加了与非门和缓冲器,使P3口除了有准双向口外, 还具有第 功能 还具有第二功能。
P3口第二功能 不需要程序切 换 由硬件自 换,由硬件自 动完成。
zhousun@
8
P3口第二功能
zhousun@
6
P2口结构 P2口也有两种用途,一是做普通I/O 口使用,二是做高8位地址总线,与P1口相比,多 了一个转换控制部分,作为普通I/O使用时,MUX倒 向锁存器。 在使用小容量RAM时, 可以释放P2口。 口
zhousun@
7
zhousun@
17
5.位操作与位域
通过位域型数据,可以方便地实现位操作也可用C 语言的位运算进行 例:将a的第三位清0 void id main(void) i ( id) { static t ti unsigned i d char h a; a=0xff; a&=~(1<<3); & (1 3) } 将a第三位取反 a^=1<<3 第三位置 位置1 a|=1<<3 | 将a第
zhousun@
位长度 32 32 32 32 8/16 1 8 16
表示范围 -2147483648~2147483647 0 4294967295 0~4294967295
-128~+127; -32768~32767 0,1 0 255 0~255 0~65535
12
zhousun@
流水灯:(逻辑运算:与、或、非)
main() { unsigned char LED; LED = 0x01; while(1) { P2 =~LED; y ( ); delayms(250); if(LED == 0x80 ) LED = 0x01; else LED = LED << 1;
MCS51单片机的引脚及内部结构
P3口各引脚对应的第二功能
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
RXD TXD /INT0 /INT1 T0 T1
/WR /RD
PSW各位定义
D7H D6H D5H D4H D3H D2H D1H D0H CY AC F0 RS1 RS0 OV — P
(1)CY(PSW.7):进位标志位 (2)AC(PSW.6):辅助进位标志位。 (3)F0 (PSW.5):用户标志位。 (4)RS1、RS0(PSW.4、PSW.3):工作寄存器组选择位。 用于选择CPU当前使用寄存器组。
(二)内部数据存储器低128字节
内部数据存储器低128字节按其用途划分为三个区 •工作寄存器区 •位寻址区 •用户RAM区
片内RAM低128字节的配置
30H~7FH 20H~2FH 18H~1FH 10H~17H 08H~0FH 00H~07H
用户RAM区(数据缓冲区) 位寻址区(00H~7FH) 工作寄存器区3区(R7~R0) 工作寄存器区2区(R7~R0) 工作寄存器区1区(R7~R0) 工作寄存器区0区(R7~R0)
单片机硬件系统
一、MCS-51单片机的引脚及内部结构
(一)89C51单片机的引脚
1、电源引脚: VCC:外接+5V;GND:电源地线。 2、时钟引脚 XTAL1、XTAL2为内部振荡器的两条引出线. 3、控制引脚 (1)ALE/PROG:地址锁存控制信号/编程脉冲输 入端 ﹡ ALE:在系统扩展时,ALE用于控制P0口输出的低 8位地址锁存,以实现低8为地址和数据的隔离。 ﹡ PROG:在EEPROM或EPROM编程期间,该引脚 用来输入一个编程脉冲。
第七章MCS-51的并行接口
寄存器
0 1 0 1 0 1
命令/状态寄存器 A口 B口 C口 定时器低8位 定时器高6位
8155内部的命令寄存器和状态寄存器使用同一个端 口地址。命令寄存器只能写入不能读出,状态寄存器 只能读出不能写入。
3、8155的工作方式 8155I/O口的工作方式由单片机写入命令寄存器的 控制字确定,控制字的格式为:
例7.1
用单片机点亮一只发光二极管LED
程序清单:
CLR
SETB END
P1.0 ;令P1.0管脚输出低电平
P1.0;令P1.0管脚输出高电平
7.2 MCS-51并行I/O口的扩展
为了使单片机能按要求工作,就必须将必要的命令 和数据输入到单片机中;单片机运算或处理的结果也要 通过一定的方式输出,这就需要配置一定的输入设备和 输出设备。在单片机内部虽然设置了若干并行I/O接口 电路,用来与外围设备连接,但当外围设备较多时,仅 有的几个内部I/O接口就不够用,在大多数应用系统中, MCS-51单片机都需要扩展输入输出接口芯片以满足实 际需要。
1、引脚说明
(1)AD7-AD0:地址数据总线
单片机和8155之间的地址、数据、命令、状态信 息都是通过它传送 (2)CE:片选信号线,低电平有效 (3)RD:存储器读信号线,低电平有效
(4)WR:存储器写信号线,低电平有效 (5)ALE:地址及片选信号锁存信号线,高电平有 效,其后沿将地址及片选信号锁存到器件中 (6)IO/M:I/O接口与存储器选择信号线,高电平表 示选择I/O接口,低电平选择存储器 (7)PA7-PA0:A口输入/输出线
(a)可具有两个8位端口(A、B)和两个4位端口 (C口的上半部分和下半部分) (b)任何一个端口都可以设置为输入或输出。各端 口的输入、输出可构成16种组合
51单片机_片内外设
MOV A,#0FFH;0FFH送累加器A
MOV P0,A MOV A,P0 ;向P0口“写1” ;从P0口输入数据到A
结构图
片内外设
2)P0口的总线方式(系统使用外存储器时)
控制电路的“控制”=1,此时与门打开,MUX接 向“地址/数据”信号。在这种情况下,输出极的 两个FET都处于正常的工作状态 。 访问外部存储器的指令movx、movc ,就是使用 P0口来输出外部存储器的低八位地址和输入、输 出存储器的数据。 在进行单片机的硬件系统的设计中,如果使用了外 部存储器(或使用movx指令来访问外部接口电路) 时,P0口成为整个系统的地址/数据复用总线。换 句话说,P0口不能再作为通用的I/O端口的形式直 接与外部连接。
通用io端口多用途端口p3x引脚替代输出功能读引脚内部总线vcc替代输入功能片内外设并行端口在使用时应注意的几个问题并行端口在使用时应注意的几个问题拉电流拉电流还是还是灌电流灌电流与大电流负载的连与大电流负载的连接接我们以美国我们以美国atmelatmel公司生产的公司生产的at89c51at89c51为例使用灌电流的方式使用灌电流的方式与电流较大的负载直接与电流较大的负载直接连接时连接时端口可以吸收约端口可以吸收约20ma20ma的电流而保证端的电流而保证端口电平不高于口电平不高于045v045v见右上图
ES
中断请求 寄存器
中断矢量
返回
片内外设
2.1中断允许寄存器IE(0A8H)
EA X X ES ET1 EX1 ET0 EX0
EA:总允许位。EA=0:禁止一切中断;EA=1中断开放。 ES: 串行口中断允许位。ES=1:允许RI、TI引发中断; ES=0:禁止中断。 ET1、ET0:定时器T1、T0允许位。ET=1允许,=0禁止。 EX1、EX0:外中断 int1、int0允许位。EX =1允许,=0 禁止。
MCS-51单片机原理及接口技术
2 5 6 9 12 15 16 19
19 18 9 12 13 14 15 1 2 3 4 5 6 7 8
1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q
MCS-51
A 1 3 2 74LS32
RD WR PSEN ALE/P TXD RXD
74LS273引脚封装图 引脚封装图
MCS-51与74LS273的接口电路图 与 的接口电路图
ห้องสมุดไป่ตู้
4.3.1简单I/O接口芯片的扩展 4.3.1简单I/O接口芯片的扩展 简单I/O
简单的I/O口扩展通常是采用 电路锁存器、 简单的 口扩展通常是采用TTL或CMOS电路锁存器、三 口扩展通常是采用 或 电路锁存器 态门等作为扩展芯片( 态门等作为扩展芯片(74LS244、74LS245、74LS273、 、 、 、 74LS373、 74LS377等 ) , 通过P0口来实现扩展的一种 、 等 通过 口来实现扩展的一种 方案。它具有电路简单、成本低、配置灵活的特点。 方案。它具有电路简单、成本低、配置灵活的特点。 简单的I/O口扩展主要包括: 简单的 口扩展主要包括: 口扩展主要包括 缓冲器扩展输入口(三态门: 缓冲器扩展输入口(三态门: 74LS244、74LS245等) 、 等 锁存器扩展输出口(锁存器: 锁存器扩展输出口(锁存器: 74LS273、74LS373、 、 、 74LS377等) 等
4.3 输入 输出接口扩展 输入/输出接口扩展
• MCS-51系列单片机内部有4个双向的8位并行I/O端 MCS-51系列单片机内部有4个双向的8位并行I/O端 系列单片机内部有 I/O P0、P1、P2和P3口 口:P0、P1、P2和P3口。 • 在实际的应用系统中,P0口分时地作为低8位地址 在实际的应用系统中,P0口分时地作为低 口分时地作为低8 线和数据线,P2口作为高 位地址线。这时,P0口 口作为高8 线和数据线,P2口作为高8位地址线。这时,P0口 和部分或全部的P2口无法再作通用I/O P2口无法再作通用I/O口 和部分或全部的P2口无法再作通用I/O口。 • P3口的一些口线首先要满足第二功能的要求。这 P3口的一些口线首先要满足第二功能的要求 口的一些口线首先要满足第二功能的要求。 时就需要进行单片机I/O口的扩展。 I/O口的扩展 时就需要进行单片机I/O口的扩展。 常用的I/O扩展有以下两种形式: I/O扩展有以下两种形式 常用的I/O扩展有以下两种形式: 简单I/O I/O接口芯片的扩展 简单I/O接口芯片的扩展 可编程I/O接口电路的扩展 可编程I/O接口电路的扩展 I/O
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、MCS-51内部I/O口应用
所有4个I/O口都是可以位寻址的,就是说,其中每一 位都可以用做输入或输出。 由于MCS-51的I/O 口只有数据口而没有状态口或控制 口,在实际使用时,可以用I/0口的某一位(或几位)来 作为状态信息的传送者,或者是命令的控制位。
例:P1口八个灯作跑马灯 。??
8
3、对锁存器的“读-修改-写”
☆有一类指令是对I/O口输出锁存器中的数据进行操作, 如对端口数据进行逻辑操作。这一类指令是先读出端口锁 存器中的内容,再按指令的规定进行操作,最后将操作的 结果写回端口锁存器,称之为“读一修改一写”指令。
这类指令不是对端口引脚上的数据进行操作。若要 对引脚上数据进行操作则只能先读入到CPU,然后再 进行运算。
16
7.2.2 可编程通用并行接口8255A
8255是一种8位并行I/O接口芯片,8255有3个8位的 并行口:PA、PB、PC,3种工作方式。其中,PC口具有 按位进行操作功能。
在与外设相连时,根据不同的初始化编程可用于无条 件传送、查询式传送、中断式传送,以完成单片机与外设 的数据交换。
17
1、 8255的内部结构和引脚
11
7.2 MCS-5l并行I/O口的扩展
常用并口扩展方法: ➢ 用三态缓冲器和锁存器扩展简单I/O口。 ➢ 用专用并口芯片扩展I/O口(8255,8155等)
注意:
MCS-51没有专门的外设操作指令和控制信号,将外设看 作外部数据存储单元来访问,因此扩展外设占用外部RAM存
储器的地址空间,使用访问外部数据存储器指令对外设进行 操作。
第7章 MCS-51单片机的并行接口
7.1 MCS-5l内部I/O口及其应用 7.2 MCS-5l并行I/O口的扩展 (含8255) 7.3 MCS-51内部定时/计数器及其应用 7.4 并行口应用——单片机显示/键盘系统
并口是相对于串口而言的。
1
7.1 MCS-5l内部I/O口及其应用
51单片机内部有4个8位双向I/O(输入/输出)口。 它们的内部结构图在前面作过介绍。从特性上看,这4 个端口还有所差别。(回顾) P0口:作一般I/O口;低8位地址/数据分时复用功能。 P1口:作一般I/O接口。 P2口:作一般I/O接口;高8位地址。 P3口:作一般I/O接口;每根口线有第二功能。
I/O PC7~PC4
I/O PC3~PC0
输入三态 输出锁存
I/O PB7~PB0
和CPU相连
CS
内部控制电路
和外设相连
18
8255A
1 PA3 2 PA2 3 PA1 4 PA0 5 RD 6 CS 7 GND 8 A1 9 A0 10 PC7 11 PC6 12 PC5 13 PC4 14 PC0 15 PC1 16 PC2 17 PC3 18 PB0 19 PB1 20 PB2
PA4 40 PA5 39 PA6 38 PA7 37 WR 36 RESET 35
D0 34 D1 33 D2 32 D3 31 D4 30 D5 29 D6 28 D7 27 VCC 26 PB7 25 PB6 24 PB5 23 PB4 22 PB3 21
2
P0-P4口进一步说明:
➢4个并行I/O口“输出有锁存,输入有缓冲”; ➢输入数据时都要“先写1”; ➢P0口作通用I/O口,输出级是开漏电路,作输出口应接上 拉电阻;作地址/数据总线不需要上拉电阻; ➢P1~P3口不需要上拉电阻;
3
MCS-51对外三总线
外部程存读选通
外部数存读选通 外部数存写选通
MCS-51对外三总线的形成
ALE下降沿锁存地址
4
MCS-51外部总线的扩展
5
地址锁存器的引脚和接口
6
1、51的I/O口直接用于输出
都是准双向口。 51单片机没有专门的输入/输出指令。
1、直接用于输出
☆作输出口时有锁存功能。
☆输出操作:以P0~P3为目的操作数的传送指令。
例如:
MOV P1,A
MOV P1,R1
MOV P1,@R1
MOV P1,#55H
7
2、51的I/O口直接用于输入
2、直接用于输入 ☆作输入口时带有输入缓冲器,但没有输入锁存器。 因此要输入的数据必须一直保持在引脚上,直到把数 据传送指令。
例如:MOV A,P1 MOV R2,P1
3种工作方式
3个8位的并行口 PA、PB、PC 1个控制寄存器
D7~D0
双向三态
数据 总线 缓冲
A组 控制
控制 寄存器
RD
WR A0
A1 RESET
读/写 控制 逻辑
B组 控制
组A 端口A (8)
组A 端口C 上半部 (4)
组B 端口C 下半部 (4)
组B 端口B
(8)
输入输出都锁存
I/O PA7~PA0
10
例:P1口八个灯作跑马灯 ??
start:
;延时子程序 delay:mov r3,#20 d1:mov r4,#20 d2:mov r5,#248 djnz r5,$ djnz r4,d2 djnz r3,d1 ret end
mov a,#0ffh;
clr c; mov r2,#08h;循环八次。 loop1:rlc a;带进位左移。 mov p1,a;输出到P1口。 call delay;延时一段时间 djnz r2,loop1;反复循环 mov r2,#07h;再往回循环。 loop2:rrc a;带进位右移 mov p1,a;输出到P1口。 call delay;延时一段时间 djnz r2,loop2;反复循环 ljmp start;重新开始
12
7.2.1 用三态缓冲器和锁存器扩展并口
设计原则 ➢输入口具有缓冲作用——缓冲器。 ➢输出口具有锁存作用——锁存器。
1、8031和三态缓冲器连接扩展输入口
74LS244三态缓冲器功能表
/1G 状态
输入/输出
1
高阻
隔离
0
驱动
输出=输入
13
1、8031和三态缓冲器连接扩展输入口
8031与74LS244的连接图
地址空间:0XX……XB
控制程序: MOV DPTR, #7FFFH
MOVX A,@DPTR
14
2、8031和锁存器连接扩展输出口
下降沿锁存
74LS373内部逻辑与引脚图
15
2、8031和锁存器连接扩展输出口
WR
地址空间:0XX……XB
控制程序: MOV DPTR, #7FFFH
MOVX @DPTR, A