微机原理实验指导

合集下载

微机原理实验指导书

微机原理实验指导书

实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。

二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。

2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。

在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。

当每条数据传送完毕时,AX中的内容是什么。

程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。

三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。

2、本实验要求在PC机上完成。

3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。

4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。

如果用堆栈作为中间存储单元,必须遵循先进后出的原则。

(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。

[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。

[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。

微机原理实验学生实验指导书

微机原理实验学生实验指导书

微型计算机原理实验指导书河北大学电子信息工程学院2017年10月目录实验一系统认识及编程初步实验 (1)实验二输入输出程序设计实验 (7)实验三8255并行接口实验 (9)实验四8259中断控制实验 (13)实验五8254定时/计数器应用实验 (19)实验六综合实验 (24)实验一系统认识及编程初步实验一、实验目的1. 掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

2. 掌握使用运算类指令编程及调试方法。

3. 学习使用软件监视变量的方法。

二、实验设备PC机一台,TD-PITE实验装置一套。

三、实验内容(一)基础实验1. 系统认识实验编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。

2. 运算编程实验80X86指令系统提供了实现加、减、乘、除运算的基本指令,可对表1-1所示的数据类型进行算术运算。

本实验以二进制双精度加法运算为例,计算X+Y=Z,将结果Z存入某存储单元。

表1-1 数据类型算术运算表(二)提高实验1. 在系统认识实验中,编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。

通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。

2. 在运算编程实验中,求累加和程序设计,在偏移地址为1000H开始依顺序填入16个字(16个16位数),利用程序求和,存放在偏移地址2000H。

四、实验步骤(一)系统认识实验1. 运行Wmd86软件,进入Wmd86集成开发环境。

2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图1-1、图1-2所示。

设置选择后,下次再启动软件,语言环境保持这次的修改不变。

图1-1 语言环境设置界面图1-2 寄存器设置界面3. 语言和寄存器选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图1-3所示。

微机原理及实验指导

微机原理及实验指导

实验一、I/O程序设计一.实验内容:I/O程序设计(一)实验内容:1.编程由键盘输入任意一个字符,将该字符的ASCII码值显示在屏幕上。

2.从键盘输入两个1位十进制数,计算二者之和,并将结果显示在屏幕上。

3.编程由键盘输入任意一位数,将该数以二进制数形式显示在屏幕上,例:5=00000101B (二)实验步骤: 1. 画出实验流程图。

2. 运行Tddebug软件,选择Edit菜单编写实验程序 3. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。

4. 使用Rmrun菜单中的Run运行程序,观察运行结果。

5. 使用Rmrun菜单中的Debug调试程序。

单步执行指令,观察各寄存器及数据区的内容。

6. 更改数据区中的数据,考察程序的正确性。

二.分析设计思想。

设计思路:首先将该数以十六进制数形式分解,然后将每一位分别转换为ASCII码送屏幕显示。

其中0H~9H之间的数加30H,即可得0H~9H的ASCII码,而AH~FH的ASCII码,则需再加7H,参见表5-1。

参考程序流程如图2-1所示。

示例程序参见参考程序清单。

三.程序清单及流程DATA SEGMENTMES DB 'Show a as hex:',0AH,0DH,'$'SD DB 'a'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES ;显示提示信息MOV AH,09H INT 21HMOV SI,OFFSET SD 4MOV AL,DS:[SI]AND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;显示字符MOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FH ;取低4位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;显示字符MOV AH,02HINT 21HMOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START四.实验结果。

微机原理实验指导书(软件)

微机原理实验指导书(软件)

实验一系统认识与数码转换实验一、实验目的1.学习汇编语言的开发过程。

2.熟练掌握DEBUG调试程序。

参考书后附录E二、实验设备PC机一台三、实验内容及步骤1.系统认识实验在内存缓冲区BUFF中存储0-F共16个字节数据,实验参考程序如下:DATA SEGMENTBUFF DB 16 DUP (?);定义数据段DATA ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DI,OFFSET BUFF ;设置缓冲区首址MOV CX,16 ;字节数送入CX中MOV AL,0A1: MOV [DI],AL ;写入一字节INC DI ;修改地址指针INC AL ;修改数据LOOP A1 ;未填完循环MOV AH,4CHINT 21HCODE ENDS ;代码段结束END START ;程序结束实验步骤:(1)把实验用的相关软件拷贝到PC机中,比如D盘的HUIBIAN文件夹(D:\HUIBIAN)。

(2)进入DOS环境(开始\程序\附件\‘C:\命令提示符’),进入路径D:\HUIBIAN。

(3)编辑,启动编辑软件EDIT,输入源程序,检查无误后存盘,如文件名11.ASM。

(4)汇编,即键入MASM 11.ASM回车,通过后应生成文件11.OBJ。

(5)连接,即键入LINK 11.OBJ回车,通过后应生成文件11.EXE。

(6)调试,即键入DEBUG 11.EXE,进入调试软件DEBUG来调试源程序。

DEBUG的用法可参考教材的附录E。

(7)运行程序,观察结果是否正确。

2.数码转换实验将十进制数的ASCⅡ码转换为BCD码。

设五位十进制数的ASCⅡ码已存放在内存缓冲区BUF1中,转换为 BCD 码后,再分别存入内存缓冲区BUF2中。

提示:一字节ASCⅡ码取其低四位即变为BCD码。

实验程序如下:DATA SEGMENTBUF1 DB 31H,32H,33H,34H,35H ;定义数据段BUF2 DB 5 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV CX, 5 ;循环计数器赋初值MOV SI,OFFSET BUF1 ;ASCⅡ码首址MOV DI,OFFSET BUF2 ;BCD码首址A1: MOV AL,[SI] ;送ASCⅡ码至ALCMP AL,3AH ;比较AL与3AJAE A2 ;大于3A则转A2SUB AL,30H ;小于3A则取ASCⅡ码低4位JB A2 ;小于30则转A2MOV [DI],AL ;保存结果A2: INC SIINC DILOOP A1MOV AH,4CHINT 21HCODE ENDSEND START实验步骤(1)输入源程序,进行汇编、连接。

微机原理实验指导

微机原理实验指导

实验一串行通信实验一、实验目的利用实验机内的8251芯片,实现与PC机通讯。

二、实验内容(1)利用实验机内的8253芯片的分频作为8251的收发时钟频率。

(2)通过编程将指定数据通过8251发送给PC机接收,并在PC机屏幕上显示出该数据。

三、实验接线图图6-13四、实验说明1)8251状态口地址:03F9H,8251数据口地址:03F8H;2)8253命令口地址:43H,8253计数器#1口地址:41H;3)通讯约定:异步方式,字符8位,一个起始位,一个停止位,波特率因子为16,波特率为9600;4)计算T/RXC,收发时钟fc,fc=16*9600=153.6K;5)8253分频系数:1843.2K / 153.6K=12。

五、实验步骤1)CZ1系统通信口→编程用PC机串口2)CZ11用户通信口→用于接收数据的PC机串口3)8251单元:T/RXC→8253模块的OUT1,TXD→EX-TXD,RXD→EX-RXD;4)8253单元:GATE1→+5V,CLK1→1.8432MHZ;5)用于接收数据的PC机运行“串口调试助手”,设置好通讯约定,打开串口,并选择“十六进制显示”6)打开实验箱电源,编程用PC机运行“ZY8086K微机原理调试软件”,编写程序,并编译装载、连续运行7)在用于接收数据的PC机上运行”串口调试助手”,并观察其接收到的数据。

