第4章51系列单片机并行口的功能模块及应用
第4章MCS-51单片机系统功能扩展

74LS373结构示意图
74LS373的引脚
引脚说明如下: D7~D0: 8位数据输入端。 Q7~Q0: 8位数据输出端。 G:数据输入锁存控制端:当G为“1” 时,锁存器 输出端与输入端数据相同;当G由“1” 变“0” 时,数据输入锁存器中。 OE#: 输出允许端。
P0口与地址锁存器74LS373的连接
4.1 系统扩展概述
4.1.1 最小应用系统
图4.1 MCS–51单片机最小化系统 (a) 8051/8751最小系统结构图;(b) 8031最小系统结构图
4.1.2 单片机系统扩展的内容与方法
1.单片机的三总线结构
图4.2 MCS–51单片机的三总线结构形式
(1)以P0口作为低8位地址/数据总线。 (2)以P2口的口线作高位地址线。 (3)控制信号线。 *使用ALE信号作为低8位地址的锁存控制信号。 *以PSEN#信号作为扩展程序存储器的读选通信号。 *以EA#信号作为内外程序存储器的选择控制信号。 *由RD#和WR#信号作为扩展数据存储器和I/O口的 读选通、写选通信号。 尽管MCS-51有4个并行I/O口,共32条口线,但由于系 统扩展需要,真正作为数据I/O使用的,就剩下P1 口和P3口的部分口线。
锁存器8282 功能及内部结构与74LS373完全一样,只是其引脚的排 列与74LS373不同 ,8282的引脚如下图。
4.2.2 74LS244和74LS245芯片
在单片机应用系统中, 扩展的三总线上挂接
很多负载, 如存储器、并行接口、A/D接口、显
示接口等, 但总线接口的负载能力有限, 因此常
3) 采用地址译码器的多片程序存储器的扩展
例3 要求用2764芯片扩展8031的片外程序存储器,分配的 地址范围为0000H~3FFFH。
第4章51单片机内部功能模块及其应用----单片机

第 4 章 51系列单片机的功能模块及其应用本章介绍51内部接口的应用。
51系列单片机内部集成了:●CPU──111条指令●ROM──0K~4K/8K(可扩为64KB)●内RAM──128/256 B(可扩外部64KB)●定时/计数器接口──2个/3个16位定时/计数器T0、T1、T2●全双工异步串行通信接口──●并行接口──提供4个8位并行端口●中断控制器──可以管理5个/6个中断源接口电路(Interface)──简称“接口”,是连接CPU总线和外设的桥梁。
接口卡=适配器(Adapter)──复杂接口电路,仅仅一片IC还不够,需要以某种核心IC芯片搭配外围元器件构造成一个电路板。
比如:网卡、声卡、显卡、数据采集卡、图像采集卡等。
端口(Port)──简称“口”,是指接口电路中的寄存器,硬件连线决定了每个寄存器的I/O地址,对接口电路的编程实质是对接口寄存器的编程。
CPU控制外设的实质就是控制接口电路,控制接口电路的实质就是控制接口寄存器。
4.0 中断系统──(教材第2章第5节)4.0.1 中断概念中断是针对“条件I/O”的外设而设置的一种I/O工作方式(另一种方式是查询)。
与查询方式相比,中断方式减少了CPU的负担,是计算机系统中重要概念和必不可少的内容。
举例:把人看成CPU,手表和电话看成是外设,访问这两个外设就是两种I/O类型:手表──无条件I/O的典型,随时可以访问,自然也不涉及查询和中断方式的选择。
电话──条件I/O的典型,可以设计成查询方式,也可以设计成中断方式。
显然,查询方式用在这里很“愚蠢”!而采用中断方式就很自如。
实现中断工作方式的几个条件:●外设能够产生中断申请信号;●CPU支持中断工作方式──CPU能够接受外设的中断申请并做出响应;●有一个独立于CPU的中断控制电路──能够区分多路中断源,进行中断允许和优先权设置。
正确使用中断需要搞清:中断屏蔽、优先权、响应过程、激活方法、中服调用和返回等。
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级优先。
第4章 80C51单片机IO端口及应用最终

