您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 建筑材料 > 微机原理与接口专业技术实验书
第一章性能特点1.1系统组成HK8086微机教学实验系统是在继承8086T和8086T1微机教学实验机优点的基础上,广泛地吸取用户的使用意见和建议,利用超想3000综合实验仪上的硬件资源,结合8086/88仿真技术,推出的新一代微机教学实验系统。1.2HK8086实验机性能特点1.2.1性能特点HK8086教学实验系统集微处理器8086和外配PC/80286/386/486/586及其兼容机于一体的高科技实验系统,具有实验、开发、自诊断等功能,是目前实验机市场上较先进的一种学习微机外围接口技术和微处理器原理的教学实验系统。该实验系统自带键盘、八位七段数码管、微处理器8086和USB通讯接口,可以接PC机做实验,也可以无须任何辅助设备而独立做实验。实验机上提供32KBRAM的程序和数据空间,具有无条件暂停(夭折处理)等功能。综合下来,它具有如下性能特点:1、具有夭折处理功能。在串行监控方式下,执行用户程序后,按暂停键,能保存用户现场返回监控,帮助查找程序跑飞、死循环等原因。2、提供简单易学的可视化窗口调试软件和实验软件集成环境。在该环境下,可以选择编辑、连接、单步跟踪、设置断点、全速运行、查找芯片等功能。在该环境下,提供了所有的硬件参考实验程序和原理图。3、易于扩充实验模块。在实验机上设计了一个自由实验区,便于用户利用实验机上的模块或芯片扩充实验和开发综合性微机外围接口实验。4、采用波峰焊接、热风整平技术。整块实验板上均采用先进的焊接技术,具有性能稳定、可靠等特点。本实验系统提供32KBRAM程序和数据空间,24个键键盘,6个七段LED数码管显示。5、软硬件实验丰富。实验设计丰富、合理,满足各类院校微机接口实验教学要求;实验板上实验模块化,互不影响。为了方便老师编程,我公司提供了40几个软硬件实验程序以供作参考。1.2.2实验系统资源分配8086有1兆寻址空间,在单板机和串行监控方式下,实验系统提供给用户使用空间:00000H-6FFFFH,80000H-FFFFFH,包括总清入口共960K存储空间。其中80000H-87FFFH是实验机提供的RAM空间,可供用户系统存放实验程序。监控占用80000H-80013H作为单步、断点、无条件暂停。系统00000H-000FFH与80000H-800FFH是重合的,总是访问实验内部RAM,所以,此区间用户的其他中断矢量可存放于此。另外,80100H-802FFH为监控数据区或用户堆栈区,在实验程序加载时,起始地址要大于80300H也就是这个道理。70000H-7FFFFH为实验机提供的64KEPROM地址空间,存放实验机监控程序,用户不可占用。80000H-87FFFH为实验机提供的32KRAM地址空间,用户可以存放实验程序和数据。0000H-FFFFH共64KI/O空间全提供给用户使用。实验机已译码200H-23FH地址空间给用户使用。第二章实验机模块原理HK8086实验机主板由许多独立的硬件实验模块组成,用户可用它们组成各种各样的硬件实验。学生在用硬导线组合实验时,一方面理解了实验模块的原理,另一方面也锻炼了动手能力。本实验板主要包括8255并行口模块、双色灯模块、单色灯模块、分频器模块、A/D转换模块、D/A转换模块、串行通讯8251模块、定时/计数器8253模块、8259中断控制器模块和单脉冲等模块。下面将详细地介绍各个模块的逻辑图及其功能与用途:1.1可编程并行口8255模块8255地址是PA口CS+0H,PB口CS+1H,PC口CS+2H,命令控制口CS+3H,其中,CS为8255片选信号首地址,若CS=200H,则,PA口地址为200H,PB口地址为201H,PC口地址为202H,依次类推。在下面的模块中也是如此说明。该模块在实验中主要处理数据并行输入/输出,如开关量的输入;单色LED/双色LED的输出,键盘实验等。1.2双色LED灯模块:双色灯输入由8255来驱动,主要用来做模拟交通灯实验。1.3单色LED灯模块:单色LED灯输入DL1-DL8可由8255来驱动,用来完成单色灯实验。1.4电位器:该模块主要为A/D转换提供模拟输入电压。1.5分频器模块1.6单脉冲电路1.7步进电机驱动电路该电路通过2003驱动步进电机。步进电机脉冲信号可以由8255提供。1.8A/D转换器模块0809各通道的口地址是CS+0H,CS+1H,CS+2H,CS+3H,CS+4H,CS+5H,CS+6H,CS+7H。用于A/D转换实验。1.9D/A转换器模块:该电路可以用于做D/A转换实验和驱动直流电机实验。0832口地址为CS32。1.108251可编程串行通讯模块:可用来做8086与PC机通讯的实验。1.11可编程定时/计数器模块本电路模块可用于产生定时中断,实现实时时钟实验等,具体接法请参照实验。本电路口地址为CS53。1.128259中断控制器实验模块本模块为8259中断实验模块,在串行监控方式下做8259中断实验。1.13开关量输入实验模块第三章软件实验部分实验一两个多位十进制数相减实验一、实验要求:将两个多位十进制数相减,要求被减数,减数均以ASCII码形式按顺序存放在以DATAI和DATA2为首的5个内存单元中(低位在前),结果送回DATAI处。二、实验目的:1.学习数据传送和算术运算指令的用法。2.熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。三、实验程序框图:四、实验程序:文件路径为C:\HK88TE\cai\asm\Ruanjian\Rjexp1.asmDATASEGMENTDATA1DB33H,39H,31H,37H,38H;第一个数据(作为被减数)DATA2DB36H,35H,30H,38H,32H;第二个数据(作为减数)MES1DB'-','$'MES2DB'=','$'DATAENDSSTACKSEGMENT;堆栈段STADB20DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVSI,OFFSETDATA1MOVBX,05CALLDISPL;显示被减数MOVAH,09HLEADX,MES1INT21HMOVSI,OFFSETDATA2MOVBX,05;显示减数CALLDISPLMOVAH,09HLEADX,MES2INT21HMOVSI,OFFSETDATA1MOVDI,OFFSETDATA2CALLSUBA;减法运算MOVSI,OFFSETDATA1MOVBX,05;显示结果CALLDISPLMOVDL,0DHMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HINT21HMOVAX,4C00HINT21HDISPLPROCNEAR;显示子功能DSI:MOVAH,02MOVDL,[SI+BX-1];显示字符串中一字符INT21HDECBX;修改偏移量JNZDSIRETDISPLENDPSUBAPROCNEARMOVDX,SIMOVBP,DIMOVBX,05SU1:SUBBYTEPTR[SI+BX-1],30HSUBBYTEPTR[DI+BX-1],30HDECBX;将ASCII码表示的数字串JNZSU1;转化为十六进制的数字串MOVSI,DXMOVDI,BPMOVCX,05;包括进位,共5位CLC;清进单位SU2:MOVAL,[SI]MOVBL,[DI]SBBAL,BL;带进位相减AAS;非组合BCD码的减法调整MOV[SI],AL;结果送被减数区INCSIINCDI;指向下一位LOOPSU2;循环MOVSI,DXMOVDI,BPMOVBX,05SU3:ADDBYTEPTR[SI+BX-1],30HADDBYTEPTR[DI+BX-1],30HDECBX;十六进制的数字串转化ASCII码表示的数字串JNZSU3RETSUBAENDPCODEENDSENDSTART实验二两个数相乘的实验一、实验要求:实现十进制数的乘法,被乘数和乘数均以ASCII码形式存放在内存中,算式结果在屏幕上显示出来。二、实验目的:掌握乘法指令和循环指令的用法。三、实验程序框图:四、实验程序:DATASEGMENTDATA1DB32H,39H,30H,35H,34HDATA2DB34HMES1DB'*','$'MES2DB'=','$'RESULTDB6DUP(00H)DATAENDSSTACKSEGMENTSTADB20DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVSP,TOPLEASI,DATA1MOVBX,05HL1:MOVAH,02HMOVDL,[SI+BX-1]INT21HDECBXJNZL1MOVAH,09HLEADX,MES1INT21HLEASI,DATA2MOVAH,02HMOVDL,[SI]INT21HMOVAH,09HLEADX,MES2INT21HMOVSI,OFFSETDATA2;显示算式MOVBL,[SI];乘数DATA2→BLANDBL,00001111B;屏蔽高4位,ASCII码转化为十六进制数MOVSI,OFFSETDATA1MOVDI,OFFSETRESULTMOVCX,05LOOP1:MOVAL,[SI]ANDAL,00001111B;取被乘数DATA1,ASCII变十六进制数INCSI;指向被乘数1的下一字符单元MULBL;相乘AAM;AAM调整ADDAL,[DI];结果低位与前次计算的进位相加AAA;AAA调整MOV[DI],ALINCDI;结果送存到下一单元MOV[DI],AHLOOPLOOP1;计算结果高位进位送存MOVCX,06MOVSI,DIDISPL:MOVAH,02MOVDL,[SI]ADDDL,30HINT21HDECSILOOPDISPL;显示结果MOVAX,4C00HINT21H;结束CODEENDSENDSTART实验三BCD码相乘实验一、实验要求:实现BCD码的乘法,要求被乘数和乘数以组合的BCD码形式存放,各占一个内存单元,乘积存入在另外两个内存单元中,由于没有组合的BCD码乘法指令,程序中采用将乘数1作为计算器,累加另一个乘数的方法得到计算结果。二、实验目的:掌握用组合的BCD码表示数据,并熟悉怎样实现组合BCD码乘法运算。三、实验程序框图:(附后)四、实验程序:DATASEGMENTFIRSTDB99HSECONDDB25HTHIRDDB2DUP(?)MES1DB'*','$'MES2DB'=','$'DATAENDSSTACKSEGMENTPARASTACK'STACK'STAPNDB100DUP(?)TOPEQULENGTHSTAPNSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVBL,FIRST;被乘数送BLMOVCL,SECOND;乘数送CLMOVDX,0;部分积清0MOVAL,BLAGAIN:ORAL,ALJZDONE;被乘数减到0则转结果显示MOVAL,DLADDAL,CLDAA;乘数于部分积低位相加后调整MOVDL,ALMOVAL,DHADCAL,0DAA;往部分积高位送进位后调整MOVDH,ALMOVAL,BLDECALDAS;组合BCD码减法调整MOVBL,ALJMPAGAINDONE:LEABX,THIRDMOV[BX],DXLEASI,FIRSTCALLDISXORAX,AXMOVAH,09HLEADX,MES1;*INT
本文标题:微机原理与接口专业技术实验书
链接地址:https://www.777doc.com/doc-6246396 .html