单片机 第9章(2) MCS 51 单片机输入输出口扩展

合集下载

项目 一 汽车单片机原理应用(任务五 MCS-51单片机系统扩展)

项目 一 汽车单片机原理应用(任务五 MCS-51单片机系统扩展)

(3) MCS-51单片机系统地址空间的分配 系统空间分配:通过适当的地址线产生各外部扩展器件的片 选/使能等信号就是系统空间分配。
编址:编址就是利用系统提供的地址总线,通过适当的连接, 实现一个编址惟一地对应系统中的一个外围芯片的过程。编 址就是研究系统地址空间的分配问题。
片内寻址:若某芯片内部还有多个可寻址单元,则称为片内 寻址。
2)全地址译码法
利用译码器对系统地址总线中未被外扩芯片用到的高位 地址线进行译码,以译码器的输出作为外围芯片的片选信 号。常用的译码器有:74LS139,74LS138,74LS154等。 优点是存储器的每个存储单元只有惟一的一个系统空间地 址,不存在地址重叠现象;对存储空间的使用是连续的, 能有效地利用系统的存储空间。缺点是所需地址译码电路 较多,。全地址译码法是单片机应用系统设计中经常采用 的方法。
1。程序和数据之和不大于 存储器总容量。 2。程序必须存放在低地址,
数据存放在高地址。
三、并行I/O口扩展 MCS-51单片机具有四个并行8位I/O口原理均可用做双向并行 I/O接口,但在实际应用中,可提供给用户使用的I/O口只有P1 口和部分P3口线及作为数据总线用的P0口。在单片机的I/O口 线不够用的情况下,可以借助外部器件对I/O口进行扩展 (1)概述 1)单片机I/O口扩展方法 并行I/O口扩展的目的:为外围设备提供一个输入输出通道。 ①并行总线扩展的方法 ②串行口扩展方法(只介绍总线扩展方式下I/O接口扩展方法) ③I/O端口模拟串行方法
二、存储器的扩展 存储器是计算机系统中的记忆装置,用来存放要运行的程 序和程序运行所需要的数据。单片机系统扩展的存储器可分为 程序存储器和数据存储器两种类型。
(1)MCS-51单片机对外部存储器的扩展应考虑的问题

mcs-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。

MCS51单片机总线系统与IO口扩展

MCS51单片机总线系统与IO口扩展

6.2.2 单片机总线扩展的编址技术
OE
LE
Dn
Qn
L
H
H
H
L
H
L
L
L
L
L
Qn-1
L
L
H
Qn-1
H
×
×
Z
地址锁存器74LS373
CLR D0-D7Q0-Q7 4 6 2 6 74LS24474LS273 E 0123456789E GG 12Q0-Q7CLKD0-D7AAAAAAAAAAA10A11A12I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OWCE1CE2 56? UUU P0.0-P0.7P0.0-P0.7 +5V 11 01234567 E >> QQQQQQQQ O 01234567 E DDDDDDDDL 2 U74LS373 012 YYY ABC 3 U74LS138 R AD E R P20P07P21P06P22P05P23P04P24P03P25P02P26P01P27P00 W ALE 89C51 1 U
MOV
DPTR,#0FEFFH ;确定扩展芯片地址
MOVX
A,@DPTR
;将扩展输入口内容读入累加器A
当与74LS244相连的按键都没有按下时,输入全为1,若按下某键,则所在线 输入为0。
6.2.1 单片机I/O口扩展
输出控制信号由P2.0和相“或”后形成。当二者都为0后,74LS273的控制端 有效,选通74LS273, P0上的数据锁存到74LS273的输出端,控制发光二极管 LED , 芯 片 地 址 与 74LS244 的 选 通 地 址 相 同 ( 都 是 ×××× ×××0 ×××× ××××B,通常取为FEFFH)。当某线输出为0时,相应的LED发 光。

MCS51单片机原理及应用实验指导书

MCS51单片机原理及应用实验指导书

《MCS51单片机原理及应用》实验指导书唐山学院电工电子实验教学中心年月前言一.单片机原理实验的任务单片机原理实验是单片机原理及应用课程的一部分,它的任务是:1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。

2.学习和掌握单片机应用系统程序设计技术。

3.提高应用计算机的能力及水平,提高逻辑思维及动手能力。

二.实验设备单片机实验所使用的设备由计算机、单片机实验开发系统(见下图0-1),其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机实验开发系统是硬件开发平台,是基于51/196单片机的扩展实验系统。

计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。

图0-1 单片机原理实验设备单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、24键键盘、六位LED数码管显示、A/D及D/A转换芯片、简单输出口2个、简单输入口1个、逻辑电平输入开关、发光二极管显示电路,并配有小直流电机、步进电机、继电器、音响等驱动电路。

