微机原理与接口技术课程设计

微机原理与接口技术课程设计
微机原理与接口技术课程设计

大棚环境指标监测器

系别:信息系

专业班级:自动化

姓名;

学号:

指导教师:

设计日期:2010-6-29

课程设计任务书

学生姓名:专业班级:自动化1班

指导教师:工作单位:信息系

题目: 大棚环境指标监测器

设计条件:

①工作电压:5v;

②测温精度:+ 0.5 ℃;

③测湿精度:+ 5.0%RH ;

设计要求:

①选择适当的芯片,画出原理电路图;

②选择元器件的型号及参数,并列出材料清单;

③画出安装布线图;

④拟定调试内容及步骤,画出测试电路及记录表格;

要求完成的主要任务:

设计大棚环境监测系统,使其对农业大棚中自动测量温度,湿度。时间安排:

第1天,查找资料。

第2天,进行分析计算。

第3天,进行系统分析。

第4天,调整与测试。

第5天,撰写课程设计报告。

学生姓名:专业班级:课程设计(论文)工作起止日期

指导教师签字日期:教研室主任审查签字日期:系主任批准签字日期:

摘要 (4)

引言 (5)

1、基础理论知识 (6)

1.1 8253的功能 (6)

1.1.1. 方式0 计数结束后输出由低变高,即产生中断 (6)

1.1.2.方式1 可编程的单拍脉冲 (7)

1.1.3.方式2 分频脉冲发生器 (7)

1.1.4.方式3 分频方波发生器 (8)

1.1.5.方式4 软件触发选通 (8)

1.1.6.方式5 硬件触发选通脉冲发生器 (8)

1.2整流电路 (9)

1.2.18255A的工作方式 (9)

1.3ADC0809功能 (10)

1.48259功能 (10)

2、系统设计 (11)

2.1 系统原理 (11)

2.2 芯片的初始化 (13)

2.2.1. 8255初始化 (13)

2.2.2. 8259初始化 (14)

2.3 系统功能的实现 (16)

2.3.1. 中断设置 (16)

2.3.2. 数据采集 (16)

2.3.3. 中断服务操作 (17)

3、系统剖析 (17)

4、原件清单 (18)

5、小结与体会 (18)

参考文献 (19)

附录1:电路连接图 (20)

摘要

在微型计算机及应用中Intel系列的8253、8259、8255以及ADC0809在现实生活中都有很广泛的应用。我们运用它们可以设计大棚环境监测系统,使其在农业大棚生产中发挥意想不到的作用。当温度或者湿度超限时,进行光提示;两者同时超限时,进行光声提示,并采取提前设置的相应的措施(可根据季节进行调整)。同时,为了实现当大棚内工作人员发现条件异常时,能够通过手动方式向监测室工作人员提供相应提示,系统设置手动提示按钮和接触提示按钮也是必要的。

关键字:Intel8253;Intel8255;Intel8259;ADC0809;大棚环境指标;监测系统引言:

农业是我国经济、社会发展的基础。农业大棚生产是一种应经被广泛应用的一种特殊的生产方式,这种生产方式打破时间与地域的差距,但是大棚的环境指标要求比较严格,其中湿度、温度是影响作物产量的最重要的因素。我们可以用已学的微机原理与接口技术课程中介绍的芯片设计一种大棚内的环境检测器。I ntel系列的8253是常用的可编程定时/计数器,它通过编程来控制电路的定时值及定时的范围,功能强,使用灵活。在计算机系统中,定时中断、定时检测、定时扫描等等都是用可编程定时器来完成定时控制的。Intel8259A时被广泛使用的可编程中断控制器,它用来管理CPU的可屏蔽中断请求。Intel8255A是微机配套的通用可编程并行接口芯片,具有三个可编程端口(A端口、B端口、C端口)。ADC0809时NSC公司生产的8路模拟输入逐次逼近型A/D转换器,它采用CM OS工艺,另外,还有8通道多路转换器和3位地址锁存和译码器,以实现对8路输入模拟量IN0~IN7的选择。运用以上芯片可以实现对农业中大棚中某些环境指标的监测,并且可以设计完整的监测系统根据实际情况采取相对合理的措施。在实现电气化与农业的结合的过程中,数字化走进农业生产便是一种表现形式。在我国,电子产品在农业生产中的开发与应用能力还在初级阶段。我们大学生应该倡导电子产品在农业生产方面的应用,为祖国的信息化农业做出自己的贡献。

1.基础理论知识

1.1 8253的功能

Intel 8253—PIT,即可编程间隔计数器有3个独立的16位计数器每个计数器都可以按照二进制或者BCD码进行计数,计数速率可达2MHz,每个计数器有6种工作方式,可编程设置和改变。Intel8253可以广泛应用在方波发生器、分频器、实时时钟、事件计数等方面。

8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE 的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是1 6位寄存器,但是也可以作8位寄存器来用。

8253内部结构:

图1 8253内部结构图

1.1.1.方式0 计数结束后输出由低变高,即产生中断

8253用作计数器时一般工作在方式0。所谓计数结束产生中断,是指在计数值减到0时,输出端(OUT)产生的输出信号可作为中断申请信号,要求CPU 进行相应的处理。方式0有如下特点:

①当控制字写进控制字寄存器确定了方式0时,计数器的输出(OUT端口)保持低电平。当写入计数初值时,计数器开始减一计数。在计数过程中OUT保持低电平。当计数器减到0时输出端OUT才由低变高。适应于向CPU发送中断请求。

②计数器只记一遍数。当计数到0时,不回复计数值,不重复开始计数,且输出一直保持高电平。只有在写入新的数值时,OUT才变低电平,并开始新的计数。

③GATE为计数控制门,方式0的计数过程可由GATE控制暂停,即GATE =1时,允许计数;GATE=0时,停止计数。GATE信号的变化不影响输出OUT端口的状态。

④计数过程中,可重新装入计数初值。如果在计数过程中,重新写入某一计数初值,若是8位计数,则在写完新计数值后,计数器将从该值重新开始作减1计数;若是16位计数,在写入第一个字节后,计数器将停止计数,在写入第二个字节后,计数器按照新的计数值开始计数。

1.1.

2.方式1 可编程的单拍脉冲