24
参考程序:
#include <reg51.h> void main(void) { unsigned char i; P2=0xff; for(;;) { i=P2; P1=i; } }
25
4.6单片机I/O口控制电磁继电器
在控制系统中,常常存在电子电路与电气电路的互 相连接问题,需要电子电路控制电气电路的执行元件, 例如电动机、电磁铁、电灯等,同时实现电子线路与电 气电路的电隔离,以保护电子电路和人身的安全,继电 器在其中起了重要的桥梁作用。
控制
T1
内部总线 写锁存器 读引脚
D P0.x Q 锁存器 Q
BUF2
MUX
P0.x引脚 T2
图4-1 P0口的位电路结构
4
2.P0口工作原理 (1)P0口作为地址/数据总线分时复用口
当80C51单片机外部扩展存储器或者I/O接口芯片,需要 P0口作为地址/数据总线分时使用时,“控制”信号输出高 电平;转换开关MUX 将T2与反相器输出端接通,同时“与 门”开锁,“地址或数据”信号通过与门驱动T1管,并通过 反相器驱动T2管,使得P0.x引脚的输出状态随“地址/数据” 状态的变化而变化。具体输出过程如下。
注意,当P0口作输出口使用时,输出级属开漏电路,在 P0.x引脚应外接上拉电阻。
6
② P0口作为I/O口输入时,端口中的两个三态缓冲器用于读 操作。有2种读操作:读锁存器和读引脚。
“读引脚”:当执行一般的端口输入指令时,引脚上的外部 信号既加在三态缓冲器BUF2的输入端,又加在场效应管T2 漏极上,若此时T2导通,则引脚上的电位被钳在0电平上。 为使读引脚能正确地读入,在输入数据时,要先向锁存器置 “1”,使其Q反端为0,使输出级T1和T2两个管子均被截止, 引脚处于悬浮状态;作高阻抗输入。“读引脚”脉冲把三态 缓冲器打开,于是引脚上的数据经缓冲器到内部总线;
第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既可以把它们看做数据口,也可以看 做状态口,这是由用户决定的。
MCS-51单片机的串行口及控制寄存器

位序
B7
B6
B5
B4
B3
B2
B1
B0
位符
smod
/
/
/
GF1
Hale Waihona Puke GF0PDIDL
号
PD和IDL:是CHMOS单片机用于进入低功耗方式的控制位,在第 2章中已介绍过这两位的应用。
GF1和GF0:用户使用的一般标志位。
smod:串行口波特率倍增位,当smod=1时,串行口波特率增加 1倍。系统复位时,smod=0。
位地 址
位符 号
0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8 H
EA
/
/
ES
ET1
EX1
ET1 EX0
其中与串行口有关的是ES位。当ES=0时,禁止串行口的中断; 当ES=1时,表示允许串行口中断。EX0、ET0、EX1、ET1分别表示 对外中断0、定时器/计数器0、外中断1、定时器/计数器1个中断 源的中断允许控制,EA是中断总允许控制位,详见本书第5章介绍。
PCON寄存器的B6、B5、B4位未定义。
3. 中断允许寄存器IE
中断允许寄存器IE,是MCS-51单片机中实现是否开放某 中断源中断的控制寄存器,在第5章中已做过介绍。IE寄存 器 是 可 寻 址 的 寄 存 器 , 其 字 节 地 址 为 0 A8H, 位 地 址 由 0A8H~0AFH,IE寄存器各位定义如下:
0BBH PT1
0BAH PX1
0B9H PT0
0B8H
PX0
其中与串行口有关的是PS位,当PS=0时,表示串行口中断处于 低优先级别;当PS=1时,表示串行口中断处于高优先级别。PX0、 PT0、PX1、PT1分别控制外中断0、定时器/计数器0、外中断1、定 时器/计数器1中断源的中断优先级别,详见本书第5章介绍。
第4讲 单片机并行IO口的应用