在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。

所有的MCS51单片机原理及应用课程实验都是在这套实验系统上完成的。

三.对参加实验学生的要求1.阅读实验指导书,复习与实验有关的理论知识,明确实验目的,了解内容和方法。

2.按实验指导书要求进行接线和操作,经检查和指导老师同意后再通电。

3.在实验中注意观察思考,记录有关数据和程序,并由指导教师复查后才能结束实验。

4.实验后应断电并返回WINDOWS下关闭计算机,整理实验台,恢复到实验前的情况。

5.认真写实验报告,按规定格式写出程序流程图、程序、并分析实验结果、完成思考题等。

字迹要清楚,结论要明确。

爱护实验设备,遵守实验室纪律。

*注:本实验指导书适用于MCS51单片机原理及应用A、单片机原理及应用B等课程。

目录第一章MC51单片机原理及应用实验 (3)实验一P1口实验(验证性) (3)实验二外部中断实验(验证性) (5)实验三定时器实验 (7)实验四串行口实验--串并转换实验 (9)实验五数码显示实验 (11)实验六A/D转换实验 (13)实验七数字电子钟实验(综合性) (15)实验八D/A转换实验 (16)实验九简单I/O口扩展实验 (18)实验十步进电机实验 (20)实验十一直流电机实验 (22)实验十二PC机与单片机串行通信实验 (24)实验十三继电器与电子音响实验 (26)实验十四8255可编程并行接口实验 (28)实验十五键盘显示接口实验 (30)第二章单片机开发实验系统及TMSD调试程序 (32)第一节单片机开发实验系统 (32)第二节TMSD源语言调试程序简介 (35)第一章MCS51单片机原理及应用实验实验一P1口实验一.实验目的1.学习P1口的使用方法。

单片机原理及接口技术课后习题第9章 答案

单片机原理及接口技术课后习题第9章 答案

第九章复习思考题1. 计算机系统中为什么要设置输入输出接口输入/输出接口电路是CPU与外设进行数据传输的桥梁。

外设输入给CPU的数据,首先由外设传递到输入接口电路,再由CPU从接口获取;而CPU输出到外设的数据,先由CPU 输出到接口电路,然后与接口相接的外设获得数据。

CPU与外设之间的信息交换,实际上是与I/O接口电路之间的信息交换。

2. 简述输入输出接口的作用。

I/O接口电路的作用主要体现在以下几个方面:(1)实现单片机与外设之间的速度匹配;(2)实现输出数据锁存;(3)实现输入数据三态缓冲;(4)实现数据格式转换。

3. 在计算机系统中,CPU与输入输出接口之间传输数据的控制方式有哪几种各有什么特点在计算机系统中,CPU与I/O接口之间传输数据有3种控制方式:无条件方式,条件方式,中断方式,直接存储器存取方式。

在无条件方式下,只要CPU执行输入/输出指令,I/O接口就已经为数据交换做好了准备,也就是在输入数据时,外设传输的数据已经传送至输入接口,数据已经在输入接口端准备好;输出数据时,外设已经把上一次输出的数据取走,输出接口已经准备好接收新的数据。

条件控制方式也称为查询方式。

CPU进行数据传输时,先读接口的状态信息,根据状态信息判断接口是否准备好,如果没有准备就绪,CPU将继续查询接口状态,直到其准备好后才进行数据传输。

在中断控制方式下,当接口准备好数据传输时向CPU提出中断请求,如果满足中断响应条件,CPU则响应,这时CPU才暂时停止执行正在执行的程序,转去执行中断处理程序进行数据传输。

传输完数据后,返回原来的程序继续执行。

直接存储器存取方式即DMA方式,它由硬件完成数据交换,不需要CPU的介入,由DMA 控制器控制,使数据在存储器与外设之间直接传送。

4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口,设外设8个按钮开关和8个LED,每个按钮控制1个LED,设计接口电路并编制检测控制程序。

单片机输入输出接口