可编程的单拍负脉冲又称为单稳态输出方式,简称单稳定时。方式1的特点是:

①写入控制字后,计数器输出OUT端为高电平作为起始电平,在写入计数值后计数器并不开始计数,而要由外部门控GATE脉冲上升沿启动,并在上升沿之后的下一个CLK输入脉冲的下降沿开始计数。GATE上升沿启动计数的同时,使输出OUT变低,每来一个计数脉冲,计数器作减一计数,直到计数减为0时,OUT输出端再变为高电平。假设计数初值为N,则OUT端输出的单拍脉冲宽度为N个CLK时钟脉冲周期。

②如果在计数器未减到0时,不用送计数值,可再次由GATE脉冲启动。由下一个时钟脉冲开始,计数器将从初始值重新作减1计数。当减至0时,输出端又变为高电平,输出脉冲宽度的单拍脉冲。

③在计数过程中,可改变计数初值,此时计数过程不受影响。如果再次触发启动,计数器将按新的输入的计数值计数。

④在计数器未到0时,如果GATE再次启动,则计数初值将重新装入计数器,并重新开始计数。

1.1.3. 方式2 分频脉冲发生器

方式2是一种具有自动予置计数初值N的脉冲发生器。从OUT端可以输出连续脉冲信号,脉冲宽度等于时钟脉冲周期,而计数初值N决定了输出端两个负脉冲之间的宽度即输出脉冲周期。方式2也叫N分频器,因为输出脉冲为输入脉冲的N分频,即出现N个输入脉冲才输出一个脉冲。方式2有如下特点:

①当写入控制字后OUT端输出为高电平作为起始电平,在写入计数值N后将立即自动开始对输入脉冲CLK 计数,输出端仍一直为高;当计数器减到1时,输出变低,计数器减到0时又变为高,计数器重新按已写入的计数值N继续计数,周而复始,在OUT端输出一个N分频脉冲,其正脉冲宽度为(N-1)个输入脉冲时钟周期(是N个CLK时钟脉冲周期之和),而负脉冲输出宽度(持续时间)是一个CLK脉冲周期。(在方式2下,不但高电平的门控信号有效,上升跳变的门信号也是有效的。)

②N分频计数器,这种方式是输出对输入脉冲按计数器计数初值N分频后的连续脉冲信号。

③GATE用于控制计数,GATE=1,允许计数;GATE=0,停止计数。因此,可以用GATE来使计数器同步。

④在计数过程中可以改变计数值,这对正在进行的计数没有影响。但在计数到1时输出变低,经过一个CLK周期后又变高,计数器将按照新的计数值计数。

1.1.4. 方式3 分频方波发生器

方式3的特点是:

①方式3常用于波特率发生器。输出为方波或近似方波的矩形波,若计数为N,则输出方波的周期为N个CLK脉冲的宽度。

②写入方式3控制字后输出为高电平。写入计数值后计数器自动开始对输入CLK脉冲计数,输出OUT仍保持为高;在计数完成一半时,输出OUT变为低电平,直到计数为0时,输出OUT又变为高电平,并重复上述计数过程。

③若计数值N为偶数时,OUT方波的占空比为1:1;若N为奇数,其占空比为:(N+1)/2:(N-1)/2 [即输出分频波高电平宽度为(N+1)/2 CLK周期,低电平周期为(N-1)/2 CLK周期]。

④GATE信号能使计数过程重新开始。GATE=1允许计数,GATE=0禁止计数。停止后OUT将立即变为高点平,当GATE再次变为高后,计数器将自动装入计数值,重新开始计数。

1.1.5. 方式4 软件触发选通

方式4是类似于方式0的工作方式,计数器是靠置入新的计数初值这个软件操作来触发计数器工作的,故称为软件触发。方式4有如下特点:

①方式4是靠写入计数值来进行软件触发的“一次性有效”的选通脉冲发生器。写入控制字后输出端OUT变为高,并一直保持。在写入计数初值之后开始计数,当计数到0时输出端OUT变为低,维持一个CLK周期后又恢复为高,并一直保持为高,直到再次写入计数来进行“软件触发”才能再次开始

②若GATE=1,允许计数;GATE=0,停止计数。

③在计数过程中,如果改变计数值,则按新计数值从新开始计数。如果计数值是16位,则在设置第一个字节时停止,在设置第二个字节后,按新的计数值开始计数。

1.1.6. 方式5 硬件触发选通脉冲发生器

方式5有如下特点:

①方式5类似于方式4,所不同的是GATE端输入信号的作用不同。方式5是硬件触发,是在外部硬件发出门控信号后才发生的。

②方式5是靠门控脉冲GATE的上升沿来进行触发的选通脉冲发生器。写入控制字后输出端OUT为高,这是初始电平;写入计数值后计数器并不开始计数,而要由门控脉冲GATE上升沿触发后才开始计数,计数到0输出由高变低,一个CLK时钟周期后又恢复为高,并一直保持,直到下次门控脉冲触发再次开

始计数。

③在此方式中,计数器可重新触发,在任何时候,当GATE信号的上升沿到来,将把计数初值重新送入计数器,然后开始计数过程。

1.2 8255功能

Intel8255A是微机配套的通用可编程并行接口芯片,具有三个可编程端口(A 端口、B端口、C端口)。,每个端口8条线,共24条I/O引脚,也可分2组工作,每组12线,并有三种工作方式。芯片的主要技术性能如下:输入、输出电平与TTL电平完全兼容。

时序特性好。

部分位可以直接置“1”/置“0”,便于实现控制接口使用。

单一的+5V电源

8255A的内部结构:

图2 8255内部结构图

1.2.1 8255A的工作方式

8255A有三种工作方式:基本输入/输出方式、单向选通输入/输出方式和双向选通输入/输出方式。

(1)方式0:基本输入/输出方式

在方式0下,A端口、B端口和C端口都可提供简单的输入输出操作,对每个端口不需要固定的应答联络信号。工作在方式0时,在程序中可以直接使用输入命令(IN)和输出命令(OUT)指令对个端口进行读写。方式0的基本定义是2个8位的端口和2个4位端口。任何一个端口都可以作为输入或输出,输出的数据可以被锁存,输入的数据不能锁存。方式0常用于与外设无条件数据传送或查询方式数据传送。