(4)电机转动程序流程图
程序如下:
TUN: MOV R2,#0
;循环计数器
MOTO_L:
MOV DPTR,TABA2 ;正转数据表
SJMP TUN
MOTO_R:
MOV DPTR,TABA3 ;反转数据表
TUN1: MOV A,R2
MOVC A,@A+DPTR ;取输出参数
; 置P1口为输入 ;查是否有按键? ;延时20mS ;按键仍有效吗? ;是,等待按键释放 ;累计按键次数
;延时与显示
2.矩阵式键盘电路Βιβλιοθήκη 理与编程1. 矩阵式键盘的结构
矩阵式键盘结构如图所示, 它由行线和列线组成, 按键位于行线和列线的交叉点上。
2.按键的识别
当键盘上没有键闭合时,所有的
行线和列线断开,行线X0~X3呈高 电平。当某个键闭合时,该键对应 的行列线短路,行线的状态由列线 状态决定。如右表所示:
1.电路设计
2.应用程序 若要实现以下功能:
开始时,P1.0亮,延时1S后左移至P1.1亮,如此移到P1.7 亮后,8个灯全亮,延时2S后,P1.7灭,然后由P1.7至P1.0 逐位熄灭。程序如下
ORG START: MOV
MOV
1000H ;程序从1000H单元开始存放
A,#1 R0,#8 ;循环8次
JNB ACC.1,KS2 ;P1.1=0,转KS2
P1.7
JNB ACC.2,KS3 ;P1.2=0,转KS2
89C51
:
:
开关应用接口电路
JNB ACC.7,KS8 ;P1.7=0,转KS8
PASS:
四.独立式按键的程序处理
微机原理与单片机接口技术(第2版)李精华 第4章 单片机C51语言程序设计

4.2.3 数据类型
数据类型
类型名称
长位度/
bit sbit sfr sfr16
位类型
1
可寻址位型
1
特殊功能寄存器型
8
16位特殊功能寄存器型
16
取值范围
0,1 0,1 0~255 0~65536
4.2.3 数据类型
1.字符型char
字符型char包括无符号字符型unsigned char和带符号字符型signed
double,float占4字节存储容量,double占8字节存储容 量。浮点型数据可以直接表示小数,因此许多复杂的数 学表达式都采用浮点型数据。51单片机使用浮点型数据 进行运算时消耗资源较大,运行速度也慢,因而在实时 性要求非常高的程序中不做浮点型数据的运算。
4.2.3 数据类型
5.位类型bit
4.2.2 关键字
又称保留字,是程序设计语言中规定的、有固定含义 的单词符号。(32个)
auto break case
Байду номын сангаас
char const continue default do
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;
单片机原理及应用 第4章 MCS-51单片机系统的扩展技术

2.数据存储器典型扩展电路
6264的地址范围为:0000H~1FFFH。
[例题] 在上页图的数据存储器扩展电路中,将片内RAM 以50H单 元开始的16个数据,传送片外数据存储器0000H开始的单元中。
程序如下:
ORG 1000H MOV R0, #50H MOV R7, #16 MOV DPTR, #0000H AGAIN: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, AGAIN RET END ; 数据指针指向片内50H单元 ; 待传送数据个数送计数寄存器 ; 数据指针指向数据存储器6264的0000H单元 ; 片内待输出的数据送累加器A ; 数据输出至数据存储器6264 ; 修改数据指针 ; 判断数据是否传送完成
4.2.1
程序存储器扩展
单片机内部没有ROM,或虽有ROM但容量太小时,必须扩 展外部程序存储器方能工作。最常用的ROM器件是EPROM 1. 常用EPROM程序存储器 EPROM主要是27系列芯片,如:2764(8K)/27128(16K) /27256(32K)/27040(512K)等,一般选择8KB以上的芯片作为 外部程序存储器。
4.2.3 MCS-51对外部存储器的扩展
下图所示的8031扩展系统中,外扩了16KB程序存储器(使用两片 2764芯片)和8KB数据存储器(使用一片6264芯片)。采用全地址译码方 式,P2.7用于控制2―4译码器的工作,P2.6, P2.5参加译码,且无悬空地 址线,无地址重叠现象。 1# 2764, 2# 2764, 3# 6264的地址范围分别为:0000H~1FFFH, 2000H~3FFFH, 4000~5FFFH。
MOV DPTR, #7FFFH ; 数据指针指向74LS377 MOV A, 60H ; 输出的60H单元数据送累加器A MOVX @DPTR, A ; P0口将数据通过74LS377输出
51单片机原理及应用

