微机原理实验指导书智能.doc

上传人:仙人指路1688 文档编号:2390705 上传时间:2023-02-17 格式:DOC 页数:26 大小:475KB
返回 下载 相关 举报
微机原理实验指导书智能.doc_第1页
第1页 / 共26页
微机原理实验指导书智能.doc_第2页
第2页 / 共26页
微机原理实验指导书智能.doc_第3页
第3页 / 共26页
微机原理实验指导书智能.doc_第4页
第4页 / 共26页
微机原理实验指导书智能.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《微机原理实验指导书智能.doc》由会员分享,可在线阅读,更多相关《微机原理实验指导书智能.doc(26页珍藏版)》请在三一办公上搜索。

1、实验一 系统认识、数码转换、运算编程实验一、实验目的1掌握TDN86/88教学系统的基本操作。2学习数码转换的程序设计方法;3学习运算编程方法。二、实验设备1PC机一台;2TDN86/88教学实验系统一台。三、实验内容及步骤1系统认识实验从3500H内存单元开始建立0-15共16个数据。实验程序如下:STACK1 SEGMENT STACK ;8088 宏汇编程序 DW 64 DUP(?) ;定义堆栈段 STACK1 ENDSCODE SEGMENT ;定义代码段 ASSUME CS:CODESTART: MOV DI,3500H ;程序开始设数据区首址 MOV CX,0010H ;字节数送入

2、CX中MOV AX,0000HA1: MOV DI,AL ;写入一字节INC DI ;修改地址指针INC AX ;修改数据DAA ;十进制调整 LOOP A1 ;未填完转移A2: JMP A2CODE ENDS ;代码段结束 END START ;程序结束实验步骤(1)启动Wmd86联机软件Wmd86联机软件的启动方式有两种,可以在【开始】/【程序】/【TangDu】菜单中单击“Wmd86”的程序组启动,也可以直接双击桌面上的“Wmd86”快捷键启动该程序组。启动应用程序进入主界面窗口后,应显示“串口通讯成功”小窗口,若显示“串口通讯不成功”,说明上位机和下位机的连接不正常或下位机死机,请确认

3、下位机电源已经打开,串口线两端接触良好。(2)输入源程序,检查无误后存盘。(3)对源程序进行编译、链接和加载,可以使用编译菜单项,也可以使用编译工具栏。(4)运行程序,观察结果。连续运行程序,在输出区中的调试区用DEBUG命令观察运行结果,即键入D0000:3500 ,可查看3500H-350FH单元中的内容是否为0-15共16个数。注意,因本程序的结尾为死循环,应在程序运行后停止运行再观察结果。(5)熟悉系统提供的单步运行、断点运行等功能,可以使用调试菜单项,也可以使用调试工具栏。2数码转换实验(将十进制数的ASC码转换为BCD码)设从键盘输入的五位十进制数的ASC码已存放在3500H起始的

4、内存单元内,把它转换为 BCD 码后,再按位分别存入 350AH 起始的内存单元内。若输入的不是十进制数的ASC码,则对应存放结果的单元内容为“FF”。具体方法是,一字节ASC码取其低四位即变为BCD码。实验程序如下:STACK1 SEGMENT STACK DW 64 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV CX,0005H ;循环计数器赋初值MOV DI,3500H ;ASC码首址A1: MOV BL,0FFH ;将错误标志送入BLMOV AL,DI ;送ASC码至ALCMP AL,3AH ;比较AL与3AJNB A2

5、;不低于3A则转A2SUB AL,30H ;低于3A则取ASC码低4位JB A2 ;低于30则转A2MOV BL,AL ;否则AL内容送入BL,取代FFA2: MOV AL,BL ;结果或错误标志送入ALMOV DI+0AH,ALINC DILOOP A1A3: JMP A3CODE ENDSEND START实验步骤(1) 阅读程序,画出程序流程图。(2) 输入源程序,进行编译、链接和加载。(3) 在3500-3504H单元中存放五位十进制数的ASC码,即在调试区键入E0000:3500,并输入31、32、33、34、35。(4) 连续运行程序后停止运行,查看运行结果,即在调试区键入D000