六、实验程序清单code segmentassume cs:codesecoport equ 03f9h sedaport equ 03f8horg 1a00hstart:; 以下用于设置定时器8253for8253:mov dx,43hmov al,76hout dx,almov dx,41hmov al,0chout dx,almov dx,41hmov al,00hout dx,al; 以下用于设置8251for8251:mov dx,03f9h ;复位mov al,00hout dx,almov dx,03f9hmov al,00hout dx,almov dx,03f9hmov al,00hout dx,almov dx,03f9hmov al,40hout dx,almov dx,03f9h ;设置模式字mov al,4ehout dx,almov dx,03f9h ;设置控制字mov al,25hout dx,al;开始发送wattxd: ;测试TxRDY mov dx, 03f9hin al,dxtest al,01hjz wattxdmov al,30h ;数据送8251的数据端口mov dx, 03f8hout dx,almov cx,7fffh ;延迟一段时间delay:loop delayjmp wattxdcode endsend start实验二并行通信实验一、实验目的掌握8255A的工作方式和编程原理。

微机原理实验指导书

微机原理实验指导书

实验一数据传送一、实验目的1、熟悉SH51仿真器的使用方法。

2、练习设计简单的程序。

3、掌握8031片内RAM和片外RAM的数据传送的方法,从而了解这两部分存储器的特点二、实验设备和器件PC一台、DP-51PROC单片机实验仪一台、仿真器一台。