单片机输入输出接口
P3.3/INT1 13
P3.4/T0 14
P3.5/T1 15
P3.6/WR 16
P3.7/RD 17
XTAL2 18
XTAL1 19
GND 20
40 Vcc 39 P0.0 38 P0.1 37 P0.2 36 P0.3 35 P0.4 34 P0.5 33 P0.6 32 P0.7 31 EA 30 ALE 29 PSEN 28 P2.7 27 P2.6 26 P2.5 25 P2.4
/*“HELLO”的段码, 最高位送
uchar i; uint j; while(1) { P3=0x01; for(i=0;i<5;i++) { if(P17==1)P1=tab1[i]; else P1=tab2[i]; P3<<=1; for(j=0;j<=25000;j++);
}}} 课本习题5.8 *关于液晶显示
归纳四个并行口使用的注意事项如下:
1。如果单片机内部有程序存贮器,不需要扩展外 部存贮器和I/O接口,单片机的四个口均可作 I/O口使用。
2。四个口在作输入口使用时,均应先对其写 “1”,以避免误读。
3。P0口作I/O口使用时应外接10K的上拉电阻,其 它口则可不必。
4。P2可某几根线作地址使用时,剩下的线不能作 I/O口线使用。
用作地址/数据复用总线时,多路开关的控制 信号为1,输出与上方的地址/数据线反向器的输出 相连,由于控制信号为1,上面的场效应管受地址/ 数据信号控制,与下面的场效应管成为推挽输出 形态。外部不再需要上拉电阻,P0口为真正的双 向I/O口。
操作过程:假如要读外部程序存储器中 0x1245单元的指令,首先从P0口输出45H,P2口 输出12H,控制器输出ALE地址锁存信号,再发出 指令输出允许信号PSEN,外部程序存储器 0x1245单元的内容出现在总线上,由CPU读入程 序指令寄存器,译码执行。

51单片机的扩展

51单片机的扩展

(a)程序存储器的扩展
.程序存储器的作用----存放程序代码或常数表格
.扩展时所用芯片----一般用只读型存储器芯片(可以是 EPROM、E2PROM、 FLASH芯片等)。 .扩展电路连接 ---- 用EPROM 2732扩展程序存储器。 .存储器地址分析----究竟单片机输出什么地址值时,可以
一、系统扩展的含义
单片机中虽然已经集成了CPU、I/O口、定时器、 中断系统、存储器等计算机的基本部件(即系统资 源),但是对一些较复杂应用系统来说有时感到以 上资源中的一种或几种不够用,这就需要在单片机 芯片外加相应的芯片、电路,使得有关功能得以扩 充,我们称为系统扩展(即系统资源的扩充)。 需要解决的问题是单片机与相应芯片的接口电 路连接(即地址总线、数据总线、控制总线的连接) 与编程。
指向存储器中的某一单元。
.扩展时所用芯片
2732----4K EPROM
A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 GND Vcc A8 A9 A11 OE/Vpp A10 CE O7 O6 O5 O4 O3
2732引脚功能
A0-A11 CE 地址线 选片 输出允许/ 编程电源 数据线
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
A8 A9 A10 A11
2732
CE OE
ALE
PSEN 图4.2 扩展电路
8031
2732
数据总线的连接: P0.0-P0.7(数据总线)----------------------------------------O0-O7 地址总线的连接: 经过锁存器373 P0.0-P0.7(地址总线低8位)---------------------------------- A0-A7 P2.0-P2.3(地址总线高8位中的4位)--------------------------- A8-A11 控制总线的连接: PSEN(程序存储器允许,即读指令) -------------------------- OE ALE(地址锁存允许)-------------------------------------接373的使能端 G

第9章 单片机的指令系统说明

第9章 单片机的指令系统说明

计算机总是把操作数当作有符号数(补码形式)看待 并影响PSW的相关标志位。影响情况如下: 进位/借位标志CY: 两数和的D7位有进位时,(CY)=1,否则,(CY)=0。 半进位/借位标志AC: 两数和的D3位有进位时,(AC)=1,否则,(AC)=0。 溢出标志OV: 两数和的D7,D6位只有一位有进位时,(OV)=1;否则, (OV)=0,即OV=C6⊕C7。 奇偶标志P: 当累加器A中“1”的个数为奇数时,(P)=1;为偶数 时(P)=0。
例2 把片外RAM的36H单元中的数据送到片外RAM的 1200H单元。 〈分析〉(36H)→(1200H) 程序如下: MOV R1,#36H MOVX A ,@R1 MOV DPTR,#1200H MOVX @DPTR, A <想一想>下面的程序可以实现吗? MOV DPTR, #1200H MOV R1,#36H MOV @DPTR,@R1 注意:片外RAM之间不能直接传送数据,必须经过累加器 A
例5 试分析8051单片机执行下述指令后,累加器A和PSW各标 志位的变化。 MOV A,#0A5H ADD A,#0CFH 解: (A)=10100101B + Data=11001111B CY 01110100B C7 C6 AC (CY)=C7=1;(AC)=1;溢出标志(OV)=C7⊕C6=1⊕0=1,有 溢出;(P)=0。执行结果:(A)=74H。 若为无符号数运算, (CY)=1,表示结果超出(0~255) 范围。若为带符号数运算,因(-49)+(-91)=-140,超出了 (-128~+127)的范围,所以OV=1溢出。
半字节交换 XCHD A,@Ri SWAP A
;(A3~0)((Ri)3~0) ;(A3~0)(A7~4)

四 MCS-51单片机存储器系统扩展

四 MCS-51单片机存储器系统扩展
RD、WR为数据存储器和 I/O口的读、写控制信号。执 行MOVX指令时变为有效。
74LS373引脚
1、控制位OE: OE=0时,输出导通 2、控制位G: 接ALE 3、Vcc=+5V 4、GND接地
1 74LS373为8D锁存器,其主要特点在于:
控制端G为高电平时,输出Q0~Q7复现输入D0~ D7的状态;G为下跳沿时D0~D7的状态被锁存在Q0 ~Q7上。
MOV DPTR, #0BFFFH ;指向74LS373口地址
MOVX A, @DPTR ;读入
MOV @R0, A
;送数据缓冲区
INC R0
;修改R0指针
RETI
;返回
用74LS273和74LS244扩展输入输出接口
地址允许信号ALE与外部地址锁存信号G相连;
单片机端的EA与单片机的型号有关;
存储器端的CE与地址信号线有关。
P... 2.7 P2.0
ALE 8031
P... 0.7 P0.0
EA
PSEN
外部地址
G
锁存器
I...7
O... 7
I0 O0
A... 15
CE
A8
外部程序
存储器
A... 7 A0
D7. . . D0 OE
6264的扩展电路图
图中CS(CE2)和CE引脚均为6264的片选信号,由于该扩展电路 中只有一片6264,故可以使它们常有效,即CS(CE2)接+5V ,CE接地。6264的一组地址为0000H~1FFFH。
存储器地址编码
SRAM6264:“64”—— 8K×8b = 8KB 6264有13根地址线。 地址空间: A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 最低地址: 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 最高地址: 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFFH MCS-51单片机寻址范围:64KB 26×210 = 216即16位地址线 地址空间: A15A14A13A12A11A10A9A8A7······A0 单片机

MCS-51单片机IO口详解

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。

单片机教程 第9章-串口通信

单片机教程 第9章-串口通信

9.2
MCS-51单片机串行接口
方式1所传送的波特率取决于定时器T1的溢出 率和特殊功能寄存器PCON中SMOD的值,即方式1的
波特率=(2SMOD/32)×定时器T1的溢出率。
②方式1接收:当串行口置为方式1,且REN=1 时,串行口处于方式1输入状态。它以所选波特率 的16倍的速率采样RXD引脚状态。
示字符的结束。异步传送的字符格式如图所示。 ①字符帧:也叫数据帧,由起始位、数据位、奇 偶校验位和停止位4个部分组成。
9.1
串行通信基础
9.1
串行通信基础
②波特率:就是数据的传送速率,即每秒钟传送的 二进制位数,单位:位/秒。 说明:要求发送端与接收端的波特率必须一 致。波特率越高,传送速度越快。
9.1
串行通信基础
下图为以上两种通信方式的示意图。由图可知, 假设并行传送N位数据所需时间为T,那么串行传送 的时间至少为NT,实际上总是大于NT的。
9.1
串行通信基础
9.1.1
串行通信的分类
1、异步通信
异步传送的特点是数据在线路上的传送不连
续。在传送时,数据是以一个字符为单位进行传送
的。它用一个起始位表示字符的开始,用停止位表
;清0接收中断标志 ;接收数据 ;取奇偶校验位 ;偶校验时转L1 ;奇校验时RB8为0转出错处理
;偶校验时RB8为1转出错处理 ;奇偶校验对时存入数据 ;修改指针 ;恢复现场 ;中断返回 ;出错处理 ;中断返回
L1: L2:
ERR:
9.2
MCS-51单片机串行接口
4、方式3 方式3为波特率可变的9位异步通信方式,除了
fOSC 2 SMOD 64
T 1溢出率2 SMOD 32

第二章 MCS-51单片机输入输出端口

第二章 MCS-51单片机输入输出端口

1 0
1 1 1 1
§2.1 MCS-51单片光二极管,编写程序,使 、 口作输出口 口作输出口, 只发光二极管, 只发光二极管 编写程序, 发光二极管对称循环点亮。 发光二极管对称循环点亮。 2、P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作 、 作输入口接两个拨动开关, 作输入口接两个拨动开关 作 输出口,接两个发光二极管,编写程序读取开关状态, 输出口,接两个发光二极管,编写程序读取开关状态, 将此状态,在发光二极管上显示出来。 将此状态,在发光二极管上显示出来。
1 0
2 读引脚 =0 =1 0
控制=0时 此脚用作通用 口 控制 时,此脚用作通用I/O口
§2.1 MCS-51单片机输入\输出端口
P2
读锁存器 1 内部 总线 写锁 存器
地址高8位 地址高 位 控制
=1
Vcc 内部上拉电阻
1 0
T
D Q /Q
0 1
导 截 止 通 引脚P2.X 引脚
1 0
3
CP
具体程序: 具体程序: …… NEXT:MOV 90H, #0FEH MOV 90H, #0FDH …… MOV 90H, #7FH SJMP NEXT
11111110 11111101 11111011 11110111 11101111 11011111 10111111 01111111
0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 07FH
§2.1 MCS-51单片机输入\输出端口
§2.1 MCS-51单片机输入\输出端口
复习
输出数据 输出数据 = 0 时
Vcc Vcc 读锁存器 2 内部 总线 0 写锁 存器 T

51单片机C语言应用与开发(第9章)

51单片机C语言应用与开发(第9章)

4. 具有将可变的选择与特殊操作组合在一起的 能力,改善了程序的可读性;
5. 提供的库包含许多标准子程序,具有较强的 数据处理能力; 6. 由于具有方便的模块化编程技术,使已编好 程序可容易地移植;
C51程序结构
预处理命令 全局变量说明; 函数1说明; …… …… 函数n说明;
main() { 局部变量说明; 执行语句; 函数调用(实际参数表); 函数1(形式参数说明) { 局部变量说明; 执行语句; 函数调用(实际参数表); } …… …… 函数n(形式参数说明) { 局部变量说明; 执行语句; 函数调用(实际参数表); }
8
片内RAM,间接寻址,共256字节。
片外RAM,分页间址,共256字节。(MOVX @Ri)
xdata
code
16
16
片外RAM,间接寻址,共64k字节。(MOVX @DPTR)
ROM区域,间接寻址,共64k字节。(MOVC @DPTR)
访问片内RAM比访问片外RAM的速度要快得 多,所以对于经常使用的变量应该置于片内 RAM中,即用bdata、data、idata来定义;对 于不经常使用的变量或规模较大的变量应该置于 片外RAM中,即用pdata、xdata来定义。例如:
/* IP */ sbit PS = 0xBC; sbit PT1 = 0xBB; sbit PX1 = 0xBA; sbit PT0 = 0xB9; sbit PX0 = 0xB8; /* P3 */ sbit RD = 0xB7; sbit WR = 0xB6; sbit T1 = 0xB5; sbit T0 = 0xB4; sbit INT1 = 0xB3; sbit INT0 = 0xB2; sbit TXD = 0xB1; sbit RXD = 0xB0; /* SCON */ sbit SM0 = 0x9F; sbit SM1 = 0x9E; sbit SM2 = 0x9D; sbit REN = 0x9C; sbit TB8 = 0x9B; sbit RB8 = 0x9A; sbit TI = 0x99; sbit RI = 0x98; #endif

