当前位置:文档之家› 微机原理

微机原理

微机原理
微机原理

灌装系统的计算机控制技术的实现

课程名称:微机原理

班级:13级机制2班

学号:

姓名:

指导教师:陈子明、李艳文、张庆玲、赵玉勤、王志松

朱学军、王鑫

2016年5月

摘要

在自动化快速发展的今天,自动化控制越来越重要。本文以自动灌装和检验为题目进行了自动化控制的程序设计,通过程序的编写和模拟实现自动罐装与检验控制程序的调试。文中主要通过项目的模拟方案、电路图、线路图、程序框图、详细程序介绍、程序调试结果与分析几方面分析论述了自动灌装程序可行性和正确性。文中主要结合实验调试进行程序的介绍,通过调试中的各种现象模拟工厂中的灌装过程。

关键词:自动灌装程序设计模拟调试

前言

自动灌装控制主要为了解决工厂中饮料生产线的自动控制和产品的检测。自动控制可以大幅提高工厂的生产效率和产品的合格率。现在很多厂家都在进行自动化建设,通过自动控制可以节约人工降低成本,提高产品的竞争力度。文中主要介绍自动灌装的程序控制和质量的检测,通过模拟工厂的各种执行元件进行程序的调试和检测。在程序设计和调试中会遇到各种各样的困难,通过积极的查阅资料去了解一些控制元件的使用和编程方式,这个过程提高了我们对课本知识的理解和应用,并让我们体会了微机原理的魅力。通过程序实现了空瓶检测、灌装、质量检测、不合格瓶数的计数和不合格产品的重新灌装。

目录

1. 项目的描述及要求 (1)

1.1项目题目 (1)

1.2需要解决的问题 (1)

1.3项目要求 (1)

2. 项目的模拟方案 (2)

2.1.所用的硬件 (2)

2.2程序功能设计和现象 (2)

2.3.电路图 (3)

2.4.系统连线图 (4)

3. 控制程序 (5)

3.1.框图 (5)

3.2.详细程序 (6)

4. 模拟的实验结果 (18)

4.1. 程序调试的情况 (18)

4.2. 程序运行的结果分析 (18)

5.结论 (19)

6. 主要参考文献 (20)

7. 感言 (20)

灌装系统的计算机控制技术的实现

(燕山大学机械工程学院)

1.项目的描述及要求

1.1项目题目

某厂生产瓶装保健饮品,要求设计自动化控制装置,检测每个空瓶到位后,启动灌装,装满600克,停止该瓶的灌装。为保证顾客利益,每瓶不得少于595克,少于595克的,通过另一传送带再处理,并记录而且显示少于595克的瓶数。

1.2需要解决的问题

在自动控制中需要解决空瓶到位的检测,检测到空瓶到位后将空瓶运送到灌装区进行灌装,灌装完成后进行进行质量检测,如果质量不合格,运回待灌取进行重新灌装,并进行计数,质量合格的产品运送到下个装箱过程。

1.3项目要求

通过使用8086、8255、8253、数码管等元件实现项目的模拟控制,设计实验电路,编写实验程序。

1

2.项目的模拟方案

2.1.所用的硬件

项目中使用8086芯片进行中央控制,使用8253产生频率为4秒的空瓶运送周期模拟信号,再将产生的信号输入给8255,通过检验输入信号是否符合要求判别是进行下一步还是继续检测输入信号。使用8255来控制电机的正反转和数码管的显示。使用液晶屏显示不同时刻程序的工作内容。

2.2程序功能设计和现象

8253产生空瓶运送方波,测试笔红绿灯来回闪烁,绿灯时表示空瓶到位可以灌装。当8255的PC0端口检测到绿灯亮时执行灌装程序,液晶屏显示“灌装开始”,电机转动;若检测到红灯亮,则继续循环检测,直至检测到绿灯亮;灌装完成后,液晶屏显示“灌装完成”,进行质量检测,设置一组同时灌装10瓶,检测合格的饮料运送至下一生产线;检测到不合格产品时,电机反转,将不合格的饮料重新运送到待装区进行重新灌装,并记录不合格的饮料数。

2

3

2.3.电路图

图一 8255电路图图二 8053电路图

图三液晶屏电路图

图四步进电机电路图2.4.系统连线图

4

3.控制程序

3.1.框图

5

3.2.详细程序

.MODEL SMALL

WR_COM_AD_L EQU 0d004H ;写左半屏指令地址

WR_COM_AD_R EQU 0d000H ;写右半屏指令地址

WR_DATA_AD_L EQU 0d006H ;写左半屏数据地址

WR_DATA_AD_R EQU 0d002H ;写右半屏数据地址

RD_BUSY_AD EQU 0d001H ;查忙地址

RD_DATA_AD EQU 0d003H ;读数据地址

X EQU 0B8H ;起始显示行基址

Y EQU 040H ;起始显示列基址

FirstLine EQU 0C0H ;起始显示行

.STACK ;定义堆栈段.DATA ;定义数据段;-- 文字: 灌 --

Line1_1 DB 50h, 48h, 47h,0FCh, 44h, 44h, 42h, 3AH DB 0EFh,0BAH, 82h,0FAH,0AFh,0BAH, 02h, 00h

DB 00h, 7Fh, 20h, 3Fh, 20h, 7Fh, 02h, 01h

DB 0FFh, 4AH, 4AH, 7Fh, 4AH, 6AH, 40h, 00h ;-- 文字: 装 --

Line1_2 DB 00h, 42h, 24h, 10h,0FFh, 00h, 44h,0A4h DB 24h, 3Fh, 24h, 34h, 26h, 84h, 00h, 00h

DB 01h, 21h, 21h, 11h, 09h,0FDh, 43h, 21h

DB 0Dh, 11h, 29h, 25h, 43h,0C1h, 41h, 00h ;-- 文字: 开 --

Line1_3 DB 80h, 82h, 82h, 82h,0FEh, 82h, 82h, 82h DB 82h, 82h,0FEh, 82h, 83h,0C2h, 80h, 00h

DB 00h, 80h, 40h, 30h, 0Fh, 00h, 00h, 00h

DB 00h, 00h,0FFh, 00h, 00h, 00h, 00h, 00h ;-- 文字: 始 --

Line1_4 DB 10h, 10h,0F0h, 1Fh, 10h,0F0h, 40h, 60h DB 58h, 47h, 40h, 40h, 50h, 60h,0C0h, 00h

DB 40h, 22h, 15h, 08h, 16h, 61h, 00h,0FEh

DB 42h, 42h, 42h, 42h, 42h,0FFh, 02h, 00h ;-- 文字: 灌 --

Line2_1 DB 50h, 48h, 47h,0FCh, 44h, 44h, 42h, 3AH

6

