搜档网
当前位置:搜档网 › 8086微机原理及接口技术实验教程(2017)

8086微机原理及接口技术实验教程(2017)

8086微机原理及接口技术实验教程(2017)
8086微机原理及接口技术实验教程(2017)

8086微机原理及接口技术

实验教程

合肥工业大学电气与自动化系

1 实验一 系统认识与存储器扩展实验

1.1 TD-PITE 实验装置简介

1.1 TD-PITE 功能特点

系统以具有PC104总线接口的i386EX 单板机和一个开放的微机接口教学实验平台,通过PC104总线组合插接方式构成的高性能80x86微机原理与接口技术教学实验系统,全面支持80x86实模式和保护模式的16/32位微机原理及接口技术的实验教学。开放的80386系统总线,不仅可以进行各种接口实验的学习,还可以进行基于386微处理器的嵌入式应用开发。I386EX 是一款嵌入式微处理器,其在Intel 386SX 微处理器的基础上集成了丰富的外围接口(如8259、8254、16C450和8237等),内部为32位总线,外部为16位数据总线,具有64MB 的寻址能力,保持与标准的32位80386CPU 相同的指令系统,可完全支持80X86微机原理及接口技术课程的教学,使教学内容与主流技术相一致,达到学以致用的目的。

系统提供开放的386系统总线,使用户可以充分学习并掌握系统总线的特点及操作方法。实验平台上提供丰富的实验单元,如中断控制器8259、DMA 控制器8237、定时/计数器8254、并行接口8255、串行通信接口8251、SRAM 、ADC0809、DAC0832、单次脉冲、键盘扫描及数码管显示、开关输入及发光管显示、电子发声器、点阵LED 显示、图形LCD 显示、步进电机、直流电机及温度控制单元电路。

1.2 TD-PITE 系统构成

TD-PITE 是一套80X86微机原理及接口技术实验教学系统,其主要系统构成如表1.1 所示。

表1.1 TD-PITE 系统构成

2 系统硬件结构如图1.1所示。

图1.1 TD-PITE系统硬件结构图

1.3 TD-PITE 系统配置

TD-PITE实验教学系统由I386EX系统板和接口实验平台两部分组合而成。TD-PITE主要系统配置如表1.2所示。

表1.2 TD-PITE系统的主要配置

3 TD-PITE 实验箱布局如图1.2所示。

图1.2 TD-PITE 试验箱布局图

1.4 系统总线

TD-PITE 采用组合式结构,即I386EX 系统板加实验接口平台的形式。将I386EX 系统板扣在实验接口平台上便构成80X86微机原理及接口技术教学实验系统,系统总线以排针和锥孔两种形式引出,实验时,与实验单元相连可完成相应的实验。系统引出信号线说明见表1.3所示。

表1.3 80X86微机系统信号线说明

1.5 TD-PITE系统实验平台与PC机的连接

如图1.3所示,通过RS-232C通讯电缆将PC微机的串口与系统实验平台的串口连在一起,完成系统实验平台与PC机的硬件连接。

图1.3 TD-PITE实验系统与PC 机连接

Wmd86具备可视化源语言调试界面,支持80X86汇编语言及C语言程序设计,并具有单

步、跳过、断点、连续、变量跟踪等调试功能,支持实验程序的动态调试。

4

5 1.2 系统认识实验

1.2.1 实验目的

掌握TD 系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

1.2.2 实验设备

PC 机一台,TD-PITE 实验装置一套。

1.2.3 实验内容

编写实验程序,将00H ~0FH 共16个数写入内存3000H 开始的连续16个存储单元中。

1.2.4 实验步骤

1. 运行Wmd86软件,进入Wmd86集成开发环境。

2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图1.4、图1.5所示。设置选择后,下次再启动软件,语言环境保持这次的修改不变。本章选择16位寄存器。

图1.4 语言环境设置界面图 图1.5 寄存器设置界面 3. 语言和寄存器选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1.6所示。默认文件名为Wmd861。

图1.6 新建文件界面

4. 编写实验程序,如图1.7所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。

图1.7 程序编辑界面

5. 点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方可以加载程序。编译、链接后输出如图1.8所示的输出信息。

图1.8 编译输出信息界面

6. 连接PC与实验系统的通讯电缆,打开实验系统电源。

7. 编译、链接都正确并且上下位机通讯成功后,就可以下载程序,联机调试了。可以通过端口列表中的“端口测试”来检查通讯是否正常。点击下载程序。为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。起始运行语句下会有一条绿色的背景。如图1.9所示。

6

图1.9 加载成功显示界面

8. 将输出区切换到调试窗口,使用D0000:3000命令查看内存3000H起始地址的数据,如图1.10所示。存储器在初始状态时,默认数据为CC。

图1.10 内存地址单元数据显示

9. 点击按钮运行程序,待程序运行停止后,通过D0000:3000命令来观察程序运行结

果。如图1.11所示。

7

8

图1.11 运行程序后数据变化显示

10. 也可以通过设置断点,断点显示如图1.12所示,然后运行程序,当遇到断点时程序会停下来,然后观察数据。可以使用E0000:3000来改变该地址单元的数据,如图1.13所示,输入11后,按“空格”键,可以接着输入第二个数,如22,结束输入按“回车”键。

图1.12 断点设置显示 图1.13 修改内存单元数据显示界面

实验例程文件名为Wmd861.asm 。

1.1.5 操作练习

编写程序,将内存3500H 单元开始的8个数据复制到3600H 单元开始的数据区中。通过调试验证程序功能,使用E 命令修改3500H 单元开始的数据,运行程序后使用D 命令查看3600H 单元开始的数据。

9 1.3 数制转换实验

1.3.1 实验目的

1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解。

2. 熟悉程序调试的方法。

1.3.2 实验设备

PC 机一台,TD-PITE 实验装置一套。

1.3.3 实验内容及步骤

计算机输入设备输入的信息一般是由ASCII 码或BCD 码表示的数据或字符,CPU 一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII 码、BCD 码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。 计算机与外设间的数制转换关系如图1.14所示,数制对应关系如表1.4所示。

二进制图1.14 数制转换关系

1. 将ASCII 码表示的十进制数转换为二进制数

十进制表示为:

∑=--?=?+???+?+?n 0i i i

001n 1n n n 10D 10D 10D 10D (1)

D i 代表十进制数0,1,2, (9)

上式转换为:

012n 1n n n 0i i i