单片机IO口扩展技术

单片机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单片机的模拟量输入输出

2.主要技术指标
(1)分辨率 输入给DAC的单位数字量变化引起的模拟量输出的变化,通 常定义为输出满刻度时的模拟量值与2n之比。显然,二进制位 数越多,分辨率越高。 例如,若满量程为10V,根据定义则分辨率为10V/2n。 设8位D/A转换,即n=8,分辨率为10V/2n =39.1mV,该 值占满量程的0.391%,用1LSB表示。
11
(2)A/D转换器转换速率的确定 从启动转换到转换结束,输出稳定的数字量,需要一 定的时间,这就是A/D转换器的转换时间。 低速:转换时间从几ms到几十ms 。 中速:逐次比较型的A/D转换器的转换时间可从几s~ 100s左右。 高速:转换时间仅20~100ns。适用于雷达、数字通讯、 实时光谱分析、实时瞬态纪录、视频数字转换 系统等。
16
ADC0809
逐次逼 近式8路模 拟输入、8 位输出的 A/D转换器。
17
共28脚,双列直插式封装。主要引脚功能如下: (1)IN0~IN7:8路模拟信号输入端。 (2) D0~D7:8位数字量输出端。 (3) C 、B 、A:控制8路模拟通道的切换,C、B、A= 000~111分别对应IN0~IN7通道,ALE是其锁存信号。 (4) OE、START、CLK:控制信号端,OE为输出允许端, START为启动信号输入端,CLK为时钟信号输入端。 (5)VR(+)和VR(-):参考电压输入端。
9
3. A/D转换器的选择
按输出代码的有效位数分:8位、10位、12位等。 按转换速度分为超高速(≤1ns)、高速(≤1s)
中速(≤1ms)、低速(≤1s)等。
A/D转换器的发展趋势:为适应系统集成需要,将 多路转换开关、时钟电路、基准电压源、二/十进制 译码器和转换电路集成在一个芯片内,为用户提供方 便。