DB 0EFh,0BAH, 82h,0FAH,0AFh,0BAH, 02h, 00h DB 00h, 7Fh, 20h, 3Fh, 20h, 7Fh, 02h, 01h DB 0FFh, 4AH, 4AH, 7Fh, 4AH, 6AH, 40h, 00h

;-- 文字: 装 --

Line2_2 DB 00h, 42h, 24h, 10h,0FFh, 00h, 44h,0A4h DB 24h, 3Fh, 24h, 34h, 26h, 84h, 00h, 00h DB 01h, 21h, 21h, 11h, 09h,0FDh, 43h, 21h DB 0Dh, 11h, 29h, 25h, 43h,0C1h, 41h, 00h ;-- 文字: 结 --

Line2_3 DB 00h, 30h, 28h,0A4h, 63h, 10h, 08h, 48h DB 48h, 48h, 7Fh, 48h, 48h, 4Ch, 08h, 00h DB 00h, 22h, 63h, 22h, 12h, 12h, 00h,0FEh db 42h, 42h, 42h, 42h, 42h,0FFh, 02h, 00h

;-- 文字: 束 --

Line2_4 DB 04h, 04h,0E4h, 24h, 24h, 24h, 24h,0FFh DB 24h, 24h, 24h, 24h,0F4h, 26h, 04h, 00h DB 40h, 40h, 27h, 22h, 12h, 0AH, 06h,0FFh DB 06h, 0AH, 12h, 12h, 27h, 60h, 20h, 00h ;-- 文字: 不 --

Line3_1 DB 02h, 02h, 02h, 02h, 02h, 82h, 42h,0F2h DB 0Eh, 42h, 82h, 02h, 02h, 03h, 02h, 00h DB 00h, 08h, 04h, 02h, 01h, 00h, 00h,0FFh DB 00h, 00h, 00h, 01h, 03h, 06h, 00h, 00h ;-- 文字: 合 --

Line3_2 DB 80h, 80h, 40h, 20h, 50h, 48h, 44h, 43h DB 44h, 48h, 50h, 20h, 40h,0C0h, 40h, 00h DB 00h, 00h, 00h,0FEh, 42h, 42h, 42h, 42h DB 42h, 42h, 42h,0FFh, 02h, 00h, 00h, 00h ;-- 文字: 格 --

Line3_3 DB 10h, 10h,0D0h,0FFh, 50h,0B0h, 18h, 17h DB 0A4h, 44h,0A4h, 14h, 0Ch, 00h, 00h, 00h DB 04h, 03h, 00h,0FFh, 08h, 04h,0FEh, 45h DB 44h, 44h, 44h, 45h,0FEh, 06h, 02h, 00h ;-- 文字: 数 --

Line3_4 DB 10h, 92h, 54h, 30h,0FFh, 50h, 94h, 32h DB 0D8h, 17h, 10h, 10h,0F0h, 18h, 10h, 00h

7

DB 02h, 82h, 4Eh, 33h, 22h, 52h, 8Eh, 40h

DB 23h, 14h, 08h, 16h, 61h,0C0h, 40h, 00h

NUMBER DW 596,598,590,587,599,597,597,593,597,598

LED DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,0ffh

.CODE ;定义代码段

START:MOV AX,@DATA

MOV DS, AX ;程序开始点

NOP

CALL LED_INIT

CALL DelayTime ;初始化液晶屏

MOV DX, 0F003h

MOV AL, 00110111B

OUT DX, AL ;选择8253的控制方式,方式0,十进制计数

L1:MOV AX, 4000h

MOV DX, 0F000h

OUT DX, AL

MOV AL, AH

OUT DX, AL ;计数器1,将频率缩小4000倍

MOV AL, 01110111b

MOV DX, 0F003h

OUT DX, AL ;选择8253的控制方式,方式0,十进制计数

MOV DX, 0F001h

MOV AX, 2000h

OUT DX, AL

MOV AL, AH

OUT DX, AL ;计数器2将频率缩小1000倍,表示空瓶运送周期

为4秒

K1:IN AL, DX ;将8253产生的方波输入进8255的PC0端

AND AL, 01h ;PC0端口不变其余端口置零

CMP AL, 01h ;检测PC0是否是1,PC0为1时表示空瓶到位可

以灌装

JNZ K1 ;如果不是1,则继续循环检测

CALL DisLine1 ;第2行显示"灌装开始"

CALL DelayTime

MOV CX, 10 ;设置步进电机循环次数,电机旋转表示灌装

X6:MOV DX, 0e003H

MOV AL, 80h

8

OUT DX, AL ;设置8255工作方式A,B,C端口方式0输出 MOV DX, 0e002H

MOV AL, 00010000b

OUT DX, AL

CALL Z4 ;给步进电机D口输入信号

MOV AL, 00001000b

OUT DX, AL

CALL Z4 ;给步进电机C口输入信号

MOV AL, 00000100b

OUT DX, AL

CALL Z4 ;给步进电机B口输入信号

MOV AL, 00000010b

OUT DX, AL

CALL Z4 ;给步进电机A口输入信号

LOOP X6 ;步进电机连续转动,持续灌装

CALL LCD_INIT

CALL DisLine2 ;第3行显示“灌装结束”

CALL DelayTime

MOV SI, 0 ;表示从成品中取出第SI个进行检验

MOV CX, 10 ;每次同时灌装10瓶,循环10次称量

MOV AH, 0

K2:CMP WORD PTR NUMBER[SI],595 ;将称量质量与标准595g比较

JB BHG ;小于595时跳转到BHG(不合格)程序

ADD SI, 2 ;取下一个数继续比较

LOOP K2 ;循环10次取数

CALL LCD_INIT

CALL DisLine3 ;第4行显示“不合格数”

CALL DelayTime

JMP start ;跳转回程序开始继续循环工作

BHG:CALL Z3 ;调用不合格子程序

ADD SI, 2 ;检测下一个质量

DEC CX ;循环次数减1,表示剩余需要检查的瓶数 JMP K2 ;跳回K2进行检测

DONE:

.EXIT ;程序结束

Z1 PROC ;子程序Z1设置延时

PUSH CX

9

MOV CX, 3 ;将CX存入堆栈,并置循环次数CX为3

X1:CALL Z2 ;调用子程序2设置延时

LOOP X1

POP CX ;循环增加延时时间

RET

Z1 ENDP ; Z1子程序结束

Z2 PROC ; 子程序Z2设置延时

PUSH CX

MOV CX,8000h ;将CX存入堆栈,并置循环次数CX为8000h X2: NOP

LOOP X2 ;设置8000H延时

POP CX

RET

Z2 ENDP ; Z2子程序结束

Z3 PROC ; 子程序Z3设置不合格时流水线动作

PUSH CX

L2:MOV DX, 0e003H

MOV AL, 80h

OUT DX, AL ;设置8255工作方式A,B,C端口方式0输出 MOV DX, 0e002H

MOV AL, 00000010b ;用电机反转表示将不合格的饮料运回重装

