51单片机的内部资源
51入门,51单片机内部结构,
![51入门,51单片机内部结构,](https://img.taocdn.com/s3/m/000d2029cfc789eb172dc814.png)
3.通用RAM区(30H 7FH) 3.通用RAM区(30形式来使用,没有其它规定或限制, 存储程序的中间结果或者变量。
振荡周期 = 0.0833 机器周期 = 1 指令周期 = (1-4)个机器周期
单片机时钟电路
用单片机内部振荡电路
由外部电路提供时钟源
8051单片机内部有一个高增益的反相放大器,用于构成振荡器,反相输入端为 XTAL1(第19号引脚),输出端为XTAL2(第18号引脚),只需要在两端跨接一个无源的石英 晶体以及两个电容就可以构成一个稳定的振荡电路,但石英晶体和微调电容需要外接。 最高允许振荡频率为37MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高 了指令的执行速度。 另一种接法就是直接由外部的电路提供标准的振荡时序直接输入单片机的XTAL2引 脚,将XTAL1引脚直接接地,这样,在外部时钟与XTAL2引脚之间连接了一个反相器,用 于波形的放大和缓冲。
ROM分布图 分布图
中断响应后,按中断的类型,自动转到各自的中断区去执行程序。
只读存储器的存储介质的发展如图所示。
掩膜ROM,这种ROM是芯片生产厂根据ROM要存储的信息,设计固定的半导 体掩模板进行生产的,一旦制作成为成品,其内部的信息只能读取不能进行修 改写入,由于这种ROM的成本低廉,所以这种ROM现在也大量使用,主要用在产 品的量产中。 一次性编程ROM(PROM),容许用户对其进行一次性编程,即写入数据或 者程序,一旦编程信息就永久性的保存,用户只能读出和使用,但不能改变其 中的内容。 紫外线可擦除可改写EPROM,可改写ROM芯片的内容也由用户写入,但容许 用户反复擦除重新写入,EPROM用电信号编程而用紫外线擦除的只读存储器芯 片,在芯片外壳上方的中央有一个圆形窗口,通过此窗口照射紫外线可以擦除 原有的信息。 电可擦除EEPROM,这是一种由电信号编程也由电信号擦除的ROM芯片,它 可以通过读写操作进行逐个存储单元的读出和写入。 Flash是在EEPROM的基础上发展起来的一种只读存储器,读写速度都很快, 写EEPROM虽然具有即可读又可写的特点但其速度较慢。
51单片机内部资源简介
![51单片机内部资源简介](https://img.taocdn.com/s3/m/a5f62b7c76c66137ee06197d.png)
TXD(串行口输出)
INT0(外部中断0输入) INT1 (外部中断1输入) T0(定时器0的外部输入)
T1 (定时器1的外部输入)
WR(片外数据存储器“写选通控制”输 出) RD (片外数据存储器“读选通控制”输 出)
P3口
二、P3口作为第二功能(内部硬件自动使Q=1) 此时引脚部分输入(Q=1、W=1) 。
单片机内部资源简介
1、整体简介 2、端口 3、定时器 4、串口 5、中断
MCS-51单片机的基本组成
片内资源 中央处理器CPU 程序存储器ROM 数据存储器RAM 并行I/O口 串行口 定时计数器 中断系统中断源
AT89S52 8位
STC89C52RC 8位
8KB
8KB
256B 4个P0—P3
P0口的每一位口线可驱动8个LS型TTL负载。
2. P1~P3口 • P1~P3口都是准双向口,作为输入用时,必须向相应的
端口写“1”; • P1~P3口内部有上拉电阻,其每一位口线可驱动4个LS
型TTL负载。
补充
“灌电流”与“拉电流”
• “灌电流”
“灌电流”与“拉电流”
• “拉电流”
P1、P3口的驱动能力有限,在低电平输出时, 一般也只能提供不到2mA的“灌电流”。
定时/计数器接口
一、定时/计数器的主要特性 1)STC89C52RC单片机三个16位的可编程定时/计数器:定时/计数器T0
和定时/计数器T1以及定时/计数器T2。
2)每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信 号计数实现计数功能,通过编程设定来实现。
3)每个定时/计数器都有多种工作方式,其中T0有四种工作方式;T1有 三种工作方式,T2有三种工作方式。通过编程可设定工作于某种方式。
51单片机内部资源及编程
![51单片机内部资源及编程](https://img.taocdn.com/s3/m/55ed030a16fc700abb68fce5.png)
第6章 MCS-51单片机内部资源及编程
如果定时时间大于65536μs,这时用一个定时/计数器直接处理不能实 现,这时可用两个定时/计数器共同处理或一个定时/计数器配合软件计 数方式处理。 【例6-3】设系统时钟频率为12MHZ,编程实现从P1.1输出周期为 1s的方波。 根据例6-2的处理过程,这时应产生500ms的周期性的定时, 定时到则对P1.1取反就可实现。由于定时时间较长,一个定时/计数器 不能直接实现,可用定时/计数器T0产生周期性为10ms的定时,然后 用一个寄存器R2对10ms计数50次或用定时/计数器T1对10ms计数50 次实现。系统时钟为12MHZ,定时/计数器T0定时10ms,计数值N为 10000,只能选方式1,方式控制字为00000001B(01H),初值X: X=65536-10000=55536=1101100011110000B 则TH0=11011000B=D8H,TL0=11110000B=F0H。
二.定时/计数器的控制寄存器TCON
TCON
(88H)
D7
TF1
D6
TR1
D5
TF0
D4
TR0
D3
IE1
D2
IT1
D1
IE0
D0
IT0
其中: TF1:定时/计数器T1的溢出标志位,当定时/计数器T1计满时,由 硬件使它置位,如中断允许则触发T1中断。进入中断处理后由内部硬 件电路自动清除。 TR1:定时/计数器T1的启动位,可由软件置位或清零,当TR1=1时 启动;TR1=0时停止。
M1 0 0 1 1 M0 0 1 0 1 工作方式 0 1 2 3 方式说明 13位定时/计数器 16位定时/计数器 8位自动重置定时/计数器 两个8位定时/计数器(只有T0有)
单元五MCS51单片机内部资源
![单元五MCS51单片机内部资源](https://img.taocdn.com/s3/m/61643810dd36a32d72758108.png)
预置值计算: 用最大计数量减去需要的计数次数即可。 通过上面的任务,我们掌握了计数程序的编制方法,下面 我们再看看定时程序怎样编制。 首先我们看一下下面的程序段。 MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4CH SETB TR0 以上程序是任务一中的定时程序段,它的初始化过程和计 数方式类似。
TCON 88H
D7 D6 D5 D4 D3 D2 D1 D0
TF1
TR1
TF0
TR0
TR0 —— 定时 / 计数器0运行控制位。
软件置位,软件复位。
TR1 —— 定时 / 计数器1运行控制位。(用法与TR0类似)
TF0、TF1 分别是定时、计数器T0、T1的溢出标志位。
(1)定时/计数器的工作方式
M1M0—— 工作模式选择位(编程可决定四种工作模式) 0 0 1 1 1 0 1 0 1 1 13位定时/计数器 16位定时/计数器 模式0 模式1
8 位定时/计数器(自动重装初值) 模式2 T0 8位定时/计数 T1 停止工作 模式3 模式3
1)工作方式0
T0的等效逻辑结构
在计数工作方式下,计数器的计数值范围是: 1~8192(2的13方)
MAIN:
BEGIN:
INT_0: LOOP:
MOV SETB MOV MOV CJNE MOV RL SJMP PUSH MOV MOV CJNE MOV RL
B,#20 TR0 A,#0FEH P1,A B,#00,$ B,#20 A BEGIN ACC A,#0FBH P1,A B,#00,$ B,#20 A
5.1.1 硬件电路与工作原理
1.硬件电路
2.工作原理 用手按动按键 S3,每按键一次 S3引脚上出现一 个负脉冲,单片 机计数一次,并 实时将按键次数 以BCD码方式, 在发光二极管上 面显示。
51单片机的内部资源汇总
![51单片机的内部资源汇总](https://img.taocdn.com/s3/m/61930441b0717fd5370cdc48.png)
3.应用软件清除相应标志(串行口中断请求的撤消)
对于串行接收/发送中断请求,在CPU响应中断后,必 须在中断服务程序中应用软件清除RI、TI中断标志,才能撤 除中断。(硬件置位,软件清除) 。
响应串行口的中断后,CPU无法知道是接收中断还是发 送中断,还需测试这两个中断标志位的状态,以判定是接收 操作还是发送操作,然后才能清除。所以串行口中断请求的 撤消只能用软件清除
中断源 外部中断0 T0溢出中断 外部中断1 T1溢出中断 串行口中断
中断级别 最高
最低
MCS-51是一个二级中断系统。
优先级对中断响应的影响
– CPU同时接收到几个中断时,首先响应 优先级别最高的中断请求。
– 正在进行的中断过程不能被新的同级或 低优先级的中断请求所中断。
– 正在进行的低优先级中断服务,能被高 优先级中断请求所中断。这称之为“中 断嵌套”。
断源。 二个外部中断源INT0和INT1,外部设备的中断请求信
号、掉电等故障信号都可以从INT0或INT1引脚输入。 三个内部中断源为定时器/计数器T0和T1的定时/计数
谥出中断源和串行口发送或接收中断源。 中断系统结构示意图如下图所示。
TCON
IE
INT0 IT0 1
01
T0 INT1 IT1 1
01
T1
RX TX
IE0
EX0 1 EA 1
ET0 1 TF0
EX1 1 IE1
ET1 1 TF1
RI TI ≥1
SCON
ES 1
IP
PX0 1 0
PT0 1 0
PX1 1 0
MCS-51单片机的内部资源管理
![MCS-51单片机的内部资源管理](https://img.taocdn.com/s3/m/bde8ba70ce84b9d528ea81c758f5f61fb636287a.png)
MCS-51单片机的内部资源管理MCS-51单片机是一种广泛使用的嵌入式微控制器,以其灵活性和高可靠性而闻名。
它是Intel 8051系列单片机的一种变体,具有许多强大的内部资源,用于管理和控制外部设备。
首先,MCS-51的核心是一个高性能的中央处理器(CPU),它支持8位数据和地址总线,并具有128个字节的RAM和64KB的可寻址内存空间。
这使得它能够处理大部分嵌入式应用程序的要求。
CPU还具有多种数据处理和逻辑运算功能,如加减乘除、位操作和逻辑操作。
这些功能可用于各种计算和控制任务,例如传感器数据处理、运动控制和通信协议处理。
其次,MCS-51具有多个输入/输出(I/O)引脚,可用于连接和控制外部设备。
这些引脚可以配置为数字输入或输出,支持高速驱动电流和外部中断功能。
此外,MCS-51还具有定时器/计数器和串行通信接口,以方便与外部设备进行通信和同步。
MCS-51的内部资源管理还包括多个定时器/计数器,用于实时计时和定时控制。
这些定时器/计数器具有可编程的工作模式和计数范围,可用于生成周期性中断、延时控制和PWM输出。
此外,MCS-51还具有时间/日期功能,可用于实时时钟和日历应用。
此外,MCS-51还内建了多种中断处理能力,包括外部中断、定时器中断和串行通信中断。
这些中断能力可以用于实现多任务操作和事件驱动控制。
MCS-51还具有中断优先级和中断向量表,以灵活地管理和响应不同级别的中断请求。
还有一种重要的资源是MCS-51的存储器系统。
除了内部RAM和寄存器之外,MCS-51还支持多种类型的存储器,包括可编程只读存储器(EPROM和EEPROM)、外部数据存储器(RAM和ROM)、存储器映射IO和扩展存储器(如SD卡和闪存)。
这些存储器可以用于存储程序代码、数据和配置参数,以及进行数据交换和备份。
最后,MCS-51还提供了丰富的开发工具和编程环境,以帮助开发人员使用和管理内部资源。
这包括集成开发环境(IDE)、编译器、调试器和仿真器。
51单片机资源分配和功能定义
![51单片机资源分配和功能定义](https://img.taocdn.com/s3/m/c39de57d590216fc700abb68a98271fe910eaf32.png)
51单片机资源分配和功能定义1.引言在51单片机的开发过程中,资源的合理分配和功能的准确定义是确保项目成功的关键。
本文将介绍51单片机资源的分配策略以及功能定义的步骤和方法。
2. 51单片机资源分配2.1内存资源分配在51单片机中,内存资源的合理分配对于程序的运行至关重要。
通常情况下,内存资源可以分为3个部分:内部R AM、外部R AM和R OM。
内部R AM分为数据内存和特殊功能寄存器(S FR),而外部R AM一般用于存储大量的数据。
R OM则用于存储程序代码。
在进行内存资源分配时,需要考虑以下几个因素:-程序的规模:根据程序的规模和功能需求,合理分配数据内存和外部R A M的大小;-数据内存和SF R的分配:根据程序的需求,合理分配数据内存和SF R 的地址;-R OM的分配:根据程序代码的大小,合理分配R OM的大小。
2.2I/O资源分配51单片机的I/O资源分配主要涉及到引脚的使用和外设的选择。
在进行I/O资源分配时,需要考虑以下几个因素:-引脚的数量和类型:根据项目需求和外设的连接方式,选择合适的引脚数量和类型;-引脚的功能定义:根据项目需求,在程序中准确定义每个引脚所承担的功能;-外设的选择:根据项目需求和功能要求,选择合适的外设进行连接和使用。
3.功能定义在进行51单片机的功能定义时,需要明确每个功能的需求和实现方式。
以下是功能定义的步骤和方法:3.1需求分析在功能定义之前,首先进行需求分析是十分重要的。
通过与项目团队的沟通和理解,明确项目的功能需求和目标。
3.2功能划分根据需求分析的结果,将项目功能进行划分,并确定每个功能的优先级和重要性。
3.3功能描述对于每个功能,进行详细的功能描述。
功能描述应包括功能的输入、输出、处理逻辑以及与其他功能的关联。
3.4功能实现根据功能描述,确定功能的具体实现方式。
可以使用编程语言来实现功能,也可以利用硬件电路来实现。
4.总结本文介绍了51单片机资源分配和功能定义的相关内容。
第五章MCS-51单片机的内部资源及应用
![第五章MCS-51单片机的内部资源及应用](https://img.taocdn.com/s3/m/89b348ca050876323112120d.png)
下一页
1. 中断响应的条件 中断响应就是中断请求被CPU接受。CPU响应中断必须满 足的条件: (1)有中断源提出中断请求 (2)该中断未被屏蔽 (3)无同级或者高一级别的中断正在处理 (4)指令执行还未到一个机器周期 (5)执行完当前指令,若当前指令为RETI或者访问IE、IP的 指令,执行完当前指令后再继续执行一条指令然后才响应中 断。
5.1 中 断 的 概 述
1. 中断 所谓中断,就是打断正在进行的工作,转而去处理另外
一件较紧急的事情,处理完毕后再转回来继续原来的工作。
中断的概念ຫໍສະໝຸດ 实际生活 看电视 计算机 主程序
电话铃响
接听电话 看电视
事件发生
事件处理 主程序
中断请求
中断处理
中断返回
一个CPU在某一时刻只能承担一项任务,当 CPU在同一时刻面临多项任务时,只能采用 中断的方法去处理。
2. 中断源 中断源是指在计算机系统中向CPU发出中断请求的来 源, 在MCS-51有3种类型的5个中断源,分别是外部中断 INT0、INT1,定时中断T0、T1和串行中断 。
5.2 MCS - 51中断系统控制
有了中断源,那么单片机的5个中断源是如何向单片 机发出中断请求的呢?中断源是通过中断请求标志位来 通知CPU的。
中断服务程序入口地址表
练习:以外部中断0中断响应过程为例,把新执行的中断程 序的入口地址交给PC。我们来编写代码。 ORG 0003H LJMP INT0_PRO ORG 6000H INT0_PRO: …..… RETI
返回过程: (1)执行完RETI指令时,使相应优先级状态触发器置0 (2)从堆栈中弹出栈顶的两个字节到程序计数器PC,返回断点 (3)继续执行原来的程序 注意:外部中断响应时间在3-8个机器周期之间。我们不用考虑,一般在精 确定时时候才精确计算。
第3讲:51单片机的内部资源及引脚
![第3讲:51单片机的内部资源及引脚](https://img.taocdn.com/s3/m/860a0ad150e2524de5187e25.png)
第3讲:单片机的内部资源及引脚 主讲:贾振国
智能化仪器仪表原理及应用
本讲主要内容 一、Project1:秒闪烁控制器设计 二、51单片机的内部资源 三、MCS-51单片机的信号引脚
四、Proteus设计与仿真(二)
第3讲:单片机的内部资源及引脚(1)
智能化仪器仪表原理及应用
Proteus 仿真 L3_01T06
本讲实例文件:Βιβλιοθήκη Proteus 仿真 L3_02T07
Proteus 仿真 L3_03T08
第3讲:单片机的内部资源及引脚(1)
智能化仪器仪表原理及应用
电子作业1:采用MCS-51单片机控制8只LED交替闪 烁, 具体要求如下:
(1)8只LED分别连接在P1.0~P1.7引脚上,引脚与LED间可以不加驱动。 (2)500ms间隔四只交替闪烁。 (3)完成硬件设计及程序编制,调试完成后所有文件打包提交。 (4)引申思考:如果将8只LED改接到P0口上,应作何调整?
四、Proteus设计与仿真(二)
1、PROTEUS及Keil仿真软件的使用
2、 在PROTEUS环境下设计用三极管控制LED发光二 极管电路,用按钮实现。要求流过LED的电流在 20mA左右。 3、 在PROTEUS环境下设计用继电器控制直流电动机 电路,用按钮实现电动机的启停控制。 4、简单的口操作:程序控制LED的闪烁。
一、 Project1
Problem
1 2 3
单只秒闪烁LED控制器设计
三极管与 LED 如何测试?
如何用三极管点亮LED?
如何实现自动闪烁? 3 怎么使用单片机? 单片机内部都有什么? 单片机对外引脚有如何使用? 怎么用C语言控制单片机的引脚? I/O口是如何工作的?
【大学课件】MCS-51系列单片机的内部资源
![【大学课件】MCS-51系列单片机的内部资源](https://img.taocdn.com/s3/m/1867b57d2cc58bd63186bdc2.png)
ppt课件
12
小结
1、P0:
做 8 位数据总线使用
2、P0、P2:
做地址总线,P0为低8位, P2为高8位,最大
寻址范围 64KB。根据地址范围选用地址线条数,
余下的做I/O口线使用。
3、P3:
优先考虑控制总线,余下的做I/O口线使用。
4、P1:
是单纯的I/O口。
ppt课件
13
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!
2、作地址总线时,控制端为“1”。
ppt课件
10
4)、P3口位结构
P3口既是I/O口,又具有第二功能,但二者不能混用。
与非门
ppt课件
11
1. I/O端口输出:
第二输出功能为“1”
2. 第二输出功能输出: 向锁存器写“1”
第二输出功能为“1” 3.第二输入功能输入:
向锁存器写“1”
I/O端口输入: ?
1-5 MCS-51系列单片机的内部资源
ppt课件
1
一、并行I/O口 P14
片外扩展存储器时P0、P2 口自动作为总线使用
P1. 0 1
40
1.特点:
P1.1 2
39 P0. 0
P1.2 3
38 P0.1
P1.3 P1.4
4 5
8031
37 36
P0.2
P0.3 4个8位并行I/O口:P0,P1,P2,P3;
28 P2.7
P3.4 14 P3.5 15
27 P2.6 26 P2.5
P2:高8位地址线。
P3.6 16 P3.7 17
25 P2.4 24 P2.3
P1:双向I/O端口
51单片机内部资源简介
![51单片机内部资源简介](https://img.taocdn.com/s3/m/5ef02088ec3a87c24128c40e.png)
P3口
P3口是多功能端口。 一、作通用I/O口用:①输出:当W=1时(由内部硬件自动置W为高电平), 输出Q端的信号(即输出内部数据)
②输入时:先向端口写“1”,即锁存器Q端为“1”。
P3口
P3口的第二功能
口线
P3.0
替代的第二功能
RXD(串行口输入)
P3.1
P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
二、 定时/计数器T0、T1的结构及工作原理
Tcy
T1
T0
TH1
TL1
TH0
TL0
内部总线 启动 溢出 溢出 TCON 启动 工作 方式 工作 方式
TMOD
中断请求
三、定时/计数器的方式和控制寄存器 1、定时/计数器的方式寄存器TMOD TMOD (89H) D7 GATE ← D6 C/T D5 M1 D4 M0 → D3 GATE ← D2 C/T 定时器0 D1 M1 D0 M0 →
如果定时时间大于65536μs,这时用一个定时/计数器直接处理不能实现,这 时可用两个定时/计数器共同处理或一个定时/计数器配合软件计数方式处理。
【例2】设系统时钟频率为12MHZ,编程实现从P1.1输出周期为1s的方波。 根据例5-2的处理过程,这时应产生500ms的周期性的定时,定时到则 对P1.1取反就可实现。由于定时时间较长,一个定时/计数器不能直接实现, 可用定时/计数器T0产生周期性为10ms的定时,然后用一个寄存器R2对10ms 计数50次实现。系统时钟为12MHZ,定时/计数器T0定时10ms,计数值N为 10000,只能选方式1,方式控制字为00000001B(01H),初值X: X=65536-10000=55536=1101 1000 1111 0000B 则TH0=11011000B=D8H,TL0=11110000B=F0H。
第四章_1 MCS-51单片机的内部资源及其编程IOzxl
![第四章_1 MCS-51单片机的内部资源及其编程IOzxl](https://img.taocdn.com/s3/m/018f92ab960590c69ec376bd.png)
第四章 MCS-51单片机的内部资
源及其编程
8051内部资源及其编程
I/O口
输入:键盘 输出:LED显示
定时/计数器 外部中断 串行口
4-1、 I/O口
8051单片机有4组8位双向I/O端口(P0、P1 、P2、 P3) 各端口功能
•
P0:通常用作地址/数据总线,即低8位地址与数据线分 时复用;同时P0口也可用作I/O,可位寻址 P1:通常用作I/O,可位寻址 P2:通常用作扩展系统的高8位地址,与P0一起组成16位 地址总线;同时P2也可用作I/O,可位寻址 P3 :双功能口。作第一功能使用时,其功能同 P1 口,其 第二功能见下。
行列式键盘的控制(扫描法)
按键编码
为了识别按键,必须对键盘中的按键进行编码,每一个按键都有 一个确定的按键代码。如果使用非编码键盘,按键的编码方式可以 由用户自由定义。
如:
0x11 0x21 0x12 0x41 0x13 0x81 0x14
0x12 0x21
0x14 0x31 0x18 0x41
行列式键盘的控制
键盘是多按键输入设备,键盘输入信息的主要过程如下:
1、判断是否有键按下;
2、确定按下的是哪一个键; 3、把此键代表的信息翻译成计算机所能识别的代码,
如ASCII或其他特征代码。 编码键盘和非编码键盘
上述2、3步主要由硬件完成,称为编码键盘;
单片机完成和键盘的通讯编程;
写字节
8051 I/O口操作
I/O位操作(sfr P1=0x90; sbit P1_0=P1^0;)
第6章MCS-51单片机的内部资源
![第6章MCS-51单片机的内部资源](https://img.taocdn.com/s3/m/3dd9ee24580216fc700afd72.png)
6.2.3 中断的控制
MCS-51单片机中断系统中有两个特殊功能寄存器:中断 屏蔽寄存器IE和中断优先级寄存器IP。用户通过对这两 个特殊功能寄存器的编程设置,可以灵活地控制每个中 断源的中断允许或禁止以及中断优先级。 1. 中允控制
所谓中允控制是中断源的中断请求能否被CPU检测到, 即确定中断请求是否允许送达CPU。MCS-51单片机中没 有专门的开中断和关中断指令,对各个中断源的允许和 屏蔽是由内部的中断允许寄存器IE的各位来控制的。中 断允许寄存器IE的字节地址为A8H,可以进行位寻址。 IE的位定义格式如图6-4所示。
对于电平触发方式,只要P3.2(或P3.3)引脚为低电平, IE0(或IE1)就置1,请求中断,CPU响应后不能够由硬 件自动将IE0(或IE1)清零。如果在中断服务程序返回 时,P3.2(或P3.3)引脚还为低电平,则又会中断,这样 就会出现一次请求,中断多次的情况。为避免这种情况, 只有在中断服务程序返回前撤消P3.2(或P3.3)的中断请 求信号,即使P3.2(或P3.3)为高电平。通常通过下图63所示外电路来实现。
3.中断允许与中断屏蔽
当中断源提出中断请求,CPU检测到后是否立即进行中 断处理呢?结果不一定。CPU要响应中断,还受到中断 系统多个方面的控制,其中最主要的是中断允许和中断 屏蔽的控制。如果某个中断源被系统设置为屏蔽状态, 则无论中断请求是否提出,都不会响应;当中断源设置 为允许状态,又提出了中断请求,则CPU才会响应。另 外,当高优先级中断正在响应时,也会屏蔽同级中断和 低优先级中断。
串行口中断TI、RI
(3)软硬件结合清“0” 低电平触发的外部中断标志位IE0、IE1
6.2.4 中断响应
1. 中断响应条件 中断响应是有条件的,并不是查询到的所有中断请求都 能被立即响应。MCS-51单片机的CPU在每个机器周期会 顺序检查每一个中断源,在机器周期的S6阶段采样并按 优先级顺序处理所有被激活了的中断请求,如果没有被 下述条件所阻止,将在下一个机器周期的状态P1(S1) 响应激活了的最高级中断请求。 (1) 无同级或高级中断正在处理。 (2) 现行指令执行到最后一个机器周期且已结束。 (3) 若现行指令为RETI或访问IE、IP的指令时,执行完该 指令且紧随其后的另一条指令也已执行完毕。 如果存在上述条件之一,CPU将丢弃中断查询结果,不 能对中断请求进行响应。
第5章MCS51单片机内部资源及编程
![第5章MCS51单片机内部资源及编程](https://img.taocdn.com/s3/m/2d11ccda680203d8cf2f244c.png)
方式0是13位的定时/计数方式,因而最大计数值(满值)为M=213=8192。 如计数值为N,则置入的初值X为:
X=8192-N 如定时/计数器T0的计数值为1000,则初值为7192,转换成二进制数为 1110000011000B,则TH0=11100000B=E0H,TL0=00011000B=18H。
一般来说,当定时器/计数器工作于n位计数方式时,它的 最大计数值(满值)为M=2n。
2、当定时/计数器工作于计数方式时,对芯片引脚T0 (P3.4)或T1(P3.5)上的输入脉冲计数,计数过程如下: 在每一个机器周期的S5P2时刻对T0(P3.4)或T1(P3.5) 上信号采样一次,如果上一个机器周期采样到高电平,下
四、方式3 方式3只有定时/计数器T0才有,当M1M0两位为11时,定时/计数
器T0工作于方式3,方式3的结构如下图。 方式3下,定时/计数器T0被分为两个部分TL0和TH0,其中,TL0
可作为定时/计数器使用,占用T0的全部控制位:GATE、C/T、TR0 和TF0;而TH0固定只能作定时器使用,对机器周期进行计数,这时 它占用定时/计数器T1的TR1位、TF1位和T1的中断资源。 振荡器 fosc
方式0为13位计数,由TL0的低5位(高3位未用)和 TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢 出时,置位TCON中的TF0标志,向CPU发出中断请求。
TCON
TF1 D7
申请 中断
TR1
TF0
溢出 TH0 TL0
TR0
8位 5位
D0
1 1
0 &
≥1
T0引脚
机器周期 1
INT0引脚
【例5-2】 设系统时钟频率为12MHz,用定时/计数器 T0编程实现从P1.0输出周期为500µs的方波。
单片机第2章MCS-51系列单片机的资源配置
![单片机第2章MCS-51系列单片机的资源配置](https://img.taocdn.com/s3/m/02d6a53d1fd9ad51f01dc281e53a580217fc506a.png)
单片机第2章MCS-51系列单片机的资源配置单片机作为一种集成电路芯片,在现代电子技术领域中发挥着重要作用。
MCS-51 系列单片机是其中应用广泛且具有代表性的一类。
要深入了解和运用 MCS-51 系列单片机,就必须清楚其资源配置。
MCS-51 系列单片机的中央处理器(CPU)是其核心部分。
它负责执行指令、进行运算和控制整个系统的工作。
该 CPU 由运算器和控制器组成。
运算器能够进行算术运算和逻辑运算,而控制器则按照程序的指令顺序,有条不紊地控制单片机的各项操作。
在存储资源方面,MCS-51 系列单片机拥有程序存储器和数据存储器。
程序存储器用于存放用户编写的程序代码,通常采用只读存储器(ROM)。
而数据存储器则用于存储运行过程中的临时数据,一般使用随机存取存储器(RAM)。
程序存储器又分为片内程序存储器和片外程序存储器。
片内程序存储器的容量因具体型号而异,一般为 4KB 或 8KB。
当程序较大,片内存储器无法满足需求时,可以通过扩展片外程序存储器来解决。
数据存储器也分为片内数据存储器和片外数据存储器。
片内数据存储器包括工作寄存器区、位寻址区、用户 RAM 区等。
工作寄存器区可以提高数据处理的速度,位寻址区方便对单个位进行操作,用户 RAM区则用于存放用户自定义的数据。
片外数据存储器的扩展则可以满足更大的数据存储需求。
MCS-51 系列单片机的 I/O 端口是其与外部设备进行信息交换的通道。
它共有 4 个 8 位的并行 I/O 端口,分别为 P0、P1、P2 和 P3 端口。
每个端口都可以作为输入或输出使用。
P0 端口是一个三态双向端口,既可以作为地址/数据总线的低8 位,也可以作为普通的 I/O 端口。
但作为普通 I/O 端口使用时,需要外接上拉电阻。
P1 端口是一个准双向端口,通常作为普通的 I/O 端口使用。
P2 端口既可以作为普通的 I/O 端口,也可以在访问片外存储器时作为高 8 位地址线。
第5章 MCS-51系列单片机的内部硬件资源及应用
![第5章 MCS-51系列单片机的内部硬件资源及应用](https://img.taocdn.com/s3/m/0f2e3dd8d15abe23482f4daa.png)
中断控制包括中断开放、中断判别、中断响应、中断查询、中断处理等。它们分别由 特殊功能寄存器 IE 和 IP 的相应位控制。
1) 中断的开放和屏蔽 MCS-51 系列单片机的 5 个中断源都是可屏蔽中断,其中断系统内部设有一个专用寄 存器 IE,用于控制 CPU 对各中断源的开放或屏蔽。IE 寄存器各位定义如图 5.5 所示。
for (k=250;k>0;k--);
}
void main (void)
{ while (1)
{ P1=0;
delay02s( );
P1=1;
delay02s( );}
}
}
5.2 MCS-51 型单片机的中断系统
·131·
中断系统是为使 CPU 具有对单片机外部或内部随机发生的事件进行实时处理而设置 的。MCS-51 型单片机片内的中断系统能大大提高处理外部或内部突发事件的能力,化解 快速的 CPU 和慢速的外设之间的矛盾。
第 5 章 MCS-51 型单片机的内部硬件资源及应用
C51 参考程序如下:
#include < reg52.h >
sfr P1 = 0x90; void delay02s(void)
//延时 0.2s 子程序
{ unsigned char i,j,k;
for(i=20;i>0;i--)
for (j=20;j>0;j--)
MOV A, Px; MOV Rn, Px; MOV @Ri, Px; MOV direct, Px
5.1.2 I/O 端口的位操作指令
由于 I/O 端口具有位寻址功能,因此有关位操作的指令也都适用于它们。常用指令有:
CLR Px.y; SETB Px.y; CPL Px.y
51单片机的资源介绍
![51单片机的资源介绍](https://img.taocdn.com/s3/m/b9dc6068f5335a8103d22004.png)
任务二51单片机的资源介绍一、单片机的内部构造单片机实际上是集成电路的一种,它之所以能完成强大的功能,全依赖于内部内部精妙电路构造设计。
如果把一个单片机的塑料外壳撬开,我们可以看到如图所示的一个构造,在塑料基底的中央有一个微型的芯片,还有连接芯片和管脚的细引线,单片机主要部分是这个微型的芯片。
图1.2.1 集成电路二、单片机的种类我们开发板上的单片机型号为STC89C52RC,它是由本土企业宏晶科技研发的,是属于早期51单片机的一个分支。
51单片机最初是由大名鼎鼎的Interl设计的,后来Interl把内核授权给其它公司生产,像Atemel公司的A T89S52,Plips公司的PL51等。
除了51单片机,像Atemel公司的A VR单片机、Microchip公司推出的PIC单片机、TI公司的MSP430、ST公司推出的STM32/STM8等很多单片机都得到了广泛的应用,这些单片机无论是内核速度、外设的丰富程度还是存储器的容量上,都要远远优于我们学习的51单片机。
初学者可能都有这样一个问题,为什么我们还要学习相对落伍的单片机呢。
实际上学习什么单片机都是一样的,因为单片机本质上都是一样的。
学会其中的一个,其它的一通百通。
51单片机最早进入中国市场,入门资料也最多,而且51单片机相对来说外设较少,构造也也计较简单,比较适合入门。
三、STC89C52单片机的外形元器件的外形专业点讲应该称之为封装。
封装的形式有很多种,从大面上来分为直插封装和贴片封装。
STC89C52单片机的封装既有直插式也有贴片式。
直插式封装为DIP40,贴片封装有两种,分别为TQFP-44和PLCC-44。
图1.2.2中的a、b、c是这三种封装的外观图。
(b )TQFP-44封装(b )TQFP-44封装(a )DIP40双列直插封装 (c )PLCC-44封装图1.2.2 STC89C52的三种封装DIP40封装的STC89C52共有40个引脚,双列直插,每列20个引脚,引脚从电路板的顶层放入,在底层焊接。
第7章 51单片机的内部资源及编程1
![第7章 51单片机的内部资源及编程1](https://img.taocdn.com/s3/m/2730379084254b35eefd347a.png)
1.能实现中断及返回
响应 中断
保护 现场
将断点处的PC值压入堆栈 将相关寄存器内容压入堆栈
返回 断点
恢复 现场
将断点处的PC值弹回→RETI 将相关寄存器的值弹回→软件
2.能实现中断屏蔽 3.能进行中断优先级排队
中断系统的功能
3.能实现中断嵌套
主 程 序
中
断
服
务
断点
程
序
继 续 执 行 主 程 序
第7章 51单片机的内部资源及编程
第7章 51单片机的内部资源及编程 主要内容: 本章介绍51单片机内部集成的并行接 口、定时/计数器接口、串行接口和中 断接口的结构、原理和编程使用。
1
第7章 51单片机的内部资源及编程
章节
7.1 并行输入/输出接口 7.2 定时/计数器接口 7.3 串 行 接 口 7.4 中 断 系 统
第7章 51单片机的内部资源及编程
在边沿触发方式时,若第一个机器周期采样到P3.2 (或P3.3)引脚为高电平,第二个机器周期采样到P3.2 (或P3.3)引脚为低电平时,由IE0(或IE1)置1,向CPU 请求中断。 CPU响应后能够由硬件自动将IE0(或IE1)清 零。
关于中断请求标志位IE0(IE1)。
为避免这种情况,只有在中断服务程序返
回前撤消P3.2(或P3.3)的中断请求信号, 即使P3.2(或P3.3)为高电平。通常通过 下图所示外电路来实现 .
INTx 8051
P1.0
QD
S CLK<
外部中断 请求信号
INTx
外部中 断源
第7章 51单片机的内部资源及编程
外部中断请求信号通过D触发器加到单片机P3.2(或 P3.3)引脚上。当外部中断请求信号使D触发器的CLK 端发生正跳变时,由于D端接地,Q端输出0,向单片机 发出中断请求。CPU响应中断后,利用P1.0作应答线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章介绍了51单片机的内部资源,包括: 1、中断系统 2、定时/计数器
3、串口接口。
中断功能使单片机具有了实时处理能力,定时功能使 单片能够处理与时间和计数相关的问题的能力,串口通信 使单片机可以与其他单片机、计算机或其它设备相连。
5.1
51单片机的中断系统
中断系统主要用于实时测控,要求单片机能及时地响应和 处理单片机外部事件或内部事件所提出的中断请求。中断方 式大大地提高了CPU的工作效率。
中断级别 最高
最低
MCS-51是一个二级中断系统。
优先级对中断响应的影响
– CPU同时接收到几个中断时,首先响应 优先级别最高的中断请求。 – 正在进行的中断过程不能被新的同级或 低优先级的中断请求所中断。
– 正在进行的低优先级中断服务,能被高 优先级中断请求所中断。这称之为“中 断嵌套”。
中断嵌套的概念:
IP各个位的含义: (1)PS——串行口中断优先级控制位 1:高优先级中断; 0:低优先级中断。 (2)PT1——定时器T1中断优先级控制位 1:高优先级中断; 0:低优先级中断。
(3)PX1——外部中断1中断优先级控制位
1:高优先级中断;
0:低优先级中断。 (4)PT0——定时器T0中断优先级控制位 1:高优先级中断; 0:低优先级中X0 1 0 PT0 1 0 1
硬件查询
自 然 优 先 级 中断源 高 级
INT0 T0 INT1 T1 RX TX
中断入口
EX1 1
PX1 1 0 PT1 1 0 0 自 然 优 先 级 中断源
低 级
RI TI
ES 1 ≥1
PS 1 0
中断入口
SCON
三、中断请求源
51单片机的五个中断请求源 :
七、中断矢量(中断入口地址):
当CPU响应中断时,由硬件直接 产生一个固定的地址,即矢量地址 ,由矢量地址指出每个中断源设备 的中断服务程序的入口,这种方法
中断源 外部中断0 (INT0) 定时器/计数器0 (T0) 外部中断1 (INT1) 定时器/计数器1 (T1) 中断矢量 地址 0003H 000BH 0013H 001BH
对于定时器/计数器T0、T1 的溢出中断和采用跳变触发 方式的外部中断请求,在 CPU 响应中断后,由内部硬件自动 清除中断标志TF0和TF1、IE0和IE1,而自动撤除中断请求。 (硬件置位,硬件清除)。
2 .采用外加 硬件结合软件清除中断请求(外部中断请 求的撤消)
(1)跳沿方式外部中断请求的撤消是自动撤消的。
二个外部中断源 INT0 和 INT1 ,外部设备的中断请求信
号、掉电等故障信号都可以从INT0或INT1引脚输入。 三个内部中断源为定时器 /计数器 T0 和T1 的定时 / 计数 谥出中断源和串行口发送或接收中断源。 中断系统结构示意图如下图所示。
TCON
IT0 1 0 IE0 1 ET0 1 TF0 IT1 1 0 IE1 1 ET1 1 TF1 EX0 1
一、中断的概念
CPU正在执行程序时,单片机外部或内部发生的某一事件,
请求CPU迅速去处理。CPU暂时中止当前的工作,转到中断服 务处理程序处理所发生的事件。
处理完该事件后,再回到原来被中止的地方,继续原来
的工作,这称为中断。 CPU处理事件的过程,称为CPU的中断 响应过程。
如下图所示。对事件的整个处理过程,称为中断处理(或 中断服务)。
中断响应
中断请求
执行主 程序
断点
继续执行 主程序
执行 中断 处理 程序
中断返回
主程序:CPU正常情况下运行的程序称为主程序。 中断源:把向CPU提出中断申请的设备称为中断源。 中断请求:由中断源向 CPU 所发出的请求中断的信号称中断 请求。
中断响应: CPU 在满足条件情况下接受中断申请,终止现行
3 中断允许寄存器IE
CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE 控制。字节地址A8H,可位寻址。格式如下:
IE寄存器中各位设置: 为0时,禁止中断;为 1时,允许中断。 系统复位后IE寄存器中各位均为0,即此时禁止所有中断。
MCS-51复位后,IE清0,所有中断请求被禁止。
若使某一个中断源被允许中断,除了IE相应的位的被置 “1” ,还必须使EA位=1。
(4)无同级或更高级中断正在被服务。
中断响应是有条件的,遇到下列三种情况之一时,中断 响应被封锁: (1)CPU正在处理同级的或更高优先级的中断。 (2)所查询的机器周期不是所当前正在执行指令的最后一个 机器周期。只有在当前指令执行完毕后,才能进行中断响应。 (3)正在执行的指令是RETI或是访问IE或IP的指令。需要再
去执行完一条指令,才能响应新的中断请求。
六、中断请求的撤消
CPU 响应中断请求,转向中断服务程序执行,在其执行 中断返回指令(RETI)之前,中断请求信号必须撤除,否则 将会再一次引起中断而出错。 中断请求撤除的方式有三种,即: 1. 由单片微机内部硬件自动复位 (定时器/计数器中断 请求的撤消 )。
1:允许外部中断0中断。
改变IE的内容,可由位操作指令来实现,即:
SETB
bit;
CLR bit。 例1 若允许片内2个定时器/计数器中断,禁止其它中断源的中
断请求。编写设置IE的相应程序段
(1)用位操作指令来编写如下程序段: CLR ES ;禁止串行口中断
CLR
CLR SETB SETB SETB
(2)电平方式外部中断请求的撤消,需外接电路来取消。
在中断响应后把中断请求信号引脚从低电平强制改变为高电平。可 在系统中加入如图所示电路。
3.应用软件清除相应标志(串行口中断请求的撤消)
对于串行接收/发送中断请求,在 CPU 响应中断后,必 须在中断服务程序中应用软件清除RI、TI中断标志,才能撤 除中断。(硬件置位,软件清除) 。 响应串行口的中断后, CPU 无法知道是接收中断还是发 送中断,还需测试这两个中断标志位的状态,以判定是接收 操作还是发送操作,然后才能清除。所以串行口中断请求的 撤消只能用软件清除 CLR TI ;清TI标志位 CLR RI ;清RI标志位
各标志位的功能: ( 1 ) IT0— 选择外中断请求 0 为跳沿触发方式还是电平触发方 式: IT0=0,为电平触发方式。 IT0=1,为跳沿触发方式。 可由软件置“1”或清“0”。
(2)IE0—外部中断请求0的中断请求标志位。
IE0=0,无中断请求。
IE0=1,外部中断0有中断请求。当CPU响应该中断,转向中 断服务程序时,由硬件清“0”IE0。
IE对中断的开放和关闭为两级控制
总的开关中断控制位EA(IE.7位): EA=0,所有中断请求被屏蔽。 EA=1,CPU开放中断,但五个中断源的中断请求是否允许, 还要由IE中的5个中断请求允许控制位决定。
IE中各位的功能如下:
(1)EA:中断允许总控制位 0:CPU屏蔽所有的中断请求(CPU关中断); 1:CPU开放所有中断(CPU开中断)。 (2)ES:串行口中断允许位
四、中断有关的寄存器
1. 特殊功能寄存器TCON
特殊功能寄存器TCON和SCON的相应位锁存各中断请求标志。 TCON为定时器/计数器的控制寄存器,字节地址为88H。 包含INT0,INT1,T0 及 T1的中断标志。
(1)T0和T1的溢出中断请求标志位TF1和TF0 (2)外部中断请求标志位IE1与IE0。
程序执行转而为申请中断的对象服务称中断响应。 中断服务程序:为服务对象服务的程序称为中断服务程序。 断点:现行程序被中断的地址称为断点。 中断返回:中断服务程序结束后返回到原来程序称中断返回。
19:35 4
二、MCS-51中断系统的结构
MCS-51有5个中断请求源,两个中断优先级,可两级嵌套。
MCS-51五个中断源中包括二个外部中断源和三个内部中 断源。
(5)PX0——外部中断0中断优先级控制位
1:高优先级中断; 0:低优先级中断 由软件可改变各中断源的中断优先级。 系统复位后IP寄存器中各位均为0,即此时全部设定为
低中断优先级。
在同时收到几个同一优先级的中断请求时,优先响应哪一个中 断,取决于内部的查询顺序。查询顺序如下:
中断源 外部中断0 T0溢出中断 外部中断1 T1溢出中断 串行口中断
EX1
EX0 ET0 ET1 EA
;禁止外部中断1中断
;禁止外部中断0中断 ;允许定时器/计数器T0中断 ;允许定时器/计数器T1中断 ;CPU开中断
(2)用字节操作指令来编写: MOV IE,#8AH
或者用:
MOV
0A8H,#8AH
;A8H为IE寄存器字节地址
4 中断优先级寄存器IP
若 CPU 正在执行高优先级的中断,则不能被任何中断源 所中断。 中断优先级寄存器IP,其字节地址为B8H。
(2)用字节操作指令 MOV 或: MOV IP,#05H 0B8H,#05H ;B8H为IP寄存器的字节地址
五、响应中断请求的条件
一个中断请求被响应,需满足以下必要条件: (1)IE寄存器中的中断总允许位EA=1。 (2)该中断源发出中断请求,即该中断源对应的中断请求标 志为“1”。
(3)该中断源的中断允许位=1,即该中断没有被屏蔽。
2. SCON为串行口控制寄存器
SCON为串行口控制寄存器,字节地址为98H。串行口的发送中 断和接收中断的中断请求标志TI和RI,格式如下:
各标志位的功能: (1)TI—发送中断请求标志位。串口每发送完一帧串行数据 后,硬件自动置“1”TI。响应中断后,必须在中断服务程 序中用软件对TI标志清“0”。 (2)RI—接收中断请求标志位。串口接收完一个数据帧,硬 件自动置“1”RI标志。响应中断后,必须在中断服务程序 中用软件对RI标志清“0”。