D 10)D 10)D 10)D 10D (((10D +?+???+?+?+????=?--=∑ (2)

由式(2)可归纳十进制数转换为二进制数的方法:从十进制数的最高位D n开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。

表1.4 数制对应关系表

程序流程图如图1.15所示。实验参考程序如下。

实验程序清单(例程文件名:A2-1.ASM)

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

DATA SEGMENT

SADD DB 30H,30H,32H,35H,36H ;十进制数:00256

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DATA

MOV DS, AX

MOV AX, OFFSET SADD

MOV SI, AX

MOV BX, 000AH

MOV CX, 0004H

MOV AH, 00H

MOV AL, [SI]

SUB AL, 30H

A1: IMUL BX

MOV DX, [SI+01]

AND DX, 00FFH

10

ADC AX, DX

SBB AX, 30H

INC SI

LOOP A1

A2: JMP A2

CODE ENDS

END START

实验步骤:

(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统。

(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H。

(3)运行程序,然后停止程序。

(4)查看AX寄存器,即为转换结果,应为:0100H。

(5)反复试几组数据,验证程序的正确性。

2. 将十进制数的ASCII码转换为BCD码

从键盘输入五位十进制数的ASCII码,存放于3500H 起始的内存单元中,将其转换为BCD码后,再按位分别存入350AH起始的内存单元内。若输入的不是十进制的ASCII 码,则对应存放结果的单元内容为“FF”。由表1.4可知,一字节ASCII码取其低四位即变为BCD码。

实验程序清单(例程文件名:A2-2.ASM)

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX, 0005H ;转换位数

MOV DI, 3500H ;ASCII码首地址

A1: MOV BL, 0FFH ;将错误标志存入BL MOV AL, [DI]

CMP AL, 3AH

JNB A2 ;不低于3AH则转A2

SUB AL, 30H

JB A2 ;低于30H则转A2

MOV BL, AL

A2: MOV AL, BL ;结果或错误标志送入AL MOV [DI+0AH],AL ;结果存入目标地址

INC DI

LOOP A1

MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

实验步骤:图1.15 ASCII码表示的十进制数转换二进制数程序流程图

11

12 (1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统。

(2)在3500H ~3504H 单元中存放五位十进制数的ASCII 码,即:键入E3500后,输入31,32,33,34,35。

(3)运行程序,待程序运行停止。

(4)在调试窗口键入D350A ,显示运行结果,应为:

0000:350A 01 02 03 04 05 CC …

(5)反复测试几组数据,验证程序功能。

3. 将十六位二进制数转换为ASCII 码表示的十进制数

十六位二进制数的值域为0~65535,最大可转换为五位十进制数。

五位十进制数可表示为:

01223344D 10D 10D 10D 10D N +?+?+?+?=

D i :表示十进制数0~9

将十六位二进制数转换为五位ASCII 码表示的十进制数,就是求D1~D4,并将它们转换为ASCII 码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H 、3501H 中,转换结果存放于3510H ~3514H 单元中。

实验程序清单(例程文件名:A2-3.ASM )

SSTACK

SEGMENT STACK

DW 64 DUP(?) SSTACK

ENDS CODE

SEGMENT

ASSUME CS:CODE START:

MOV SI,3500H ;源数据地址

MOV DX,[SI]

MOV SI,3515H ;目标数据地址 A1:

DEC SI

MOV AX,DX

MOV DX,0000H

MOV CX,000AH ;除数10

DIV CX ;得商送AX, 得余数送DX

XCHG AX,DX

ADD AL,30H ;得Di 的ASCII 码

MOV [SI],AL ;存入目标地址

CMP DX,0000H

JNE A1 ;判断转换结束否,未结束则转A1 A2:

CMP SI,3510H ;与目标地址得首地址比较

JZ A3 ;等于首地址则转A3,否则将剩余地址中填30H

DEC SI

MOV AL,30H

MOV [SI],AL

JMP A2 A3:

MOV AX,4C00H

INT 21H ;程序终止

CODE

ENDS

END START

实验步骤:

(1)编写程序,经编译、链接无误后,装入系统。

(2)在3500H、3501H中存入0C 00。

(3)运行程序,待程序运行停止。

(4)检查运行结果,键入D3510,结果应为:30 30 30 31 32。

(5)可反复测试几组数据,验证程序的正确性。

4. 十六进制数转换为ASCII码

由表1.1中十六进制数与ASCII码的对应关系可知:将十六进制数0H~09H加上30H 后得到相应的ASCII码,AH~FH加上37H可得到相应的ASCII码。将四位十六进制数存放于起始地址为3500H的内存单元中,把它们转换为ASCII码后存入起始地址为350AH的内存单元中。自行绘制流程图。

实验程序清单(例程文件名为A2-4.ASM)

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX,0004H

MOV DI,3500H ;十六进制数源地址

MOV DX,[DI]

A1: MOV AX,DX

AND AX,000FH ;取低4位

CMP AL,0AH

JB A2 ;小于0AH则转A2

ADD AL,07H ;在A~FH之间,需多加上7H

A2: ADD AL,30H ;转换为相应ASCII码

MOV [DI+0DH],AL ;结果存入目标地址

DEC DI

PUSH CX

MOV CL,04H

SHR DX,CL ;将十六进制数右移4位

POP CX

LOOP A1

MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

实验步骤:

(1)编写程序,经编译、链接无误后装入系统。

(2)在3500H、3501H中存入四位十六进制数203B,即键入E3500,然后输入3B 20。

(3)先运行程序,待程序运行停止。

(4)键入D350A,显示结果为:0000:350A 32 30 33 42 CC …。

(5)反复输入几组数据,验证程序功能。

5. BCD码转换为二进制数

13

将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,自行绘制流程图并编写程序。

实验程序清单(例程文件名为:A2-5.ASM)

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: XOR AX, AX

MOV CX, 0004H

MOV SI, 3500H

MOV DI, 3510H

A1: MOV AL, [SI]

ADD AL, AL

MOV BL, AL

ADD AL, AL

ADD AL, AL

ADD AL, BL

INC SI

ADD AL, [SI]

MOV [DI], AL

INC SI

INC DI

LOOP A1

MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

实验步骤:

(1)编写程序,经编译、链接无误后装入系统。

(2)将四个二位十进制数的BCD码存入3500H~3507H中,即:

先键入E3500,然后输入01 02 03 04 05 06 07 08。

(3)先运行程序,待程序运行停止。

(4)键入D3510显示转换结果,应为:0C 22 38 4E。

(5)反复输入几组数据,验证程序功能。

1.2.4 思考题

1. 实验内容1中将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?为什么?

2. 将一个十六位二进制数转换为ASCII码十进制数时,如何确定D i的值?

3. 在十六进制转换为ASCII码时,存转换结果后,为什么要把DX向右移四次?

4. 自编ASCII码转换十六进制、二进制转换BCD码的程序,并调试运行。

14

15

1.3 静态存储器扩展实验

1.3.1 实验目的

1. 了解存储器扩展的方法和存储器的读/写。

2. 掌握CPU 对16位存储器的访问方法。

1.3.2 实验设备

PC 机一台,TD-PITE 实验装置一套,示波器一台。

1.3.3 实验内容

编写实验程序,将0000H ~000FH 共16个数写入SRAM 的从0000H 起始的一段空间中,然后通过系统命令查看该存储空间,检测写入数据是否正确。

1.3.4 实验原理

存储器是用来存储信息的部件,是计算机的重要组成部分,静态RAM 是由MOS 管组成的触发器电路,每个触发器可以存放1位信息。只要不掉电,所储存的信息就不会丢失。因此,静态RAM 工作稳定,不要外加刷新电路,使用方便。但一般SRAM 的每一个触发器是由6个晶体管组成,SRAM 芯片的集成度不会太高,目前较常用的有6116(2K ×8位),6264(8K ×8位)和62256(32K ×8位)。本实验平台上选用的是62256,两片

组成32K ×16位的形式,共64K 字节。62256的外部引脚图

如图1.16所示。

本系统采用准32位CPU ,具有16位外部数据总线,即D0、D1、…、D15,地址总线为BHE #(#表示该信号低电平有效)、BLE #、A1、A2、…、A20。存储器分为奇体和偶体,分别由字节允许线BHE #和BLE #选通。

存储器中,从偶地址开始存放的字称为规则字,从奇地址开始存放的字称为非规则字。处理器访问规则字只需要一个时钟周期,BHE #和BLE #同时有效,从而同时选通存储器奇体和偶体。处理器访问非规则字却需要两个时钟周期,第一个时钟周期BHE #有效,访问奇字节;第二个时钟周期BLE #有效,访问偶字节。处理器访问字节只需要一个时钟周期,视其存放单元为奇或偶,而BHE #或BLE #有效,从而选通奇体或偶体。写规则字和非规则字的简单时序图如图1.17所示。

图1.16 62256引脚图

16 D15:D0CS#

WR#

DATA

D15:D8D7:D0

CS#WR#

DATA 图1.17 写规则字(左)和非规则字(右)简单时序图

实验单元电路图如下所示。

图1.18 SRAM 单元电路图

1.3.5 实验装置地址分配

1.系统内存分配

系统内存分配情况如图1.19所示。

图1.19 系统内存分配

系统内存分为程序存储器和数据存储器,程序存储器为一片128KB 的FLASH ROM,数据存储器为一片128KB 的SRAM。(程序存储器可以扩展到256KB,数据存储器可以扩展到512KB)。

2. 系统存储器编址

系统存储器编址如表1.5所示。

表1.5 存储器编址表

系统SRAM空间:00000H~1FFFFH共128K

其中:00000H~00FFFH为4K系统区

01000H~1FFFFH为124K用户使用区

系统FALSH空间:0E0000H~0FFFFFH共128K

其中:0E0000H~0EFFFFH为64K供用户使用区

0F0000H~0FFFFFH为64K系统监控区

系统扩展存储器空间:80000H~0BFFFFH共256K

其中:80000H~9FFFFH为MY0选通的128K

0A0000H~0BFFFFH为MY1选通的128K

1.3.6实验程序清单(MEM1.ASM)

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

START PROC FAR

ASSUME CS:CODE

MOV AX, 8000H ; 存储器扩展空间段地址

MOV DS, AX

AA0: MOV SI, 0000H ; 数据首地址

MOV CX, 0010H

MOV AX, 0000H

AA1: MOV [SI], AX

INC AX

INC SI

INC SI

LOOP AA1

MOV AX,4C00H

INT 21H ;程序终止

17

START ENDP

CODE ENDS

END START

1.3.7实验步骤

1. 实验接线图如图1.20所示,按图接线。

2. 编写实验程序,经编译、链接无误后装入系统。

3. 先运行程序,待程序运行停止。

4. 通过D命令查看写入存储器中的数据:

D8000:0000 回车,即可看到存储器中的数

据,应为0000、0001、0002、…、000F共16个

字。

5. 改变实验程序,按非规则字写存储器,观察实

验结果。

6. 改变实验程序,按字节方式写存储器,观察实

验现象。

7. 将实验程序改为死循环程序,分别按规则字与

非规则字的方式写存储器,并使用示波器观察WR#信号的波形,分析实验现象,掌握16位外部数据总线的操作方法。

1.3.8 思考题

选用74LS138译码器,按表1.5中MY0、MY1选通存储器的地址范围,设计系统扩展

存储器的片选电路,并说明采用的是何种方法产生片选信号。

18

微机原理与接口技术实验汇总

实验要求 1、带预习报告上机 根据实验要求,作好充分预习,设计实验硬件原理及接线图(必须标出相关的管脚号,以备硬件连线及测试),画出程序流程图,写出源程序清单,规划好调试步骤,上机时带预习报告。注意:无预习报告者不得做实验。 2、认真实验,经教师检查后,方可离开 注意掌握软、硬件调试方法,提高分析问题、解决问题的能力。对所编写的程序必须十分清楚,作到知其然,亦知其所以然,硬件电路原理清楚,熟练应用常规的仪器(如万用表、示波器等)检查测试硬件电路。指导教师还会根据实验要求,提出问题。3、按时提交实验报告 实验结束后,在预习报告的基础上,完成实验报告,并于下次实验时交给指导教师。 实验报告格式 实验* ***** ***** ***** 一、实验目的 二、实验内容 三、硬件原理及接线图 四、程序流程图 五、程序清单 六、实验步骤 七、实验结果及现象分析 八、收获及建议 测13实验安排: 地点:综合实验楼0701 实验周次星期小节 一 6 五1,2 二8 五1,2 三10 五1,2 四12 五1,2 五14 五1,2

实验一汇编语言程序的调试 一、实验目的 1、掌握8086汇编程序的编辑、编译、连接及运行过程。 2、掌握使用HQFC软件调试程序的方法。 二、实验内容:编制程序并调试 1、上机调试P45 项目1程序。 要求:1)写出调试步骤 2)记下代码段数据。 3)记下数据段数据 4)用单步调试法调试,记下每句程序目的操作数执行结果。观察每句程序 执行过程中CS、 IP、 FLAGS寄存器的变化。 2、上机调试P54 项目2程序,用单步调试法指出每句程序的调试结果。 要求:1)记下代码段数据。 2)记下数据段数据 3)记下程序执行前附加段数据、程序执行后附加段数据。 3)用单步调试法调试,记下lop句之前每句程序目的操作数执行结果。 观察其它句程序的执行结果,观察每句程序执行过程中CS、 IP、 FLAGS寄存器的 变化。 三、调试步骤 1、编辑源程序,形成****.ASM文件(可用HQFC软件或XP系统下的记事本编辑源程序) (注:在E:盘上建立一个你自己的文件夹,保存你自己的文件) 2、编译,形成****.OBJ文件(可用HQFC软件的编译功能) 3、链接,形成****.EXE文件(可用HQFC软件的构建功能) 4、运行(或调试)(可用HQFC软件的重构运行功能或开始调试) 四、调试步骤参考 1、编译(编译) 在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择编译选项则程序对当前ASM源文件进行编译,编译调试窗口中输出汇编的结果,若程序汇编有错,则详细报告错误信息。双击输出错误,集成开发环境会自动将错误所在行代码显示。 2、构建(汇编+链接) 在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择汇编+链接选项则程序对当前ASM源文件进行汇编与链接,编译调试窗口中输出汇编与链接的结果,若程序汇编或链接有错,则详细报告错误信息。双击输出错误,集成开发环境会自动将错误所在行代码显示。 3、重构运行(汇编+链接+执行) 在当前运行环境下,选择菜单栏中的“ASM文件编译”菜单,选择汇编+链接+执行选项则程序对当前ASM源文件执行,程序自动运行。