OUT DX, AL ; 给步进电机A口输入信号

CALL Z4

CALL DelayTime

MOV AL, 00000100b

OUT DX, AL ; 给步进电机B口输入信号

CALL Z4

CALL DelayTime

MOV AL, 00001000b

OUT DX, AL ; 给步进电机C口输入信号

CALL Z4

CALL DelayTime

MOV AL, 00010000b

OUT DX, AL ; 给步进电机D口输入信号

CALL Z4

CALL DelayTime

MOV DX, 0e003h

10

MOV AL, 80h

OUT DX, AL ;设置8255工作方式A,B,C端口方式0输出 MOV DX, 0e000h

MOV AL, 0feh

OUT DX, AL ;8255端口A 输出0feh进行数码管位选

INC AH ;不合格数加1

MOV BX, OFFSET LED ;将LED地址给BX

PUSH AX ;将AX存入堆栈,保护AX

MOV AL, AH

XLAT ;查表指令选出数码段的段选

MOV DX, 0e001h

OUT DX, AL ;数码管显示不合格数

CALL Z1 ;调用延时

POP AX

POP CX

RET

Z3 ENDP ; Z3子程序结束

Z4 PROC ;子程序Z4设置延时

PUSH CX

MOV CX,4

X4:CALL Z5 ;调用Z5延时

LOOP x4 ;循环5次调用Z5

POP CX

RET

Z4 ENDP ;Z4子程序结束

Z5 PROC ;子程序Z5设置延时

PUSH CX

MOV CX,2000h

X5: NOP

LOOP X5 ;设置延时循环2000h

POP CX

RET

Z5 ENDP ; Z5子程序结束

DelayTime PROC ; 子程序DelayTime设置延时

MOV CX, 0

LOOP $

LOOP $

11

LOOP $

RET

DelayTime ENDP ; DelayTime子程序结束

DisLine1 PROC ;子程序DisLine1显示第一行 LEA SI, Line1_1

MOV AL, 2

MOV AH, 32 ;设置第一行第一个字的起始位置 CALL WordDISL

LEA SI, Line1_2

MOV AL, 2

MOV AH, 48 ; 设置第一行第二个字的起始位置 CALL WordDISL

LEA SI, Line1_3

MOV AL, 2

MOV AH, 0 ;设置第一行第三个字的起始位置 CALL WordDISR

LEA SI, Line1_4

MOV AL, 2

MOV AH, 16 ; 设置第一行第四个字的起始位置 CALL WordDISR

RET

DisLine1 ENDP ; DisLine1子程序结束

DisLine2 PROC ; 子程序DisLine2显示第二行 LEA SI, Line2_1

MOV AL, 4

MOV AH, 32 ; 设置第二行第一个字的起始位置 CALL WordDISL

LEA SI, Line2_2

MOV AL, 4

MOV AH, 48 ; 设置第二行第二个字的起始位置 CALL WordDISL

LEA SI, Line2_3

MOV AL, 4

MOV AH, 0 ; 设置第二行第三个字的起始位置 CALL WordDISR

LEA SI, Line2_4

MOV AL, 4

12

MOV AH, 16 ; 设置第二行第四个字的起始位置 CALL WordDISR

RET

DisLine2 ENDP ; DisLine2子程序结束

DisLine3 PROC ; 子程序DisLine3显示第三行 LEA SI , Line3_1

MOV AL, 6

MOV AH, 32 ; 设置第三行第一个字的起始位置 CALL WordDISL

LEA SI, Line3_2

MOV AL , 6

MOV AH, 48 ; 设置第三行第二个字的起始位置 CALL WordDISL

LEA SI, Line3_3

MOV AL, 6

MOV AH, 0 ; 设置第三行第三个字的起始位置 CALL WordDISR

LEA SI, Line3_4

MOV AL, 6

MOV AH, 16 ; 设置第三行第四个字的起始位置

CALL WordDISR

RET

DisLine3 ENDP ; DisLine3子程序结束

LCD_INIT PROC ; 液晶初始化

MOV AL,3EH ;初始化左半屏,关显示

CALL WRCOML ;写指令子程序

MOV AL,FIRSTLINE ;设置起始显示行,第0行

CALL WRCOML

MOV AL,3EH ;初始化右半屏,关显示

CALL WRCOMR ;写指令子程序

MOV AL,FIRSTLINE ;设置起始显示行,第0行

CALL WRCOMR

CALL LCDCLEAR ;清屏

MOV AL,3FH ;开显示

CALL WRCOML

MOV AL,3FH ;开显示

CALL WRCOMR

13

RET

LCD_INIT ENDP ; 清屏

LCDCLEAR PROC ;清左半屏

MOV AL,0 ;起始行,第0行

MOV AH,0 ;起始列,第0列

LCDCLEARL1: PUSH AX

MOV CX, 64

CALL SETXYL ;设置起始显示行列地址

LCDCLEARL2: MOV AL, 0

CALL WRDATAL

LOOP LCDCLEARL2

POP AX

INC AX

CMP AL,8 ;共8行

JNZ LCDCLEARL1 ;清右半屏

MOV AL,0 ;起始行,第0行

MOV AH,0 ;起始列,第0列

LCDCLEARR1: PUSH AX

MOV CX, 64

CALL SETXYR;设置起始显示行列地址

LCDCLEARR2: XOR AL, AL

CALL WRDATAR

LOOP LCDCLEARR2

POP AX

INC AL

CMP AL,8 ;共8行

JNZ LCDCLEARR1

RET

LCDCLEAR ENDP

WORDDISL PROC

MOV CX,16 ;显示16字节数据,用于显示一个汉字 CALL DISPL

RET

WORDDISL ENDP

DISPL PROC

PUSH AX

PUSH CX

14

CALL SETXYL ;设置起始显示行列地址

CALL DISPLAYL ;显示上半行数据

POP CX

POP AX

INC AL

CALL SETXYL ;设置起始显示行列地址

CALL DISPLAYL ;显示下半行数据

RET

DISPL ENDP

WORDDISR PROC

MOV CX,16 ;显示16字节数据,用于显示一个汉字 CALL DISPR

RET

WORDDISR ENDP

DISPR PROC

PUSH AX

PUSH CX

CALL SETXYR ;设置起始显示行列地址

CALL DISPLAYR ;显示上半行数据

POP CX

POP AX

INC AL

CALL SETXYR ;设置起始显示行列地址

CALL DISPLAYR ;显示下半行数据

RET

DISPR ENDP ;显示图形

LINEDISL PROC

MOV CX, 64

CALL SETXYL ;设置起始显示行列

CALL DISPLAYL;显示数据

RET

LINEDISL ENDP

LINEDISR PROC

MOV CX, 64

CALL SETXYR ;设置起始显示行列

CALL DISPLAYR ;显示数据

RET

15

LINEDISR ENDP

DISPLAYL PROC ; 显示左半屏数据,R7-显示数据个数 LODSB