(2)方式1:单向选通输入/输出方式

方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据。由于C 端口的PC0, PC1和PC2定义为B端口工作在方式1的联络信号线,PC3, PC4和PC5定义为A端口工作方式1的联络信号线,因此只允许A端口和B端口工作在方式1。为了能实现用中断方式传送数据,在8255A内部设有一个中断允许触发器INTE,当触发器为“1”时允许中断,为“0”时禁止中断。

(3)方式2:双向选通输入/输出方式

在双向的传输中,8255A可以向外设发送数据,同时CPU通过这8位数据线有接收外设的数据是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出。方式2 的基本定义是,只能适用于A端口,一个8位的双向端口(A端口)和1个5位的控制端口(C端口)。A端口的输入和输出都可以被锁存。5位的控制端口用来传送8位双向端口的控制和状态信息。当A端口工作方式2时,由PC7~PC0作为8位数据线,因为要由C端口对A端口进行控制,所以称为带选通的双向传输方式。在此方式下,C端口中有5位PC7~PC3作为控制信号和状态信息使用,剩下的3位PC2~PC0仍可以作为基本I/O线,工作在方式0。当控制字的D0位为1时,PC2~PC0作输入;当控制字的D0位为0时,PC2~PC0作输出。需要注意的是:输入和输出公用一个中断请求线PC3,但中断允许触发器有两个,即输入中断允许触发器为INTE2,由PC4写入设置,输出中断允许触发器为INTE1,由PC6写入设置。

1.3 ADC0809功能

ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8

路模拟输入信号中的一个进行A/D转换。

1.4 8259功能

Intel8259A时被广泛使用的可编程中断控制器,它用来管理CPU的可屏蔽中断请求。

8259A的主要功能如下:

①一片8259A可以直接接受并管理8级可屏蔽中断请求,即可以直接管理8个中断源,级联方式下不用附加电路就可以管理64级可屏蔽中断元源,并具有优先权判决优先控制。

②能为中断源提供中断向量码。

③对每一级中断进行屏蔽控制。

④具有多种工作方式,并可通过编程来加以选择。

8259内部结构图如下:

图3 8259内部结构图

2.系统设计

2.1系统原理

该系统设计主要是围绕对Intel8255、8253、8259以及ADC0809应用展开的。首先,通过传感器采集外界信号,将湿度和温度等非电学量信号转化成电信号。只将温度传感器所检测到的模拟信线号通过ADC0809的IN0~IN7的8路模拟输入通道输入到ADC0809,然后通过D0~D7将转换后的8位数字量输出到8255的PA0~PA7,即将数字信息输入8255进行锁存。同时,8255通过B组控制电路部分通道向ADC0809的ADDC~ADDA引脚输入信号,控制8路模拟开关的3位地址选通端,以选择对应的输入通道。8255的C端口、ADC0809的OE受到EOC的作用(转化结束信号控制输出允许信号,并将此信号输入到8255中)。8255的C端口的一低位输入缓冲器需要接收度传感器的信号,C端口的高位需要作为数据输出器作为环境调节器的启动信号,并控制8253的计数器0和计数器2的门控信号。另外,A1、A0配合其他引脚进行对8255进行端口操作,即实现对寄存器选择和操作。

8253的通道0、通道1和通道2均工作在工作方式3,即方波发生器。通道0和通道2所接受的计数脉冲输入设为1MHz。通道0的脉冲输出作为通道1的输入脉冲,同时,始终保持通道1的门控信号为高电平,使其一直工作,以此达到对单一指标(温度或湿度信号)的监测目的,实现光信号提示。输入端口2主要作用是对湿度和温度同时满足条件时进行声音提示。另外,A1、A0配合其他引脚进行对8253进行端口操作,即实现对寄存器选择和操作。

系统的另外一部分是实现手动调节部分主要是由Intel8259完成,因为它是具有可编程功能的中断控制器。8259拥有8个中断申请器IR0~IR7,因此可以通过手动开关对中断控制器的中断请求锁存器进行控制。电路连接图可见附录1。

8255的端口地址范围:80H~83H

8253的端口地址范围:40H~43H

8259的端口地址范围:20H~21H

下图是我所设计系统的原理框图:

图4 系统框图

2.2芯片的初始化

2.2.1 8255初始化

8255A的三个独立端口A端口、B端口、C端口,它们彼此独立,都是8位的数据口,用来完成和外设之间的信息交换。

A端口对应一个8位的数据输入锁存器和一个8位的数据输出锁存器和缓冲器。因此,A端口适合用在双向的数据传输场合,用A端口传送数据,不管是输入还是输出,都可以锁存。B端口、C端口分别是由一个8位的数据输入缓冲器和一个8位的数据输出锁存器和缓冲器组成。一次用B端口和C端口传输数据作输出端口时,数据信息可以实现锁存功能;而用作输入端口时,则不能对数据实现锁存。A端口和B端口常用作独立的输入口和输出口,而C端口常用来配合A端口和B端口的工作使用。C分成两个4位的端口,这两个4位的端口分别作为A端口和B端口的控制信号和输入状态信号使用。

控制电路分为A组控制电路和B组控制电路。A组控制电路控制A端口和C端口的高4位(PC4~PC7)。B组控制电路控制B端口和C端口的低4(PC0~PC7)由它们内部的控制寄存器接收CPU输出的方式控制命令字,还接受来自读/写控制逻辑电路读/写命令,根据控制命令决定A组合B组的工作方式和读/写操作。 8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。

8255A由编程写入的控制字有两个:方式控制字和C端口置位/复位控制字。方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PCi(i=0~7)的电平。两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。

(1)8255A工作方式控制字的格式

D0:设置PC3~PC0的数据传送方向。D0=1为输入;D0=0为输出。

D1:设置B口的数据传送方向。D1=1为输入;D1=0为输出.

D2:设置B口的工作方式。D2=1为方式1;D2=0为方式0。

D3:设置PC7~PC4的数据传送方向。D3=1为输入;D3=0为输出。

D4:设置A口的数据传送方向。D4=1为输入;D4=0为输出。

D6D5:设置A口的工作方式。D6D5=00为方式0,D6D5=01为方式1,D6D5=10或11为方式2。

