8086实验指导书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

23
实验二 从键盘输入并转换
一. 实验要求 从键盘输入5个有符号2位十进制数,将它转换成有符号二进制数, 将结果送入内存中buff开始的单元中。 二. 实验目的 掌握键盘接受数据的方法,码制转换。 三. 实验程序框图 算法: ①符号字符串→标识符MINU。若为负, MINU=1; ②数字字符(31H~39H)→一位十进制数(0~9)a0,a1,a2… ③十进制数转换成十六进制数: 十六进制数=a2x100+a1x10+a0 =(a2x10+a1) x10+a0 ④ 转换后查符号,如果是负数,取补 码制转换部分流程图: 24
第36条错误
退出编译, 返回到编辑 介面
8
8.汇编界面提示错误位置
显示出错位置
当错误修改后再重新存盘
(save)、编译
(compile) 。
9
9.编译结束后,选择盘符,保存编译文件
1.选择盘符将编 译好的文件存入指 定目标
2.保存源程序
10
10.编译ห้องสมุดไป่ตู้序通过后,单击 后,单击
即重新加载编译程序,加载结束
频率 300KHz 8088
AEDK88ET
与PC机连
ADC0809
8279
VCC GND
8259 蜂呜器 8位开关
8251 8253 62256
39
I/O译码电路
40
第四章 硬件接口实验
41