CALL WRDATAL ;写左半屏数据

LOOP DISPLAYL

RET

DISPLAYL ENDP

DISPLAYR PROC ;显示右半屏数据,R7-显示数据个数 LODSB

CALL WRDATAR

LOOP DISPLAYR ;写左半屏数据

RET

DISPLAYR ENDP

SETXYL PROC ;设置左半屏起始显示行列地址

OR AL, X ;行地址=行序数+行基址

CALL WRCOML

MOV AL,AH

OR AL, Y ;列地址=列序数+列基址

CALL WRCOML

RET

SETXYL ENDP ;设置右半屏起始显示行列地址

SETXYR PROC

OR AL, X ;行地址=行序数+行基址

CALL WRCOMR

MOV AL, AH

OR AL,Y ;列地址=列序数+列基址

CALL WRCOMR

RET

SETXYR ENDP

WRCOML PROC ;写左半屏控制指令,A-写入指令

MOV DX, WR_COM_AD_L

OUT DX, AL

WRCOML1: MOV DX,RD_BUSY_AD

IN AL,DX

TEST AL,80H ;检查液晶显示是否处于忙状态

JNZ WRCOML1

RET

16

微机原理及应用试题库(附答案)

《微机原理及应用》试题库 1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。 A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,V B≈V DD。 A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0 4. 设(SS)=2000H,(SP)=0100H,(AX)=2107H,则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。 A.符号地址B.物理地址C.偏移地址D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX,0 MOV BX,1 MOV CX,100 AA:ADD AX,BX INC BX LOOP AA HLT 执行后的结果:(AX)= ,(BX)= 。 A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。

微机原理期末考试试卷(有答案)

丽水学院《微机原理》考试试卷 班级:___________ 姓名:___________学号:____________ 题号一二三四五六总分得分 得分 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 得分 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是_____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。 A.IN AL,端口地址 B.MOV AL,端口地址 C.OUT AL,端口地址 D.OUT 端口地址,AL 5、与十进制数58.75等值的十六进制数是__B______。 A.A3.CH B.3A.CH C.3A.23H D.C.3AH 6、将十六进制数FF.1转换成十进制数是__C______。 A.255.625 B.2501625 C.255.0625 D.250.0625 7、十进制负数-38的八位二进制补码是____D____。

微机原理程序 (2)

实验二:循环程序设计 2. DA TA SEGMENT x db -78,127,-128,-125,88 y db 32,-43,76,95,1 S db 5 dup(?) data ends Code segment Assume cs:code,ds:data Start:mov ax,data Mov ds,ax Mov cx,5 Mov bx,0 L1:mov al,x[bx] Add al,y[bx] Inc bx Loop L1 MOV AH,4CH INT 21H CODE ENDS END START 3. DA TA SEGMENT Y DB 68H,24H,90H,57H,13H HX DB 67H,34H,12H,90H,57H S DB 5 DUP(?) DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START:MOV AX,DATA MOV DS,AX MOV CX,5 MOV SI,OFFSET X MOV DI,OFFSET Y LP:MOV AL,[SI] MOV AH,[DI] ADC AL,AH DAA MOV S[SI],AL INC SI INC DI LOOP LP MOV AH,4CH INT 21H

CODE ENDS END START 4、 DA TA SEGMENT LIST DB 0,1,2,3,4,5,6,7,8,9 COUNT EQU $-LIST DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START:MOV AX,DATA MOV DS,AX MOV CX,COUNT-1 LOOP1:MOV DX,CX MOV BX,0 LOOP2:MOV AX,LIST[BX] CMP AX,LIST[BX+1] MOV LIST[BX],AX LOOP3:INC BX LOOP LOOP2 MOV CX,DX LOOP LOOP1 MOV AX,4CH INT 21H CODE ENDS END START 实验三:子程序调用程序设计 DA TA SEGMENT NUM DB 85,77,126,-1,-43,37,-128,11,-19,13 DA TA ENDS ADDITION SEGMENT NUM1 DB 10 DUP(?) ADDITION ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA,ES:ADDITION START:AX,DATA MOV DS,AX MOV AX,ADDITION MOV ES,AX CALL ORDER CALL COPY MOV AH,4CH INT 21H ORDER PROC MOV CX,9

微机原理论文

微机原理与接口技术论文浅谈微机原理的应用 学院:物理与电子工程学院 班级: 09通信6班 专业:通信工程 学号: 姓名:

浅谈微机原理 引言 自1981年美国IBM公司推出了第一代微型计算机IBM-PC/XT以来,以微处理器为核心的微型计算机便以其执行结果精确、处理速度快捷、小型、廉价、可靠性高、灵活性大等特点迅速进入社会各个领域,且技术不断更新、产品不断换代,先后经历了80286、80386、80486乃至当前的80586 (Pentium)微处理器芯片阶段, 并从单纯的计算工具发展成为能够处理数字、符号、文字、语言、图形、图像、音频和视频等多种信息在内的强大多媒体工具。如今的微型计算机产品无论从运算速度、多媒体功能、软硬件支持性以及易用性方面都比早期产品有了很大的飞跃,便携式计算机更是以小巧、轻便、无线联网等优势受到了越来越多的移动办公人士的喜爱,一直保持着高速发展的态势。 1微型计算机的发展历史 第一台微型计算机—— 1974年,罗伯茨用8080微处理器装配了一种专供业余爱好者试验用的计算机“牛郎星”(Altair)。 第一台真正的微型计算机——1976年,乔布斯和沃兹尼克设计成功了他们的第一台微型计算机,装在一个木盒子里,它有一块较大的电路板,8KB的存储器,能发声,且可以显示高分辨率图形。1977年,沃兹尼克设计了世界上第一台真正的个人计算机——Apple Ⅱ,并“追认”他们在“家酿计算机俱乐部”展示的那台机器为Apple Ⅰ。1978年初,他们又为AppleⅡ增加了磁盘驱动器。从微型计算机的档次来划分,它的发展阶段又可以分为以下几个阶段:第一代微机——第一代PC机以IBM公司的IBM PC/XT机为代表,CPU是8088,诞生于1981年,如图1-3所示。后来出现了许多兼容机。

微机原理及应用综合练习一