2 MCS-51系列单片机的结构和原理

2 MCS-51系列单片机的结构和原理

0023H~002AH
地址去执行程序
串行中断地址区
中断响应后,系统能按中断种类,自动转到各中断区的首
但8个单元难以存下一个完整的中断服务程序, 故一般在中断地址区首地址开始存放一条无条件转移指令
JMP、 AJMP以便中断响应后,通过中断地址区,转到
中断服务程序的实际入口地址去
2.3.4 堆栈操作 堆栈只允许在其一端进行数据插入和数据删除操作的线性表 数据写入堆栈称为插入运算(入栈),PUSH 从堆栈中读出数据称为删除运算(出栈),POP
地址:80H~FFH 存放相应功能部件 的控制命令、状态 或数据 21个专用寄存器
(SFR)
(1)累加器A (Accumulator) 累加器A是8位寄存器,又记做ACC,是一个最常用的专用 寄存器。在算术/逻辑运算中用于存放操作数或结果。
(2)寄存器B 寄存器B 是8位寄存器,是专门为乘除法指令设计的,也 作通用寄存器用。
I/O口P0、P1、P2、P3集数据输入缓冲、数据输出驱动及锁
存等多项功能于一体
• 字节地址为90H,位地址为90H~97H,只作通用I/O口使用. • 由一个数据输出锁存器、两个三态输入缓冲器和输出驱动电 路组成。 内有电阻, 输出时无需 外接上拉电 阻 P1口作输出口 使用时: 内部总线 输出数据给输 出数据锁存器 的输入数据线 D.
1. 芯片封装形式
双列直插式DIP(Dual In line Package) 44引脚方形扁平式QFP(Quad Flat Package)
2. 芯片引脚介绍
1)输入/输出口线 4个8位双向口线
2)ALE 地址锁存控制信号 • 在系统扩展时,用于控制把P0口输出的低8位地址
送入锁存器锁存起来,以实现低位地址和数据的分