D7:方式控制字的标志位,恒为1。

(2)C端口口置位/复位控制字的格式

8255A C口置位/复位控制字用于设置C口某一位口线PCi(i=0~7)输出为高电平(置位)或低电平(复位),对各端口的工作方式没有影响。

D3~D1:8种状态组合000~111对应表示PC0~PC7。

D0:用来设定指定口线PCi为高电平还是低电平。当D0=1时,指定口线PCi 输出高电平;当D0=0时,指定口线PCi输出低电平。

D6~D4没有定义,状态可以任意,通常设置为0。D7位作为标志位,恒为0。例如,若把PC2口线输出状态设置为高电平,则置位/复位控制字为00000101B。

(3)8255A初始化编程

8255A的初始化编程比较简单,只需要将工作方式控制字写入控制端口即可。另外,C口置位/复位控制字的写入只是对C口指定位输出状态起作用,对A 口和B口的工作方式没有影响,因此只有需要在初始化时指定C口某一位的输出电平时,才写入C口置位/复位控制字。

初始化思路为:

①地址确定

②控制字确定

③初始化程序

按照系统要求对8255进行初始化,具体程序如下:

MOV AL,91H ;设置8255工作方式,输出方式0

OUT 83H,AL

MOV AL,00H ;C端口初始化

OUT 82H,AL

2.2.2 8259初始化

8259A时可编程控制器,它通过对控制字的编程控制,来初始化来控制初始化和控制8259A工作方式,使其完成规定的功能。CPU对8259A的控制命令分为两类:初始化控制字(ICW),从工作命令字(OCW)。8259A共有7个控制字,其中4个是初始化控制字,3个是操作控制字。

8259A的编程分为两部分:一是初始化程序,它是通过初始化控制字来完成对8259A初始状态的设定,在计算机加电初始化时有BIOS完成的:而是操作方式的编程,它是通过操作命令字控制8259A的工作方式,操作命令字可在8259A 初始化后的任何时间写入。

按照系统要求,8259A的初始化程序为:

MOV AL,13H ;初始化8259ICW1

OUT 20H,AL

MOV AL,08H ;送中断类型码基值

OUT 21H,AL

MOV AL,0DH ;一般中断结束方式

OUT 21H,AL

2.2.3 2583的初始化

按照系统需求8253需是通道0、通道1、通道2,工作在方式三,即方波发

生器。要使用8253,必须首先对其进行初始化,初始化主要有两种方法:

①对每个计数器分别进行初始化,先写控制字,后写数值。如果是16位的,

则先写地8位再写高8位。

②先写所有计数器的方式字,再写各个计数器的计数值。如果是16位的,

则先写地8位再写高8位。

8253加电后的工作方式不确定,必须经初始化编程后,才能正常工作。

初始化编程:

①先写入控制字;

②写入计数初值;

③工作后,可随时读取计数值;

④一般先将计数值锁存在通道内的锁存器中然后可分两次读取16 位的计数;

根据系统要求,应将计数器0,计数器1和计数器2设置为方式3,即方波

发生器。计数器2需输出频率为2KHz的方波,由于输入为1MHz,计数器取自时

钟发生器的输出的2MHz的时钟脉冲,其重复周期为T=1/2MHz=0.5μs,而输出

方波周期为T0=1/2KHz=0.5ms,因此计数器2初值设置为你

=fi/fo=2MHz/1KHz=2000。而且由系统获得的信息有8253的端口地址范围是

40H~43H;

在方波的产生之前对8253进行初始化的程序如下:

MOV DX, 43H

MOV AL,36H ;设置控制字00110110(计数器0、方式3,写两个字节)

OUT DX,AL ;输出计数器0的控制字,计数器0以二进制工作在方式3

MOV AX,00H ;设置计数初值

OUT 40H,AL

MOV AL,10H

OUT 40H,AL

MOV AL,77H ;设置8253计数器1方式控制字

OUT 43H,AL

MOV AL,00H ;8253设置计数初值

OUT 41H,AL

MOV AL,10H

OUT 41H,AL

MOV AL,0B7H ;设置8253计数器2方式控制字

OUT 43H,AL

MOV AL,00H ;设置8253计数器计数初值

OUT 42H,AL

MOV AL,05H

OUT 42H,AL

2.3 系统功能的实现

根据系统需要,对各芯片进行编程操作,以实现系统的实际功能。主要包括:中断设置、数据采集、中断服务操作。具体程序如下:

2.3.1 中断设置

MOV AH,25H ;置中断向量

MOV AL,08H ;中断类型号为入口参数

MOV BX,SEG KEYBINT ;DS:DX指向4字节地址

MOV DS,BX

MOV DX,OFFSET KEYBINT

INT 21H

MOV AH,25H

MOV AL,09H

MOV BX,SEG KEYAINT

MOV DS,BX

MOV DX,OFFSET KEYAINT

INT 21H

STI

2.3.2 数据采集

MOV AL,00L ;选ADC0809模拟量输入通道号 OUT 81H,AL

LOP: MOV AL,09H ;置PC4=1,锁存模拟量通道选择号 OUT 83H,AL

NOP

MOV AL,08H ;置PC=0,启动A/D转换

OUT 83H,AL

LOP1: IN AL,82H ;读8255C端口,查询EOC

TEST AL,01H

JZ LOP1

IN AL,80H ;读A/D转换结果

CMP AL,7AH ;判断是否高于上限

JA ABOVE

IN AL,82H ;判断湿度传感器是否产生提示信号 TEST AL,02H

JNZ TS

MOV AL,0EH

OUT 83H,AL

JMP LOP

ABOVE: IN AL,82H

TEST AL,02L

JZ TS

MOV AL,0F0H ;启动提示信号发生器及调节设备

OUT 82H,AL

JMP LOP

TS: MOV AL,0FH ;光信号提示

OUT 82H,AL

JPM LOP

2.3.3 中断服务操作

KEYAINT PROC FAR ;按键A中断服务子程序

PUSH AX

MOV AL,0F0H

OUT 82H,AL

MOV AL,20H

OUT 20H,AL

POP AX

IRET

KEYAINT ENDP

KEYBINT PROC FAR

PUSH AX

MOV AL,1XH

OUT 82H,AL