2012电子微机原理综合练习一 一、简答题。 1.8086CPU标志寄存器中的控制位有几个?简述它们的含义。 2.8086工作于最小方式或最大方式,如何设置?两种模式的主要区别是什么 3. 简述8086和8088CPU引脚信号的区别。 4. 何为时钟周期?它和指令周期、总线周期三者之间的关系是什么? 5. 简述标志位中溢出位和进位位的区别。 6. 简述8088和8086对存储器进行字访问的异同。 7. 在8086系统中,下一条指令所在单元的物理地址是如何计算的? 8.简述半导体存储器的分类和特点。 9.简述高位地址总线译码方法的种类和特点。 10. SRAM芯片6116是4K×8位的存储器,其地址线和数据线的分别有多少条?并简述它的3条控制线、和的含义和功能。 11. CPU与外设间的接口信息有哪几种? 12.简要说明8086/8088中断的分类,以及优先级顺序。 13. 8086/8088CPU响应可屏蔽中断INTR的条件是什么? 14.CPU与外设数据传送的方式有哪几种?什么情况下数据传送要采用无条件传送方式?它有什么特点? 15. 简述查询式数据传送方式的工作过程。 16.比较串行通信和并行通信的优缺点。 17.何为波特率?设数据传送的速率是120字符/秒,而每一个字符格式中的数据位7位,停止位,校验位各1位,则传送的波特率为多少? 18. 异步通信中,字符的格式是由哪些部分组成? 19.8253的方式0~方式3各是何种工作方式?为了便于重复计数,最好选用那些工作方式? 二、综合题 1.设8088的时钟频率为5MHZ,总线周期中包含2个T w等待周期。问: (1)该总线周期是多少?(2)该总线周期内对READY信号检测了多少次? 2.某微机有8条数据线、16条地址线,现用SRAM 2114(容量为1K×4位)存储芯片组成存储系统。问采用线译码方式时,系统的最大存储容量最大是多少?此时需要多少个2114存储芯片 3. 设有一个具有15位地址和16位字长的存储器,试计算: (1)该存储器能存储多少字节信息? (2)如果存储器由2K×4位的RAM芯片组成,需多少RAM芯片?需多少位地

微机原理期末考试试卷(有答案)

微机原理期末考试试卷 (有答案) -CAL-FENGHAI.-(YICAI)-Company One1

《微机原理》考试试卷 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是 _____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。

微机原理程序

一,在数据段从TABLE开始定义10无符号的数据,每个数据为一个字节,计算这10个数的和,结果放到SUM字单元之中 DA TA SEGMENT TABLE DB 12H, 23H, 34H, 45H, 56H DB 67H, 78H, 89H, 9AH, 0FDH SUM DW DA TA ENDS STACK SEGMENT D8 5 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK START: MOV AX, DATA MOV DS, AX MOV ES, AX MOV AX,STACK MOV SS, AX LEA SI, TABLE MOV CX, 10 XOR AX, AX NEXT: ADD AL , 0 INC SI LOOP NEXT MOV SUM, AX MOV AH, 4CH INT 21H CODE ENDS ENDS START

二,在数据段自TABLE开始的连续10个单元中有放在0-9的平方值,查表求任意数X (0<=X<=9)的平方值,并将结果放到RESULT中 三,在数据段定义2个数据,每个数据占有若干字节,按照低地址存储低数据位的原则存储,这两个数据长度一样,计算这2个数据的和,并将结果放到RESULT中。 四、用8255PA作开关量输入口,PB作输出口。 CODE SEGMENT ASSUME CS:CODE ,DS:CODE ,ES:CODE ORG 32E0H PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH HI:MOV DX,PCTL MOV AL,90H OUT DX,AL PI:MOV DX,PA IN AL,DX INC DX OUT DX,AL JMP PI CODE ENDS END HI

微机原理及应用(广西大学)

微机原理期末复习要点(必看) 一、填空题(每空1分,共30分) 1、CPU访问存储器时,在地址总线上送出的地址称为物理地址。 2、80X86系统中,执行指令PUSH AX后,SP= SP-2 ;若执行指令POP AX 后,SP= SP+2 。 3、指令“MOV AX,2000H”源操作数的寻址方式为立即数 ;指令“MOV AX,[BX+SI+6]”源操作数的寻址方式为带偏移量的基础加变址。 4、设(DS)=24EOH,(SS)=2410H,(ES)=2510H,(DI)=0206H,则指令“MOV AX,[DI+100H]”源操作数的有效地址为 0306H ,物理地址为 25106H 。 5、80486可访问两个独立的地址空间,一个为I/O地址空间,其大小为 64K 字节。 6、执行指令“XOR AX,AX”后,标志位ZF的值为 1 。 7、若(AL)=10011000B,(BL)=01100111B,则执行指令“ADD AL,BL”后,(AL)=11111111B;执行指令“AND AL,BL”后,(AL)= 0 。 8、可屏蔽中断从CPU的 INTR 引脚进入,只有当中断允许标志IF为 1 时,该中断才能得到响应。 9、中断向量表存放在从 00000H 至 003FFH 存储空间中。 10、在实地址方式下,中断类型号为20H的中断所对应的中断向量,存放在内存 从 00080H 开始的四个连续字节单元中,若这四个字节单元的内容由低地址到 高地址依次为00H,50H,00H,60H,则中断服务程序的入口地址 65000H 。 11、80X86的I/O指令中,要寻址的16位的端口地址存放在 DX 中。 12、现要用6116静态RAM芯片构成8K×32位的存储器,此种芯片共需16 片。 13、8255A在“方式1输出”与外设之间的一对"握手"信号是 ACK和OBF 。 14、由实地址方式上,由逻辑地址获得物理地址的计算公式为:

微机原理期末考试考试卷及答案

的数据线为16位,地址线为20位,I/O口使用16位地址线。 2.在某进制的运算中7×3=33,则7×5=_55。 3.用8位二进制数表示整数时,十进制数(-128)的补码为__。原码为无,反码为无。3.8086内部寄存器长度为16位,通用寄存器有8个,段寄存器有4个。 4.8086偶存储体的选片信号是A0,奇存储体的选片信号是BHE 。 5.MOV AX,[BX+SI]的源操作数是基址变址寻址方式,目的操作数是寄存器寻址方式。6.8086可以指向堆栈的指针寄存器有bp和sp。 7.程序中段定义结束的伪指令是ENDS,子程序定义结束的伪指令是ENDP。 8.EEPROM的擦除方法为点擦除. 9.下列指令段经汇编后,DATA所代表的偏移地址为_100 CH__。 & ORG 1000H STROE DB 12 DUP() DATA DB 05H,06H,07H,08H 1. 8086/8088在不考虑段跨越情况下,DI寄存器给出的偏移地址位于_C__。 A. 仅DS段 B. DS或SS段 C. DS或ES段 D. DS或CS段 2. 下列指令中格式错误的是___A___。 A. SHL AL,CX B. XCHG AL,BL C. MOV BX,[SI] D. AND AX,BX 3. 设(20010H)=3FH,(20011H)=B2H,执行下列指令段后,BX=____B__。 MOV AX,2000H " MOV DS,AX MOV BX,[0010H] A. B2B2H B. B23FH C. 3F3FH D. 3FB2H 4. 若SP=0124H,SS=3300H,在执行INT 60H这条指令后,堆栈栈顶的物理地址为___D___。 A. 3311CH B. 33120H C. 33122H D. 3311EH 5. 下列指令中格式错误的是_C__。 A. MOV AX,357AH[BX][DI] B. OUT DX,AL C. LEA AX,50H[BX][BP] D. RCR BX,1 6. 下列指令中允许寻址范围最大的是_D__。 A. JNZ NEXT B. LOOP NEXT ¥ C. JMP SHORT PTR NEXT D. CALL NEAR PTR NEXT 7. 8086/8088不属于BIU部分的寄存器是__D____。 A. IP B. ES C. DS D. SP 8088最大模式比最小模式在结构上至少应增加___B_。 A. 中断优先级控制器 B. 总线控制器 C. 数据驱动器 D. 地址锁存器 9. 8086在存取存贮器中以偶地址为起始地址的字时,M/IO、BHE、A0的状态分别是____D__。 A. 0,0,1 B. 1,0,1 C. 1,1,0 D. 1,0,0 10. 一个半导体存贮芯片的引脚有 A13~A0,D3~D0,WE,OE,CS,VCC,GND等,该芯片存贮容量为____C__。 A. 8K×8 B. 8K×4 C. 16K×4 D. 16K×8 !