6、0:350A ,显示结果应为:0000:350A 01 02 03 04 05 CC (5) 反复试几组数,并运行程序,观察结果。3运算编程实验(二进制双精度加法运算)计算X+Y=Z,将结果Z存入某存储单元。实验程序如下:STACK1 SEGMENT STACKDW 64 DUP(?)STACK1 ENDSDATA SEGMENTXLDW 08H ;请在此处给X低位赋值XHDW 04H ;请在此处给X高位赋值YLDW 06H ;请在此处给Y低位赋值 YHDW 02H ;请在此处给Y高位赋值ZLDW ?ZH DW ?DATAENDSCODE SEGMENTASSUME CS:CODE,DS:DA

7、TASTART: MOV AX,DATAMOV DS,AX MOV AX,XL ;X低位送AXADD AX,YL ;X低位加Y低位MOV ZL,AX ;存低位和MOV AX,XH ;X高位送AXADC AX,YH ;X高位加Y高位MOV ZH,AXA1: JMP A1 CODE ENDSEND START本实验程序是双精度(2个16位,即32位)运算,利用累加器AX,先求低十六位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。实验步骤(1) 输入源程序,进行

8、编译、链接和加载。(2) 运行程序并检查结果。(3) 反复试几组数,考察程序的正确性。实验结果:实验二 分支、循环程序设计一、实验目的1掌握分支程序的设计、调试方法。2掌握循环程序的设计、调试方法。二、实验设备1PC机一台;2TDN86/88教学实验系统一台。三实验内容及步骤1求某数据区内负数的个数设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得区内所包含负数的个数。实验程序如下:STACK1 SEGMENT STACKDW 64 DUP