MOV AL,20H ;给8259发送中断结束命令

OUT 20H,AL

POP AX

IRET

KEYBINT ENDP ;按键B中断服务子程序

CODE ENDS

END START

3.系统剖析

该系统是我电子芯片设计的监测器,可以实现在农业生产中的初步应用。据我分析此系统并不是完美的,初步确定有以下缺陷:

⑴考虑到大棚内实际的环境和电子元件的制作材料等因素,电子元件长

期至于室外或者大棚内都将会大大减少芯片寿命,必须将芯片部分置于温度适宜的室内,所以此要求在科技还不是很发达的农村是很难做到的。

⑵大棚内的生态系统虽不是很复杂,但是大棚内的环境还是会随季节的

变化而变化,不同的季节所种植的作物品种不同,其所需的湿度和温度定会有差距。所以从传感器到汇编语言程序都应该有所调整,甚至需要频繁调整,因此这也是差强人意之处。

⑶该系统如果大规模采用可能会可能成本比较高还比较难以实现。不过,

可以满足实践需求,我觉得还需改进在温度湿度上下限方面无法随季节改变的缺陷。

4.原件清单

5.小结与体会

这样按照系统要求,我已经完成了利用Intel8253、8255、8259以及ADC0809组合在大棚环境监测方面的应用。虽然比较简单,不过,可以通过这个系统解决许多人工无法处理恰当的实际问题。作为一个来自农业大省的孩子,我对农业有着高度的敏感性。当前电子技术突飞猛进的发展,各种芯片在微型计算机发展中起到里不可替代的作用,而且芯片的多种功能与其灵活的应用方式相结合所解决的实际问题已经强烈地吸引着广大电子爱好者的眼光。我非常渴望能用我所学到的电子方面知识为我身边的人为我的家乡做些什么,我想这大棚环境提示系统的设计使我向我的目标迈进了一小步。我相信我对Intel8253、8259、8255和ADC0809在农业生产上的应用只是在电子技术的领域冰上一角,更广阔的空间等待我们一起去探索。

参考文献

[1]龚尚福主编《微机原理与接口技术》西安电子科技大学出版社 2009

[2]王玉良主编《微机原理与接口技术》北京邮电大学出版社2006

[3]谢自美主编《电子线路设计,实验,测试》华中理工大学出版社2003

[4]耿国庆主编《实验室研究与探索》2001.03

微机原理与接口技术(第三版)课本习题答案

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

西电微机原理大作业

科目:微机原理与系统设计授课老师:李明、何学辉 学院:电子工程学院 专业:电子信息工程 学生姓名: 学号:

微机原理硬件设计综合作业 基于8086最小方式系统总线完成电路设计及编程: 1、扩展16K字节的ROM存储器,起始地址为:0x10000; Intel 2764的存储容量为8KB,因此用两片Intel 2764构成连续的RAM存储区域的总容量为2 8KB=16KB=04000H,鉴于起始地址为10000H,故最高地址为 10000H+04000H-1=13FFFH 电路如图

2、扩展16K 字节的RAM 存储器,起始地址为:0xF0000; Intel 6264的存储容量为8KB ,因此用两片Intel 6264构成连续的RAM 存储区域的总容量为2 8KB=16KB=04000H ,鉴于起始地址为F0000H ,故最高地址为 F0000H+04000H-1=F3FFFH 片内地址总线有13根,接地址总线的131~A A ,0A 和BHE 用于区分奇偶片,用74LS155作译码电路,如图所示 3、设计一片8259中断控制器,端口地址分别为:0x300,0x302; 鉴于端口地址分别是300H 和302H ,可将82590A 接到80861A ,其他作译码。电路如图:

4、设计一片8253定时控制器,端口地址分别为:0x320,0x322,x324,0x326; 根据端口地址可知,825301,A A 应该分别接到8086的12,A A ,其余参与译码。电路如图:

5、设计一片8255并行接口,端口地址分别为:0x221,0x223,x225,0x227; 由于端口地址为奇地址,8086数据总线应该接158~D D ,且BHE 参与译码。根据端口地址可得825501,A A 应该分别接到8086的12,A A ,其余参与译码。电路如图:

西电微机原理2010试题

西安电子科技大学微机原理试题 姓名学号总分 一.填空题(每空1分,共30分) 1)15的8位二进制补码为,-15的8位二进制补码为。 2)某8位二进制补码为80H,其十进制表示为。 3)字符B的ASCII码为,字符0的ASCII码为。 4)8086CPU总线按功能可分为数据总线,总线和总线。 5)8086CPU数据总线包含条数据线,最多可寻址的存储器容量为。 6)CPU内部用于计算的部分为,用于保存下一条要执行的指令地址的 为。 A) 程序状态字B) 程序计数器C) ALU D) 工作寄存器 7)经常用作循环次数的寄存器是,用于I/O端口寻址的寄存器是。 A) AX B) BX C) CX D) DX 8)指令MOV CX, 1000的结果是CH= 。 9)将0D787H和4321H相加后,标志位CF= ,SF= ,ZF= , OF= ,AF= ,PF= 。 10)寄存器SI中能够表示的最大有符号数为,最小有符号数为。 11)设(DS)=4000H,(BX)=0100H,(DI)=0002H,(4002)=0A0AH,(40100)=1234H,(40102) =5678H,求以下指令分别执行后AX寄存器的值。 MOV AX , [2] (AX)= 。 MOV AX , [BX] (AX)= 。 MOV AX , [BX][DI] (AX)= 。 MOV AX , 1[BX] (AX)= 。 12)用一条指令将AX寄存器低四位清零,其余位不变:。 13)用一条指令将AX寄存器高四位取反,其余位不变:。 14)用一条指令将AX高8位与低8位交换:。 15)用一条指令将AL中的大写字母变成相应的小写:。 二.判断题(每题1分,共10分) 以下语句是语法正确的打√,语法错误打×,其中TABLE和TAB为两个字节类型的变量。 1)MOV DS , 1000H 2)MOV DS , TABLE 3)MOV [1200H] , [1300H] 4)ADD AX , BX , CX 5)XCHG AL , CL 6)CALL AL 7)MUL AX , BX 8)JU L1 9)SHR CL , CL

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

西电微机原理实验报告