微机原理程序题

1. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sign与sinteger 均为双字变量。 if ( sinteger = = 0) sign = = 0; else If ( siteger > 0) sign = 1; else sign = -1; mov eax,sinteger mov edx,sign cmp eax,0 jnz L1 mov ebx,0 L1:cmp ebx,0 jl L2 mov ebx,1 L2:mov ebx,-1 2. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中ch1与caps均为字节变量。 if (ch1> =’a’ && ch1< =’z’) caps= =0; if (ch1> =’A’ && ch1< =’Z’) caps= =1; mov ax,ch1 mov bx,caps cmp ax,a jb next cmp ax,z ja next mov bx,0 next:cmp ax,A jl done cmp ax,Z ja done done: 3. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sum与i变量均为双字变量。 sum=0; for ( i=1;i< =100;i++) if ( i%2= =0) sum=sum+i; mov ecx,i mov ecx,1 .while(ecx<=100)

mov eax,ecx xor edx,edx mov ebx,2 div ebx cmp edx,0 jnz next add sum,ecx next:inc ecx .endw 1. 能被4整除但不能被100整除,或者年被400整除的年份是闰年。编程写一个完整的程序,求出2012年~2099年中的所有闰年年份,并把它们存放在数组Lyear中。 算法描述 ; esi=0;ecx=2012; ; while (ecx<2100) ; { if (year mod 4=0 and year mod 100 <>0) or (year mod 400=0) then ; {Lyear[esi]=ecx;esi++;} ; ecx++; ; } ; Lcounter=esi; include io32.inc .data Lyear dword 100 dup(?) Lcounter dword 0 .code mainproc xor esi,esi ;esi闰年个数计数器,兼做Lyear下标。 mov ecx,2012 ;ecx年份计数器。 .while (ecx<2100) mov eax,ecx xor edx,edx mov ebx,400 div ebx cmp edx,0 jz leap ;if year mod 400=0 then goto leap mov eax,ecx xor edx,edx mov ebx,4 div ebx cmp edx,0 jnz next ;if year mod 4<>0 then goto next mov eax,ecx xor edx,edx mov ebx,100 div ebx

微机原理及应用

课程名称: 微机原理及应用(B卷闭卷) 适用专业年级: 电04级考试时间100 分钟 1. 设A=10101011, B=10011010,那么“与”A*B=_10001010_,“或”运算A+B=_ 10111011_。 2. 用一条逻辑指令完成“将AX的最高位置1,其余位不变”是_ OR AX,8000H __。 3. m*n ROM的含义是:_ m个存储单元每个单元有n位的只读存储器___。 4. 冯.诺伊曼提出计算机由_运算器、控制器、存储器__和输入、输出设备组成。 5. —120的补码表示为__88H _。若A= 1000 (2),B=0100(2) 则A—B =__0100__(2)。 6. 在8086微处理器的执行部件有8个16位寄存器,其中_ AX __寄存器常用作累加器,8栈顶指针常放在__ SP __寄存器,另外还有一个16位的标志寄存器(FR),其中共有6个状态标志和3个控制标志, 控制标志分别是___方向标志DF、中断标志IF __、跟踪标志TF。 7. 8255A有_3___个端口, 其中___C___端口可作为状态或控制信息的传送端口。 8. 串行通信的连接方式有三种, 分别是___单工____、___半双工___全双工方式。 9. 当数据要由CPU向8255A端口B传送时,则控制信号A1、A2、读信号、写信号、片选信号的值为__01100_______(分别用一位二进制码表示)。 10.汇编语言的程序一般要经过编辑、___汇编. 连接_ 和调试、执行这些步骤。 11.完成数制转换:100D = _64___ H, 0FH =_00001111__ B。 12.总线可以分为地址总线___控制总线, 数据总线__ 三类, 除地址线公用外,6根地址线可选___64_ 个地址。 13. 串行通信中数据的收发有__同步、异步_____两种基本的工作方式。 14.8086/8088中断分为硬件中断和__软件中断__两类,其中硬件中断又可屏蔽、非屏蔽两类。 15.8086 的地址线为_20_条,能直接寻址__1m_个单元,每单元_1_个字节。 16.Intel 2764 EPROM 芯片的存储容量是__8k__B。 二、判断题(每题1分,共10分) 下列各题的表述你认为正确的, 请在题前的号里打“√”,错的打“×” ()1. 三态门(E门) 的作用是高电平时数据装入, 低电平时数据自锁其中。 (√)2. 用8086 指令系统编写的程序可以在Pentium Ⅳ机器上执行。 (√)3. 流水线技术是一种同时进行若干操作的并行处理方式, 它把取操作和执行操作重叠进行,在执行一条指令的同时, 又取另一条或若干条指令。 ( )4. 8086的可屏蔽中断的优先权高于非屏蔽中断。 (√)5.CPU执行指令MOV AX,[1010H]是读操作。 ( )6. 返回DOS是2号系统功能调用。 (√)7.DMA方式又叫直接存储器存取方式。 ( )8. 8255A的工作方式0是选通输入/输出方式。 ( )9. 8086的Ready信号是由其CPU内部产生的。

微机原理期末考试试卷(有答案)

微机原理期末考试试卷(有答案)