51单片机外部存储器的扩展

51单片机外部存储器的扩展
即存储器芯片的选择和存储器芯片内部 存储单元的选择。
一、地址线的译码
存储器芯片的选择有两种方法:线选法和译码法。
1、线选法。所谓线选法,就是直接以系统的地址线作为 存储器芯片的片选信号,为此只需把用到的地址线与存储 器芯片的片选端直接相连即可。 2、译码法。所谓译码法,就是使用地址译码器对系统的 片外地址进行译码,以其译码输出作为存储器芯片的片选 信号。译码法又分为完全译码和部分译码两种。
MCS-51系列单片机片内外程序存储器的空 间可达64KB,而片内程序存储器的空间只有 4KB。如果片内的程序存储器不够用时,则需 进行程序存储器的扩展。
MCS-51存储器的扩展
存储器扩展的核心问题是存储器的编址 问题。所谓编址就是给存储单元分配地址。
由于存储器通常由多个芯片组成,为此 存储器的编址分为两个层次:
扩展数据存储器常用静态RAM 芯片: 6264(8K×8位)、62256(32K×8位)、 628128(128K×8位)等。
MCS-51存储器的扩展
P2.7~P2.0
ALE P0.0~P0.7 8031
EA PSEN
A15~A8 高8位地址
CLK Q7~Q0 A7~A0 I0~I7 地址锁存器
D0~D 7
二、以P2口作为高8位的地址总线
P0口的低8位地址加上P2的高8位地址就可以形成16位的 地址总线,达到64KB的寻址能力。
实际应用中,往往不需要扩展那么多地址,扩展多少用 多少口线,剩余的口线仍可作一般I/O口来使用。
三、控制信号线 ALE:地址锁存信号,用以实现对低8位地址的锁存。 PSEN:片外程序存储器读选通信号。 EA:程序存储器选择信号。为低电平时,访问外部程序存储 器;为高电平时,访问内部程序存储器。

MCS-51单片机原理及接口技术

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

MCS-51单片机P0口扩展技术研究

