




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及接口技术实验指导书理学院计算机科学技术教研室44目 录微机原理及接口技术实验课教学大纲1实验一 系统认识实验5实验二 8259中断控制器实验9实验三 8253计数器/定时器应用实验16实验四 DMA控制器8237应用实验20实验五 8251串行通讯应用实验25实验六 8255及键盘技术实验30实验七 LED显示实验35实验八 分秒显示实验39 微机原理及接口技术实验课教学大纲 课程名称:微机原理及接口技术(Microcomputer Principle and Interface Technology)课程编号:课程类别:专业选修课(非独立设课)学 时:18 学时(总学时54,其中理论36学时、实验课18学时)学 分:1学分(总学分3分,其中理论2学分、实验课1学分)项目统计:8个(其中演示性0个,基础性7个,综合性1个,设计性0个;开放性0个)考核方式:考查适用专业:计算机科学与技术本科专业前修课程:汇编语言、计算机组成原理建设开课学期:第6学期 一、课程性质、目的任务微机原理及接口技术实验课是微机原理及接口技术课程教学的重要组成部分。通过实验课教学,加深学生对中断技术、DMA传输、串并行通讯、键盘技术等知识的理解和掌握,增强学生实践操作技能,达到对本课程系统掌握的目的。二、教学基本要求1熟悉实验环境;2掌握中断特性及825应用编程;3掌握8253计数器/定时器应用编程;4掌握DMA特性及8237应用编程;5掌握串行通讯及8251应用编程;6掌握并行通信及8255应用编程;7掌握键盘技术及LED数字显示;8能设计、开发、调试简单的微机应用系统。三、教学内容与学时分配 项目名称学时实验类型每组人数实验要求是否开放实验一 系统认识实验2基础性2必做否实验二 8259中断控制器实验2基础性2必做否实验三 8253计数器/定时器应用实验2基础性2必做否实验四 DMA控制器8237应用实验2基础性2必做否实验五 8251串行通讯应用实验2基础性2必做否实验六 8255及键盘技术实验2基础性2必做否实验七 LED显示实验2基础性2必做否实验八 分秒显示实验4综合性2必做否四、主要仪器设备每组一套P以上的PC机和一台微机原理实验仪器。五、参考教材及图书资料1、微型计算机技术及应用(第3版)清华大学出版社 戴梅萼等编著;2、微型原理与接口技术 人民邮电出版社 周明德等编著; 3、微型原理与接口技术,武汉理工大学出版社,李朝纯主编六、教学方法与考核1. 教学方法采用实验讲解、辅导、学生验证并配合实验习题相结合的教学方法。2考核方法实验课考查、实验报告评定。七、大纲正文实验一 系统认识实验(2学时)目的要求 1.初步认识实验系统;2.掌握在该系统下的源程序编辑、汇编、连接、运行等基本操作;3.掌握单个字符及字符串的显示方法。基本内容1单个字符的显示实验;2字符串的显示实验。实验二 8259中断控制器实验(2学时)目的要求 1.掌握8259中断控制器的工作原理;2.掌握8259全嵌套方式下的优先级特性;3.掌握8259中断控制器的应用编程。 基本内容1.8259单一中断源实验;2.8259优先级中断实验。实验三 8253计数器/定时器应用实验(2学时)目的要求 1.掌握8253的工作在方式0、方式2的工作特点;2.掌握8253的应用编程。基本内容1.8253方式0实验;2.8253方式2实验。实验四 DMA控制器8237应用实验(2学时)目的要求 1.掌握8237DMA控制器的工作原理;2.掌握DMA特性及8237芯片应用编程;3.学习8237的几种数据传输方式。基本内容1.8237内存到内存传输实验;2.8237内存到I/O实验;3.8237I/O到内存实验。实验五 8251串行通讯应用实验(2学时)目的要求 1.学习串行通讯的有关知识;2.掌握8251串行通讯方式的硬件接口电路及软件编程。基本内容8251双机通讯实验实验六 8255及键盘技术实验(2学时)目的要求 1.掌握8255工作在方式0、方式1的特点及应用编程;2.掌握行扫描法识别闭合键的原理及实现方法。基本内容1.8255方式0实验;2.8255方式1实验;3.闭合键的识别实验。实验七 LED显示实验(2学时)目的要求 1.掌握LED数字显示的原理及实现方法;2.掌握多位LED数字显示的原理及实现方法。基本内容1.LED显示实验;2.多位LED显示实验。实验八 分秒显示实验(4学时)目的要求 熟练掌握中断技术、计时器/定时器技术、并行通讯技术及LED多位显示技术,并能进行综合运用。基本内容基于8253计数器/定时器的计时器的设计与实现。八、综合性或设计性实验项目说明综合性实验名称:分秒显示实验(实验八)项目说明:分秒显示实验即基于8253计数器/定时器的计时器的设计与实现是在8259中断实验、8253计时器/定时器实验、8255并行通信实验以及LED实验的基础上综合运用中断技术、计时器/定时器技术、并行通讯技术及LED多位显示技术在LED上显示分秒信息。实验的完成需要在熟练掌握以上技术的基础上对知识进行综合运用,是一次综合复习和提高的过程。课程负责人:黄勇大纲主撰人:黄勇大纲审核人:程节华计算机科学技术教研室 2006.6实验一 系统认识实验一、实验目的 1.初步认识实验系统;2.掌握在该系统下的源程序编辑、汇编、连接、运行等基本操作;3.掌握INT 10H的使用(单个字符及字符串的显示方法)。二、实验设备TDN86/51教学实验系统一台、PC机一台三、实验原理1、初步认识系统1.1 PC机与TDN86/51在系统中的作用PC机: 提供一个操作平台,方便用户进行源程序的编辑、汇编、连接,形成EXE文件,并可通过串口LOAD至TDN86/51系统中的内存区域。TDN86/51:运行装入在内存的程序,即程序是TDN86/51系统中运行的, PC机仅提供一个操作平台。1.2 TDN86/51中8088CPU: 用于微机原理与接口技术实验。8088CPU的对外数据总线是8位。8031CPU:用于单片机实验。2、程序的编辑、汇编、连接、装入、运行2.1 系统的进入 启动PC机,进行入DOS状态。(若出现选择菜单,选择DOS) 进入D盘(D:) 进入TDN目录下(CD TDN) 启动集成软件环境(MD86) 选择串口号,按1,当出现系统提示符时,表示正常进入。(注:此时,按一下TDN86/51教学实验系统上的复位按钮,若屏幕上出现Welcome to you,则表示实验系统与PC机连接正常。)2.2 源程序的编辑与保存 按F1,再按ALT+F建立新文件 输入源程序 输完后,按F2保存(文件的扩展名为.ASM) 退出编辑界面(通过FILE菜单选择)(注:编辑的相关操作可通过菜单进行)2.3 汇编、连接、装入 (1)汇编:按F2,在屏幕的下方提示输入文件名,输入需汇编的文件名(此时不要带扩展名),然后有3个问题需用户回答:提示要求输入目标文件名,直接按回车,采用系统规定的文件名。询问是否建立列表文件,不需要时直接按回车,若需要,输入一文件名后,再按回车。询问是否建立交叉索引文件,不需要时直接按回车,若需要,输入一文件名后,再按回车。说明:在汇编过程中,如果发现程序有语法错误,则列出出错位置、错误代码及错误性质,最后分别列出警告错误(Warning Errors)和严重错误(Serve Errors)的个数N和M,若N和M不为0,说明源程序程序有错误,需要对源程序进行修改后再进行汇编,直至N和M都为0H止。 (2)连接:按F3,输入文件名(此时不要带扩展名) 连接时也有3个需要用户回答的问题,用户可据需要回答(一般可直接按回车键)。(3)装入:按F5,输入文件名(要带扩展名EXE),然后在屏幕的下方提示输入CS的值(0000)、IP的值(一般用2000)(注:1、系统中分配给用户使用的内存空间为:0000:1000H-1000:0000H)2、在装入程序前最好按一下系统复位键,当出现Welcom to you时,再按F5装入。)2.4 程序的运行与终止 程序的运行: G=0000:2000(0000:2000是实验程序在内存单元的首地址)。程序的终止: 按CTRL+C返回。3、内存单元内容的显示和修改3.1内存单元内容的显示 D 0000:3500显示0000:3500的开始若干个内存单元的内容。用户可根据需要指定需显示的内存单元。3.2 内存单元内容的修改 E0000:3000修改0000:3000开始的内存单元的内容。输入新的内容后,按空格键,进行下一个单元内容的修改;若按回车键,退出E命令。(注:内存单元的内容显示及输入皆为十六进制) 4、INT 10H使用说明(1)写字符在屏幕上。入口:AH01H,AL字符的ASCII码值例:MOV AL,41HMOV AH,01H INT 10H 在屏幕上显示一个字符A(2)显示字符串在屏幕上。入口:AH06H,BX字符串首址,且串尾为00H。 在调用INT 10H进行字符串显示时,需先定义好字符串。一方面可以在数据段定义,也可以使用E命令将要显示的字符串写入内存。(串尾结束标志00H不能省略)。5、退出系统按F8键,退出集成软件返回到DOS。四、实验内容1、进入集成集成软件环境,调试运行下面的程序,并写出实验结果。CODE SEGMENT ASSUME CS:CODESTART:MOV AH,01H MOV AL,41H INT 10H A1:JMP A1CODE ENDSEND START2、在集成集成软件环境中,调试运行下面的程序,并写出实验结果。CODE SEGMENT ASSUME CS:CODESTART:MOV AH,06H MOV BX,3000H INT 10HA1:JMP A1CODE ENDSEND START(注:运行程序前要用E命令修改3000H开始的4个单元的值,使其为41H、42H、43H、44H、00H)五 实验习题编写程序在集成软件环境中调试运行,要求:运行该程序时直接在屏幕上显示ABCD字符串。提示:(1)字符串在数据段定义,不用E命令在内存中填写;(2)使用INT 10H。 (3)带有数据段汇编语言源程序结构如下:DATA SEGMENT . DATA ENDSCODE SEGMENTASSUME CS: CODE ,DS: DATA START:MOV AX,DATA MOV DS,AX . . .CODE ENDSEND START 实验二 8259中断控制器实验 一、实验目的 1. 理解并掌握8259A中断控制器的工作原理;2. 理解并掌握掌握8259A全嵌套方式下的优先级特性;3 理解并掌握可屏蔽中断的响应和执行过程; 4. 掌握8259A中断控制器的应用编程。二、实验设备TDN86/51教学实验系统一台、PC机一台三、实验原理1、8259A可编程中断控制器介绍及资源说明8259A可以管理8级中断,可以将中断源优先级排队,辨别中断源,提供中断矢量。在级连使用时,可以构成64级中断系统。8259A的编程,就是根据需求,向8259A芯片中写入初始化命令字ICW1-ICW4以及操作命令字OCW1-OCW3。系统提供了两片8259A芯片,一片是与控制系统公用,(在实验板的左下方),级连时作为主片,端口地址为20h,21h,另一片在实验板中上方,端口地址为00h,01h。中断源用实验板中的触发器(在实验板的右侧)产生,四个引脚,kk1+,kk1-,kk2+,kk2-。系统的8259A初始化参数: ICW1:13h,ICW2:08h,ICW3:不用;ICW4:0Dh即单片、要ICW4、向量从8开始,缓冲方式、正常EOI。系统的8259A的0号,4号中断被系统使用,(时钟和串口使用),编程的时候,不要用它们,也不要屏蔽它们。其他中断都可以使用。 IRQ0IRQ7的中断类型号分别为08H0FH。2、8259A中断控制器的工作原理(见课本273页)3、8259全嵌套方式下的优先级特性(见课本274页)4、可屏蔽中断的响应和执行过程(见课本211页)5、8259A中断控制器的应用编程(初始化方法、开启或屏蔽中断请求,中断结束处理,中断向量表的填写等)(1)初始化方法(见课本283页)(2)开启中断请求:即使OCW1的对应位为0;屏蔽中断请求,即使OCW1的对应位为1。(3)中断结束处理:在全嵌套方式下,中断结束处理就是将操作命令字20H写入OCW2。在实验系统中,OCW2的端口号为20H,则中断结束处理的程序为:MOV AL,20H OUT 20H,AL(4)中断向量表的填写。中断向量表的正确填写是能否转入中断处理程序的关键。填写时首先要确定中断处理子程序的入口地址和该中断的中断类型号,然后将中断处理子程序的入口地址填写到中断向量表的对应位置(由中断类型号4确定)。填写时,IP在前,CS在后。16位数据中低字节写入低地址,高字节写入高地址。下图是CPU根据中断类型号转入中断处理子程序的过程。四、实验内容1、单一中断源实验(1)实验要求构建一可屏蔽中断过程。用触发器代替中断源(按一下相当于一次中断请求),按一下触发器,执行一对应的中断处理子程序,中断处理子程序的功能是在屏幕上显示一个字符A。按10次后,CPU不再响应中断。(2)实验线路(3)源程序CODE SEGMENTASSUME CS:CODESTART:STI 开中断(将IF置1)IN AL,21H ; 开启IRQ7中断请求AND AL,7FH OUT 21H,ALMOV CX,000AHA1:CMP CX,0000HJNZ A2IN AL,21H ;关IR7中断OR AL,80H OUT 21H,ALA2:HLT ;暂停指令,等待硬件中断(课本140页)JMP A1IRQ7:MOV AH,01HMOV AL,41HINT 10HDEC CXMOV AL,20H ;中断结束处理OUT 20H,ALIRET CODE ENDS END START(4)实验步骤按要求连线;将源程序编辑、汇编、连接成EXE文件;将其装入至0000:2000H开始处;提示装载完毕后使用U0000:2000命令进行反汇编,确定中断处理子程序在内存中的首地址(若没有反汇编到对应的指令,继续键入U,继续反汇编。);将中断向量用E命令写入中断向量表中;(IRQ7对应的中断类型号为0FH,即将中断向量写入至003CH-003FH,IP在前,即003CH、003DH,CS在后,即003EH、003FH。)运行程序,按触发器KK2+,每按一次,显示一个A,当按第11次时,不再显示A.。(注:由于用的是系统的8259A片,系统已经初始化过。)(5)实验习题将连线接至IRQ6引脚,要实现同样的实验现象,源程序作如何修改?2、8259A优先级中断实验(1)实验要求构建一中断全嵌套方式下的优先级中断实验。要求:运行程序时显示main main ,当按一下KK2+时,显示7 7,此时若再按一下KK1-,则又显示66(共8个),然后又显示77,直至8个后返回显示main main。若此时按一下KK1-,则显示66,此时再按一下KK2+,并不显示77。(2)实验线路(3)源程序DATA SEGMENTTABLE DB 4DH,41H,49H,4EH,20H,00H;MAIN字符串DATA ENDS ; 20H空格,00H为串结束标志CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXPUSH DSMOV AX,0000HMOV DS,AXMOV AX,OFFSET IRQ6 ;求IP ADD AX,2000HMOV SI,0038H ;填IPMOV SI,AXMOV AX,0000H ;填CSMOV SI,003AHMOV SI,AXMOV AX,OFFSET IRQ7ADD AX,2000HMOV SI,003CHMOV SI,AXMOV AX,0000HMOV SI,003EHMOV SI,AXPOP DSIN AL,21H ;开启IR6、IR7AND AL,3FHOUT 21H,ALA2:MOV AH,06H ;显示字符串“MAIN “ MOV BX,OFFSET TABLEINT 10HCALL DALLY ;延迟JMP A2IRQ6: PUSH CX STIMOV CX,08HAA1: MOV AX,0136H ;显示6 INT 10H CALL DALLY ;延迟 LOOP AA1 ;循环 CLI MOV AL,20H ;中断结束处理 OUT 20H,AL POP CX IRETIRQ7: PUSH CX STIMOV CX,08HAA2: MOV AX,0137H ;显示7 INT 10H CALL DALLY ;延迟 LOOP AA2 ;循环 CLI MOV AL,20H ;中断结束处理 OUT 20H,AL POP CX IRETDALLY:PUSH CX PUSH AX MOV CX,0010HA3: MOV AX,056CHA4: DEC AX JNZ A4 LOOP A3 POP AX POP CX RETCODEENDSEND START(4)实验步骤连接实验线路图编辑、汇编、连接程序,加载到0000:2000运行程序,G=0000:2000,屏幕显示main main ,当按一下KK2+时,显示7 7,此时若再按一下KK1-,则又显示66(共8个),然后又显示77,直至8个后返回显示main main。若此时按一下KK1-,则显示66,此时再按一下KK2+,并不显示77,说明原因。(5)实验习题如果要实现在执行IR6对应的中断程序时,也能响应IR7的中断请求。源程序作如何修改?提示:中断结束命令的提前执行,将能使得优先级高的中断嵌套优先级低的中断请求。 补充(阅读下面内容并按要求调试运行下面程序,可加深对硬件中断与软件中断的理解。)当把中断处理程序装入到内存,并填写好中断向量表后,有两种方式可以使CPU执行中断处理子程序:一是硬件触发,即通过8259A向CPU发出中断请求,CPU响应请求,并获得该请求的中断类型号,通过类型号,找到中断向量(中断处理子程序的入口地址),转入中断处理程序的执行。二是执行中断指令(INT 中断类型号)来使CPU执行中断处理子程序。中断指令直接为CPU提供了中断类型号,CPU根据该类型码找到中断向量,转入中断处理程序的执行。也就是说,用软件中断的办法可以调用任何一个中断处理子程序。(1)将下面的中断处理子程序LOAD至0000:3000内存处CODE SEGMENTASSUME CS:CODESTART: MOV AH,01H MOV AL,41H INT 10HMOV AL,20H OUT 20H,AL IRETCODE ENDSEND START(2)用E命令将中断处理子程序的入口地址写入003CH003FH内存单元,即003CH=00H,003DH=30H,003EH=00H,003FH=00H(1)(2)步骤说明已将0FH号中断对应的中断处理子程序装入到内存,并填写好中断向量表。(3)编写以下程序调用0FH的中断处理子程序CODE SEGMENTASSUME CS:CODESTART: MOV CX,000AH AGAIN: INT 0FH LOOP AGAIN A1:JMP A1CODE ENDSEND START将该程序LOAD至0000:2000内存处,并运行该程序,屏幕上将显示10个A,即调用了10次中断处理子程序。 小结:从本质上看,软件中断和硬件中断仅是中断类型号获得方式不同(软件中断在指令中直接提供中断类型号,而硬件中断是通过硬件将中断类型号提供给CPU的),其本质是没有区别的(都是执行一中断处理子程序)。也就是说,对于一个内存中的中断处理程序(中断向量表已填好),既可以用硬件引发中断程序的执行,也可以用INT指令来引发中断程序的执行。实验三 8253计数器/定时器应用实验一、实验目的 1.掌握8253的工作在模式0、模式2的主要工作特点;2.掌握8253的应用编程。二、实验设备TDN86/51教学实验系统一台、PC机一台三、实验原理1、系统中的8253介绍系统中装有一片8253芯片,其线路如上图所示。系统中,8253计数器0的输出线与8259A的IRQ0相连,实验中将计数器2的工作模式设置为模式2,并设置适当的计数初始值,则可向8259A产生定时(时间可确定)的中断请求信号。计数器1的输出接8251的收发时钟端,供串行通讯使用。计数器2以排针形式引出,开放给用户使用。计数器0、1、2的计数初值寄存器和控制寄存器的地址分别为40H、41H、42H、43H2、8253的工作在方式0的工作特点及时序图(见课本316页)3、8253的工作在方式2的工作特点及时序图(见课本318页)4、8253的应用编程8253的应用编程就是对8253的初始化,主要包括:(1)设置控制寄存器(即设置工作模式)(2)设置初始寄存器的值。初始化规则:先设置控制字、后设置计数器初值。(控制寄存器的格式见课本314页。)设置好RW1和RW0,对初始值寄存器设置时要与此保持一致。对于16位的计数初值,应先写入低8位,后写高8 位。例,将7436H计数初值写入计数器0的计数初值寄存器。 MOV AL,36H OUT 40H,AL MOV AL,74H OUT 40H,AL四、实验内容1、8253计数器应用实验1-模式0实验(1)实验要求通道2工作在方式0,用于对CLK进行计数(CLK为触发器产生的信号),当计数到N(初始值)1时,OUT由低电平上升跳变为高电平(发出中断请求信号),CPU响应中断,执行中断处理程序(中断处理程序的执行结果为在屏幕上显示M)。(2)实验线路图(3)源程序CODE SEGMENT ASSUME CS:CODESTART:IN AL,21H ;开IRQ7中断AND AL,7FHOUT 21H,ALMOV AL,90H ;设置控制字,计数器2,模式0OUT 43H,ALMOV AL,05H ;设置计数器0的初值OUT 42H,ALSTI ;开中断HLT ;暂停指令,等待硬件中断A1:JMP A1IRQ7:MOV AX,014DH ;显示M,M的ASCII码为4DH INT 10H MOV AL,20H ;中断结束处理 OUT 20H,AL IRETCODE ENDS END START(4)实验步骤 按要求连线;将源程序编辑、汇编、连接成EXE文件;将其装入至0000:2000H开始处;提示装载完毕后使用U0000:2000命令进行反汇编,确定中断处理子程序在内存中的首地址(若没有反汇编到对应的指令,继续键入U,继续反汇编。);将中断向量用E命令写入中断向量表中;(IRQ7对应的中断类型号为0FH,即将中断向量写入至003CH-003FH,IP在前,即003CH、003DH,CS在后,即003EH、003FH。)运行程序,按触发器KK1,按6次后(5+1),观察屏幕上是否显示一个M.。2、8253应用实验2-模式2实验(1)实验要求利用8253的通道0(工作在模式2)OUT来定时产生中断请求(OUT接IRQ0),每0.025秒向8259A产生一次中断请求,每次中断在屏幕上显示1个A。(2)实验线路(系统内部已连好,用户不需连接)(3)源程序计数常数的计算方法:实验要求每0.025秒产生一个中断请求,对于工作在模式2的计数器来说,即从OUT输出的波形的周期为0.025秒。根据模式2的时序图可知, T0ut=N*Tin 即:计数初值N= T0ut/ TinT0ut=0.025S Tin=1/(1.19106) 所以,计数初值N=0.0251.19106=29750=7436HCODE SEGMENTASSUME CS:CODESTART:PUSH DS ;填IR0对应的中断矢量。MOV AX,0000HMOV DS,AXMOV AX,OFFSET IRQ0ADD AX,2000HMOV SI,0020HMOV SI,AXMOV AX,0000HMOV SI,0022HMOV SI,AXPOP DSIN AL,21HAND AL,0FEHOUT 21H,ALMOV AL, 34H ;设置8253控制字,计数器0方式2,二进制计数,初值16OUT 43H,AL ;位二进制数MOV AL,36H ;设置计数器0的初值OUT 40H,ALMOV AL,74HOUT 40H,ALSTIA1:HLTJMP A1IRQ0:MOV AH,01HMOV AL,41HINT 10HMOV AL,20HOUT 20H,ALIRETCODE ENDS END START(4)实验习题利用8253的通道0(工作在模式2)OUT来定时产生中断请求(OUT接IRQ0),每0.05秒向8259A产生一次中断请求,每次中断在屏幕上显示1个A。程序要作如何修改?(5)思考题利用8253的通道0(工作在模式2)OUT来定时产生中断请求(OUT接IRQ0),每0.5秒向8259A产生一次中断请求,每次中断在屏幕上显示1个A。程序要作如何修改?实验四 DMA控制器8237应用实验 一、实验目的1.掌握8237DMA控制器的工作原理;2.掌握DMA的工作特点及8237芯片应用编程;3.学习8237的几种数据传输方式。二、实验原理1、系统中的8237 芯片介绍8237是一种高性能可编程DMA控制器,芯片有4个独立的DMA通道,可用来实现存储器到存储器、存储器到I/O接口、I/O接口到存储器之间的高速数据传送。对8237内的寄存器进行编程,可实现8237的初始化,以确定8237的工作类型、传输类型、优先级控制等。系统中的DMA电路8237通道寄存器地址分配:基及当前地址寄存器基及当前字节寄存器方式寄存器请求寄存器屏蔽寄存器状态寄存器08通道000010B090A命令寄存器08通道102030B090A暂存寄存器0D通道204050B090A先/后触发器0C通道306070B090A主屏蔽寄存器0E/0F2、DMA控制器用DMA方式传输单个数据(输出)的过程(见课本216页)3、DMA控制器的工作特点(见课本220页)三、实验内容1内存到内存的数据传输(1)实验线路(2)程序实现的功能:通道按块传输模式把4000H4009H单元中的十个数传送至3000H3009H(3)源程序CODE SEGMENTASSUME CS:CODESTART: OUT 0DH,AL ;软件复位 MOV AL,00H ;设置通道0的地址寄存 OUT 00H,AL ;器的值为4000H MOV AL,40H OUT 00H,AL MOV AL,0AH ;设置通道0的字节计数 OUT 01H,AL ;器的值为0AH(10)MOV AL,00H OUT 01H,ALMOV AL,00H ;设置通道1的地址寄OUT 02H,AL ;存器的值为3000HMOV AL,30HOUT 02H,ALMOV AL,0AH ;设置通道1的字节计 OUT 03H,AL ;数器的值为0AHMOV AL,00HOUT 03H,ALMOV AL,88H;通道0模式字(读、加1、块)OUT 0BH,AL MOV AL,85H;通道1模式字(写、加1、块)OUT 0BH,ALMOV AL,81H;控制字(内存到内存)OUT 08H,ALMOV AL,00H;综合屏蔽命令字(开4个通道)OUT 0FH,ALMOV AL,04H;请求字(通道0有DMA请求)OUT 09H,ALA1:JMP A1CODE ENDS END START(4)实验步骤按图连线编辑程序并汇编、连接、装入至系统用E命令向4000-4009H单元输入一组数据,如:11、22、33、E0000:4000运行程序G=0000:2000用D命令检查3000-3000H单元内容,观察数据是否传输成功。D0000:30002 存储器到I/O的数据传输(1)实验线路: 在实验1的基础上补充以下实验线路,便可做实验2和实验3,其中PB0PB7的连接是用来做实验2,PA0PA7的连接是用来做实验3:(2)程序功能程序实现的操作是:在DMA控制器的控制下实现0061H单元的数据传送至8255的端口B(B口连有发光二极管),从而通过观察二极管的亮与不亮,来分析存储器到I/O端口的数据传输。(3)源程序CODE SEGMENTASSUME CS:CODESTART:MOV AL,90H ;8255设置,A口输入,B口输出OUT 63H,ALOUT 0DH ,AL ;软件复位MOV AL,61H ;通道1的地址寄存器OUT 02H,AL ;设置为0061HMOV AL,00HOUT 02H,ALMOV AL,59H ;设置模式字OUT 0BH,ALMOV AL,00H ;控制字设置OUT 08H,ALOUT 0FH,AL ;开屏蔽MOV AL,05H ;用软件实现通道1OUT 09H,AL ;的DMA请求A1:JMP A1CODE ENDS END START(4)实验步骤按图连线编辑程序并汇编、连接、装入至系统用E命令改变0061H单元的内容,如AAE0000:0061运行程序G=0000:2000观察D0-D7发光二极管上所显示的数据是否为AA。3 I/O设备到存储器的数据传输(1)实验线路(见实验内容2说明)(2)程序功能在DMA控制器8237的控制下,把8255A端口的信息直接传送至内存单元0060H(8255A口和8位数码开关相连)。(3)源程序CODE SEGMENT ASSUME CS:CODESTART: MOV AL,90H ;8255设置OUT 63H,ALOUT 0DH ,AL ;软件复位MOV AL,60H ;设置通道0地址寄存器的值OUT 00H,AL ;0060HMOV AL,00HOUT 00H,ALMOV AL,54H ;通道0模式字OUT 0BH,ALMOV AL,00H ;控制寄存器设置OUT 08H,ALOUT 0FH,AL ;开屏蔽MOV AL,04H ;软件设置通道0的DMA请求OUT 09H,ALA1:JMP A1CODE ENDS END START(4)实验步骤按图连线编辑程序并汇编、连接、装入至系统设置8位数码开关,作为I/O设备的数据输入,如55H运行程序G=0000:2000用D命令显示0060单元的内容是否为55HD0000:0060实验五 8251串行通讯应用实验一实验目的 1学习串行通讯的有关知识;2熟悉8251A在不同工作方式下的接收与发送过程;3初步掌握8251A在半双工双机通讯情况下的软件编制、硬件连接技术。二、实验设备TDN86/51微机教学系统两套三、实验原理1串行通讯的相关知识(全双工与半双工,同步通信与异步通信,课本226-229)。28251A在不同工作方式下的接收与发送过程(课本232-234)。38251A在半双工双机通讯情况下的软件编制、硬件连接技术。(1)软件编制 8251A的初始化流程(课本239-240) 程序查询控制方式下进行数据传输的软件编程(课本204,206-207)(2)硬件连接技术 零MODEM方式下的双机通讯的连接方式。4系统中的实验用8251芯片数据端口地址:80H,控制寄存器端口地址81H8251的接收与发送时钟来自8253计数器1,见下图。四、实验内容双机通讯实验(1)实验线路(2)程序功能本实验需用两台TDN86/51教学实验系统,其中1号机做接收机,2号机做发送机。在实验中,将发送机(2号机)中的3000H3009H十个单元中的数据传送到接收机(1号机)中的30003009H单元中。(3)源程序2号机(发送机)实验程序:CODE SEGMENTASSUME CS:CODESTART:MOV AL,76H ;8253设置,向TXC、RXC提供时钟。OUT 43H,AL MOV AL,0CHOUT 41H,ALMOV AL,00HOUT 41H,ALCALL INIT ;调用初始化程序,进行复位MOV AL,7EH ;设8251A模式字OUT 81H,ALMOV AL,31H ;设8251A控制字OUT 81H,ALMOV DI,3000HMOV CX,000AH ;设循环计数值A1: MOV AL,DI ;3000h至ALCALL SEND ;调用SEND程序,发送一个字符INC DI LOOP A1 ;CX不为0,发送下一个字符A2:JMP A2INIT: ;8251复位MOV AL,00HOUT 81H,ALOUT 81H,ALOUT 81H,ALMOV AL,40HOUT 81H,ALRETSEND: OUT 80H,AL ;AL值至数据输出缓冲器A3:IN AL,81H ;检测数据输出缓冲器AND AL,01H ;是否为空,不为空,再JZ A3 ;检测,直至为空,表示一个字符传送结束。RET CODE ENDSEND START1号机(接收机)实验程序CODE SEGMENTASSUME CS:CODESTART:MOV AL,76HOUT 43H,ALMOV AL,0CHOUT 41H,ALMOV AL,00HOUT 41H,ALCALL INITMOV AL,7EHOUT 81H,AL MOV AL,34H ;设8251控制字OUT 81H,AL MOV AX,0152H ;显示字符RINT 10HMOV DI,3000HMOV CX,000AHA1: IN AL,81H ;检测RXRDY位AND AL,02HJZ A1IN AL,80H ;为1(缓冲器满),输入MOV DI,ALINC DILOOP A1MOV AL,00HMOV SI,300AH MOV SI,AL ;串尾为00HMOV AH,06H ;显示接收到的字符串MOV BX,3000HINT 10HA2: JMP A2INIT:MOV AL,00HOUT 81H,ALOUT 81H,ALOUT 81H,ALMOV AL,40HOUT 81H,ALRETCODE ENDS END START(4)实验步骤1、按图连线,将发送机与接收机连接起来;2、分别编辑接收机程序、发送机程序并汇编、连接、装入至接收机、发送机;3、接收机的接收程序要先运行,G=0000:2000,等待发送机的发送。4、发送机在发送前要用E命令在3000H300
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 80000-5:2019/AMD1:2025 FR Amendment 1 - Quantities and units - Part 5: Thermodynamics
- 【正版授权】 IEC 61000-6-1:2005 FR-D Electromagnetic compatibility (EMC) - Part 6-1: Generic standards - Immunity for residential,commercial and light-industrial environments
- 校园防盗安全知识培训课件
- 新测绘法试题及答案
- 校园安防消防知识培训课件
- 防腐廉洁面试题及答案
- 编导运营面试题及答案
- 报账员考试题及答案
- 球馆分级考试题及答案
- 流管员面试题及答案
- 2020低压交流配网不停电作业技术导则
- 易制毒、易制爆化学品安全培训
- 麻醉药品应急处理制度及流程
- 附件2:慢病管理中心评审实施细则2024年修订版
- 【建筑专业】16J914-1公用建筑卫生间(完整)
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- 邮政市场业务员(中级)理论考试复习题库(附答案)
- DZ∕T 0070-2016 时间域激发极化法技术规程(正式版)
- 消化内镜进修总结汇报
- 兽医检验题库与答案
- 换电柜地租赁合同范本
评论
0/150
提交评论