三、实验内容将8031内容RAM40H—4FH置初值00H—0FH,然后将40H—4FH 的内容传送到外RAM4800H—480FH,再将4800H—480FH传回到内部RAM50H—5FH。

设置断点B1、B2、B3,每运行到断点时检查相应的CPU现场和存储单元的内容。

四、实验步骤1、向机器输入程序2、运行程序至第一个断点B1,检查内容RAM40H—4FH单元的内容及累加器A 的内容;3、运行程序至第二个断点B2,检查RAM4800H—480FH单元的内容及累加器A、数据指针DPTR的内容;4、运行程序至第三个断点B3,检查内容RAM50H—5FH单元的内容及累加器A、数据指针DPTR的内容;五、实验程序ORG 0000HSTART: LJMP MAINORG 0040HMAIN: MOV R0, #40HMOV R2, #10HCLR AA1: MOV @R0, AINC R0INC ADJNZ R2, A1 B1: MOV R0, #40HMOV DPTR, #4800HMOV R2, #10HA2: MOV A, @R0MOVX @DPTR, AINC R0INC DPTRDJNZ R2, A2B2: MOV R0, #50HMOV DPTR, #4800HMOV R2, #10HA3: MOVX A, @DPTRMOV @R0, AINC R0INC DPTRDJNZ R2, A3B3: SJMP $END实验二并行口一、实验目的:通过实验了解8031并口输入方式和输出方式的工作原理和编程方法。

二、实验设备及器件:PC一台、DP-51PROC单片机实验仪一台、仿真器一台。

微机原理实验指导书(修改1023)

微机原理实验指导书(修改1023)

微机原理实验指导书华中科技大学计算机学院武汉豪申光电新技术有限公司目录微机原理实验 (3)第一章16位汇编语言编程验 (3)实验一系统认识实验 (3)实验二分支程序设计实验 (6)实验三循环程序设计实验 (9)实验四排序程序设计实验 (12)实验五子程序设计实验 (15)微机接口实验 (19)第一节并行接口实验(8255芯片实验) (19)实验一8255并行接口实验 (19)第二节定时/计数实验(8253芯片实验) (26)实验二音乐发声器接口实验 (26)第三节串行通信接口实验(8251芯片实验) (33)实验三 RS-232标准全双工查询方式异步串行通信实验 (34)第四节A/D D/A转换器接口实验 (42)实验四查询方式A/D转换器接口实验(ADC0809) (42)实验五 D/A函数波形发生器接口实验(DAC0832) (49)微机原理实验第一章16位汇编语言编程验实验一系统认识实验⑴实验目的掌握在MF平台中汇编程序的编写、调试方法。

⑵实验内容基本实验将存储区BUF1中的内容复制到BUF2中。

⑶实验步骤(一)方式1(Debug方式)1.在MF2KP环境下输入汇编程序,编译、连接,生成.exe文件。

2.启动调试程序(Debug)。

3.在程序的退出处设置断点,利用Add Watch命令查看BUF2中的内容是否正确。

(二)方式2(人-机交互方式)1.在MF2KP环境下输入汇编程序,编译、连接、运行。

2.按提示输入数据,在屏幕显示的结果中查看BUF1,2中的内容是否正确。

