I/O端口及中断控制器
MSC单片机

端口A的I/O引脚共有23条。除了作为普 通的输出引脚外,另一一个功能是可以 定义成地址引脚等功能性输出引脚。
端口B的I/O引脚共有11条。除了作为普 通的输入/输出引脚外,另一一个功能是 可以定义成DMA控制、定时器等功能性 引脚。
端口C的I/O引脚共有16条。也是多功能 的。
每个端口(除了A口)均有3个寄存器用 于控制其操作,一个是端口控制寄存器, 用于设置其每个引脚的功能;一个是数 据寄存器,用于作为普通输入/输出功能 时的数据存储器;再一个是上拉控制寄 存器,控制该端口的引脚是否需要接上 拉电阻。
GPBUP GPB[10:0]
位 [10:0]
描述 当端口被配置成输入端口,从外部源来的数据可以被读到相应引脚 当端口被配置成输出端口,写入寄存器的数据可以被送到相应引脚 当端口被配置为功能端口,读取该端口数据为乱码
位 [10:0]
描述 0 :上拉电阻与相应的引脚连接使能 1 :上拉电阻被禁止端来自其他寄存器端口功能定义
S3C2410芯片的每个I/O端口均是多功能的
上述8个I/O端口根据系统配置和设计的不 同需求,设计者可以选择这些I/O端口的功 能。若选定某个I/O端口的功能,设计者应 在主程序运行之前编程设置对应的控制寄 存器,从而选定所需I/O端口的功能。如果 某个I/O引脚不用于特定功能的话,那么该 引脚就可以设置为普通的输入/输出引脚。
§8.1 S3C2410的I/O接口
S3C2410芯片共有117个输入/输出引脚,分属 于8个I/O端口。这8个I/O端口均为多功能端口, 端口功能可以编程设置。8个I/O端口是:
·端口A (GPA):有23条输出引脚的端口。 ·端口B (GPB):有11条输入/输出引脚的端口。 ·端口C (GPC):有16条输入/输出引脚的端口。 ·端口D (GPD):有16条输入/输出引脚的端口。 ·端口E (GPE):有16条输入/输出引脚的端口。 ·端口F (GPF):有8条输入/输出引脚的端口。 ·端口G (GPG):有16条输入/输出引脚的端口。 ·端口H (GPH):有11条输入/输出引脚的端口。
微机原理第7章 8086中断系统和中断控制器

3)高级中断源能中断低级的中断处理
中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时, 如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程 序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被 1 中止的中断服务程序,这一过程称为中断嵌套。 • 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。
外部中断 非屏蔽中断 可屏蔽中断
可屏蔽中断源
CPU 中断逻辑
INTR
8259A 中断 INTA 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
内部中断: 除法错中断 指令中断 溢出中断 单步中断
硬件(外部)中断 非屏蔽中断请求 INT 2 NMI(17号引脚) 中 断 逻 辑 可屏蔽中断请求 中断类型号32~255 INTR(18号引脚)
中断指令 INT n N=32~255
溢出中断 INTO INT 4
断点 中断 INT 3
单步中断 (TF=1) INT 1
除法 错误 INT 0
软件(内部)中断
8086/8088中断源
1.软件中断(内部中断) 8086/8088的软件中断主要有三类共五种。 (1) 处理运算过程中某些错误的中断 执行程序时,为及时处理运算中的某些错误 ,CPU以中断方式中止正在运行的程序,提醒程 序员改错。 ① 除法错中断(中断类型号为0)。在8086 /8088 CPU执行除法指令(DIV/IDIV)时,若发现 除数为0,或所得的商超过了CPU中有关寄存器所 能表示的最大值,则立即产生一个类型号为0的 内部中断,CPU转去执行除法错中断处理程序。
计算机组成原理——IO接口以及IO设备数据传送控制方式