微机系统实验报告 班级:031214 学号:03121370 姓名:孔玲玲 地点:E-II-312 时间:第二批

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握DOS功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验设备 PC机一台。 三、实验内容 (1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能 调用完成必要提示信息的显示。 (2) 在屏幕上显示自己的学号姓名信息。 (3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到 输入“Q”或“q”时结束。 (4)自主设计输入显示信息,完成编程与调试,演示实验结果。 考核方式:完成实验内容(1)(2)(3)通过, 完成实验内容(4)优秀。 实验中使用的DOS功能调用:INT 21H 表3-1-1 显示实验中可使用DOS功能调用 AH 值功能调用参数结果 1 键盘输入并回显AL=输出字符 2 显示单个字符(带Ctrl+Break检查) DL=输出字符光标在字符后面 6 显示单个字符(无Ctrl+Break检查) DL=输出字符光标在字符后面 8 从键盘上读一个字符AL=字符的ASCII码 9 显示字符串DS:DX=串地址,‘$’为结束字符光标跟在串后面 4CH 返回DOS系统AL=返回码

四、实验步骤 (1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。 (2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。 (3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。按F9连续运行。 (4)更改数据区的数据,考察程序的正确性。 五、实验程序 DATA SEGMENT BUFFER DB '03121370konglingling:',0AH,0DH,'$' BUFFER2 DB 'aAbBcC','$' BUFFER3 DB 0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START: MOV AX,DA TA MOV DS,AX mov ah,09h mov DX,OFFSET BUFFER int 21h

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

西电微机原理上机

4.37 (上机题)编写程序实现,将缓冲区BUFFER中的100个字按递增排序,并按下列格式顺 序显示: 数据1 <原序号> 数据2 <原序号> …… 算法流程图: 调试问题、心得体会: 通过这道题,熟悉了流程图画法,掌握了产生随机数,“冒泡法”排序,子函数编写调用等的基本过程,尤其对于中断调用,并利用ASCII码回显和对课本字节型数据“冒泡法”排序改进为字形排序的过程,是我受益匪浅。并且亲身实践了源程序的汇编、调试也连接。 问题:将字节型冒泡法直接应用于该题,导致出错,该题存储的是字型数据!

原因在于只是排列的AL中的数值,并不是产生的随机数! 同时对于字型与字节型在运算类指令中的应用还是有误,以及其他的一些小错误,应加以改善! 运行结果: 程序代码: STACK SEGMENT STACK 'STACK' DW 100H DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT BUFFER LABEL WORD

X=17 REPT 100 X=(X+80)mod 43 DW X ENDM BUF DW 100 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX LEA SP,TOP MOV CX,100 LEA SI,BUFFER LEA DI,BUF L1: MOV AX,[SI] INC SI INC SI MOV [DI],AX INC DI INC DI LOOP L1 MOV CX,100 DEC CX LEA SI,BUFFER PUSH CX ADD CX,CX ADD SI,CX POP CX L2: PUSH CX PUSH SI L3: MOV AX,[SI] CMP AX,[SI-2] JAE NOXCHG XCHG AX,[SI-2] MOV [SI],AX NOXCHG:

《微机原理与接口技术》参考答案

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 2 1. 为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2. 8086CPU哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元和执行单元。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3. 8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指

针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。4. 8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5. 在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。它们的含义如下:CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数

西电机电院微机原理上机答案

汇编语言上机题 姓名:学号:成绩: 实验一、上机过程及DEBUG应用 编写程序,建立数据段DATA,将你的姓名(汉语拼音)及学号存入DATA数据段的BUFFER1区域,然后利用程序将BUFFER1区域中的字符串(姓名及学号)依次传送到从BUFFER2开始的内存区域中去。 上机过程与要求 1.建立原程序: 源程序文件名为,源程序清单如下: data segment buffer1 db 'hepan04105038' buffer2 db 13 dup() data ends code segment ASSUME CS:CODE,DS:DATA START: mov ax,data mov ds,ax mov es,ax lea si,buffer1 lea di,buffer2 mov cx,0d cld rep movsb mov ah,4ch int 21h code ends end start 2.汇编后生成的obj文件名为buffer .OBJ 3.连接后生成的目标文件名为buffer .EXE 4.DEBUG调试:在DEBUG下,利用U、D、G、R等命令对EXE文件进行调试后,相关信息如下: (1)表1-1 反汇编清单中所反映的相关信息 *注:最后一条指令是对应于代码段中最后一条指令 (2)在未执行程序之前,用D命令显示内存区域BUFFER1及BUFFER2中的内容, 其相关信息如表1-2所示。 表1-2 未执行程序之前的数据区内容

(3)执行程序以后用D命令显示内存区域的相关信息,如表1-3。 表1-3 执行程序之后的数据区内容 (4)用R命令检查寄存器的内容如表1-4所示。 回答问题 a)宏汇编命令MASM的作用是什么 答:产生OBJ文件。 b)连接命令LINK的作用是什么连接后生成什么文件 答:产生EXE文件,生成EXE文件。 c)DEBUG下U命令的作用是什么 答:反汇编被调试命令。 d)DEBUG下D命令的作用是什么 答:显示内存单元的内容。 e) 在DEBUG下如何执行.EXE文件,写出执行命令的常用格式。 答:DEBUG 。 实验二、寻址方式练习 掌握8086/8088的寻址方式是学习汇编语言的基础,因此,我们以数据传送指令为例编写了下面的程序,通过该程序对主要的几种寻址方式进行练习。 DATA1 SEGMENT M1 DB 0A0H,0A1H,0A2H,0A3H,0A4H,0A5H M2 DB 0A6H,0A7H,0A8H,0A9H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFH DATA1 ENDS DATA2 SEGMENT N1 DB 0B0H,0B1H,0B2H,0B3H, 0B4H,0B5H N2 DB 0B6H,0B7H, 0B8H,0B9H,0BAH,0BBH, 0BCH,0BDH,0BEH,0BFH DATA2 ENDS STACK SEGMENT PARA STACK ‘STACK’ DB 0C0H,0C1H,0C2H,0C3H, 0C4H,0C5H DB 0C6H,0C7H, 0C8H,0C9H,0CAH,0CBH, 0CCH,0CDH,0CEH,0CFH