3.输入不同的字符串,可得到不同的结果。

⑷实验资源配置IBMPC微机,Win2000操作系统,MF2KP微机原理实验集成开发环境。

⑸实验软件的编程◇实验流程图如图1.1.1所示将存储区BUF1中的内容复制到BUF2中的程序主功能模块如图1.1.1中的虚线框中所示。

◇实验参考程序如下所示;*--------------------------------------------------* ;* Aexp1.asm(汇编语言编程认识实验) * ;* Copyright (c) 2002 by HUST * ;* 程序调试:在EXIT处设置断点,利用Add Watch命令 * ;* 查看BUF1和BUF2的内容是否正确 * ;*-------------------------------------------------* DATA SEGMENTBUF1 DB 'MASM HELLO WORLD'COUNT EQU $-BUF1BUF2 DB20DUP(?)DATA ENDSSTACK1 SEGMENT STACKDB20DUP(?)STACK1 ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK1,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUF1 ;建立源地址指针MOV DI,OFFSET BUF2 ;建立目标地址指针MOV CX,COUNT ;字节数送入CX寄存器L1: MOV AL,[SI] ; 取源数据一个字节送入AL中MOV [DI],AL;将源数据送入目标地址单元中INC SIINC DIDEC CXJNZ L1 ;判断是否传送完毕EXIT: MOV AH,4CHINT21HCODE ENDSEND START⑹实验要求◇按要求完成实验得出正确结果.◇试着自己写出人机对话方式的汇编程序.◇完成实验报告实验二分支程序设计实验⑴实验目的掌握分支程序的结构。

微机原理实验指导

微机原理实验指导

微机原理实验指导部门: xxx时间: xxx整理范文,仅供参考,可下载自行编辑微机原理实验指导第一部分实验的目的和要求一实验要求1、实验前作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。

实验时要遵守实验室的规章制度,爱护实验设备。

要熟悉与实验相关的系统软件<如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。

在程序的调试过程中,有意识地学习及掌握DEBUG程序的各种操作命令,以便掌握程序的调试方法及技巧。

b5E2RGbCAP3、为了更好地进行管理,要求用硬盘<注:D盘下)存储程序,以避免文件丢失。

注:文件名必须完整,源程序要带有后缀 .asm 。

路径名以及文件名中不能包含汉字,只能使用字符。

4、程序调试完后,须由实验辅导教师在机器上检查运行结果。

5、每个实验完成后,应写出实验报告。

二实验报告规范1、要求使用学校专用的实验报告纸。

填写的信息包括:课程名称、实验序号、专业、班级、姓名、同组实验者、实验时间。

2、报告书写要规范,内容言简意赅。

内容应包括:实验名称、目的、内容、原理、实验步骤、实验记录、数据处理<或原理论证、或实验现象描述、或结构说明等)。

p1EanqFDPw3、一个实验对应一份实验报告。

三实验的目的实验目的不仅是为了验证书本理论,更重要的是对实践能力的培养。

其中包括:实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等。

开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。

DXDiTa9E3d对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序<或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或部分改变程序加以实现。

RTCrpUDGiT四实验的评价方式每次实验的考核结果按优秀、良好、中等、及格和不及格来评价。

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

实验一 MASM For Windows 的使用及顺序程序设计一、实验目的1、熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。

2、熟悉masm for windows调试环境及DEBUG常用命令的使用二、实验内容1.DEBUG常用命令(U、R、D、E、F、T、G、Q)的操作使用2.编程实现两个16位无符号数的加、减、乘、除运算。

有两个两字节无符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显示。

相加若有进位不存入存储单元。

三、实验设备PC机一台、masm for windows 汇编语言集成环境四、实验准备1) 分析题目,将程序中的原始数据和最终结果的存取方法确定好。

2) 画出流程图。

3) 写出源程序。

4) 对程序中的结果进行分析,并准备好上机调试与用汇编程序及汇编调试的过程。

五、实验步骤1) 输入源程序。

2) 汇编、连接程序,生成 .EXE文件,执行文件,检查结果。