计算机组成原理——IO接⼝以及IO设备数据传送控制⽅式接⼝可以看作是两个部件之间交接的部分。
硬件与硬件之间有接⼝,硬件与软件之间有接⼝,软件与软件之间也有接⼝。
这⾥我们所说的I/O接⼝,⼀边连接着主机,⼀边连接着外设。
I/O接⼝的功能I/O接⼝的基本结构CPU和外设之间通常传递的信息:数据、状态、控制。
组成:寄存器组、控制逻辑电路、主机与接⼝和接⼝与I/O设备之间的信号联接线、数据地址线、控制状态信号线。
其实中间红框内的部分就是对应到电路板上的插⼝,⼜分为内部接⼝和外部接⼝两种。
内部接⼝:与系统总线相连,实质上是与内存、CPU相连。
数据的传输⽅式也只能是并⾏传输。
外部接⼝:通过接⼝电缆与外设相连,外部接⼝的数据传输可能是串⾏⽅式,因此I/O接⼝需具有串并转换功能。
接⼝与端⼝接⼝就是I/O接⼝,端⼝实质接⼝电路中可以被CPU访问的寄存器。
I/O端⼝及其编址为了便于CPU对I/O设备进⾏寻址和选择,必须给众多的I/O设备进⾏编址,也就是说给每⼀台设备规定⼀些地址码,称之为设备号或端⼝地址。
统⼀编址:与存储器共⽤地址,⽤访存指令访问I/O设备。
独⽴编址:单独使⽤⼀套地址,有专门的I/O指令。
接⼝类型I/O设备数据传送控制⽅式1.程序直接控制传送⽅式⼜叫查询⽅式。
是完全通过程序来控制主机和外围设备之间的信息传送。
通常的办法是在⽤户的程序中安排⼀段由输⼊输出指令和其他指令所组成的程序段直接控制外围设备的⼯作。
也就是说CPU要不断地查询外围设备的⼯作状态,⼀旦外围设备“准备好”或“不忙”,即可进⾏数据的传送。
该⽅法是主机与外设之间进⾏数据交换的最简单、最基本的控制⽅法。
⽆条件传送:只有在外设总处于准备好状态程序查询⽅式优点:较好协调主机与外设之间的时间差异,所⽤硬件少。
缺点:主机与外设只能串⾏⼯作,主机⼀个时间段只能与⼀个外设进⾏通讯,CPU效率低。
程序查询⽅式接⼝结构:⼀次只能查询⼀个字的原因?在这种传送⽅式下,外部数据是要存到CPU寄存器中的,故需要⼀个字。
第15讲IO接口电路基本概念

端口B和C: 都包含一个8位数据输入缓 冲器和一个8位的数据输出锁存器/缓冲器, 输出数据能锁存,输入数据不锁存。
端口C:可分成两个4位端口,分别定义 为输入或输出端口,还可定义为控制、状 态端口,配合端口A和端口B工作。
NEXTIN:IN TEST JZ
IN
AL,STATUS-PORT;从状态口输入状态信息
AL,01H
;测试标志位是否为1
NEXTIN
;未就绪,继续查询
AL,DATA-PORT ;从数据端口输入数据
查询输出
查询式输出的端口信息
NEXTOUT:
IN AL, STATUS_PORT TEST AL, 80H JNZ NEXTOUT MOV AL, BUF
DMA与程序控制数据传送路径的比较
外设
CPU
总
存储器
线
程序控制的数据输入/输出
DMA
DMA与程序控制数据传送路径比较
I/O概述
微机系统的信息交换有并行通信 和串行通信两种方式。
并行通信是以微机的字长为传输单位; 适合于外部设备与微机之间进行近距离、 大量和快速的信息交换。
实现并行通信的接口称之为并 行接口。
方式设置标志
1=有效
图 8255A工作方式控制字格式
(2) 端口C的置位/复位控制字
控制字的格式如图所示。
D7 D6 D5 D4 D3 D2 D1 D0
不使用 设置为000
位的置位/复位 1=置位,0=复位
位 选择 D3 D2 D1 通道C位
0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7
51单片机最小系统及元件