INC DI LOOP AGAIN 也可用指令___A____完成同样的功能。 A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB 11、动态存贮器刷新,下面哪种说法正确________。 A.刷新可在CPU执行程序过程中进行 B.刷新在外电路控制下,定时刷新,但刷新时,信息不读出 C.在正常存贮器读操作时也会发生刷新,可防止刷新影响读出信息,故读操 作时,应关闭电路工作。 D.刷新过程一定伴随着信息输出,无法控制,故刷新时不要进行读出操作。 12、用4K×8的存贮芯片,构成64K×8的存贮器,需使用多少4K×8的存贮芯片,正确答案为________。 A.128片 B.16片 C.8片 D.32片 13、对内存单元进行写操作后,该单元的内容________。 A.变反 B.不变 C.随机 D.被修改 14、在DMA方式下,CPU与总线的关系是________。 A.只能控制地址总线 B.相互成隔离状态 C.只能控制数据线 D.相互成短接状态 15、在PC/XT机中键盘的中断类型码是09H,则键盘中断矢量存储在________。 A.36H~39H B.24H~27H C.18H~21H D.18H~1BH 16、已知某系统共带三台外设,即X、Y、Z,每台外设都能发出中断,它们的中 断优先级为X>Y>Z,当前在执行Z中断服务程序时,X,Y同时发出中断请求, 若此时IF=0,问CPU响应哪台外设请求________。 A.X设备 B.Y设备 C.无响应X,后响应Y D.都不响应 17、8255A芯片中各端口的位数是________。 A.8位 B.26位 C.12位 D.4位 18、8255A的________一般用作控制或状态信息传输。 A.端口A B.端口B C.端口C D.端口C的上半部分 19、若以8253某通道的CLK时钟脉冲信号为基础,对其实行N分频后输出,通 道工作方式应设置为________。 A.方式0 B.方式2 C.方式3 D.方式4 20、8253有________个独立的计数器。 A.2 B.3 C.4 D.6 得分 三、填空题(每空1分,共20分) 1、IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为___64K_____ 字节。 2、下列字符表示成相应的ASCII码是多少? 回车___0AH_____;数字’0’ ___36H_____。 3、假设(DS)=0B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH) =4000H,当执行指令“LES DS,[BX]”后,(DI)=____05AEH____,(ES)

微机原理练习六--读程序并回答问题

微机原理练习六读程序并回答问题 1. 已知,(DS)=2000H,(BX)=100H,(SI)=0002H,从物理地址20100H单元开始,依次存放数据12H、34H、56H、78H; 而从物理地址21200H单元开始,依次存放数据2AH、4CH、8BH、98H。试说明下列各条指令单独执行后AX寄存器的内容。 ① MOV AX,3600H (AX)= ② MOV AX,[1200H] (AX)= ③ MOV AX,BX (AX)= ④ MOV AX,[BX] (AX)= 2. 以下语句汇编后,变量CON1、CON2、CON3和CON4的内容分别是多少? N1=10 N2=5 N3=3 CON1 DB NOT N1 CON2 DB (N1 AND N2 OR N3)GE 0FH CON3 DW (N2 AND N1 XOR N3)LE 0FH CON4 DB (N1 AND N3 OR N2)LT 0FH 3. 读下列程序,并在空白处填入合适指令,使该程序段能完成将100H个字节数据从2000H处搬到1000H处的操作。 MOV SI,2000H MOV CX,100H CLD 4 指出下面指令序列的执行结果。 MOV DX,2000H MOV BX,1000H XCHG BX,DX 则:BX= DX= 5 设初值AX=6264H,CX=0001H,在执行下列程序段后,AX=?CX=? AND AX,AX JZ DONE SHL CX,1 ROR AX,CL DONE:OR AX,1234H 则:AX= CX=

6有数据定义如下,与之等同功能的指令是什么? DAT DW 100 DUP(?) : MOV CX,LENGTH DAT ADD AX,TYPE DAT 7. 指出下面指令序列的执行结果。 MOV AX,1234H PUSH AX POP BX 则:BX= AX= 8. 对于给定的数据定义,变量R1和R2的值分别是多少? ①A1 DB 1,2,3,‘ABC’ A2 DB 0 R1 EQU A2-A1 则R1= ②K1 DW ? K2 DB 6 DUP(?) R2 EQU $-K1 则R2= 9. 选用最少的指令,实现下述要求的功能。 ①AH的高4位清0,其余位不变。 ②AL的高4位取反,其余位不变。 ③AL的高4位移到低4位,高4位清0。 ④AL的低4位移到高4位,低4位清0。 10. 下面一段程序完成对某一缓冲区置全“1”操作。设缓冲区长度为20个字节,缓冲区首址DI=0200H,并设(ES) =3000H,试填空。 CLD MOV AX,3000H MOV DI,0200H MOV AL,0FFH REP STOSB 11. 下列伪指令在存储区中分别为各变量分配多少字节? VR1 DW 10 VR2 DW 6DUP(?),66,88 VR3 DD 10DUP(?) VR4 DB ‘HOW ARE YOU’ 12. 写出下列程序段执行后的结果,并说出完成的是什么功能? MOV CL,4 MOV AL,87H MOV DL,AL AND AL,0FH OR AL,30H SHR DL,CL OR DL,30H 则(AL)= (DL)= 实现的功能为13. 分析程序段,并填入适当的内容。 MOV AL,0FH

微机原理期末考试考试卷及答案

1、8086的数据线为16位,地址线为20位,I/O口使用16位地址线。 2、在某进制的运算中7×3=33,则7×5=_55。 3、用8位二进制数表示整数时,十进制数(-128)的补码为__。原码为无,反码为无。 3.8086内部寄存器长度为16位,通用寄存器有8个,段寄存器有4个。 4.8086偶存储体的选片信号就是A0,奇存储体的选片信号就是BHE 。 5.MOV AX,[BX+SI]的源操作数就是基址变址寻址方式,目的操作数就是寄存器寻址方式。 6.8086可以指向堆栈的指针寄存器有bp与sp。 7.程序中段定义结束的伪指令就是ENDS,子程序定义结束的伪指令就是ENDP。 8.EEPROM的擦除方法为点擦除、 9、下列指令段经汇编后,DATA所代表的偏移地址为_100 CH__。 ORG 1000H STROE DB 12 DUP(?) DATA DB 05H,06H,07H,08H 1、8086/8088在不考虑段跨越情况下,DI寄存器给出的偏移地址位于_C__。 A、仅DS段 B、DS或SS段 C、DS或ES段 D、DS或CS段 2、下列指令中格式错误的就是___A___。 A、SHL AL,CX B、XCHG AL,BL C、MOV BX,[SI] D、AND AX,BX 3、设(20010H)=3FH,(20011H)=B2H,执行下列指令段后,BX=____B__。 MOV AX,2000H MOV DS,AX MOV BX,[0010H] A、B2B2H B、B23FH C、3F3FH D、3FB2H 4、若SP=0124H,SS=3300H,在执行INT 60H这条指令后,堆栈栈顶的物理地址为___D___。 A、3311CH B、33120H C、33122H D、3311EH 5、下列指令中格式错误的就是_C__。 A、MOV AX,357AH[BX][DI] B、OUT DX,AL C、LEA AX,50H[BX][BP] D、RCR BX,1 6、下列指令中允许寻址范围最大的就是_D__。 A、JNZ NEXT B、LOOP NEXT C、JMP SHORT PTR NEXT D、CALL NEAR PTR NEXT 7、8086/8088不属于BIU部分的寄存器就是__D____。 A、IP B、ES C、DS D、SP 8、8086/8088最大模式比最小模式在结构上至少应增加___B_。 A、中断优先级控制器 B、总线控制器 C、数据驱动器 D、地址锁存器 9、8086在存取存贮器中以偶地址为起始地址的字时,M/IO、BHE、A0的状态分别就是____D__。 A、0,0,1 B、1,0,1 C、1,1,0 D、1,0,0 10、一个半导体存贮芯片的引脚有A13~A0,D3~D0,WE,OE,CS,VCC,GND等,该芯片存贮容量为____C__。 A、8K×8 B、8K×4 C、16K×4 D、16K×8 1、写出8086CPU所含14个寄存器的英文标识及中文名称。CS16位代码段寄存器DS 16位数据段寄存器SS16位堆栈段寄存器ES16位附加段寄存器AX 累加寄存器BX基址寄存器