9、(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART:MOV DI,3000H ;设数据区首址MOV CL,DI ;送数据个数XOR CH,CH ;CH清0MOV BL,CH ;BL 清0INC DI ;指针指向第一个数据 A1: MOV AL,DITEST AL,80H ;数据首位是否为1JE A2INC BL ;负数个数累加A2: INC DILOOP A1MOV DI,BL ;存结果A3: JMP A3CODE ENDSEND START实验步骤:(1)输入源程序,进行编译、链接和加载。(2)键入E0000:3000,输入数据如下:3000=06(数

10、据个数)3001=12、88、82、90、22、33。(3)运行程序,查看结果,即在调试区键入D0000:3007,显示结果应为03。2修改程序2,使其能分别求出数据区中正数、零和负数的个数。3设在变量单元A、B和C中存放有三个数,若三个数都不为0,则求出三个数之和存入D单元中;若有一个为0,则将其它两个单元也清0,试编写程序。实验三 子程序设计实验一、实验目的1学习子程序的定义和调用方法。2掌握子程序的程序设计、编制及调用。二、实验设备TDN86/88教学实验系统一台三、实验内容及步骤1求无符号字节序列中的最大值和最小值设有一字节序列,其存储首址为3000H,字节数为08H。利用子程序的方法

11、编程求出该序列中的最大值和最小值。实验程序及流程如下:STACK1 SEGMENT STACKDW 64 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART:MOV SI,3000HMOV CX,0008HCALL branchA1: JMP A1branch:JCXZ A4PUSH SI PUSH CXPUSH BX MOV BH,SIMOV BL,BHA1:LODSBCMP AL,BHJBE A2MOV BH,ALJMP A3A2:CMP AL,BLJAE A3MOV BL,ALA3:LOOP A1MOV AX,BXPOP BXPOP CXPO

12、P SIA4: RETCODE ENDS END START实验步骤(1) 输入源程序,进行编译、链接和加载。(2) 在调试区键入E0000:3000,输入8个字节的数据:D9、07、8B、C5、EB、04、9D、F9。(3) 运行程序,查看结果,在调试区键入R AX,显示结果应为AX=F9 04,AH中为最大值,AL中为最小值。2数组求和设有一字节序列(存储地址和字节数可自定义),编写程序,求出该序列的和,求和工作由子程序来实现。实验四 软件中断和8259应用编程实验一、实验目的1了解INT 10H各功能块的作用及用法。2认识TDN86/88系统的中断特性。3掌握8259中断控制器的工作原理

13、。4掌握8259可编程中断控制器的应用编程。二、实验设备1 TDN86/88教学实验系统。2 排线、导线若干。三、实验原理及说明18088软件中断说明软件中断INT 10使用说明:(1)显示单个字符入口:AH=01H,AL=数据功能:写AL中的数据到屏幕上(2)显示字符串入口:AH=06H,DS:BX=字串首址,且字符串尾用00H填充。功能:显示一字串,直到遇到00H为止2系统中的8259芯片(1)系统中的8259A芯片系统中的 8259A芯片工作于单片方式,但可由用户扩展接成级连方式,其命令寄存器组编址为20H和21H,其线路如图1所示。图中的圈点表示此为排针形式引出脚。(注:以下线路图中的

14、圈点均为排针形式引出脚,以后不再另作说明)。图1 系统中的8259A芯片中断矢量地址与中断号之间的关系如下表。中断输入端01234567功能类型号08H09H0AH0BH0CH0DH0EH0FH矢量地址20H |23H24H |27H28H |2BH2CH |2FH30H |33H34H |37H38H |3BH3CH |3FH说明可用可用可用串口2串口1可用可用可用 (2) 接口实验单元中的级连实验用8259A芯片除系统中的8259A芯片外,在接口实验单元中专门提供了另一片8259A芯片,以便进行8259级连实验。其线路如图2所示。 图2 接口实验单元中的级连用8259A芯片线路(3)接口实

15、验单元中的R-S触发器电路图3 R-S触发器电路四、实验内容及步骤1软件中断实验(显示器上显示A-Z 26个英文字母),实验程序如下:STACK1 SEGMENT STACKDW 64 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART:MOV CX,001AH ;显示字符个数(26)送入CXMOV BL,41H ;显示字符AMOV AH,01H ;显示一个字符A1:MOV AL,BLINT 10HINC BL ;显示下一个字符PUSH CXMOV CX,0FFFFHA2:LOOP A2POP CXDEC CXJNZ A1INT 03HCODE E

16、NDSEND START实验步骤(1) 输入源程序,并进行编译、链接和加载。(2) 运行实验程序,观察实验结果。28259基本实验按图4所示实验线路编写程序,使每次响应外部中断IRQ7时,显示字符“7”,中断10次后,程序退出。实验程序及流程如下: 图4 实验线路1STACK1 SEGMENT STACKDW 64 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART:PUSH DS;保存数据段MOV AX,0000HMOV DS,AX;数据段清零MOV AX,OFFSET IRQ7;取中断程序入口地址(偏移地址)MOV SI,003CH;填8259

17、中断7中断矢量MOV SI,AX;填偏移量矢量MOV AX,CS;取中断程序入口地址(段地址)MOV SI,003EHMOV SI,AX;填段地址矢量CLI;关中断POP DS;弹栈;8259初始化(因系统启动时8259已经被初始化,下面6条指令也可以没有)MOV AL,13H ;ICW1OUT 20H,ALMOV AL,08H ;ICW2OUT 21,ALMOV AL,0DH ;ICW4OUT 21H,ALIN AL,21H;读8259中断屏蔽字AND AL,7FH;开8259中断7OUT 21H,AL ;写回8259中断屏蔽字MOV CX,000AH ;允许中断10次,赋循环次数10A1:

18、 CMP CX,0000H ;判断循环是否结束JNZ A2IN AL,21H;读8259中断屏蔽字OR AL,80H;关8259中断7OUT 21H,AL ;写回8259中断屏蔽字STI ;开中断HLT ;停机,等待中断A2: STI ;开中断JMP A1 ;循环 ;7号中断服务程序IRQ7: MOV AX,0137H;显示字符7(INT 10H参见实验六)INT 10HMOV AX,0120H ;显示空格INT 10HDEC CX ;循环次数减1MOV AL,20H ;OCW2,普通EOI命令,中断结束OUT 20H,ALCLI ;关中断IRET ;中断返回CODE ENDS END STA

19、RT实验步骤(1) 按图4连接实验线路。(2) 输入源程序,进行编译、链接和加载。(3) 运行程序,重复按KK2微动开关,显示屏上应用“7”来响应,直到按10次后,系统处于停机状态,停止程序的运行。38259应用编程实验按图5所示实验线路编写程序,完成下面的要求:当无中断请求时,执行主程序,延时显示“main”,若有中断请求,则执行其中断服务程序,显示该中断号“6”或“7”;若正在执行较低级的中断服务程序,则允许比它优先级高的中断被响应。主程序在执行过程中,每显示一个字符串“main”空一格,并延迟一段时间,延时可通过调用延时子程序来实现。 需调用的延时子程序如下:DALLY PROC NEA

20、RPUSH CX PUSH AX MOV CX,0040HA3: MOV AX,056CHA4: DEC AX JNE A4 LOOP A3 POP AX POP CX RETDALLY ENDP图5 实验线路248259级连实验设计硬件连线,编写程序,实现两片8259的级连,当从片的IR7上有申请时显示7。提示:以系统中的8259作为主片,外接另一片8259作为从片,构成8259级连方式的中断实验线路,其中规定主片的IRQ7上连接一片从片,从片上的IR7接外中断申请电路(R-S单脉冲触发器),并规定从片的中断类型编号为30-37H(则从片IR7对应的中断矢量地址为0DC-0DFH),其命令寄

21、存器组编址为00和01。五、思考题在提高内容实验1中,若先按动KK2,再按动KK1(此时尚未显示“7”),显示结果会是什么?为什么?实验五 8253定时/计数器应用实验一、实验目的 1熟悉8253在系统中的典型接法。 2掌握8253的工作方式及应用编程。二、实验设备TDN86/88教学实验系统一台三、实验原理及说明8253可编程定时/计数器是Intel公司生产的通用外围芯片之一,它有3个独立的十六位计数器,计数频率范围为0-2MHz。它所有的计数方式和操作方式都通过编程控制。系统中装有一片8253芯片,其线路如图5-1所示。图5-1 系统中的8253线路系统中,8253 的0#通道输出线与82

22、59的0#中断请求线,作为实时钟中断信号。1#通道入口接1.8432MHz的信号源,输出接8251 的收发时钟端,供串行通讯使用,这里的1#计数器仅当作一个分频器使用。2#通道以排针形式引出,开放给用户使用,系统中的8253 端口地址如下表所示。信 号 线寄 存 器地 址IOY20#计数器40H1#计数器41H2#计数器42H控制寄存器43H四、实验内容及步骤18253计数实验设定8253的2#通道工作方式为方式0,用于事件计数,当计数值为5时,发出中断请求信号,显示“M”。其实验线路如图5-2所示。图5-2 实验1线路实验程序:STACK1 SEGMENT STACKDW 64 DUP(?)

23、STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV AX,OFFSET IRQ7 ; 修改8259中断7中断矢量 MOV SI,003CH MOV SI,AX MOV AX,CS MOV SI,003EH MOV SI,AXIN AL,21H ;修改IMR,使IRQ7中断允许 AND AL,7FH OUT 21H,AL MOV AL,90H ;8253初始化 OUT 43H,AL A1: MOV AL,05H ;赋8253 2号计数器初值 OUT 42H,AL HLT ;停机,等待中断 STI JMP A1 ;IRQ7中断服务程序IRQ7: MOV

24、 AX,014DH ;显示“M” INT 10H MOV AX,0120H ;显示空格 INT 10H MOV AL,20H ;普通EOI命令 OUT 20H,AL IRET ;中断返回CODE ENDS END START实验步骤(1) 按图接线。(2) 输入源程序,进行编译、链接和加载。(3) 运行程序,并按动KK1键,观察是否每按6次,屏幕上显示一个“M”字符。 28253定时实验编写程序,在屏幕上循环显示“0”-“9”十个数。提示:利用8253的0#通道来实现循环定时,每次定时到产生中断(IRQ0),在中断程序中显示一个数字。实验线路如图5-3所示。图5-3 实验2线路五、思考题1在将

25、计数初值赋给8253后,马上就可以启动并进行定时或计数吗?2若CLK0输入1.1925MHZ的时钟,能否在OUT0实现输出30ms的定时脉冲?实验六 可编程接口芯片综合应用实验一、实验目的1掌握可编程并行接口芯片8255的用法。2掌握可编程串行接口芯片8259的用法。2掌握可编程串行接口芯片8253的用法。 3学习8255、8253、8259的综合应用。二、实验设备1PC机一台;2TDN86/88教学实验系统一台。三、实验内容(1)彩灯控制实验设计硬件连线,编写程序,完成下面功能:8个彩灯循环流水显示(每隔1秒点亮一个灯),当按下开关KK1时,8个彩灯一起闪烁4次,然后恢复流水点亮。提示:通过

26、8255输出彩灯状态,1秒定时由8253配合软件完成,彩灯闪烁由开关KK1连接8259中断实现。(2)信号灯控制实验设计硬件连线,编写程序,完成下面功能:用6个彩灯模拟十字路口的交通灯,平时主街绿灯通行,副街红灯亮。当传感器检测到副街有车要通过时,主街黄灯亮2秒后红灯亮,副街绿灯亮,副街通行30秒后恢复成平时主街通行的状态。提示:用8255输出交通灯的状态,用开关来模拟传感器检测副街是否有车,定时用8253配合软件来实现。四、实验系统中芯片地址介绍18259A的端口地址为20H和21H,中断矢量地址与中断号之间的关系如下表:中断输入端01234567功能类型号08H09H0AH0BH0CH0D

27、H0EH0FH矢量地址20H |23H24H |27H28H |2BH2CH |2FH30H |33H34H |37H38H |3BH3CH |3FH说明可用可用可用串口2串口1可用可用可用28255端口地址如下表:寄 存 器地 址A口60HB口61HC口62H控制寄存器63H38253 端口地址如下表:寄 存 器地 址0#计数器40H1#计数器41H2#计数器42H控制寄存器43H附录一 Wmd86联机软件使用说明Wmd86为微机原理教学实验系统的联机软件,该软件支持汇编语言和C语言编译环境,具有高度可视化的源语言级跟踪调试界面,能够对寄存器和变量实时监视和即时修改,能够实时监视堆栈,集成专

28、用图形显示窗口。一、界面窗口介绍主界面窗口如下,主要分为三部分:程序编辑区、寄存器/变量/堆栈区和输出区,下面分别加以介绍。1程序编辑区:位于界面右上部,用户可在程序编辑区用“新建”命令打开一个新文档或用“打开”命令打开一个已存在的文档,在文档中用户可编辑程序。用户可在程序编辑区打开多个文档,点击文档标签可激活任一文档。编译、链接、加载以及调试命令只针对当前活动文档。用户调试程序时,调试界面亦在文档中显示。2寄存器/变量/堆栈区:位于界面左上部,包括三个部分:寄存器区、变量区和堆栈区。寄存器区和变量区用于实时监视寄存器和变量,也能够修改寄存器和变量的值,堆栈区主要用于实时监视堆栈寄存器。点击寄

29、存器区标签可观察和修改寄存器,点击变量区标签可观察和修改变量,点击堆栈区标签可观察堆栈寄存器。执行相关操作后寄存器、变量和堆栈寄存器的值自动刷新,如果寄存器区刷新后的值和刷新前的值相同,则显示为蓝色,如果不同,则显示为红色。变量区和堆栈区刷新前和刷新后都为蓝色。想修改寄存器或变量,用鼠标左键单击某寄存器或变量,当寄存器或变量值的区域变为蓝色后输入修改后的值,然后回车。如果修改的是寄存器,输入的值的长度与寄存器的长度相同,回车后修改正确,如果输入的值的长度和寄存器的长度不相同,寄存器的值没有被修改,保持原来的值且可以继续修改该寄存器的值。如果修改的是变量,输入的值的长度与变量的长度相同,回车后修

30、改正确,如果输入的值的长度小于变量的长度,回车后输入值的前面自动添零,如果输入值的长度大于变量的长度,回车后输入值的后面的多余部分自动删除。堆栈区只用于监视,不能够被修改。3输出区:位于界面下部,输出区包含三个部分:编译区、调试区和结果区。编译区显示编译和链接的结果,如果编译时有错误或警告,双击错误或警告信息,错误标识符会指示到相应的有错误或警告的行。调试区主要用于DEBUG调试。结果区主要用于显示程序加载结果、程序运行输出结果和复位结果。结果区中有“加载中,请稍候.”的字样表示联机软件正在把可执行文件加载到下位机中,用户此时应等待直到加载完成,“加载成功”表示加载完成且成功,“加载失败”表示

31、加载完成且失败,此时应重新加载。程序中用“INT 10H”输出的结果亦显示在此区。软复位或硬件复位成功后,结果区显示“复位成功!”。如果复位不成功则不显示此句。二、菜单功能1编译菜单项: (1)编译(C)编译当前活动文档中的源程序,在源文件目录下生成目标文件。如果有错误或警告生成,则在输出区显示错误或警告信息,双击错误或警告信息,可定位到有错误或警告的行,修改有错误或警告的行后应重新“编译”。如果编译没有错误生成(即使有警告生成)使能“链接”菜单项和工具栏中的“链接”按钮,以便进行链接。编译时自动保存源文件中所做的修改。编译也可以直接使用编译工具栏中的按钮(2)链接(L)链接编译生成的目标文件

32、,在源文件目录下生成可执行文件。如果有错误或警告生成,则在输出区显示错误或警告信息,查看错误或警告信息修改源程序,修改后应重新“编译”和“链接”。如果链接没有错误生成(即使有警告生成),使能“加载”菜单项和工具栏中的“加载”按钮,以便进行加载。链接也可以直接使用编译工具栏中的按钮(3)加载(D)把链接生成的可执行文件加载到下位机。在加载过程中输出区有“加载中,请稍候.”的字样,用户此时应该等待直到加载完成。加载完成后,如果加载成功,输出区显示“加载成功!”,使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时CS和IP指向程序的开始执行行并在此行设置执行标记。如果加载失败,输出区显示“加载失败

33、!”,不使能“调试”菜单中的菜单项和调试工具栏中的按钮,此时应重新进行“加载”。加载也可以直接使用编译工具栏中的按钮(4)编译链接并加载(T)依次执行编译、链接和加载。如果编译有错误生成,不执行链接和加载,在输出区显示编译生成的错误或警告信息,双击错误或警告信息,可定位到有错误或警告的行,修改有错误或警告的行后应重新“编译链接并加载”,如果编译没有错误生成(即使有警告生成)接着执行链接并使能“链接”菜单项和工具栏中的“链接”按钮。如果链接有错误生成,不执行加载,在输出区显示链接生成的错误或警告信息,查看错误或警告信息修改源程序后应重新“编译链接并加载”,如果链接没有错误生成(即使有警告生成)接

34、着执行加载并使能“加载”菜单项和工具栏中的“加载”按钮。如果加载成功,输出区显示“加载成功!”,如果加载不成功,输出区显示“加载失败!”。也可以直接使用编译工具栏中的按钮2调试菜单项:(1)设置断点/删除断点(B)当前光标所在的行为当前行,用鼠标左键单击程序可任意改变当前行。如果当前行无断点则在当前行设置断点,如果当前行有断点则删除当前行的断点。并不是源程序的所有行都可以设置断点,如伪操作行和空行不能设置断点。源程序设置的断点数不能超过8个。也可以直接使用调试工具栏中的按钮(2)清除所有断点(D)清除源程序中设置的所有断点,只有当设置的断点数大于零时,该菜单才使能。也可以直接使用调试工具栏中的

35、按钮(3)设置起点(J)当前光标所在的行为当前行,用鼠标左键单击程序可任意改变当前行。此命令把当前行设置为程序的起点,即程序从此行开始运行,寄存器区的CS和IP的值刷新后指向此行。并不是源程序的所有行都可以设置起点,如伪操作行和空行不能设置起点。也可以直接使用调试工具栏中的按钮(4)单步(T)点击此命令使程序执行一条语句,如果是函数则进入函数内部,执行后刷新所有的变量和寄存器的值。并不是所有的语句都适用单步,如:初始化8253的语句不适用单步,关闭中断后的语句不适用单步。如果在不适用单步的语句使用单步命令会导致下位机死机,从而不响应上位机的命令,出现死机情况后应先软件复位,如果软件复位成功,则

36、不需要硬件复位,如果软件复位不成功,系统会提示您硬件复位,硬件复位成功后会使能调试工具栏的按钮。也可以直接使用调试工具栏中的按钮(5)跳过(O)点击此命令使程序执行一个函数,执行后刷新所有变量和寄存器的值。只有当当前执行行为函数调用,才用此命令。也可以直接使用调试工具栏中的按钮(6)运行到断点/运行从当前执行行开始向后运行,如果没有断点,则运行直到程序结束。如果有断点,则运行到断点后停止。也可以直接使用调试工具栏中的按钮(7)停止发送此命令使程序停止运行,程序停止后刷新所有寄存器和变量的值。也可以直接使用调试工具栏中的按钮(8)软件复位软件复位下位机,如果软件复位成功,则使能调试工具栏的调试按

37、钮,并且在输出区的结果窗口出现“复位成功 !”的字样。如果软复位不能成功,系统会提示您硬件复位,您此时应按下实验箱上硬件复位按钮,如果输出区的调试窗口出现“复位成功 !”的字样,表明硬件复位成功,并使能调试工具栏的调试按钮,如果硬件复位不成功,请再次按下实验箱上硬件复位按钮。也可以直接使用调试工具栏中的按钮附录二 8255并行接口应用实验一、实验目的 1学习并掌握8255的各种工作方式及其应用。 2学习在系统接口实验单元上构造实验电路。二、实验设备TDN86/88教学实验系统三、实验内容及步骤(一)系统中的8255芯片18255可编程并行接口芯片介绍8255可编程外围接口芯片是Intel公司生

38、产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式 方式1-选通输入/出方式 方式2-双向选通工作方式2系统中的8255芯片8255的数据线、片选信号线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用,其线路如图1所示,端口地址如表1所示。图1 系统中的8255线路表1 8255端口地址信 号 线寄 存 器编 址IOY3A口60HB口61HC口62H控制寄存器63H3接口实验单元中的开关和发光二极管电路图2 拨动开关和发光二极管电路(二)8255接口应用实验图 3 实验线

39、路图按图3所示实验线路编写程序,使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组发光二极管上,然后通过对8255芯片编程来实现输入/出功能。实验程序如下:STACK1 SEGMENT STACK DW 64 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART:MOV AL,82H ;8255初始化 OUT 63H,AL A1:IN AL,61H ;从B口输入开关量数据OUT 60H,AL ;由A口输出 JMP A1CODE ENDS END START实验步骤(1) 按图接线。(2) 输入源程序,进行编译、链接和加载。(3) 运行程序,拨动开关组,观察发光二极管应开关组状态一一对应。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号