六、学生实验报告的要求1) 列出源程序,说明程序的基本结构,包括程序中各部分的功能。

2) 说明程序中各部分所用的算法。

3) 说明主要符号和所用到寄存器的功能。

4) 上机调试过程中遇到的问题是如何解决的。

5) 对调试源程序的结果进行分析。

4) 说明标志位CF、SF和OF的意义。

DEBUG的常用命令1、R 显示或修改寄存器的内容命令格式:-R2、 D 显示存储单元的内容命令格式:-D[地址1, 地址2]3、E修改存储单元的内容命令格式:-E[地址1, 地址2]4、U反汇编命令格式:-U[地址1, 地址2]5、T单步执行命令格式:-T6、G连续执行命令格式:-G[=起始地址, 结束地址]A小汇编命令格式:-A7、Q退出DEBUG,返回DOS实验一源程序 EXAM1-2 .ASMDATA SEGMENTA DB 34H,18H,2 DUP(0),’$’B DB 56H,83HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV AL,AMOV BL,BADD AL,BLMOV AH,A+1MOV BH, B+1ADC AH, BHMOV A, ALMOV A+1, AHMOV CX, 0004HMOV DI, OFFSET AMOV DX, [ DI]ADD DI,03NEXT: MOV AX, DXAND AX,000FHCMP AL,0AHJB QQQADD AL, 07HQQQ: ADD AL, 30HMOV [DI], ALDEC DIPUSH CXMOV CL, 04SHR DX, CLPOP CXLOOP NEXTMOV DX, OFFSET AMOV AH, 09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START执行程序EXAM1-2·EXE,屏幕上显示结果:9B8A实验二分支、循环程序设计一、实验目的1) 掌握分支、循环程序的结构。

2) 掌握分支、循环程序的设计,调试方法。

二、实验内容1 当X>0时1.编程求Y值。

其中Y= 0 当X=0时-1 当X<0时2、在一串给定个数的数中寻找最大值(或最小值),并且放至指定的存储单元。

每个数用16位表示。

3、编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。

其程序的逻辑框图如图3. 1所示。

三、实验准备1) 阅读教材中有关顺序、分支程序的内容。

2) 按要求编写程序。

3) 对照实验步骤,将要测的数据事先画好表格。

四、实验设备PC机一台五、实验步骤1) 输入源程序。

2) 汇编、连接程序,生成 .EXE文件,执行文件检查结果。

六、学生实验报告的要求1) 列出源程序。

2) 将实验测得的数据与理论分析比较。

3) 总结为什么在设计分支程序时必须解决三个问题:判断、转向和定标号。

源程序清单:EXAM2-1.ASMdata segmentbuffer dw 10y dw ?data endscode segmentasumme cs:code,ds:datastart:mov ax,datamov ds,axmov ax,bufferor dx,axje zerojns plusmov bx,0ff hjmp contizero: mov bx,0jmp contiplus: mov bx,1conti: mov y,bxcode endsend start执行程序EXAM2-1·EXE:查看Y=1[调试中应注意的问题]:应改变X(buffer单元)的值,分X>0,X<0,X=0三种情况执行.源程序清单:EXAM2-2DATA SEGMENTBUF DB’S=1+2×3+3×4+4×5+…+N(N+1)+…=’,’$’RES DW 4 DUP(0),’$’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS, AXMOV DX, OFFSET BUFMOV AH, 09HINT 21HMOV DX, 1MOV BL, 2NEXT: MOV AL, BLINC BLMUL BLADD DX, AXCMP AX, 200JNA NEXTMOV CX, 0004HMOV DI, OFFSET RESADD DI, 03HNEXT1:MOV AX, DXAND AX, 000FHCMP AL, 0AHJB NEXT2ADD AL, 07NEXT2:ADD AL, 30HMOV [DI],ALDEC DIPUSH CXMOV CL,04SHR DX,CLPOP CXLOOP NEXT1MOV DX, OFFSET RESMOV AH, 09HINT 21HMOV AH, 4CHINT 21HCODE ENDSEND START执行程序EXAM3-2.EXE,屏幕上显示结果:S=1+2×3+3×4+4×5+...+N(N+1)+ (045)EXAM3-3ORG 2000H2000 BF0030 MOV DI, 30002003 B164 MOV CL, 642005 C60500 MOV BYTE PTR[DI],0 2008 47 INC DI2009 FEC9 DEC CL200B 75F8 JNZ 2005200D F4 HLT实验三综合程序设计一、实验目的1) 掌握汇编语言程序的设计方法。