51单片机原理及应用51单片机(AT89C51)是一种高性能、低功耗的CMOS8位微控制器,它集成了CPU核心、ROM、RAM、I/O端口、定时器/计数器、串行通信接口等功能模块。
它是基于哈佛结构的架构,具有较高的运行速度和强大的功能。
1.CPU核心:51单片机采用了8051型CPU核心,其指令集丰富,包括基本的算数逻辑操作、数据传输操作、位操作以及控制操作等。
2.存储器:51单片机内部带有4KB的可编程ROM,用于存放程序代码;同时还有128字节的RAM用于存放数据。
3.I/O端口:51单片机共有四组I/O端口,分别为P0、P1、P2和P3,每个端口都是8位的双向口。
4. 定时器/计数器:51单片机内部带有两个独立定时器/计数器,分别为Timer 0和Timer 1,它们可以用于计时、定时和外部计数等操作。
5.串行通信接口:51单片机内部带有一个串行通信接口(UART),可以实现串行数据的收发操作。
1.嵌入式系统开发:51单片机具有强大的IO口和丰富的功能模块,可用于开发各种嵌入式系统,如家电控制、电子锁、智能家居等。
2.工业自动化:51单片机广泛应用于工业领域,可以实现各种传感器的数据采集、控制执行器动作、工业过程监控等功能。
3.车载电子:51单片机可以用于车辆电子系统的设计与控制,如车载仪表盘、车内电子设备控制、车载导航系统等。
4.家庭电子:51单片机可以用于各种家庭电子产品的设计与控制,如电视、音响、游戏机等。
5.学术研究:51单片机常用于电子、计算机等相关专业的教学与研究,学生可以通过对其原理及应用的学习,提高自己的电子设计与开发能力。
需要注意的是,由于51单片机已经推出多年,技术相对较老,目前市场逐渐被更先进的32位单片机所取代。
但由于其成熟可靠、易学易用的特点,仍然在一些特定领域得到广泛应用。
总之,51单片机具有强大的功能和广泛的应用领域,熟悉其原理及应用对于掌握嵌入式系统的设计和开发具有重要意义。
第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。
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;
51单片机复习题及答案

第1章单片机概述1.单片机与普通微型计算机的不同之处在于其将、、和3部分集成于一块芯片上。
答:CPU、存储器、I/O口。
2.8051与8751的区别是。
A.内部数据存储单元数目不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同答:C。
3.在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用;B.测量、控制应用;C.数值计算应用;D.数据处理应用答:B。
4.微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。
5.MCS-51系列单片机的基本型芯片分别为哪几种它们的差别是什么答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。
它们的差别是在片内程序存储器上。
8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。
6.为什么不应当把51系列单片机称为MCS-51系列单片机答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
第2章51单片机片内硬件结构1.在51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2μs2.AT89C51单片机的机器周期等于个时钟振荡周期。
答:12。
3.若A中的内容为63H,那么,P标志位的值为。
答:P标志位的值为0。
4.内部RAM中,可作为工作寄存器区的单元地址为H~H。
答:00H;1FH。
5.通过堆栈操作实现子程序调用,首先要把的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到。
答:PC;PC。
6.51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为51单片机的PC 是16位的,因此其寻址的范围为KB。
单片机原理及应用课件0451系列单片机的并行口结构和功能

读锁存器
内部 总线 1 写锁 存器
读引脚
2 1
DQ CK /Q
1
第二功能输出
Vcc
(WR,RD,TxD)
内部上拉电阻
16
反相器 3
1
引脚 P3.X
4
第二功能输入时,信号经缓冲器4 直接进入内总线。
读锁存器
内部 总线
1
写锁 存器
2
DQ CK /Q
1
此端自动=1
Vcc 内部上拉电阻
4 P2某几根线作地址使用时,剩下的线不能作I/O口线用。 5 P3口的某些口线作第二功能时,剩下的口线可以单独
作I/O口线使用。
●MCS-51系列单片机为总线结构,外部三总线如下: ◆ 数据总线:P0口; ◆ 地址总线:P2口(高8位)+P0口(低8位); ◆ 控制总线:∕EA、∕PSEN、∕WR、∕RD、ALE。
读锁存器
地址/数据 控制 =0
T1 Vcc 截
内部 总线 1
2
DQ
3
0 &0
止 引脚P0.X
2
T2 截
写锁 存器
CK /Q 0
MUX
0
止
1
读引脚 =1 (1)作输出口:内部总线数据写到P0.X引脚,加上拉电阻。 (2)作输入口:引脚作输入口,事先必须对它写“1”。
2、P0口作为地址∕数据总线使用 控制信号=1
1
0截
17
13
止 引脚 P3.X
4
读引脚
第二功能输入(RxD,
T0,T1,INT0,INT1)
P3口第二功能表
引脚
第二功能
P3.0
RxD: 串行口接收数据输入端
MCS-51单片机应用教程 第4章