51单片机最小系统及元件1. 前言51单片机是一款非常常见的单片机,广泛应用于嵌入式系统和智能控制领域。
在这个领域,最小系统是最基本的硬件。
本文将介绍51单片机最小系统以及必要的元件。
2. 51单片机最小系统51单片机最小系统是由单片机、晶振、电源和复位电路组成的。
其中,单片机是控制中心,晶振为单片机提供时钟信号,电源为完成单片机运算提供电能,而复位电路则保证单片机正常工作。
2.1 单片机51单片机一般使用的是AT89C51型号,别名为P89V51RD2。
它由8位CPU、ROM、RAM、I/O端口、计时器/计数器、串口和中断控制器等功能模块组成。
具体的,AT89C51单片机主要参数如下:参数描述CPU 8051指令集兼容的8位CPU,占据纯CPU面积的75%ROM 可重写/擦除1K~64K字节RAM 128~256字节I/O端口4个8位I/O端口,可映射到外部I/O空间计时器/计数器两个16位计时器,一个8位计时器/计数器串口一个全双工/半双工可编程串口中断控制器5个中断源,2个优先级2.2 晶振晶振是单片机最小系统中的另一个关键元件。
它为单片机提供时钟信号,控制单片机的运行。
在51单片机最小系统中,一般使用的是12MHz的晶振。
2.3 电源为单片机提供电能,一般使用的是7805型稳压电源。
在电路中配合一个电容,电容的充放电作用可以过滤电源噪声,提高电源稳定性。
2.4 复位电路复位电路起到保持单片机在一个已知状态的作用,保证程序的正常运行。
在51单片机最小系统中,均采用外部复位电路。
3. 元件使用51单片机最小系统还要添加其他必要元件,以满足特定的功能要求。
这里我们列出一些可能会用到的常用元件。
3.1 LEDLED为发光二极管,它是电子元器件的一种。
当施加电压时,LED会发出光信号。
通过选择不同颜色的LED来指示系统状态。
3.2 按钮开关按钮开关一般被用来实现系统的输入。
我们可以通过按下按钮来改变系统状态,使单片机进入不同的工作模式。
第六章 IO接口和总线

1、缓冲器 74LS244
单路基本组成:
真值表 A
B
G#
0
A
1
B
1
0 G
1
0
高阻
0
状态
1A1 1A2
/1G 1A1 2Y4 1A2 2Y3 1A3 2Y2 1A4 2Y1 GND
1 2 3 4 5 6 7 8 9 10
1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4
244
20 19 18 17 16 15 14 13 12 11
需要输入设备送入信息,输出设备送出结果,这些输 入输出设备被称为外设。
通信:计算机(CPU)与外设间的数据、状态和控制
命令的交换过程统称为通信。
2、CPU与外设直接通信存在的问题 速度不匹配(CPU快,外设慢) 信号电平不匹配 (CPU使用TTL电平,外设多为机电设备) 信号格式不匹配 (CPU总线上为并行数字量,而外设有串行模拟量等) 时序不匹配 解决方案: 用I/O接口:把外设连接到CPU总线上的一组逻辑电 路的总称。用于协调外设与主机之间的信息交换。
2、译码的常用方法
线选法
利用一根地址线,产生指定的端口地址的选择信号。
A7
PORT1
当A7=1,选中PORT1,地址可为80H 当A6=1,选中PORT2,地址可为40H 当A5=1,选中PORT3,地址可为20H
A6
PORT2
对于PORT1,地址为81H,82H,83H
等仍可选中。
A5
PORT3
无条件输出电路例子 例:假设该端口号为
0# D0
80H,要想让0、2、4、
6号灯亮,如何编写
D1
1D 2D
第5章8086的中断系统

在第二个INTA信号有效,8259A送中断类型码 (初始化时写入8259A)到数据总线,由CPU启 动中断过程,同时撤消中断请求信号.
二、不可屏蔽中断NMI
发生“灾难性”事件(如电源掉电、存储器读 写出错、总线奇偶出错或协处理器中断请求 等),NMI=1,无法禁止(不受IF影响), 优先级比INTR高,且是边沿触发(只要有效 宽度大于2T即可),中断类型号为2,CPU响 应NMI,不发INTA,不要求外设提供中断向 量,自动到08H单元取入口地址。
5.3.2 外部中断
一、可屏蔽中断INTR 处理过程: 1)接口发请求,若屏蔽位(可用命令写入)=0, 通常由可编程中断控制器8259A PIC驱动,INTR=1,
一直保持到收到响应信号或撤消请求为止. 若IF=0(关中断,可由CLI复位),CPU不响应,继
续处理下一条指令;
若IF=1(开中断,可由STI置位),CPU响应, 2)执行两个INTA总线周期,发两个INTA信号,时序
专用5个(内部中断):在某些特定情况下, 由CPU内硬件自动提供类型号0~4;
保留27个(软件中断):由内部软件的中断 指令产生,供系统开发用。
用户定义224个(外部中断):由外部设备 硬件启动。
可以利用保留的中断类型码扩充自己需要的 中断功能,只要在向量表中加入对应的中断 向量即可。
由系统提供或用户定义,CPU执行后,立即产生中 断,转向n规定的中断服务程序去,入口地址在初 始化时已预置在中断向量表中。
四、断点中断——类型3(单字节指令)
CPU执行INT 3 (简写INT)时,产生中断, 进行特殊处理,如显示寄存器、存储单元的内 容,以检查程序运行的结果是否正确。在调试 时把断点插入程序中的关键之处,命令如-G CS: nnnnH。
第一章 单片机IO接口的扩展---8255

