《微机原理实验》PPT课件

上传人:桔**** 文档编号:569992851 上传时间:2024-08-01 格式:PPT 页数:24 大小:362.97KB
返回 下载 相关 举报
《微机原理实验》PPT课件_第1页
第1页 / 共24页
《微机原理实验》PPT课件_第2页
第2页 / 共24页
《微机原理实验》PPT课件_第3页
第3页 / 共24页
《微机原理实验》PPT课件_第4页
第4页 / 共24页
《微机原理实验》PPT课件_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《《微机原理实验》PPT课件》由会员分享,可在线阅读,更多相关《《微机原理实验》PPT课件(24页珍藏版)》请在金锄头文库上搜索。

1、微机原理实验第一部分第一部分 汇编语言程序的建立和执行汇编语言程序的建立和执行 第二部分第二部分 8255A并行口的实验并行口的实验 第三部分 交通灯控制接线图1 交通灯控制接线图2第一部分本实验手册是利用TPC-1型十六位微机上机实验系统进行实验,要求用8086汇编语言来编写程序,这里,我们首先明汇编语言程序从建立到执行的过程。要建立和运行汇编语言程序,应该首先有如下文件:EDIT.COM 编辑程序MASM.EXE 宏汇编程序LINK.EXE 链接程序DEBUG.EXE 调试程序 下面,以建立和执行用户程序ABC.EXE为例来说明上机过程。 1、用EDIT命令建立汇编语言源程序(ASM文件)

2、 源程序就是用汇编语言的语句编写的程序,它不能被机器识别。源程序必须以ASM为扩展文件名。例如打入命令:C:ASMEDIT ABC.ASM(每个命令后面应输入回车,以下均如此)此时用户可以通过编辑程序的命令编写用户程序ABC.ASM。2、用MASM命令产生目标文件OBJ文件汇编,实际上就是把以ASM为扩展名的源文件转换成用二进制代码表示的目标文件,目标文件以OBJ为扩展名。汇编过程中,汇编程序对源文件进行二次扫描,如果源程序中有语法错误,则汇编过程结束后,汇编程序会指出源程序中的错误,这时,用户可以再用编辑程序来修改源程序中的错误,最后,得到没有语法错误的OBJ文件。例如,对hpled.asm

3、的汇编过程如下:C:ASM MASM hpled.asm3. 用LINK命令产生执行文件(EXE文件) 汇编过程根据源程序产生出二进制的目标文件(OBJ文件),但OBJ文件用的是浮动地址,它不能直接上机执行。所以还必须使用连接程序(LINK.EXE)将OBJ文件转换成可执行的EXE文件。LINK命令还可以将某一个目标文件和其它多个模块(这些模块可以是由用户编写的,也可以是某个程序中存在的)链接起来。以对hpled.obj进行连接为例: C:ASMLINK hpled.obj4程序的执行 有了EXE文件后,就可以执行程序了,此时,只要打入文件名即可。仍以hpled为例:C:ASM hpled 实

4、际上,大部分程序必须经过调试才能纠正程序设计中的成为错误,从而得到正确的结果。所谓调试阶段,就是用调试程序(DEBUG程序)发现错误,再经过编辑、汇编、链接来纠正错误。关于DEBUG程序中的各种命令,可参阅DOS手册,下面给出最常用的几个命令。 先进入DEBUG程序并装入要调试的程序hpled.exe,操作命令如下:C:ASMDEBUG hpled.exe ;进入DEBUG,并装hpled.exe 此时,屏幕上出现一个短划线。为了查看程序运行情况,常常要分段运行程序,为此,要设立“断点”,即让程序运行到某处自动停下,并把所有寄存器的内容显示出来。为了确定我们所要设定的断点地址,常常用到反汇编命

5、令,反汇编命令格式如下:-U ;从当前地址开始反汇编也可以从某个地址处开始反汇编,如下所示:-U100 ;从CS:100处开始反汇编确定断点地址后,就可以用G命令来设置断点。比如,想把断点设置在200H处,则如下打入命令:-G200 此时,程序在0200H处停下,并显示出所有寄存器以及各标志位的当前值,在最后一行还给出下一条将要执行的指令的地址、机器语言和汇编语言,程序员可以从显示的寄存器的内容来了解程序运行是否正确。对于某些程序段,单从寄存器的内容看不到程序运行的结果,而需要观察数据段的内容,此时可用D命令,使用格式如下:-D DS:0000 ;从数据段0单元开始显示128各字节。在有些情况