3. 方式1或方式3的波特率 在这两种方式下,串行口波特率是由定时器的溢出率 决定的,因而波特率是可变的。波特率的公式为:
2SMOD 波特率= 定时器T1溢出率 32
定时器T1的溢出率计算公式为: f osc 1 定时器T 1 溢出率= K ( ) 12 2 -初值
式中: K为定时器T1的位数;若定时器T1方式0,则 K=13;若定时器T1方式1,则K=l6;若定时器T1方 式2或方式3,则K=8。
2. 串行口控制寄存器SCON SCON是可以进行位寻址ห้องสมุดไป่ตู้8位控制寄存器,地址 为98H。SCON的各位的定义和功能如下:
SCON.7 SM0
.6 SM1
.5
.4
.3
.2 RB8
.1 TI
SCON.0 RI
SM2 REN TB8
SM0、SM1: 串行口工作方式选择位(内容见 4.2.2节)。 SM2: 多机通信控制位。具体用法见4.3.3节。 REN: 串行接收允许位。由软件置位或清除。软 件置1时,串行口允许接收,清零后禁止接收。 TB8: 在方式2和方式3中是发送的第9位数据。 RB8: 在方式2和方式3中是接收的第9位数据。 TI: 发送中断标志位。发送结束时由硬件置位。 该位必须用软件清零。 RI: 接收中断标志位。结束接收时由硬件置位。 该位必须用软件清零。
2. 同步方式 将一大批数据分成几个数据块,数据块之间用同步 字符予以隔开,而传输的各位二进制码之间都没有 间隔,所以同步方式是按数据块传送数据的,一次 可以传送完一大批数据。 同步方式中,每一位数据占用的传输时间都是相等 的,接收机的接收时钟应该和发送机的发送时钟以 及传送的码元同步。图4-2(b)中给出了典型的数据 格式。与图4-2(a)相比,同步通信方式的数据格式 中没有两帧之间的空闲时间,也没有一帧之内的识 别标志位。显然这种方式可以大大提高通信速度, 常用于高速计算机的大容量数据通信。
单片机 51系列单片机的功能

4.1.3.1 P2口某位的结构
P2的位结构比P1口多了一个转换控制部分。
4.1.3.2 P2口的功能特性
8位准双向口I/O口。在访问外部存储器, 可以作为扩展高8位地址总线输出高8位地址。 在对EPROM编程和程序验证期间,它接收 高8位地址。P2口可以驱动4个LSTTL负载。
4.1.5 并行口的应用
BEEP:MOV R7,#5
BEEPL:CLR P1.0
LCALL DEL5
SETB P1.0
DEL10
LCALL
R7,BEEPL
DJNZ
RET
此子程序中,DEL5和DEL10分 别为延时0.5s和1s的子程序。
4.1.5 并行口的应用
4.1.5 并行口的应用
分析下述程序的功能
P1.4-P1.7的状态值不变。
RET 错误指令:MOV P1.3,P1.7 ;位变量的传送必须经过
4.1.2.1 P3口某位的结构
与P1.n口相比,多了一个“与非门”和一个三态输 入缓冲器。
4.1.2.2 P3口的功能特性
8位准双向I/O口,在MCS-51系列单片机中, 这8个引脚以及P1.0和P1.1口还用于专门功 能,是复用双功能口。P3口能驱动4个 LSTTL负载。
第4章 51系列单片机的功能模块及其应用
本章学习目标: 掌握89C52的并行口结构及其应用。 了解定时器/计数器的一般结构并熟练掌
握其应用。 掌握串行口的工作原理及应用。
4.1 并行口及其应用
MCS-51系列单片机有四个8位准双向的并行 I/O口,共占32根引脚。每个端口都包含一个锁 存器、一个输出驱动器和两个三态输入缓冲器。 我们把这四个端口称为P0~P3,它们在特殊功 能寄存器SFR中占四个单元。这四个端口的功能 各不相同:在无片外扩展存储器的系统中,这四 个端口的每一位都可以作为双向I/O端口使用; 在具有片外扩展存储器的系统中,由P2送出高8 位地址,P0分时工作,先送出低8位地址,然后 可用作数据双向总线;P1只能作为通用并行I/O 口;P3是双功能口,除作为I/O口使用外,每位 还独立定义了第二I/O功能。
第4章 MCS-51单片机中断、定时系统及串行数据通信