(完整版)微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

微机原理与接口技术期末考试试题及答案

微机原理与接口技术期末考试题库 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接 口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?

答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

西安电子科技大学机电院微机原理课程设计

微机原理课程设计 学院机电工程学院 专业自动化 姓名 ******* 学号 ******** 指导教师千博董瑞军

一、微元课程设计 1.1课程设计的意义 《微机原理》是国家教育部规定的计算机专业、电子信息专业、自动化专业、机电一体化等工科专业的专业基础必修课程。课程设计涉及8086CPU的指令系统、汇编语言及程序设计、存储器组成、8259A中断控制器以及8253可编程定时计数器的编程与应用等内容,是将所学知识融会贯通的实践性教学环节。为了培养学生分析问题、获取信息和综合应用知识的能力。 1.2 课程设计的目的 通过本课程的学习,使学生熟悉微机系统在现代生产和生活领域中的应用,了解计算机技术和控制技术对现代科技事业发展的作用,能够综合运用所学的微机原理知识和控制理论知识为专业学习服务,并使学生受到必要的基本技能的训练,有助于学生综合能力和整体素质的提高。为微机软硬件开发和分析设计各种自动控制系统打下良好基础。 1.3课程设计的要求 (一)设计微处理器8088最小系统; 熟练掌握Protel99电路图设计功能 设计8088最小系统电路,也可以是其他型号的微处理器 1.基本要求 了解工具软件在课程设计中的作用。掌握Protel99电路图设计功能。熟练掌握工具软件设计8088最小系统电路。 2.重点、难点 重点:设计时钟电路、总线电路、存储器(ROM和RAM)电路。 难点:设计译码电路。 (二)设计微机接口应用电路; 1设计温度检测A/D变换接口电路 2设计D/A变换接口电路驱动直流电机 3设计步进电机控制电路 1.基本要求 了解模数转换电路和数模变换电路的原理。掌握绘图软件绘图技术。熟练掌握工

微机原理与接口技术试题库(含答案)汇总

一、问答题 1、下列字符表示成相应的ASCII码是多少? (1)换行0AH (2)字母“Q”51H (3)空格20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数; 0~255 (2)8位二进制无符号定点小数;0.996094 (3)16位二进制无符号定点整数;0~65535 (4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16 4、有一个二进制小数X=0.X1X2X3X4X5X6 (1)若使X≥1/2,则X1……X6应满足什么条件? X1=1 若使X>1/8,则X1……X6应满足什么条件?X1∨X2 ∨X3=1 (2) 5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数;X>Y (2)X和Y两个数均为有符号的补码数。X

微机原理与接口技术

微机原理及接口技术 第一部分客观题 一、单项选择题(每小题2分,共10分) 1. 寄存器ECX勺低16位部分可以用 ____________ 达。 A EX B CX C CH D CL 2. 8086处理器执行“ OUT DX,AL指令时,AL的数据出现在_____________ 输出给外设。 A控制总线B地址总线C电源和地线D 数据总线 3. 与DRAM目比,SRAM勺特点是___________ 。 A集成度高、存取周期长B集成度低、存取周期长 C集成度高、存取周期短D集成度低、存取周期短 4. 使用语句“ var dword 3721 ”定义的变量var在主存占用___________ 字节存储空间。 A 1 B 2 C 4 D 8 5. 用8K>8结构SRAM芯片构成64000H H6FFFFH地址范围的存储器,需要使用__________ 。 A 4 B 6 C 8 D 10 二、对错判断题(每小题2分,共10分)(说明:正确的选“ A ,错误选“ B” 6. IA-32 处理器设置的中断标志IF = 0是关中断,表示禁止内部中断和外部中断的所有中断请求。X

7. 已知var是一个变量,语句“ add esi,byte ptr var ”没有语法错误。X 8. DMA传输由DMA控制器控制,无需处理器执行I/O指令。V 9. 高性能计算机中常使用Cache (高速缓冲存储器)提高主存性能。V 10. 向某个I/O端口写入一个数据,一定可以从该I/O端口读回这个数据。V 第二部分主观题 一、填空题(每空2分,共10分) 1. 8086处理器引脚有3个最基本的读写控制信号,它们是M/IO*,—RD* __________ 和____ /R* ______ 。 2. 逻辑地址由—段基地址_________ 口偏移地址两部分组成。代码段中下一条要执行的指令由CS和 _____ 指针IP ____ 寄存器指示,后者在实地址模型中起作用 的仅有_____ 指针 ____ 寄存器部分。 二、问答题(每小题6分,共30分) 1. 什么是JMP指令的近(near)转移和远(far )转移? jmp指令的近转移是指在同一个段里面的转移,也叫做段内近转移,用汇编编码就是这样的jmp near ptr标号 jmp指令的远转移是指段与段之间的转移,就是说不在同一个段的转移,用汇编编码就是这样的jmp far ptr 标号 2. 什么是存储访问的局部性原理,它分成哪两个方面的局部性? 程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现岀高度的局限性,包括时间局部性和空间局部性。 1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。 2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

西安电子科技大学2010年微机原理试题

姓名学号总分任课老师 一.填空题(每空1分,共30分) 1)15的8位二进制补码为,-15的8位二进制补码为。 2)某8位二进制补码为80H,其十进制表示为。 3)字符B的ASCII码为,字符0的ASCII码为。 4)8086CPU总线按功能可分为数据总线,总线和总线。 5)8086CPU数据总线包含条数据线,最多可寻址的存储器容量为。 6)CPU内部用于计算的部分为,用于保存下一条要执行的指令地址的为。 A) 程序状态字B) 程序计数器C) ALU D) 工作寄存器 7)经常用作循环次数的寄存器是,用于I/O端口寻址的寄存器是。 A) AX B) BX C) CX D) DX 8)指令MOV CX, 1000的结果是CH= 。 9)将0D787H和4321H相加后,标志位CF= ,SF= ,ZF= , OF= ,AF= ,PF= 。 10)寄存器SI中能够表示的最大有符号数为,最小有符号数为。 11)设(DS)=4000H,(BX)=0100H,(DI)=0002H,(4002)=0A0AH,(40100)=1234H,(40102) =5678H,求以下指令分别执行后AX寄存器的值。 MOV AX , [2] (AX)= 。 MOV AX , [BX] (AX)= 。 MOV AX , [BX][DI] (AX)= 。 MOV AX , 1[BX] (AX)= 。 12)用一条指令将AX寄存器低四位清零,其余位不变:。 13)用一条指令将AX寄存器高四位取反,其余位不变:。 14)用一条指令将AL中的大写字母变成相应的小写:。 15)用一条指令将AX高8位与低8位交换:。 二.判断题(每题1分,共10分) 对以下语句语法正确的打√,语法错误打×,其中TABLE和TAB为两个字节类型的变量。 1)MOV DS , 1000H 2)MOV DS , TABLE 3)MOV [1200H] , [1300H] 4)ADD AX , BX , CX 5)XCHG AL , CL 6)CALL AL 7)MUL AX , BX 8)JU L1 9)SHR CL , CL 10)CMP AX , CL