实验一
一、实验要求
双色灯实验
编写程序,以8255为输出口,控制四个双色灯按红、绿、黄的要求发光。
二、实验目的
46
6
四、实验说明
因为本实验是模拟交通灯控制实验,所以要先了解实际交通 灯的变化规律。假设一十字路口为东西南北走向,初始状态0为东 西南北均为红灯。然后转状态1,南北绿灯通车,东西红灯。过一 段时间转状态2,南北绿灯闪几下转亮黄灯,延时几秒,东西仍然 红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4, 东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环到 状态. 双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起, 仅用正端。当红色正端加高电平时,绿色正端加低电平时,红灯亮; 红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电 平时,黄灯亮。
参见课本及实验指导书 实验一:两个多位十进制数相减的实验(作业16) 实验二:从键盘输入数据并显示(作业16) 实验三:排序实验 (作业15) 要求:从首地址为1000H的内存区域开始存放10个有 符号字数据数,设计程序将这些数从大到小排序, 并将排序前后次序的显示在屏幕上。
22
实验一 两个多位十进制数相减 一. 实验要求 将两个多位十进制数相减,要求减数、被减数均 顺序存放在以DATA1、DATA2为首的5个内 存单元中,(低位在前),结果送回DATA1 处,检查内存中的运算结果。列出运算式。 二. 实验目的 学习数据传送和算术运算指令的用法。
26
主程序 调用inword 调用sort BUFF→SI [SI]→AL 调用display SI+1
Display子程序 AL/10→AL,AH AL+30H→AL AH+30H→AH AH→DH AH=2 调用 INT21H显示 显示空格 CX-1 CX=0? 结束
27
A
DH → AL
AH=2调用 INT21H显示 RET
52
13
实验五
定时器/计数器实验(一)
一、实验要求 编程将8253定时器0设定为方式3,定时器1设定为方式2,定 时器2设定为方式2,定时器0输出作为定时器1的输入,定时器 1的输出作为定时器2的输入,定时器2的输出接在一 LED上, 运行后可观察到该LED在不停闪烁(注意闪烁时间的长短)。 二、实验目的 了解8253定时器的硬件连接方法及时序关系。掌握8253的各 种模式编程及原理。 三、实验电路及连线
48
8
3辆时,即8255三次查询PA0端均为“1”时,副街道由绿变黄延时后 变红,主街道则由红变绿。
5.开K3和K4分别模拟主街道和副街道特种车通行情况,当8255查询 到PA2,PA3为“1”时,即代表有特种车请求通行时,此时当前主、 副街道上的普通车辆禁止通行(全红),有特种车通行的街道绿灯亮, 该状态延时数秒后交通灯再恢复到特种车到达之前的状态。 请按上述条件连接硬件电路并编制程序。若延时程序用8253的定时功 能完成,该如何进行程序设计。
49
9
实验四
8255键盘扫描实验
一.实验要求 1 .编写程序,用扫描法读入实验机上按键,并在实验机的LED数 码管上显示读到的键值。 2 .编写程序,用反转法读入实验机上按键,并在实验机的LED数 码管上显示读到的键值。 二.实验目的 1.学习在单板系统中扩展简单I/O接口的方法。 2.学习扫描读取键盘的编程方法及硬件结构。 三.实验电路及连线 8255地址为PA口CS+0H,PB口CS+1H,PC口+2H,命令/状态口 CS+3H.CS片选信号为首址,如:CS=200,则PA=200H, PB=201H,PC=202H,以此类推.
要求:从键盘输入5个有符号2位十进制数,将它转换成有符号二 进制数,将结果送入内存中buff开始的单元中。 将这些数从 大到小排序,并将排序结果显示在屏幕上。
二. 实验目的
掌握用汇编语言编写气泡排序程序的思路和方法,掌握字符和数 据的显示方法。
三. 实验程序框图
键盘输入子程序inword 出口: buff开始的单元,CX 排序子程序sort 入口:buff开始的单元,CX;出口:buff开始的 单元,CX 显示子程序display:入口:AL
2.然后OK
4
4.编辑界面
1.可在此输入程序,修 改其它代码段内容 2.也可以将界面内容 全部清除,自己重新编 写.代码段和程序.
5
5.程序输入完后,保存程序,单击
1.选择盘符将编 译好的文件存入指 定目标
2.保存源程序
6
6.源程序保存好后,单击compile(编译源程序)
编译源程序
7
7.编译过程中如发现错误语句,程序中止编译,并显示错误 位置,如下图第36条出错,单击close 退出
第一章
EMU8086简介
一、进入EMU8086界面
1
1.双击如下图 标
显示如下
2.单击NEW„(打开文档)
就是它了
3
3.选EXE template-advanced executable file. header: relocation, checksum. (创建一个新的.EXE文档)
1.还是选它 吧
1.掌握在PC系统中扩展简单I/O接口的方法。 2.掌握编制数据输出程序的设计方法。
三、实验说明
本实验要求8255工作于方式0,四个双色灯红绿交替闪亮。
四、实验电路接线图
片选! 42
8253 out1
反相驱动器
2 三、编程提示
43
3
实验二
开关状态显示实验
一、实验要求 编写程序,设定8255的PA口为开关量输入,PB口为开关量输出, 要求能随时将PA口的开关状态通过PB口的发光二极管显示出来。 二、实验目的 学习使用8255各个口的不同工作方式。 三、实验电路线路图 四、实验说明 本实验要求8255工作方式0,PA口设置为输入,PC口置为输出, 输入量为开关量,通过8255可实时显示在LED灯上。按下HALT或RST 键则返回监控。 五、思考题 1.设计一程序,灯不受开关控制,循环左移或右移。(可用软 件延时或硬件8253延时。) 2.设计一程序,当开关接地时,8盏灯循环左移;当开关接+5V 44 时,8盏灯循环右移。
A
第三章
LCA88ET(AEDK 8688ET)
实验仪的使用与操作
28
1.单击
图标,显示如下界面
点击此处, 建立文档
29
2.打开一个新的界编程界面
编写源程序窗口
编译结果窗口
30
3.编译无错误提示
31
4.编译窗口的四个选项可直接选第三选项
只要编译通过就可 直接加载程序
32
5.编译无错误,即可将程序加载程序到AEDK8688实验仪 加载成功如下图
15
如果你编的程序不是直接在屏幕上显示,那就要到数据段查看结果,按如下操作:
2.根据数据段 DS所指地址 3.在此输入段 地址和偏移地 址
1.单击aux选 memory
4.单击此处 5.在此观察结
16
三、菜单简介
1.文件
17
2.编辑
18
3.标记
4.编译
19
5.模拟器
6.表达式
20
第二章 软件实验
47
7
五、思考题 1.设计一交通灯控制器,除正常车辆通行外,还需考虑特种车(如 救火车、救护车、警车等)的通行。此时,上述定时控制方式便不够 了,而应进行查询方式的控制。 2.设有一十字路口,其南北方向为主街道,东西方向为副街道。因 主街道平时有大量的车辆通过,所以平时交通灯的状态为主街道绿灯 亮,副街道红灯亮。 3.现用开关K1和K2代替传感器模拟十字路口主、副街道的车辆通行 情况,开关K3和K4分别模拟主街道和副街道特种车通行情况。此处仍 用8255并行接口进行控制。 4.当副街道有车辆到达时(平时车辆很少),即8255的PA1端为“1” 时,主街道的灯亮顺序由绿变黄,经延时又变红。此时副街道则由红 变绿。当副街道放行延时为30秒后,副街道由绿变黄,延时后变红, 主街道由红变绿。若在副街道30秒放行时间内,主街道停留的车大于
A BUFF→SI
Y
字符计数器清零 BL →[SI] BL清零 SI+1 调中断,从键盘 输入数据,数据 间用逗号分隔 取字符数→CX A
是逗号? N BL×10
是字符1~9? 字符计数器+1 BL清零 转换成一位十进 制数→ AL
AL+BL→BL
CX-1 CX=0?
25
实验三. 排序实验
一. 实验要求
将通过的编译程序加载到仿真器上
加载到仿真器上 窗口中
11
11.加载后的界面
源代码窗口
仿真器窗口 编辑窗口
12
13.程序加载完后,可直接按
键执行程序
仿真结果窗口
仿真结束窗口
13
二、仿真器工具栏简界
程序加载 IP指针返回到程 序的起始地址端 返回 上一步 单步 执行程序 全速 执行程序 调节程序执 行的速度
35
8. 实验仪必须如下显示才算加载成功
只有显示8688 2.1 才算加载成功
36
9.如何知道程序是不是处在执行状态,可观察如下几个位 置:

交替闪烁

交替闪烁
37
10.如何中止程序的执行
1.中止执行程 序按HALT
2 .恢复初始 状态按RST
38
电位器 译码器地址 8位LED 电源开关
交通灯 DAC0832 8255
50
10
51
12
8255 CS连218~21F。用导线将8255A的PA0~PA7和PB0、PB1 引脚分别短接到8279的RL0~RL7和Y0~Y1,8279 CS连210~217。 拔掉K10上的所有短路套。 四.实验说明 键盘值的读取一般有两种方法。一种是扫描法,另一种是反 转法。 扫描法是对键盘上的某一行送低电平,其他为高电平,然后 读取列值,若列值中有一位是低,表明该行与低电平对应列的键 被按下。否则扫描下一行。 反转法是先使所有行扫描线输出低电平,读列值,若列值有 一位是低电平,表明有键按下;接着将读到的列值从列扫描线输 出,再读行值。根据读到的值组合就可以查表得到键码。
目标文件
源代
4组16 位寄存器
显示 结果
显示源 程序
复位 段信息窗口 查看数据段内容 断点设置等
调试
堆栈
显示标志 寄存器
14
将Debug打开与single step结合起来操作,可以看到个段寄存器所在的 位置和标志寄存器状态
2.单击(单步执行键) single step
1.打开debug
3.观察段和标 志寄存器 为执行MOV AX,0071H命 令各段及标志位结果
4
同相缓冲器 片选
开关拨上,输出高电平
45
5
实验三
模拟交通灯实验
一、实验要求 编写程序以8255作为输出口,控制4个双色LED(可发红、绿、 黄光),模拟十字路口交通灯管理。 二、实验目的 1.学习在PC机系统中扩展简单I/O接口的方法; 2.进一步学习编制数据输出程序的设计方法; 3.学习模拟交通灯控制的方法; 4.学习双色灯的使用。 三、实验电路接线图 实验电路接图参见实验一。 编程提示: 双色灯的接法参看实验一
IP地址所在 位置 编译文件报 告窗口
常用寄 存器当 前值
33
6.执行程序除可直接按电脑键盘的F9外,还可如下操作
单击这里
单击这里
34
7.注意要想加载成功不但要程序编译无错误,还必须将实验仪的电 源打开,并使实验仪的初始显示为AEDK8688,如下显示
1.开关拨到 Power位置
2 .只有显示 AEDK8688才能加载 程序 3.如果开机后显 示的不是 AEDK8688,可 按RST复位键
相关文档
最新文档