最新8086简易计算器的设计微机原理计硬报告整理

计算机硬件技术实践报告 题目简易计算器的设计 姓名 专业自动化(电站方向) 班级 学号 上海电力学院自动化工程学院

实践报告内容(目录) 一. 设计题目 二. 开发目的 三. 小组成员分工及成果 四. 设计方案以及论证 五. 硬件原理图(包括芯片的选型介绍) 六. 程序流程图(包括各个子系统和子过程的程序流程) 七. 程序清单,要有适当的注释 八. 程序运行结果分析与预测 九. 结果评述或总结(对实验结果进行分析,对实验过程进行总 结,系统改进升级建议或者提出新的方案等。)

一. 设计题目: 用8086设计一个能实现0~9整数加法运算的计算器,并用2位LED数码显示. 键盘包括0-9,+ ,-,*,/,=,ON/C;共16个按键.能实现简单的清零操作,减法运算,乘法运算. 二.开发目的: 通过课程设计,熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机 开发应用方面的初步训练。培养集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,做到理论联系实际,提高动手能力和分析问题、解决问题的能力, 实现由学习知识到应用知识的初步过渡。通过本次课程设计熟练运用程序对8255控制键盘和LED显示的控制,完成计算器加减法的应用,并熟练应用8086汇编语言编写应用程序 和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 三.小组成员分工及成果: 本组的三个成员一起讨论研究简易计算器设计的主要方案。 粗略设计程序流程图以确定简易计算器设计的大概框架。 明确目的后各自查询资料了解设计原理、逐步清晰设计思路。 以下为大体分工:主要负责:1、设计主要程序,编写; 2、查找资料验证修改; 主要负责:1、选择需要用的各个芯片; 2、设计硬件原理图; 主要负责:1、各个芯片功能的资料查找; 2、设计程序流程图 四.设计方案以及论证: 利用程序不断扫描所设的按钮键盘是不是有输入,如果没有就一直扫描,如果有就调 用子程序进行判断,是数值则进行存储并同时进行显示,是运算符号等就调用相应的子程 序进行操作,操作后则继续利用程序不断扫描键盘是不是有输入,从而实现部分十进制数 的加、减、乘、除的运算。运算完成后根据程序将运算的结果储存到锁存器中并显示到LED 显示器上。主要器件选择是采用8086CPU做主控制器,8255作为并行接口电路实现按键扫 描以及数码管的显示。通过8255A的C口和A口实现键盘的接入,通过键盘的不断扫描, 如果有键按下,通过查表法分别将输入的数据读到AL中并保存在第一个和第二个数里, 将8255A的B端口接上共阴极LED灯,将输入的数据通过查表法,将四段码送共阴极LED 灯显示,当按下‘=’时,通过判断字符,8086来实现不同的操作,并将结果在LED灯上显示,当按下“C”时,将数据先清零,同时LED灯上显示为“00”。