MCS-51单片机P0口扩展技术研究
维普资讯
第9 卷
2 7第4 0年 月 0 4期
薪瓣霪缔瘗
V1N. o o . 4 9
Ap .2 0 r 07
MC 一 1 ¥ 5单片机P 口扩展技术研究 0
屈年鹤 ,林成武 ,宋 同富
( 阳工业 大 学 信 息科 学与 工程 学院 ,辽 宁 沈 阳 10 2 沈 10 3)
1 A1 1 A2 1 A3 1 4 A 2 1 A 2 2 A 2 3 A 2 4 A
Vc c
1 Y1 1 2 Y 1 3 Y 1 Y4 2 Y1 2 Y2 2 3 Y 2 4 Y
1 G
由于MC 一 1 片 机 的外 部R M和I S5单 A / 0口是 统
流机 型【 ” 。
具备 “ 三态 ”功 能 ,因此 扩展输 入 接 口实 际上 就 是 要 找 一 个 能 够 用 于 控 制 且 具 备 三 态 输 出 的芯 片 。 以便 在输 入设 备 被选 通时 ,它 能使 输入 设备 的数 据线 和单 片 机 的数 据 总线直 接 接通 ;而 当输 入设 备没 有被 选通 时 。它 又能 隔离数 据 源和 数据 总线 f 态缓 冲器为 高阻抗 状态) 即三 。
系统设 计都 不可 避免 的需要 对P 口进 行扩展 。 o
如果 输入 的 数 据可 以保持 比较 长 的 时 间 ( 比 如 键 盘1 。简 单 输入 接 口扩 展 通 常 使用 的典 型芯 片 为 7 H 2 4, 由该 芯 片 可 构 成 三 态 数 据 缓 冲 4 C4
器 。7 H 2 4 4 C 4 芯片 的引脚排 列如 图1 所示 。
7 HC 4 芯 片 内部 共 有 两 个 四 位 三 态 缓 冲 4 24
器 。使 用 时 可 分别 以 和 作 为它 们 的 选 通 工 作信 号 。当1 和2 都为 低 电平 时 ,输 出 端Y和输 G G 入 端A 态相 同 ;当 和 都 为高 电平 时 ,输 出 状
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、 8255的结构 、 的结构
A组 组 控制
D0~D7 ~
口A 口C 高4 口C 低4
PA0~PA7 ~
数据 总线 缓冲器
PC4~PC7 ~
RD WR CS A0 A1 RESET
PC0~PC3 ~
读写 控制 逻辑 B组 组 控制
口B
PB0~PB7 ~
读/写控制逻辑电路负责管理8255A的数据传输过 程。它接收片选信号及系统读信号、写信号、复位信 号RESET,还有来自系统地址总线的口地址选择信号 A0和A1。
AB0
AB
AB15
AB15
CB
+
地址码的计算
计算74HCT574的地址(89c51送出何种地址码时可以将数送到 端) 的地址( 送出何种地址码时可以将数送到Q端 计算 的地址 送出何种地址码时可以将数送到
P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 AB15AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 0 * * * * * * * * * * * * * * *
1、 8255的结构 、 的结构
A组 组 控制
D0~D7 ~
口A 口C 高4 口C 低4
PA0~PA7 ~
数据 总线 缓冲器
PC4~PC7 ~
RD WR CS A0 A1 RESET
PC0~PC3 ~
读写 控制 逻辑 B组 组 控制
口B
PB0~PB7 ~
这是两组根据CPU命令控制8255A工作方 式的电路,这些控制电路内部设有控制寄 ①A组控制电路用来控制A口 及C口的高4位。 ②B组控制电路用来控制B口 及C口的低4位。 存器,可以根据CPU送来的编程命令来控 制8255A的工作方式,也可以根据编程命 令来对C口的指定位进行置/复位的操作。
不可编程并行口芯片的扩展( 系列) 不可编程并行口芯片的扩展(74LSXX系列) 系列 可编程并行口芯片的扩展 (8255) ) 非总线方式扩展I/O口 非总线方式扩展 口
不可编程并行口芯片的扩展
一、 74HCT574的扩展 的扩展 二 、 74LS245的扩展 的扩展
一 74HCT574的扩展 的扩展
DB
AB
AB15
AB15
CB
+
+
~ D7 ~ D0
CP
OE
~ D7 ~ D0
CP
OE
74HCT574 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0
74HCT574 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0
B0
A0
二、 74LS245的扩展 的扩展
1、 74LS245的结构 、 的结构
B1 A1
PC4~PC7 ~
PC0~PC3 ~
读写 控制 逻辑 B组 组 控制
口B
PB0~PB7 ~
8255与89C51的连接图 与 的连接图
2、 8255的引脚 、 的引脚
D0-D7:8位,双向,三态 数据线,用来与系统数据 总线相连。 RD:读信号,输入,控制 :读信号,输入, 8255将数据或控制信息送 将数据或控制信息送 到CPU。 。
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 D0 D1 D2 D3 D4 D5 D6 D7 CP 8031 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 ≥1 D0 D1 D2 D3 D4 D5 D6 D7 G1 G2 OE DIR S0 S1 S2 S3 S4 S5 S6 S7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7 +5 V
1、 8255的结构 、 的结构
A组 组 控制
D0~D7 ~
口A 口C 高4 口C 低4
PA0~PA7 ~
数据 总线 缓冲器
PC4~PC7 ~
RD WR CS A0 A1 RESETPC0~PC3 ~来自读写 控制 逻辑 B组 组 控制
口B
PB0~PB7 ~
A口是一个独立的8 位I/O口,它的内部 有对数据输入/输出 的锁存功能。
C口可以看作是一个独立的8 位I/O口;也可以看作是两个 独立的4位I/O口。也是仅对 输出数据进行锁存。
B口也是一个独立的 8位I/O口,仅对输 出数据的锁存功能。
2、 8255的引脚 、 的引脚
PA0~PA7 ~
A组 组 控制
D0~D7 数据 ~
口A 口C 高4 口C 低4
总线 缓冲器
RD WR CS A0 A1 RESET
AB0
AB
AB15
AB15
CB
+
地址码的计算
计算74LS245的地址(89C51送出何种地址码时可以将数由 端传到 端) 的地址( 送出何种地址码时可以将数由A端传到 计算 的地址 送出何种地址码时可以将数由 端传到B端
P27 P26 P25 P24 P23 P22 P21 P2 0 P07 P06 P05 P04 P03 P02 P01 P00 AB15AB14 AB13 AB12 AB11 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 0 * * * * * * * * * * * * * * *
D4 D5 D6 D7 CP OE
3、 74HCT574与89C51的连接 、 与 的连接
74HCT574与89C51的连接图 与 的连接图 DB
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 89C51 P0.7 ALE P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 PSEN WR RD 74LS373 D0 A0 D1 A1 D2 A2 D3 A3 D4 A4 D5 A5 D6 A6 D7 A7 LE OE
1、 8255的结构 、 的结构
A组 组 控制
D0~D7 ~
口A 口C 高4 口C 低4
PA0~PA7 ~
数据 总线 缓冲器
PC4~PC7 ~
RD WR CS A0 A1 RESET
PC0~PC3 ~
读写 控制 逻辑 B组 组 控制
口B
PB0~PB7 ~
8位的双向的三态缓冲器。作为8255A与系统总线 连接的界面,输入/输出的数据,CPU的编程命令以及 外设通过8255A传送的工作状态等信息,都是通过它 来传输的。
1、 74HCT574的结构 、 的结构
D0 D1 D2 D3
D Q CP D Q CP D Q CP D Q CP D Q CP D Q CP D Q CP D Q CP
Q0 Q1 Q Q3 Q4 Q5 Q6 Q7
2、 74HCT574的引脚 、 的引脚
74HCT574 1 2 3 4 5 6 7 8 9 10 OE D0 D1 D2 D3 D4 D5 D6 D7 GND VCC O0 O1 O2 O3 O4 O5 O6 O7 CP 20 19 18 17 16 15 14 13 12 11
A组 组 控制
D0~D7 ~
口A 口C 高4 口C 低4
PA0~PA7 ~
数据 总线 缓冲器
PC4~PC7 ~
RD WR CS A0 A1 RESET
PC0~PC3 ~
读写 控制 逻辑 B组 组 控制
口B
PB0~PB7 ~
8255有三个并行的8位I/O接口,分别称为A口、B口、C口。也就 是说,扩展一片8255则可扩展24位并行端口。
~ B7 ~ B0
OE 74LS245
DIR
A7 A6 A5 A4 A3 A2 A1 A0
思考:2片 思考 片74LS245与89C51的连接图 与 的连接图
计算74LS245的地址 的地址 计算 P0.0 P0.1 AB15AB14 AB13 AB12 AB11 P0.2 0 1 P0.3 * * * P0.4 P0.5 P0.6 1 0 P0.7 * * * 89C51 ALE P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 PSEN WR RD
MCS-51并行口的扩展( MCS-51并行口的扩展(§9.6 ) 并行口的扩展
MCS51单片机内部有 个并行口(P0、P1、P2、P3),当内部并 单片机内部有4个并行口 ),当内部并 单片机内部有 个并行口( 、 、 、 ), 行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成 行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2 类:不可编程的并行口芯片(74LS373和74LS245)和可编程的并行口 不可编程的并行口芯片( 和 ) 芯片( )。扩展的方法有基于三总线的扩展 芯片(8255)。扩展的方法有基于三总线的扩展(§9.6.2 、§9.6.3 ) )。扩展的方法有基于三总线的扩展( 和非总线方式扩展(§9.6.4) 和非总线方式扩展( )
74DCT574 74LS273
OE CLR
≥1
WR P2.0 RD
OE DIR
74LS244 74LS245
ORG 0000H CONT:MOV DPTR,#0FEFFH ;数据指针指向口地址 ;检测按键,向74LS245 读入数据 MOVX @DPTR,A ;向74HCT573输出数据, 驱动LED SJMP END CONT ;循环
P27 P26 P25 P24 P23 74LS373 P2AB0 P06 P05 P04 P03 P02 P01 P00 P22 P21 0 P07
DB
D2 D3* D4 D5 D6 * D7 LE D1 A1 AB10 AB9 AB8 AB7 AB6 AB5 AB4 AB3 AB2 AB1 AB0 A2 A3 * * A4 A5 A6 * A7 * OE
相关文档
最新文档