《微机原理与接口技术》参考答案完整版

《微机原理与接口技术》习题参考答案 习题2 1.为何说8086CPU是16位CPU? 答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2.8086CPU由哪两个单元组成?其中,指令队列在哪个单元中,有何作用? 答:总线接口单元(Bus Interface Unit,BIU)和执行单元(Execution Unit,EU)。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3.8086CPU中8位寄存器和16位寄存器是什么关系? 答:8086的通用寄存器包括数据寄存器、指针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。 4.8086CPU中的IP寄存器有何用途? 答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5.在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是 什么? 答:有CF、PF、AF、ZF、SF、OF。它们的含义如下: CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。 PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数中“1”的个数为偶数时PF=1,否则PF=0。 AF:辅助进位标志。在字节运算时,由低半字节(字节的低4位)向高半字节有进位或借位时,AF=1,否则AF=0。 ZF:零标志。运算结果为零时ZF=1,否则ZF=0。 SF:符号标志。它记录运算结果的最高位,即由符号数的符号。 OF:溢出标志。在运算过程中,如果运算结果已经超出了机器能表示的数值范围(指有符号数)称为溢出,此时OF=1,否则OF=0。 6.分别完成下面的8位运算,并说明各主要标志位的状态,以及结果是否产生溢出(提 示:需要分为有符号数和无符号数两种情况)。

西安电子科技大学网络跟继续教育学院微机原理试题资料精

学习中心_________ 姓名_____________ 学号 西安电子科技大学网络与继续教育学院 《微机原理与应用》全真试题 (开卷90分钟) 题号一二三四五六总分 题分30 10 20 10 10 20 得分 一、填空(每空2分,共30分) 1.若(DX)=7BH,(CL)=03H,CF=1,则CPU执行 RCR DX,CL指令后,(DX)= 。 2.8086CPU关于数据的寻址方式中,是存储器寻址方式的有 。 3.若给某微机系统配置16K字节的SRAM电路,SRAM芯片选用Intel6264,则共需片6264芯片。 4.在8086系统中,若某存储器字单元是未对准的,则CPU访问该存储单元需个总线周期完成。若访问另一偶地址存储器字节单元时,使用数据总线。

5. MOV AX,[BP][DI] +13H 指令的源操作数的寻址方式为。 6.若(DS)=0100H ,(SS)=0150H ,(BX)=0003H ,(BP)=0003H ,存储器 (01003H)=5566H,(01503H)=7788H,则CPU执行:MOV AL,[BX]指令后,(AL)= ,CPU执行MOV AX,[BP]指令后,(AX)= 。 7. 将十进制数75用分离BCD码形式定义到BCDWORD字单元的伪指令定义 语句为。 8.若(DL)=OFFH,CF=0,则CPU 执行INC DL 指令后,CF= ,(DL)= 。 9.8086CPU的字符串处理指令的目的串地址默认在。 10.I/O 地址译码方式有部分地址译码和。 11.若分配给某存储器单元的逻辑地址为8B90H:7850H,则该单元的物理地址为 H。 12.十进制数-100的补码为 B。 二、判断下列指令语法书写是否正确,对于正确指令打√,并分别说明源 操作数的寻址方式,对于错误指令打×,说明其错误原因。(10分)(设VARB为字节变量,VARW为字变量) 1.MOV DS, SEG VARW 2.SUB DX, VARB 3.PUSH 12ABH

西安电子科技大学考研复试-微机原理练习题

《微型计算机原理及接口技术》试题 一. 单项选择题 1. 8086CPU芯片的外部引线中,数据线的条数为○ ①6条②8条③16条④20条 2. 8088CPU上READY信号为下面哪种信号有效?○ ①上升边②下降边③高电平④低电平 3. 8088CPU中的CS寄存器是一个多少位的寄存器?○ ①8位②16位③24位④32位 4. 当8086CPU 读写内存的一个规则(对准)字(16位)时,BHE和A0的状 态必须是○ ①00 ②01 ③10 ④11 5. 当8086CPU读I/O接口时,信号M/IO和DT/R的状态必须是○ ①00 ②01 ③10 ④11 6. 在8088CPU中, 用于寄存器间接寻址输入输出指令的寄存器是○ ①AX ②BX ③CX ④DX 7. ISA总线是一种多少位的内(系统)总线?○ ①8位②16位③32位④64位 8. 属于只读存贮器的芯片是○ ①SRAM ②DRAM ③EPROM ④SDRAM 9. 需要定时刷新的存贮器是○ ①SRAM ②DRAM ③EPROM ④EEPROM 10. 内存从A4000H到CBFFFH,共有○ ①124K ②160K ③180K ④224K 11. 擦除EPROM是用○ ①+5V电压②+15V电压③+21V电压④紫外光照射 12. 采用查询方式来实现输入输出是因为它○ ①速度最快 ②CPU可以不介入 ③实现起来比较容易 ④在对多个事件查询工作时,能对突发事件做出实时响应 13. 实现DMA传送,需要○ ①CPU通过执行指令来完成②CPU利用中断方式来完成 ③CPU利用查询方式来完成④不需要CPU参与即可完成 14 下面哪种说法不正确○ ①内存地址也可做为接口地址使用②内存地址不可做为接口地址使用 ③接口地址不可做为内存地址使用④接口地址也可做为外存地址使用

相关文档
最新文档