微机原理与接口技术实验报告

微机原理与接口技术实验报告 班级:自动化(铁道信号) 姓名: ***** 学号: 1121**** 授课教师:福恩

目录 1.实验一 (3) 2. 实验二 (8) 3.实验三 (13) 4.实验四 (22) 5.实验五 (26) 6.实验六 (33) 7.参考文献 (38)

实验一交通灯控制实验 一.实验目的 通过应用接口技术设计十字路口、复杂路口交通灯控制系统,学会应用“微机原理与接口技术”课程所学的X86汇编语言和接口技术掌握可编程并行接口芯片的硬件设计、软件编程,实现十字路口交通灯的模拟控制并思考计算机如何应用在各种控制系统中。 (1)掌握利用X86汇编语言技巧 (2)掌握X86微处理器与可编程并行接口芯片8255A硬件电路设计 (3)熟悉模拟交通灯控制的实现方法并思考如何应用在实际中。 二.实验容 设计一个交通控制系统,该控制系统工作后,交通灯按照如下规律变化: (1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。 (2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。 (3)南北路口的红、东西路口的绿灯同时亮3秒。 (4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。 (5)返回(1)依次循环。 三.实验电路 如下图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。 8255动态分配地址: 控制寄存器:0EC0BH A口地址: 0EC08H C口地址: 0EC0AH

红黄绿红黄绿 图1-1 交通灯实验电路图四.程序流程图 五.源程序 CODE SEGMENT ASSUME CS:CODE ;********************************** 工作状态控制字设置 START: MOV DX,0EC0BH ;写控制端口,地址0EC0BH MOV AL,10010000B ;C口方式0输出 OUT DX,AL

微机原理实验指导书

微型计算机原理与应用实验指导书 上海大学通信学院

2010 年4 月 PC微机原理实验一 一、目的:掌握PC机DEBUG调试程序有关命令的操作及8086各类指令的 功能。 要求:在PC机上完成下列程序的调试运行,并写出运行结果。二、1.DEBUG的基本操作:(详细内容请参阅教材“程序的调试,P173”和“附录F 调试程序DEUBG的使用,P499”) (1)从WINDOWS进入DOS之后,输入命令启动DEBUG: C:>DEBUG 回车 (2)输入R命令,查看和记录CPU各个寄存器的内容: -R回车 看到什么 (3)输入A命令,汇编下面的字符“WINDOWS”显示程序: -A100 ;从偏移地址是0100H处开始写指令 MOV AH,2 MOV DL, 57 ;57H 是“W ”的ASCII码 INT 21 ;INT 21是DOS 功能调用,AH=2代表2号功能 ;这3句合起来的功能是:显示DL中的字符 MOV DL, 49 INT 2 1 MOV DL, 4E INT 21 MOV DL, 44 INT 2 1 MOV DL, 4F INT 2 1 MOV DL, 57 INT 2 1 MOV DL, 53 INT 2 1 INT 3 ;功能是产生一个断点,不要省略 (4)输入U 命令反汇编上面的程序: -U 100 问:这里100代表什么 (5)输入G命令连续运行上面的程序,记录运行结果:

-G=100 ,57,53依次分别改为574F4E57 (6)输入E命令把上面程序中的数据,49,,44,,45:,,45,4C43,4F4D,-E 103 回车(以下同) -E 107 10B-E -E 10F 113-E 117-E 11B-E (7)输入D命令查看程序机器码的存放情况: -D 100 11E ;看从100开始到11E的机器码 (8)输入G命令再连续运行程序,并记录运行结果: -G=100 (9)依次输入下面的T命令(单步执行)和G命令(设置断点并启动运行),记录各 命令的运行结果: -T=100 回车 -G=100 106 回车 -G=100 10A 回车 -G=100 10E 回车 -G=100 11E 回车 注意: 下面第2—第8段程序是7个实用的小程序,若不小心打错指令,可以这样修改: 例如:CS:0100 B300 MOV BL,0 0102 53 PUSH BX 0103 B220 LP1: MOV DL,20 要修改“PUSH BX”,因为这条指令的IP是0102,所以按以下操作: -A 0102 回车,然后把正确的指令打入,“-A ”是汇编指令。 如果要查看0100以后的指令及相应的机器代码,可以 -U 0100 回车,能够看到CS:0100开始的指令及相应的机器代码。“-U ”是反汇编 若发现有误用,用“-A XXXX 回车”,重打这条指令即可 2.编制一个能在CRT上连续显示A,B,C,D······Z大写英文字符的源程序,并在源程序下汇编调试机运行。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

2

3

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’ ;堆栈段定义 DB 512 DUP( ?) 4

8086.8088微机原理课程设计

8086/8088微机原理课程设计 1、课程设计说明 “微机原理与接口技术课程设计”主要是测试学生的8086/8088系统输入输出技术应用能力、数字电路应用能力和程序设计能力。 设计题目中综合了《数字逻辑》、《微机原理与接口技术》和《程序设计基础》等课程中的相关知识点。特别是电气工程系各专业学习了《模拟电子》、《传感器技术》、《单片机技术》等课程,给题目的扩展和实际应用提供了基础。本课程的课程设计实际上是一个综合性应用的设计和制作。 这里只给出了部分课程设计的题目,主要和接口电路有关,每个题目的实现方式和扩展空间都很大,指导教师可根据学生的具体情况决定设计题目的内容和设计量。纯汇编语言软件的设计未在这里列出。 欢迎学生自拟题目,经指导教师审核其难易程度和确定所用器材,优先选用。 2、课程设计计分办法 课程设计的计分由课设题目(60)、课设报告(20)、考勤(20)三部分组成。 一、题目的选择 设计题目分为星级制(★),根据选择题目的难易程度确定成绩,以百分制计算,按比例计入总成绩。要根据个人情况合理选择题目,不可多组选择同一题目。 1、无星为最简题目,做完多个题目仅记分为及格(69分及以下)。 2、1星(★)为简单题目,做完1个题目记分为良(70~89分)。 3、2星(★★)为较难题目,做完1个题目记分优(90~100分)。 4、星级题目多做可提高分值。 5、课设一般为分组实施,主要设计者记原星级分值,辅助者减1星。 6.、未完成设计者视设计程度减星计分。 7、无星题目可单人完成,但不选题目者记0分。 二、报告要求 课设报告应按规定格式书写,并按时上交。报告原则上要求手工书写,如要打印必须是独立版本,遇雷同课设报告均不计入总成绩。 三、考勤 考勤。点名一次未到扣5分,5次以上记0分。

微机原理与接口技术实验报告

新疆农业大学机械交通学院 实习(实验)报告纸 班级:机制072 学号: 073731234 姓名:唐伟 课程名称:微机原理及接口技术实习(实验)名称: DEBUG软件的使用 实验时间: 6.22 指导教师签字:成绩: —、实验目的 1.学习DEBUG软件的基本使用方法。 2.掌握8088/8086的寻址方式。 3.掌握数据传送、算术运算逻辑运算等类指令的基本操作。 二、实验内容与步骤 实验内容: 修改并调试以下程序,使之完成30000H开始的内存单元中存入31个先自然递增然后有自然递减的数据(00H~0F~00H)的功能。程序从CS:0100H开始存放。调试完成后程序命名为PCS.EXE并存盘。 实验步骤: (1)用A命令输入程序; (2)用反汇编U命令显示程序及目标码; 存盘程序命令为PCS1.EXE;

三、思考题 1.EXE文件程序的第一条可执行指令的IP等于多少? 答:EXE文件程序的第一条可执行指令的IP等于0010 。 2.在DEBUG环境下显示的程序和数字是什么形式?标号又是什么形式? 答: DEBUG把所有数据都作为字节序列处理。因此它可以读任何类型的文件。DEB UG可以识别两种数据: 十六进制数据和ASCⅡ码字符。它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。DEBUG总是用四位十六进制数表示地址。用两位数表示十六进制数据。不支持标号。 3.试述本次实验中你学会的DEBUG命令? 答:本次试验我学会了汇编命令(A命令)、.反汇编命令(U命令)、显示当前环境和寄存器内容(R命令、以十六进制和ASCII码形式显示内存单元内容(D命令)

微机原理实验指导书

微机原理及应用实验指导书 南京理工大学机械工程学院 2011年10月10日

实验1 基本操作实验 1. 实验目的 (1) 掌握TD-PITC 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。 (2) 掌握使用运算类指令编程及调试方法; (3) 掌握运算类指令对各状态标志位的影响及其测试方法; (4) 学习使用软件监视变量的方法。 2. 实验设备 PC机一台,TD-PITC 实验装置一套。 3. 实验内容及步骤 通过对样例程序的操作,学会在TD-PITC境下,如何输入汇编语言程序,如何进行汇编语言源程序的汇编、连接、下载和运行;在调试程序的学习过程中,应学会: ●如何设置断点; ●如何单步运行程序; ●如何连续运行程序; ●怎样查看寄存器的内容; ●怎样修改寄存器的内容; ●怎样查看存储器的内容; ●怎样修改存储器的内容。 3.1 实验内容1――――BCD码转换为二进制数 实验内容: 将四个二位十进制数的BCD 码存放于3500H 起始的内存单元中,将转换的二进制数存入3510H 起始的内存单元中,自行绘制流程图并编写程序。 参考实验程序清单如下: SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: XOR AX, AX MOV CX, 0004H MOV SI, 3500H MOV DI, 3510H A1: MOV AL, [SI] ADD AL, AL MOV BL, AL

ADD AL, AL ADD AL, AL ADD AL, BL INC SI ADD AL, [SI] MOV [DI], AL INC SI INC DI LOOP A1 A2: JMP A2 CODE ENDS END START 实验步骤: 1)运行Wmd86 软件,进入Wmd86 集成开发环境。 2)根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1-1所示。语言选择后,下次再启动软件,语言环境保持这次的修改不变。在这里,我们选择汇编语言。 图1-1 语言环境选择界面 3)语言选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图1-2所示。默认文件名为Wmd861。 图1-2 新建文件界面 4)编写实验程序,如图1-3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。

