您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 8086实验指导书(修改版)1
1第一章EMU8086简介一、进入EMU8086界面1.双击如下图标显示如下32.单击NEW…(打开文档)就是它了43.选EXEtemplate-advancedexecutablefile.header:relocation,checksum.(创建一个新的.EXE文档)1.还是选它吧2.然后OK54.编辑界面1.可在此输入程序,修改其它代码段内容2.也可以将界面内容全部清除,自己重新编写.代码段和程序.65.程序输入完后,保存程序,单击1.选择盘符将编译好的文件存入指定目标2.保存源程序76.源程序保存好后,单击compile(编译源程序)编译源程序87.编译过程中如发现错误语句,程序中止编译,并显示错误位置,如下图第36条出错,单击close退出第36条错误退出编译,返回到编辑介面98.汇编界面提示错误位置显示出错位置当错误修改后再重新存盘(save)、编译(compile)。109.编译结束后,选择盘符,保存编译文件1.选择盘符将编译好的文件存入指定目标2.保存源程序1110.编译程序通过后,单击即重新加载编译程序,加载结束后,单击将通过的编译程序加载到仿真器上加载到仿真器上窗口中1211.加载后的界面仿真器窗口源代码窗口编辑窗口1313.程序加载完后,可直接按键执行程序仿真结束窗口仿真结果窗口14二、仿真器工具栏简界程序加载IP指针返回到程序的起始地址端返回上一步单步执行程序全速执行程序调节程序执行的速度4组16位寄存器显示结果显示源程序复位显示标志寄存器堆栈调试源代码目标文件查看数据段内容断点设置等段信息窗口15将Debug打开与singlestep结合起来操作,可以看到个段寄存器所在的位置和标志寄存器状态2.单击(单步执行键)singlestep1.打开debug3.观察段和标志寄存器为执行MOVAX,0071H命令各段及标志位结果16如果你编的程序不是直接在屏幕上显示,那就要到数据段查看结果,按如下操作:1.单击aux选memory2.根据数据段DS所指地址3.在此输入段地址和偏移地址4.单击此处5.在此观察结果17三、菜单简介1.文件182.编辑193.标记4.编译205.模拟器6.表达式第二章软件实验22参见课本及实验指导书实验一:两个多位十进制数相减的实验(作业16)实验二:从键盘输入数据并显示(作业16)实验三:排序实验(作业15)要求:从首地址为1000H的内存区域开始存放10个有符号字数据数,设计程序将这些数从大到小排序,并将排序前后次序的显示在屏幕上。23实验一两个多位十进制数相减一.实验要求将两个多位十进制数相减,要求减数、被减数均顺序存放在以DATA1、DATA2为首的5个内存单元中,(低位在前),结果送回DATA1处,检查内存中的运算结果。列出运算式。二.实验目的学习数据传送和算术运算指令的用法。24实验二从键盘输入并转换一.实验要求从键盘输入5个有符号2位十进制数,将它转换成有符号二进制数,将结果送入内存中buff开始的单元中。二.实验目的掌握键盘接受数据的方法,码制转换。三.实验程序框图算法:①符号字符串→标识符MINU。若为负,MINU=1;②数字字符(31H~39H)→一位十进制数(0~9)a0,a1,a2…③十进制数转换成十六进制数:十六进制数=a2x100+a1x10+a0=(a2x10+a1)x10+a0④转换后查符号,如果是负数,取补码制转换部分流程图:25调中断,从键盘输入数据,数据间用逗号分隔字符计数器清零是字符1~9?是逗号?转换成一位十进制数→ALAL+BL→BLBL清零取字符数→CXCX-1CX=0?BUFF→SIBL→[SI]SI+1字符计数器+1BL清零BL×10AAYN26实验三.排序实验一.实验要求要求:从键盘输入5个有符号2位十进制数,将它转换成有符号二进制数,将结果送入内存中buff开始的单元中。将这些数从大到小排序,并将排序结果显示在屏幕上。二.实验目的掌握用汇编语言编写气泡排序程序的思路和方法,掌握字符和数据的显示方法。三.实验程序框图键盘输入子程序inword出口:buff开始的单元,CX排序子程序sort入口:buff开始的单元,CX;出口:buff开始的单元,CX显示子程序display:入口:AL27调用inword调用sort调用display主程序Display子程序BUFF→SI[SI]→ALCX-1CX=0?SI+1结束AL/10→AL,AHAL+30H→ALAH=2调用INT21H显示AH→DHDH→ALAH=2调用INT21H显示RETAH+30H→AHAA显示空格28第三章LCA88ET(AEDK8688ET)实验仪的使用与操作291.单击图标,显示如下界面点击此处,建立文档302.打开一个新的界编程界面编写源程序窗口编译结果窗口313.编译无错误提示324.编译窗口的四个选项可直接选第三选项只要编译通过就可直接加载程序335.编译无错误,即可将程序加载程序到AEDK8688实验仪加载成功如下图IP地址所在位置编译文件报告窗口常用寄存器当前值346.执行程序除可直接按电脑键盘的F9外,还可如下操作单击这里单击这里357.注意要想加载成功不但要程序编译无错误,还必须将实验仪的电源打开,并使实验仪的初始显示为AEDK8688,如下显示1.开关拨到Power位置2.只有显示AEDK8688才能加载程序3.如果开机后显示的不是AEDK8688,可按RST复位键368.实验仪必须如下显示才算加载成功只有显示86882.1才算加载成功379.如何知道程序是不是处在执行状态,可观察如下几个位置:与交替闪烁与交替闪烁3810.如何中止程序的执行1.中止执行程序按HALT2.恢复初始状态按RST3982558279交通灯8位开关ADC0809DAC08328位LED电源开关VCCGND译码器地址电位器82598253825162256蜂呜器8088AEDK88ET频率300KHz与PC机连40I/O译码电路41第四章硬件接口实验42实验一双色灯实验一、实验要求编写程序,以8255为输出口,控制四个双色灯按红、绿、黄的要求发光。二、实验目的1.掌握在PC系统中扩展简单I/O接口的方法。2.掌握编制数据输出程序的设计方法。三、实验说明本实验要求8255工作于方式0,四个双色灯红绿交替闪亮。四、实验电路接线图18253out1片选!反相驱动器43三、编程提示244实验二开关状态显示实验一、实验要求编写程序,设定8255的PA口为开关量输入,PB口为开关量输出,要求能随时将PA口的开关状态通过PB口的发光二极管显示出来。二、实验目的学习使用8255各个口的不同工作方式。三、实验电路线路图四、实验说明本实验要求8255工作方式0,PA口设置为输入,PC口置为输出,输入量为开关量,通过8255可实时显示在LED灯上。按下HALT或RST键则返回监控。五、思考题1.设计一程序,灯不受开关控制,循环左移或右移。(可用软件延时或硬件8253延时。)2.设计一程序,当开关接地时,8盏灯循环左移;当开关接+5V时,8盏灯循环右移。3454开关拨上,输出高电平同相缓冲器片选46实验三模拟交通灯实验一、实验要求编写程序以8255作为输出口,控制4个双色LED(可发红、绿、黄光),模拟十字路口交通灯管理。二、实验目的1.学习在PC机系统中扩展简单I/O接口的方法;2.进一步学习编制数据输出程序的设计方法;3.学习模拟交通灯控制的方法;4.学习双色灯的使用。三、实验电路接线图实验电路接图参见实验一。编程提示:双色灯的接法参看实验一547四、实验说明因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一十字路口为东西南北走向,初始状态0为东西南北均为红灯。然后转状态1,南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几下转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环到状态.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,仅用正端。当红色正端加高电平时,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。648五、思考题1.设计一交通灯控制器,除正常车辆通行外,还需考虑特种车(如救火车、救护车、警车等)的通行。此时,上述定时控制方式便不够了,而应进行查询方式的控制。2.设有一十字路口,其南北方向为主街道,东西方向为副街道。因主街道平时有大量的车辆通过,所以平时交通灯的状态为主街道绿灯亮,副街道红灯亮。3.现用开关K1和K2代替传感器模拟十字路口主、副街道的车辆通行情况,开关K3和K4分别模拟主街道和副街道特种车通行情况。此处仍用8255并行接口进行控制。4.当副街道有车辆到达时(平时车辆很少),即8255的PA1端为“1”时,主街道的灯亮顺序由绿变黄,经延时又变红。此时副街道则由红变绿。当副街道放行延时为30秒后,副街道由绿变黄,延时后变红,主街道由红变绿。若在副街道30秒放行时间内,主街道停留的车大于7493辆时,即8255三次查询PA0端均为“1”时,副街道由绿变黄延时后变红,主街道则由红变绿。5.开K3和K4分别模拟主街道和副街道特种车通行情况,当8255查询到PA2,PA3为“1”时,即代表有特种车请求通行时,此时当前主、副街道上的普通车辆禁止通行(全红),有特种车通行的街道绿灯亮,该状态延时数秒后交通灯再恢复到特种车到达之前的状态。请按上述条件连接硬件电路并编制程序。若延时程序用8253的定时功能完成,该如何进行程序设计。850一.实验要求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,以此类推.9实验四8255键盘扫描实验5110528255CS连218~21F。用导线将8255A的PA0~PA7和PB0、PB1引脚分别短接到8279的RL0~RL7和Y0~Y1,8279CS连210~217。拔掉K10上的所有短路套。四.实验说明键盘值的读取一般有两种方法。一种是扫描法,另一种是反转法。扫描法是对键盘上的某一行送低电平,其他为高电平,然后读取列值,若列值中有一位是低,表明该行与低电平对应列的键被按下。否则扫描下一行。反转法是先使所有行扫描线输出低电平,读列值,若列值有一位是低电平,表明有键按下;接着将读到的列值从列扫描线输出,再读行值。根据读到的值组合就可以查表得到键码。1253实验五定时器/计数器实验(一)13一、实验要求编程将8253定时器0设定为方式3,定时器1设定为方式2,定时器2设定为方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一LED上,运行后可观察到该LED在不停闪烁(注意闪烁时间的长短)。二、实验目的了解8253定时器的硬件连接方法及时序关系。掌握8253的各种模式编程及原理。三、实验电路及连线片选54四、实验说明1.注意片选线连接。2.8253的工作频率为0-2MHZ,所以输入的CLK频率必须在2MHZ以下。实验板上从波特率开关边上F(F的频率为300KHZ)插孔引至定时器0(CLK0)输入。3.要求写出初值计算式。五、编程提示对8253定时器/计数器进行操作时,必须遵守两个原则:1.对计数器设置初始值前必须先设置控制字2.设置初始值时,应与控制字中的格式规定一致,当控制字中设置只读、写高字节或只读、写低字节时,初始值为1字节。当控制字中设置先读低字节,后读高字节时,初始值为2字节,分两次传送。3.
本文标题:8086实验指导书(修改版)1
链接地址:https://www.777doc.com/doc-3400283 .html