表4-2 中断源入口地址表 中断源 外部中断0 中断服务程序入口地址 0003H
定时器/计数器T0 外部中断1 定时器/计数器T1 串行口中断
000BH 0013H 001BH 0023H
单片机的两个相邻中断源中断服务程序入口地址 相距只有8个单元,一般中断服务程序容纳不下,因此 在该中断的入口地址处放一条长跳转指令LJMP,这 样就可以转到64KB的任何可用区域了。在2KB范围内 转移可用短跳转AJMP指令。
表4-1 同级中断源优先级排列顺序
中断源
外部中断0(IE0) 定时器/计数器T0中断(TF0) 外部中断1(IE1) 定时器/计数器T1中断(TF1)
同级内的优先级
最低级
串行口中断(RI+TI)
最高级
当单片机系统复位后,IE中各位均被清0,所有 中断源禁止;IP中各位均被清0,5个中断源均为低优 先级。
SET SET
SET
ET0 ET1
EA
;定时器/计数器0允许中断 ;定时器/计数器1允许中断
;CPU开中断
用字节操作指令 MOV IE,#8AH 或 MOV A8H,#8AH
(2)中断优先级控制寄存器(IP) MCS-51单片机系统的中断源有两个优先级,每 个中断源均可由中断优先级寄存器IP来设置优先级别。 IP的字节地址为0B8H,位地址为0B8H~0BFH。与 中断有关的控制位如下: 位地址 0BFH 0BEH 0BDH 0BCH 0BBH 0BAH 0B9H 0B8H
TMOD是定时器的工作方式寄存器,TCON是控制 寄存器,用于对T0和T1的管理和控制。
2.定时器/计数器的结构的工作原理 16位定时器/计数器的核心是一个加1计数器,如图 4-4所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VCC
内部总线 写锁存器
起输出 锁存作 用,8个 锁存器 构成了 读引脚 SFR—P0
P0.x
D 锁存器 __ CLK Q 1
三态门1是引脚 输入缓冲器
V1、V2 组成输出 驱动器, 以增大带 负载能力
6
P0口1位结构图
2.地址/数据分时复用功能
当P0口作为地址/数据分时复用总线时,
可分为两种情况:一种是从P0口输出地址或
40
MOV SETB MOV PTF0:ORL MOV DJNZ MOV CPL PTF0R:RETI
IE, #82H TR0 30H, #0AH TL0, #0B0H;中断服务程序 TH0, #3CH 30H, PTF0R 30H, #0AH P1.0
41
用查询法: MOV MOV MOV MOV SETB L2: JBLeabharlann SJMP L1: MOV MOV
11
①P1.0、P1.1为多功能双向口, P1.2~P1.7为单 一功能准双向口。 ②P1口的第一功能是准双向口,每一位可分别 定义为输入线或输出线。 ③输出驱动部分由场效应管V1与内部上拉电 阻组成。当其某位输出高电平时,可以提供上 拉电流负载。
P1.0 89C52 K0 +5V 89C52 P0.0 K0
30H, #0AH TH0, #3CH TL0, #0B0H TMOD, #1 TR0 TF0, L1 L2 TH0, #3CH TL0, #0B0H
42
DJNZ MOV CPL SJMP
30H, 30H, P1.0 L2
L2 #0AH
43
3 方式2
方式2是能重置初值的8位定时器/ 计数器,TL0作为8位计数器,TH0 作为计数初值寄存器。适于用做较精 确的定时脉冲信号发生器。 定时时间 T=12*(28-a)/fosc s 最大定时时间:M=28=256T
“1”:定时器的计数受外部引脚输入电平 的控制 “0”:定时器的计数不受外部引脚输入电 平的控制
② C/T——功能选择位
“1”:计数功能 “ 0”:定时功能
③ M1M0——工作方式选择位
29
M1
0 0 1 1
M0
0 1 0 1
工作方式
0 1 2 3
方式说明 13位定时器/计数器 16位定时器/计数器
37
ORG 4000H ;中断服务程序 INQP: MOV TH0, #0F0H ;重写定时常数 MOV TL0, #0CH CPL P1.0 ;P1.0变反输出 RETI
38
2 方式1 方式1是一个16位定时器/计数器,结构 和操作方式与方式0基本相同。定时时间为 T=12*(216-a)/fosc s 最大定时时间:M=216=65536T
(2)读端口数据方式: CPU读入的这个数据并非端口引脚线上 的数据。读端口数据可以直接读端口。例如,下面的指令 均可以从P1口输入数据。
MOV MOV MOV MOV A, P1 20H, P1 R0, P1 @R0, P1
21
(3)读端口引脚方式:读端口引脚方式可以从端口引脚
上读入信息。在这种方式下, CPU首先必须使欲读端 口引脚所对应的锁存器置 1 ,然后才能读端口引脚。 因此,用户在读引脚时必须先置位锁存器后读,连续 使用两条指令。例如,下面的程序可以读P1引脚上的 低4位信号。 MOV P1, #0FH ; 置位P1引脚的低4位 MOV A, P1 ; 读P1引脚上的低4位信号送累加器A
24
§4-2-1定时器的结构和工作原理
内部时钟
↗
外部时钟
N位计数器
TF
中断
TMOD
TCON
1 定时器由一个N位计数器、计数时钟源控制电路、 状态和控制寄存器等组成。 2 计数脉冲有两个来源:①外部的脉冲源②系统的 时钟振荡器。
25
3 用作定时器时,每经过一个机器周期,计数 器自动加1,直到计数溢出;用作计数器时, 外部时钟脉冲加在定时器的外输入端 T0(P3.4)或T1(P3.5),每出现一次负跳变, 计数器加1。 4 两个模拟开关,左边决定定时/计数器的工 作状态,右边决定脉冲源是否加在计数器的 输入端。 5 16位的计数器由两个8位SFR TH和TL组成。 6定时器工作不占用CPU时间,除非定时器/计 数器溢出,才能中断CPU的当前操作。
17
§4-1-4 P3口(准双向口)
18
P3口是一多功能口,既做准双 向口又做特殊输入输出口。 1 做通用I/O口使用: P3口做输入使用,应由软件向口锁 存器写“1”。
19
2 做第二功能使用: 某位做第二功能使用该位D锁存 器Q应被硬件自动置“1”。 P3.0 RXD P3.5 T1 P3.1 TXD (出) P3.6 WR(出) P3.2 INT0 P3.7 RD(出) P3.3 INT1 P3.4 T0
26
定时器/计数器T0、T1的结构框图
27
§4-2-2 定时器/计数器T0和T1
一方式寄存器TMOD(89H)
1 不能进行位寻址,只能用字节寻址。复 位时,TMOD所有位为0 2 熟悉各位功能
GATE C/T M1 M0 GATE T1方式字段 C/T M1 M0
T0方式字段
28
① GATE——门控位
31
TF1——定时器/计数器T1的溢出标志位 TR1——定时器/计数器T1的运行控制位 TF0——定时器/计数器T0的溢出标志位 TR0——定时器/计数器T0的运行控制位 IE1——外部中断1下降沿触发标志位 IE0——外部中断0下降沿触发标志位 IT1——外部中断1触发类型选择位 IT0——外部中断0触发类型选择位
12
10KΩ
④P1的某一位作为输入线时,该位的口锁存 器必须保持“1”。使输出场效应管截止。该 引脚才可由内部拉高电路拉成高电平,或由 外部电路拉成低电平。 ⑤P1口具有驱动4个LSTTL负载的能力。
13
14
§4-1-3 P2口(准双向口)
读锁存器 2 内部总线 写锁存器 D Q 3 MUX 1 V1 地址 控制 VCC 内部上拉电阻 P2.x 锁存器 __ CLK Q 1 读引脚
15
当作为准双向通用I/O口使用时:
控制信号使转换开关接向左侧,锁存器Q端
经反相器3接V1,其工作原理与P1相同, 也具有输入、输出、端口操作三种工作方 式,负载能力也与P1相同。
16
1 系统中外接程序存储器时:P2口输出程序存储 器的高8位地址,不作I/O口使用。 2 系统中无外接程序存储器,而扩展有片外RAM 的系统中: ① 片外RAM的容量<256B:P2口仍做输入/输 出口使用。使用R0或R1作地址指针。 ②片外RAM的容量>256B : P2口不能做输入/ 输出口,而做系统扩展的高8位地址总线口使 用。使用DPTR、P2R0、P2R1作地址指针。
22
§4-1-5 并行口的应用
1 外接蜂鸣器 2 利用可控硅控制加热电路 3 BCD码拨码盘的接口 BCD码拨码盘构造—— 一个拨码盘可以输入1位十进制数据。 拨码盘拨到某个位置时,控制线分别与4 位数据线中某几位接通。 接通线定义为“1”,不通的线定义为“0”。
23
§4-2 定时器及其应用
定时器功能: 1 定时操作 2 测量外部输入信号 3 定时输出 4 监视系统正常工作
8
3.通用I/O接口功能
当P0口作为通用I/O口使用,在CPU向端口输出数 据时,对应的控制信号为0,转换开关把输出级与锁 存器Q端接通,同时因与门3输出为0使V2截止,此时, 输出级是漏极开路电路。当写脉冲加在锁存器时钟 端CLK上时,与内部总线相连的D端数据取反后出现 在Q端,又经输出V1反相,在P0引脚上出现的数据 正好是内部总线的数据。当要从P0口输入数据时, 引脚信息仍经输入缓冲器进入内部总线。
36
例:T0工作于方式0,要求在P1.0引脚上产生 周期为2ms的方波输出(fosc=6MHZ)
ORG 0000H AJMP MAIN ORG 000BH AJMP INQP ORG 0030H MAIN: MOV TMOD, #00H MOV TH0, #0F0H MOV TL0, #0CH SETB TR0 ;启动T0 SETB ET0 ;允许T0中断 SETB EA ;开放CPU中断 AJMP $ ;定时中断等待
32
三 定时器/计数器的初始化
初始化即将控制字写入定时器/计数器 的过程。初始化一般步骤: 1 写入初值TH0、TL0或TH1、TL1 2 对TMOD赋值 3 对IE赋值(有中断产生时) 4 ①若用软件启动,则仅把TR0或TR1置 “ 1” ; ②若用外中断引脚电平启动,则还需给外 引脚加启动电平。
具有自动重装初值的 8位定时器/计数器
适于T0,两个8位计数器
30
二 控制寄存器TCON(88H)
1 既可字节寻址又可位寻址。复位时, TCON各位为0 例:SETB TR1 ;启动定时器T1工作 2 熟悉各位功能 D7 D6 D5 D4 D3 D2 D1 D0
8FH TF1 8EH 8DH 8CH 8BH 8AH 89H 88H TR1 TF0 TR0 IE1 IT1 IE0 IT0
3 P3口具有驱动4个LSTTL负载的能力。
20
I/O端口的操作方式: (1)输出数据方式:CPU通过一条数据传送指令就可以把输出 数据写入 P0 ~ P3的端口锁存器,然后通过输出驱动器送到 端口引脚线。例如,下面的指令均可在P0口输出数据。
MOV P0, A ANL P0, #data ORL P0, A
数据,另一种是从P0口输入数据。
7
在访问片外存储器而需从P0口输出地址 或数据信号时,控制信号应为高电平“1”, 使转换开关MUX把反相器4的输出端与 V1接通,同时把与门3打开。 1)当地址或数据为“1”时,经反相器4使 V1截止,而经与门3使V2导通,P0.x引脚 上出现相应的高电平“1”; 2)当地址或数据为"0"时,经反相器4使 V1导通而V2截止,引脚上出现相应的低 电平"0"。这样就将地址/数据的信号输出。