微机原理与接口技术李珍香版十个实验程序说课讲解

微机原理与接口技术李珍香版十个实验程 序

实验一 1.实验目的:掌握汇编语言源程序的结构。 2.实验内容:显示一串字符串“hellow world! 班级,学号”。3.实验代码: DATA SEGMENT MS DB ' Hello,World!$' NS DB ' 151044A,151044106$' DATA ENDS STACK SEGMENT STACK DW 50 DUP(?) STACK ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE:CODE,SS:STACK START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MS MOV AH,9 INT 21H MOV AX,DATA MOV DS,AX

MOV DX,OFFSET NS MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 4.实验结果:

实验二 1.实验目的:熟悉汇编语言源程序的编辑、汇编、连接、调试 过程 2.实验内容:两个8位16进制数相加(生日+当天日期) 3.实验代码: DATA SEGMENT SR DD 19970925H RQ DD 20171111H DATA ENDS STACK SEGMENT STACK DB 50 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV AX,WORD PTR SR ADD AX,WORD PTR RQ

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

微机原理及接口技术实验报告

实验一 DEBUG命令及其基本操作 一.实验目的: 1.熟练掌握DEBUG的常用命令,学会用DEBUG来调试程序。 2.深入了解数据在存储器中的存取方法,了解堆栈中数据的压入与弹出方法。 3.掌握各种寻址方法,了解简单指令的执行过程。 二、实验容: 1.打开计算机,在WINXP操作系统下,点击“开始”,选择“运行”,在“打开”一栏中输入“debug”,运行DEBUG应用程序,将出现DEBUG的提示符“-”。 2.在DEBUG提示符后键入字母“-a100”,回车后,屏幕上就会出现下面类似的容: (具体到每个计算机所产生的段地址和偏移地址可能有所不同) 这表示在地址1383:0100处,DEBUG等待用户键入程序助记符,下面键入程序: 3.在DEBUG的提示符后键入G,这是执行程序的命令,然后回车,就可以看到结果了。 4.现在让我们用“d”命令来看一下存储器 在100H~107H这8个单元,程序覆盖了原来的容,右边的字符是组成程序的ASCII码等价字符,圆点表示不可显示字符。 5.下面我们用反汇编命令来查看一下所键入的程序。“U”命令的格式是“U起始地址,终止地址”,即把起始地址到终止地址之间的十六进制码反汇编成汇编语言助记符语句。键入: 大家在屏幕上不仅可以看到地址和助记符,而且还可以看到与汇编语言等价的机器语言。6.现在我们修改存储单元的容,看看显示情况和变化。 我们看到显示的结果发生了变化,这是因为DOS的2号功能调用是显示输入数据的ASCII 码字符。 7.下面我们给程序命名并存盘。在键入“n”后紧跟程序名及扩展名