2) 熟练掌握汇编语言程序的调试方法。

二、实验内容1、选择排序法程序设计。

2、有关I/O法程序设计。

实验四 8253定时/计数器实验一、实验目的1) 学会通过62芯总线驱动器,译码器等在PC 机外扩展新的芯片。

2) 掌握8253定时/计数器的工作原理方式及应用编程。

二、实验内容编程将定时器0设置为模示3,定时器1设置为模示2,定时器0的输出作为定时器1的输入时钟信号,在示波器中观察定时器0与定时器1的输出波形及其关系。

三、实验设备TPC-1A教学实验箱,PC机,SR-8示波器四、8253工作原理及初始化编程1、工作原理2、工作方式方式0—方式5方式2:速率发生器方式3:方波速率发生器3、8253的控制字计数器读/写格式工作方式数制00 选择计数器0 00 计数器锁存命令 000 方式0 0=二进制01选择计数器 1 10 只读写最高有效位字节 001 方式1 1=BCD码(高8位) X10 方式210选择计数器 2 01只读写最低有效位字节 X11 方式3(低8位) 100 方式411 非法选择 11先写最低有效位字节 101 方式5然后写最高有效位字节0 0 1 1 0 1 1 000 选择计数器0 11先写最低有效位字节 x11 方式3 0=二进制然后写最高有效位字节1、8253的初始化编程过程如下图所示:TPC-1A教学实验箱上的8253芯片接法介绍实验要求,8253 0#计数器的CLK0与250HZ信号源相连,作为时钟输入信号;8253的0#计数器OUT0与1#计数器的CLK1相连作为1#计数器时钟输入信号,引出信号端为OUT0,OUT1(在示波器中观察)。

四、实验步骤(1) 编制程序,并输入调试生成可执行文件。

(2) 按图连接好实验线路。

(3) 运行程序,在示波器中观察OUT0,OUT1波形及其关系。

(4) 修改8253的1#计数器时间常数,再运行程序,在示波器中观察OUT0,OUT1波形变化。

五、思考题1) 在将计数初值赋给8253后,马上就可以启动并进行定时或计数吗?2) 若CLK0输入1.1925MHZ的时钟,能否在OUT0实现输出30ms的定时脉冲?提示:计数初值=f clk/f out=T out/T clk程序清单:EXAM8-1.ASMTIM_CTL EQU 203HTIMER0 EQU 200HTIMER1 EQU 201HMODE03 EQU 36HMODE12 EQU 74HDATA SEGMENTMESS DB '8253A TIMER0 IN MODE3! COUNT=0200H',0AH,0DHDB '8253A TIMER1 IN MODE2! COUNT= 0aH',0AH,0DH,'$' DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXCLIMOV DX,TIM_CTLMOV AL,MODE03OUT DX,ALMOV DX,TIMER0MOV AL,00hOUT DX,ALMOV AL,02HOUT DX,ALMOV DX,TIM_CTLMOV AL,MODE12OUT DX,ALMOV DX,TIMER1MOV AL,0aHOUT DX,ALMOV AL,00OUT DX,ALSTIMOV DX,OFFSET MESSMOV AH,09 INT 21HRETMAIN ENDPCODE ENDSEND START实验四中断一、实验目的1、加深对微机中断系统的了解 ,熟悉8259的工作原理和工作过程,2、掌握8259的编程和中断处理程序的编制方法。

二、实验要求1、中断请求通过PC62芯总线的IRQ4端输入,中断源可以是片外8253定时器输出的脉冲,也可以是其它脉冲,2、编写程序要求主机每次响应外部中断IRQ4时,显示中断处理信息,中断十次后,程序退出。

相关文档
最新文档