微机原理程序

;**********************; ;* 数/模转换实验1 *; ;* 产生锯齿波 *; ;**********************; io0832a equ 290h code segment assume cs:code start: mov cl,0 mov dx,io0832a lll: mov al,cl out dx,al add cl,10 push dx mov ah,06h ;判断是否有键按下 mov dl,0ffh int 21h pop dx jz lll ;若无则转LLL mov ah,4ch ;返回 int 21h code ends end start ;**********************; ;* 数/模转换实验2 *; ;* 产生正弦波 *; ;**********************; data segment io0832a equ 290h Sin db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh db 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96 h db 80h,66h,4eh,38h,25h,15h,09h,04h Db 00h,04h,09h,15h,25h,38h,4eh,66h ;正弦波数据 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax ll: mov si,offset sin ; 置正弦波数据的偏移地址为SI mov bh,32 ;一组输出32个数据 lll: mov al,[si] ;将数据输出到D/A转换器 mov dx,io0832a out dx,al mov ah,06h mov dl,0ffh int 21h jne exit mov cx,1 delay: loop delay ;延时 inc si ;取下一个数据 dec bh jnz lll ;若未取完32个数据则转lll jmp ll exit: mov ah,4ch ;退出 int 21h code ends end start ;****************************; ;* AD转换器2--示波器 *; ;* 采集数据在屏幕是作图 *; ;****************************; io0809b equ 299h code segment assume cs:code start: mov ax,0012h ;设屏幕显示方式为VGA 640X480模示 int 10h start1: mov ax,0600h int 10h ;清屏 and cx,0 ;cx为横坐标draw: mov dx,io0809b ;启动A/D转换器通道1 out dx,al mov bx,200;500 ;延时delay: dec bx jnz delay

微机原理与应用复习题及答案

微机原理与应用习题及解答 一、填空 1、十六进制数74..DH转换为二进制数是_______________,转换为十进制数是 _______________。 2、十六进制数2B.4H转换为二进制数是_______________,转换为十进制数是 _______________。 3、十六进制数A2.4H转换为二进制数是_______________,转换为十进制数是_______________。 4、十进制数21.75转换为二进制数是_______________,转换为十六进制数是_______________。 5、二进制数100111100.0101B转换为十六进制数是_______________,转换为十进制数是_______________。 6、进制数53.375转换为二进制数是_______________,转换为十六进制数是 _______________。 7、知X=-95,则X的原码(用八位二进制表示)是________________,补码是 ____________。 8、已知X=-4,则X的原码(用八位二进制表示)是________________,反码是 ________________。 9、已知X=-37,则X的反码(用八位二进制表示)是________________,补码是 ____________。 10、已知X=-115,则X的原码(用八位二进制表示)是________________, 补码是____________。 11、已知X=95,则X的补码(用八位二进制表示)是________________,BCD码 是________________。 12、已知X=22,则X的原码(用八位二进制表示)是________________,BCD码 是________________。 13、一台计算机所用的二进制代码的位数称为该计算机的___________,8位二进制数称为一个__________。 14、微型计算机由微处理器芯片、____________、______________构成,芯片之间用__________连接起来。 15、微型计算机一般采用三总线结构,它们分别是数据总线、______________和________________。 16、高级语言是面向________的语言,用高级语言编程时主要着眼于___________, 而不必了解计算机的内部结构。 17、存储器的主要指标是___________和________________。 18、存储器中_____________可以直接与CPU交换数据、参与运算,___________ 的存储容量较大,但不能与CPU 直接交换数据。 19、动态RAM依靠__________存储信息,由于存在泄露电流的放电作用,故每隔 1、2ms必须对高电平重新充电,这称为动态RAM的______________。 20、堆栈按照___________原则工作,使用__________指明栈顶位置。

微机原理期末考试题

一、单选题(共30分,共 30题,每题1 分) 1.计算机内机器数通常采用( C )形式来表示。 A、原码 B、反码 C、补码 D、ASCII码 2.组合BCD码“87H”代表的十进制真值是( B )。 A、78 B、87 C、-120 D、+120 3.若下列字符码中有奇偶校验位,但没有数据错误,那么采用偶校验的字符码是( D )。 A、B、C、D、 4.冯·诺依曼基本思想主要是提出了( A )。 A、二进制和程序存储 B、CPU和存储器 C、二进制和存储器 D、存储器和输入输出设备 5.以下叙述中,不符合RISC指令系统特点的是( B )。 A、指令长度固定,指令种类少 B、寻址方式种类丰富,指令功能尽量增强 C、选取使用频率较高的一些简单指令 D、设置大量通用寄存器,访问存储器指令简单 6.以下所列提高微机系统性能的技术,说法不正确的是( A )。 A、采用流水线结构后每条指令的执行时间明显缩短。 B、增加Cache存储器后CPU与内存交换数据的速度得到提高。 C、引入虚拟存储技术后扩大了用户可用内存空间。 D、提高主机时钟频率后加快了指令执行速度。 7.微程序控制器中,机器指令与微指令的关系是(B)。 A、每一条机器指令由一条微指令来执行 B、每一条机器指令由一段微指令编写的微程序来解释执行 C、每一条机器指令组成的程序可由一条微指令来执行 D、一条微指令由若干条机器指令组成 8.微处理器中运算器的主要功能是进行( D )。 A、逻辑运算 B、算术运算 C、更新标志位 D、以上所有 9.在分页管理的存储系统中,( D )通过地址映射表来完成虚拟地址到物理地址的转换。 A、ALU B、寄存器 C、接口 D、.MMU 10.下列因素中,与Cache的命中率无关的是( A )。 A、主存存取时间 B、块的大小 C、Cache组织方式 D、Cache容量 11.指令系统中采用不同寻址方式的目的主要是( B )。 A、实现存储程序和程序控制 B、缩短指令长度,扩大寻址空间,提高编程灵活性 C、可以直接访问外存 D、提供扩展操作码的可能并降低指令译码难度

相关主题
文本预览
相关文档 最新文档