因为文件的字节数必须事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整个32位的数保存文件的字节数,一般来说,BX设置为0,因为CX可存放的字节数为64K,对于一般的程序已足够了。 8.结束后可用Q命令退出DEBUG程序。 三、实验习题 1.写出完成下列功能的指令序列 (1)传送20H到AL寄存器 (2)将(AL)*2 (3)传送25H到BL寄存器 (4)(AL)*(BL) 问最后的结果(AX)=? 单步执行结果: 2.分别写出完成下列指令要求的指令: (1)将BX的低4位清零; (2)将AX的高4位置1; (3)将DX的低4位取反; (4)将CX的中间八位清零; (5)将AX中与BX中的对应位不相同的位均置1.

微机原理与接口技术实验指导书1_[1]...

微机原理与接口技术实验指导书 编者:王亭岭 华北水利水电学院 电气学院自动化教研室 二零一二年三月

目录 实验一标志寄存器应用 (1) 实验二指令寻址方式练习 (4) 实验三分支结构程序设计 (6) 实验四循环结构程序设计 (7) 实验五子程序结构程序设计 (8) 实验六DOS系统功能调用程序设计 (10) 实验七BIOS中断调用程序设计 (12) 实验八定时器中断程序设计 (14)

实验一标志寄存器应用 一、实验目的与要求 1.掌握汇编程序的编译过程; 2.掌握8086的标志寄存器的特点。 二、实验内容 微型计算机(80x86系列)。 四、实验参考程序 DATA SEGMENT A DW 123 B DW 456 SUM DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE , DS:DATA START: MOV AX , DATA MOV DS , AX MOV AX , A SUB AX , B MOV SUM , AX MOV AH,4CH INT 21H CODE ENDS END START 五、实验步骤 步骤一、用鼠标单击开始菜单,单击运行。如下图所示:

步骤二、在运行窗口中键入cmd,回车进入命令提示符。如下图所示: 步骤三、在命令提示符中编译汇编源程序并连接*.obj文件。如下图所示:1.C:\>D: 回车 2.D:\ >CD MASM 回车 3.D:\MASM>MASM SY1.ASM 回车 4.D:\MASM>LINK SY1.OBJ 回车

步骤四、在命令提示行中运行并调试汇编程序。如下图所示:1.D:\MASM>SY1.EXE 回车 2.D:\MASM>DEBUG SY1.EXE 回车 六、实验结论 1.程序运行后变量SUM的值是多少? 2.程序运行前后标志寄存器的各标志位有何变化? 3.分析实验结果及所遇到的问题,并说明解决的方法。

微机原理实验指导书

微型计算机原理与应用 实验指导书 上海大学通信学院 2010 年 4 月

PC微机原理实验一 一、目的:掌握PC机DEBUG调试程序有关命令的操作及8086各类指令的 功能。 二、要求:在PC机上完成下列程序的调试运行,并写出运行结果。1.DEBUG的基本操作:(详细容请参阅教材“4.5程序的调试,P173”和“附 录F调试程序DEUBG的使用,P499”) (1)从WINDOWS进入DOS之后,输入命令启动DEBUG: C:>DEBUG 回车 (2)输入R命令,查看和记录CPU各个寄存器的容: -R回车 看到什么? (3)输入A命令,汇编下面的字符“WINDOWS”显示程序: -A100 ;从偏移地址是0100H处开始写指令 MOV AH,2 MOV DL, 57 ;57H 是“W”的ASCII码 INT 21 ;INT 21是DOS 功能调用,AH=2代表2号功能 ;这3句合起来的功能是:显示DL中的字符 MOV DL, 49 INT 21 MOV DL, 4E INT 21 MOV DL, 44 INT 21 MOV DL, 4F INT 21 MOV DL, 57 INT 21 MOV DL, 53 INT 21 INT 3 ;功能是产生一个断点,不要省略 (4)输入U命令反汇编上面的程序: -U 100 问:这里100代表什么? (5)输入G命令连续运行上面的程序,记录运行结果: -G=100 (6)输入E命令把上面程序中的数据57,49,4E,44,4F,57,53依次分别改为57,45,4C,43,4F,4D,45: -E 103 回车(以下同) -E 107 -E 10B

微机原理实验指导

微机原理实验一简单I/O口扩展实验 一、实验目的 1. 熟悉74LS273、74LS244的应用接口方法。 2. 掌握用锁存器、三态门扩展简单并行输入输出口的方法。 二、实验内容 用逻辑电平开关作为74LS244(U10)的输入,用发光二极管作为74LS273的输 出,编写程序,使得逻辑电平开关的输入状态从发光二极管上显示出来。 三、实验器材 微机、EL型微机教学实验箱 四、实验原理图 4LS273 4 4LS02 S O S I C S U 1 R K1-K8是开关的输出插孔,L1-L8是发光二极管的输入插孔,SI0-SI7是74LS244 的输入插孔,SO0-SO7是74LS273的输出插孔,CSU10\是74LS244的地址译码输入插孔,CSU8\是74LS273译码输入插孔,以上插孔实验时均需连线,原理图中其它已注的和未标注的引脚均以连好或实验不需要。 74LS244

五、实验步骤 1.连线:将74LS244的输入SI0-SI7分别与逻辑电平开关电路的 K1-K8相连,从I/O地址片选信号 CS0\~CS7\中任选一个与 U10的片选信号相连(例如CS0\)。将74LS273(U8或U9)的输出(CS0\~CS7\)分别与发光二极管电路的 L1~L8相连,从I/O地址片选信号CS0\~CS7\中任选一个与U8或U9的片选信号相连。(如CS1\)2.编辑程序,单步运行,调试程序 3.调试通过后,全速运行,观察实验结果 4.编写实验报告 六、编程提示 逻辑电平开关拨上时为5V,拨下时为0V,发光二极管输入‘1’为亮,‘0’为灭。从U10读入的数据后从输出口输出。 七、程序框图

微机原理与接口技术实验报告

微机原理与接口技术课程设计报告题目:继电器控制实验设计 学院电子与信息工程学院 专业通信工程年级 10级 学生姓名 xx 学号 _ xxxxxxxx 指导教师 xx 完成时间 2012/11/9 二O一二年十一月

目录 摘要 (3) 一.实验目的 (4) 二.实验原理 (4) 1 实验基本原理 (4) 2.1继电器结构原理图 (5) 2.2继电器工作原理 (5) 3.1 8255A组成 (6) 3.2 8255A结构框图 (7) 3.3 8255A工作方式 (7) 三.实验内容 (11) 四.程序设计 (12) 4.1程序流程图 (12) 4.2程序代码 (12) 五.实验小结........................................................ 错误!未定义书签。 六.参考文献 ......................................................... 错误!未定义书签。

摘要 现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件,另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全。继电器便能完成这一桥梁作用。 本课程设计主要采用了控制继电器和8255A芯片来完成。电路的控制端为高电平时,继电器工作常开触点吸合,连触点的LED灯被点亮。当控制端为低电平时,继电器不工作。执行时,对应的LED将随继电器的开关而亮灭。 关键词:控制继电器 8255A芯片

一.实验目的 1、进一步熟悉汇编语言的设计编写 2、掌握继电器控制的基本原理 3、掌握继电器控制编程方法 4、掌握8255芯片的应用 二.实验原理 1、利用8255A PA0输出高低电平,控制继电器的开合,以实现对外部装置的控制。 硬件线路原理图接线如下: 2、继电器 在现代工业中,人员和电子电路安全保障一直是首要考虑的问题,尤其在一些高危恶劣环境下,如高温高压等,如何在保障操作人员和电子电路安全的前提下对电路进行良好地控制便成为了工业进步不可回避的问题。一方面要使电子电路的控制信号能够控制电气电路的执行元件,另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全,符合这种需求的元件便是继电器。 控制继电器是一种自动电子控制器件,它适用于远距离接通和分断交、直流小容量控制电路, 它具有控制系统和被控制系统,通常应用于自动控制电路中,