6、下,为了确定错误到底由哪条指令的执行引起,要用到跟踪命令(单步执行命令),此命令是程序每执行一条指令,边给出所有寄存器的内容。比如:-T 3 ;从当前地址往下执行三条指令。此指令使得从当前地址往下执行三条指令,每执行一条,便给出各寄存器内容。最后,给出下一条要执行的指令的地址、机器语言和汇编语言。从DEBUG退出时,使用如下命令:-Q ;退出DEBUG,卸去所装配程序。 第二部分 8255A并行口的实验 一、实验目的掌握通过8255A并行口传输数据的方法,来控制LED发光二极管的亮灭。二、实验内容用8255A的B端口和C端口控制12个LED发光二级管的亮和灭(输出为0则亮,输出为1则灭 )。

7、返回第一部分三、 编程提示 1、要完成本实验,首先必须了解交通路灯的亮灭规律。设有一个十字路口,1、3为南,北方向, 2、4为东,西方向,初始态为4个路口的红灯全亮。 之后, 1、3路口的绿灯亮, 2、4路口的红灯亮, 1、3路口方向通车。 延迟一段时间后, 1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁。闪烁若干次后, 1、3路口的红灯亮, 同时2、4路口的绿灯亮, 2、4路口方向开始通车。 延迟一段时间后, 2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁若干次后,再切换到1、3路口方向。 之后,重复上述过程。2、程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出态。3、

8、8255A的A端口地址为:218H B端口地址为:219H C端口地址为:21AH 控制口地址为:21BH四、程序讲解1、设置数据段,以及端口地址分配2、设置堆栈段和代码段3、主程序 4、延时程序 查看接线图1 图2 3、主程序流程图流程图 1、设置数据段,以及端口地址分配 data segment pb db ? porta equ 218h portb equ 219h portc equ 21Ah ptcon equ 21Bh mess db ENTER ANY KEY CAN EXIT TO DOS!,0dh,0ah,$data ends2、设置堆栈段和代码段stack segment

9、 stack sta dw 50 dup(?) top equ length sta stack ends code segment assume cs:code,ds:data,es:data,ss:stack 3、主程序start: mov ax,data mov ds,ax mov es,ax mov ah,09h ;显示 mov dx,offset mess int 21h mov dx,ptcon ;输入控制字 mov al,80h ;工作在方式0 out dx,al ;A、B、C口都为输出 查看流程图初始化设置mov dx,portb ;控制4个黄灯灭mov al,0f0hout

10、dx,almov dx,portc ;控制4个绿灯灭mov al,0f0h ;4个红灯亮out dx,al call delay5 ;延时mov pb,10100101b ;控制交通灯灯正常运行的控制字 lll: mov al,pb mov dx,portc ;控制红绿灯 out dx,al call delay10 or al,0f0h ;红灯亮灭不变 out dx,al ;绿灯全灭 mov cx,0004h ;黄灯闪烁次数 ttt: mov ah,06h mov dl,0ffh int 21h jnz ppp ;判断是否有键按下 mov dx,portb ;绿灯亮的相应位置黄灯亮 mov

11、al,pb out dx,al call delay5 or al,0f0h ;绿灯灭,红灯亮灭不变 out dx,al call delay5 loop ttt ;黄灯闪烁4次 not pb ;pb取反,红绿灯亮灭互换 mov ah,06h mov dl,0ffh int 21h jnz ppp ;判断是否有键按下 jmp lll ;继续控制红绿灯ppp: mov ax,4c00h ;退出,回到DOS int 21h 4、延时程序 delay1 proc near ;延时子程序 push cx mov cx,0ffffh ccc: loop ccc pop cx ret delay1 endpdelay5 proc near ;延时程序 push ax push cx mov cx,0060h uuu: call delay1 ;调用延时子程序 loop uuu pop cx pop ax retdelay5 endp 返回程序讲解

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号