单片机对外设的控制方式
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定 外设当前的状态,如果外设准备就绪,则进行 数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少 量的硬件电路即可,缺点是由于CPU的速度远 远高于外设,因此通常处于等待状态,工作效 率很低
(2)中断处理方式
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由 一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输; (2)能够进行信息格式的转换,例如串行和并行的转换; (3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数 /模或模/数转换器等; (4)协调时序差异; (5)地址译码和设备选择功能; (6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和 DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。 接口的控制方式
WR :写信号,低电平有效。当 WR 有效时,CPU
可以往8255A中写入控制字或数据。 A1、A0:端口选择信号。8255A内部有3 个数据端口和1个控制端口,当A1A0=00时选 中端口A;A1A0=01时选中端口B;A1A0=10 时选中端口C;A1A0=11时选中控制口。 A1、A0和 RD 、 WR 及 CS 组合所实 现的各种功能如表所示。
方式1下的输出时序
3. 方式2(双向模式)
8255A只有A口具有这种双向输入输 出工作方式,实际上是在方式1下A口输入 输出的结合。在这种方式下,A口为8位双 向传输口,C口的PC7~PC3用来作为输入 /输出的同步控制信号。 在这种情况下,B口和PC2~PC0只能 编程为方式0或方式1工作,而C口剩下的 3条线可作为输入或输出线使用或用作B 口方式1之下的控制线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断控制器概述
有了中断请求,请求源的保存可以分为两种。一种是 带子请求寄存器的,如UARTn的INT_ERRn、 INT_RXDn和INT_TXDn,有了中断请求,请求源要保 存在子源挂起寄存器SUBSRCPND中;另一种是不带子 请求寄存器的,如INT_DMA3,有了中断请求,请求 源要保存在源挂起寄存器SRCPND中。对于带子请求寄 存器的,还要检查中断子屏蔽寄存器INTSUBMSK是否 对某一个子请求源进行了屏蔽,只有不屏蔽,才能在 源挂起寄存器SRCPND中对应位置1。之后,一个或多 个中断请求要判断是否被屏蔽;是IRQ模式还是FIQ模 式;如果是IRQ模式还要判断多个中断请求的优先权; 最后以IRQ或FIQ请求送ARM920T内核。
-
中断控制器概述
中断处理示意图。
-
中断控制器概述
外部中断EINT4~EINT7、EINT8~EINT23的请 求,要在外部中断挂起寄存器EINTPEND中保存, 检查外部中断屏蔽寄存器EINTMASK是否屏蔽, 如果不屏蔽,才能送到源挂起寄存器SRCPND的 对应位EINT4_7、EINT8_23。
-
中断屏蔽寄存器INTMSK由32位组成,它们中的 每1位对应1个中断源。
中断屏蔽寄存器INTMSK地址为0x4A000008, 可读写,Reset值为0xFFFFFFFF,具体含义见表 7-42。
-
5.优先权寄存器 优先权寄存器PRIORITY,地址为0x4A00000C,
-
源挂起寄存器SRCPND由32位组成,其中每1位 与1个中断源相对应。
源挂起寄存器SRCPND地址为0x4A000000,可 读写,Reset值为0x00000000。
-
子源挂起寄存器 子源挂起寄存器(sub source pending register)
SUBSRCPND中的每1位,指示对应的子中断源 有无中断请求。 子源挂起寄存器SUBSRCPND地址为 0x4A000018,可读写,Reset值为0x00000000。
-
⒉中断模式寄存器 ARM920T有2种类型的中断模式:FIQ或IRQ, 所有的中断源在中断请求时,要确定该中断源 被设置成哪一种模式。中断模式寄存器 INTMOD中的每1位,指示一个中断源被设置成 了哪一种模式。
-
中断模式寄存器INTMOD由32位组成,它们中 的每一位对应一个中断源。中断模式寄存器 INTMOD地址为0x4A000004,可读写,Reset值 为0x00000000。
-
中断控制器概述
当从片内外设和外部中断请求引脚接收到多个 中断请求时,中断控制器经过仲裁处理后,向 ARM920T内核请求FIQ或IRQ中断。
仲裁处理取决于硬件优先权逻辑,并且仲裁结 果写入中断挂起寄存器INTPND(interrupt pending register)。用这种方法可以帮助用户, 告知在多个中断请求源中,哪一个经过仲裁并 送到ARM920T内核。
I/O端口及中断控制器
阅读P156-P159 思考以下问题
S3C2410A共有多少个中断源?多少个外部中 断源?外部中断的触发方式如何设置?中断标志 位在哪些寄存器里?某中断是否允许由哪个寄存
器控制?中断优先级由哪个寄存器控制?中断 处理的流程是什么样的?
-
中断控制ห้องสมุดไป่ตู้概述
S3C2410A片内的中断控制器,接收来自56个 中断源的中断请求。这些中断源由S3C2410A外 部中断请求引脚和片内外设提供。片内外设包 括DMA控制器、UART、IIC等。在这些中断源 中,UARTn的INT_ERRn、INT_RXDn和 INT_TXDn经过逻辑或以后送到中断控制器,作 为INT_UARTn。EINT4~EINT7、 EINT8~EINT23经过逻辑或以后送到中断控制 器,作为EINT4_7、EINT8_23。
-
⒋ 中断屏蔽寄存器 中断屏蔽寄存器INTMSK中的某1位被设置为1,
指示对应的中断已经被屏蔽(禁止)。如果寄 存器INTMSK中的某1位为0,这1位对应的中断 源产生的中断请求,通常将被服务。 如果寄存器INTMSK中的某1位为1,并且该位对 应的中断源产生了中断请求,源挂起寄存器 SRCPND中对应的源挂起位将被置1。
中断控制器用到的S3C2410A引脚信号有 EINT0~EINT23和nBATT_FLT。
-
中断控制器特殊功能寄存器
⒈ 程序状态寄存器(PSR)中的F位和I位 如果ARM920T CPU中的PSR的F位被设置为1, CPU不接受来自中断控制器的快速中断请求 (Fast Interrupt Request,FIQ)。同样,如果 I位被设置为1,CPU不接受来自中断控制器的中 断请求(Interrupt Request,IRQ)。因此,通 过清除PSR的F位或I位为0,同时设置中断屏蔽 寄存器INTMSK的对应位为0,送到中断控制器 的中断请求才能被处理。
-
寄存器SRCPND和INTPND能被读或写,中断服 务程序必须清除相应的挂起位,方法是通过写1 到SRCPND的对应位,能够将该位清0。然后再 写1到INTPND的对应位,能够将INTPND的对应 位清0。
中断挂起寄存器(interrupt pending register), 也译作中断未决寄存器。
-
⒊ 源中断挂起寄存器
S3C2410A中有两个中断挂起寄存器,一个是源挂起寄 存器SRCPND,另一个是中断挂起寄存器INTPND。这 两个挂起寄存器指示一个中断请求是或否被挂起(记 录)。当多个中断源同时请求中断服务时,寄存器 SRCPND多个对应位被设置成1。与此同时,经过仲裁 处理后,寄存器INTPND中仅仅1位被自动地设置为1。 如果多个中断被屏蔽,这些中断源同时请求中断服务 时,寄存器SRCPND中的对应位仍被设置为1,但是不 引起寄存器INTPND值的改变。当寄存器INTPND中的1 位被设置为1时,如果这1位对应IRQ请求,并且PSR中 的I位为0;或者这1位对应FIQ请求,并且PSR中的F位 为0,就会进入相应的中断服务程序。