微机原理与接口技术_课程设计实验报告

课程设计实验报告 课程:现代微机原理与接口技术题目:键盘扫描实验

班级:数字媒体 1004 学号: 0305100417 学生:海洋 指导老师:天天 日期: 2012.6.18 一、实验目的 (1)掌握键盘扫描的应用及编程 (2)掌握LED的应用 二、实验设备 PC计算机一台,TD-PIT + 实验系统一套。 三、实验原理 (1)8255芯片:8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置。通过cpu对8255的控制最总达到键扫的目的。每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。 (2)LED数码显示原理:数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与单片机的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。 (3)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

微机原理实验指导

实验一 MASM For Windows 的使用及顺序程序设计 一、实验目的 1、熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。 2、熟悉masm for windows调试环境及DEBUG常用命令的使用 二、实验内容 1.DEBUG常用命令(U、R、D、E、F、T、G、Q)的操作使用 2.编程实现两个16位无符号数的加、减、乘、除运算。 有两个两字节无符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显示。相加若有进位不存入存储单元。 三、实验设备 PC机一台、masm for windows 汇编语言集成环境 四、实验准备 1) 分析题目,将程序中的原始数据和最终结果的存取方法确定好。 2) 画出流程图。 3) 写出源程序。 4) 对程序中的结果进行分析,并准备好上机调试与用汇编程序及汇编调试的过程。 五、实验步骤 1) 输入源程序。 2) 汇编、连接程序,生成 .EXE文件,执行文件,检查结果。 六、学生实验报告的要求 1) 列出源程序,说明程序的基本结构,包括程序中各部分的功能。 2) 说明程序中各部分所用的算法。

3) 说明主要符号和所用到寄存器的功能。 4) 上机调试过程中遇到的问题是如何解决的。 5) 对调试源程序的结果进行分析。 4) 说明标志位CF、SF和OF的意义。 DEBUG的常用命令 1、R 显示或修改寄存器的内容命令格式:-R 2、 D 显示存储单元的内容命令格式:-D[地址1, 地址2] 3、E修改存储单元的内容 命令格式:-E[地址1, 地址2] 4、U反汇编 命令格式:-U[地址1, 地址2] 5、T单步执行 命令格式:-T 6、G连续执行 命令格式:-G[=起始地址, 结束地址] A小汇编 命令格式:-A 7、Q退出DEBUG,返回DOS 实验一源程序 EXAM1-2 .ASM DATA SEGMENT A D B 34H,18H,2 DUP(0),’$’ B DB 56H,83H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,A MOV BL,B ADD AL,BL

微机原理与接口技术实验报告

微机原理与接口技术》 上机报告 学院:机电学院指导教师:胡勇学号:631424210229 姓名:鞠其林

实验一初级程序的编写与调试实验 、实验目的 1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序. 2、深入了解数据在存储器中的存取方法, 及堆栈中数据的压入与弹出 3、掌握各种寻址方法以及简单指令的执行过程. 二、实验内容 1、设堆栈指针SP=2000H,AX=3000H,BX=5000H请, 编一程序段将AX的内容和BX 的内容进行交换. 请用堆栈作为两寄存器交换内容的中间存储单元, 用DEBUG调试程序进行汇编与调试. 程序: MOV AX,3000 MOV BX,5000 MOV SP,2000 PUSH AX PUSH BX POP AX POP BX HLT

2、设AX=0002H,编一个程序段将AX的内容乘10, 要求用移位的方法完成程序: MOV AX,0002 MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX MOV CL,1 SHL AX,CL HLT

三、心得体会 从这个程序的编辑过程中我感受到了汇编语言的强大,很直观的就可以读懂程 序的含义,但代码比较难记,而且语法严谨,我调试的过程中犯了一点错误, 修改的次数较多,希望我以后可以不再犯同样的错误,也是因为我练的比较的 少,还很生疏,我以后一定多加练习,把汇编学好 实验二 加法及判断程序的编写与调试 、实验目的 1、熟练掌握编写汇编语言源程序的基本方法和基本框架 2、学会编写顺序结构 , 分支结构和循环结构的汇编程序

3、掌握程序中数据的产生与输入输出的方法. 二、实验内容 1、用汇编语言编写一个加法程序: 1325+9839 请用ASCII 码的形式将加数与被加数存放在数据区DATA1和DATA2中, 并将相加结果显示输出. 程序: DATA SEGMENT DATA1 DB '5','2','3','1' DATA2 DB '9','3','8','9' DATA ENDS STACK SEGMENT PARA STACK 'STACK' DB 200 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX LEA SI,DATA1 LEA DI,DATA2 MOV CX,4 MOV AH,0 NEXT: MOV AL,[SI] ADC AL,[DI] ADC AL,AH MOV AH,0 AAA ADD AL,30H MOV [DI],AL INC DI INC SI LOOP NEXT MOV CX,5 ADD AH,30H MOV [DI],AH NEXT1:MOV DL,[DI] MOV AH,02 INT 21H DEC DI

(完整版)微机原理课后单元习题-单元2-8086cpu

习题二 8086微处理器 答案 主要内容:主要介绍8086/8088CPU内部结构。了解80X86CPU的特点。 2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么? 【答】8086的内部结构分成两部分。总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。 2.2 8086的总线接口部件有那几部分组成? 其功能是什么? 【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。 2.3 8086的执行单元(部件)由那几部分组成?有什么功能? 【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。 (1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。 (2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。 (3)标志寄存器,使用9位,标志分两类。其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。 (4)通用寄存器组,用于暂存数据或指针的寄存器阵列。 2.4 8086内部有哪些通用寄存器? 【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。 2.5 8086内部有哪些段寄存器?各有什么用途? 【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。 2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态 标志和控制标志分别有哪些? 【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。控制标志(3位),在8086特定指令操作中起控制作用。 (2)利用状态标志可以掌握当前程序操作的结果,例如了解是否产生进位,是否溢出等。例如利用控制标志可以控制程序的单步调试。 (3)状态标志包括:包括零标志ZF、符号标志SF、奇偶标志PF、进位标志CF、辅助进位标志AF、溢出标志OF。控制标志包括:单步运行标志TF、方向标志DF与中断允许标志IF。 2.7 8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么 优点? 8086CPU执行转移指令时,指令队列寄存器内容如何变化? 【答】(1)传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。 (2)在8086CPU中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU的工作效率。

相关主题