微机原理实验指导书_第1页
微机原理实验指导书_第2页
微机原理实验指导书_第3页
微机原理实验指导书_第4页
微机原理实验指导书_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录实验一 熟悉汇编语言上机环境及基本操作1实验二 顺序程序设计19实验三 分支结构程序设计21实验四 循环程序设计23实验五 循环程序设计25实验六 8255输出实验28实验七 开关状态显示实验30实验八 步进电机驱动33实验九 双色灯实验37实验一 熟悉汇编语言上机环境及基本操作一、实验目的及要求 (验证性实验、必修)1. 学会使用edit、tasm、tlink、debug等软件工具。2. 熟练掌握在计算机上建立、汇编、链接、调试及运行程序的方法。二、掌握运行汇编语言程序的操作过程 1. 汇编语言的上机步骤要建立和运行汇编语言程序,应该首先有如下文件:edit.com ;编辑程序tasm

2、.exe ;汇编程序tlink.exe ;链接程序debug.exe ;调试程序2. 用edit命令建立汇编语言源程序文件(扩展名为asm)在dos状态下,调用edit编辑程序建立文件名为cz.asm的汇编源程序。可打入命令:e:asmedit ( 每个命令后面应输入回车,以下均如此),就可以进入edit屏幕编辑软件,然后输入汇编语言源程序,源程序输入完毕后,用file-save保存源程序,设源文件名为cz.asm,退出edit,进入dos状态。3. 用tasm命令产生目标文件(obj文件)调用tasm汇编程序对源文件进行汇编,可打入命令:e:asmtasm cz.asm汇编过程的错误分警告错

3、误(warning errors)和严重错误(severe errors)两种。其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质、错误指令所在行号。这时,用户可以再调用编辑程序edit,对源程序修改后再进行汇编,直到汇编通过,最后,得到没有语法错误的obj文件。4. 用tlink命令产生可执行文件(exe文件)经汇编以后产生的目标程序文件obj文件并不是可执行程序文件,必须经过链接以后,才能成为可执行文件即exe文件。调用tlink实现链接,可打入命令:e:asmtlink cz.obj5. 程序的执行建立了可执行文件exe

4、后,就可以执行程序了,此时只要打入文件名即可,仍以cz为例, 打入命令:e:asmcz 执行该程序。实际上,大部分程序必须经过调试才能纠正程序设计中的错误,从而得到正确的结果。所谓调试阶段,就是用调试程序(debug程序)发现错误,再经过编辑、汇编、链接来纠正错误。三、debug调试程序的应用 debug.exe程序是专门为分析、研制和开发汇编语言程序而设计的一种调试工具,具有跟踪程序执行、观察中间运行结果、显示和修改寄存器或存储单元内容等多种功能。它能使程序设计人员或用户触及到机器内部,因此可以说它是80x86cpu的心灵窗口,也是我们学习汇编语言必须掌握的调试工具。debug命令是在命令提

5、示符“_”下由键盘键入的。每条命令以单个字母的命令符开头,然后是命令的操作参数,操作参数与操作参数之间,用空格或逗号隔开,操作参数与命令符之间用空格隔开,命令的结束符是回车键(enter)。命令及参数的输入可以是大小写的结合。crtl+break键可中止命令的执行。crtl+numlock键可暂停屏幕卷动,按任一键继续。所用的操作数均为十六进制数,不必写h。1. 直接启动debug程序如debug.com在e盘的asm目录下,启动的方法是:e:asmdebug_这时屏幕上会出现“_”提示符,等待键入debug命令。2. 启动debug程序的同时装入被调试文件命令格式如下:e:asmdebug

6、d:pathfilename.exed:path是被调试文件所在盘及其路径,filename是被调试文件的文件名,.exe是被调试文件的扩展名。例如:cz.exe可执行文件在a盘,用debug对其进行调试的操作命令如下。e:asmdebug a:cz.exedos在调用debug程序后,再由debug把被调试文件装入内存。如果cz.exe可执行文件在e盘asm目录下,进入debug程序并装入要调试的程序cz.exe,可打入命令:e:asmdebug cz.exe,进入debug,并装cz.exe,此时,屏幕上出现一个短划线,等待键入debug命令。关于debug程序中的各种命令,可参阅dos手

7、册,下面给出最常用的几个命令。(1)反汇编命令 u格式1:u起始地址格式2:u起始地址 结束地址格式3:u功能:反汇编命令是将机器指令翻译成符号形式的汇编语言指令。该命令将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,反汇编时一定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是上次u指令后下一地址的值。这样可以连续反汇编。格式1从指定起始地址处开始将32个字节的目标代码转换成汇编指令形式,缺省起始地址,则从当前地址cs:ip开始,如图1所示。-u 0 图1 用u命令反汇编程序格式2将指定范围的内存单元中的目标代码转换成汇编指令,如图2所示。-u 08 24

8、图2 用u命令反汇编程序格式3从当前地址开始反汇编,如图3所示。u 图3 用u命令反汇编程序(2)显示存储单元命令 d用于显示内存单元的内容,有三种使用格式:格式1:d格式2:d起始地址格式3:d起始地址 结束地址其中,显示内存内容分三部分:左边是地址部分,表示此行的首地址(段:偏移量),中间是以两位十六进制数字表示指定范围的存储单元的内容,右边是与十六进制数相对应字节的ascii码字符,不可显示的字符以圆点(.)表示。格式1命令中没有指定地址,则从上一个d命令所显示的最后一个单元的下一个单元开始,显示80h(128)字节。若以前没有使用过d命令,则从debug初始化时的段和偏移量的地址开始,

9、如图4所示。-d图4 进入debug,显示13c50h开始的单元内容格式2命令中指定了地址,则从指定地址开始,显示80h(128)字节,如图5所示。-d 13c4:0图5 进入debug,显示13c40h开始的单元内容格式3命令中指定了地址范围,则显示该范围内内存单元的内容。在范围中包含起始地址和结束地址。若输入的起始地址中,未含段地址部分,则d命令认为段地址在ds中。输入的结束地址中只允许有偏移量,如图6所示。-d13c4:00 0f 图6 用d命令显示13c40h13c4fh单元内容(3)显示、修改寄存器命令 r格式1:r格式2:r 格式3:r f功能:若给出寄存器名,则显示该寄存器的内容

10、并可进行修改。缺省寄存器名,则显示当前所有寄存器内容、状态标志及将要执行的下一条指令的地址(即cs:ip)、机器指令代码及汇编语句形式。其中对状态标志寄存器flag以状态标志位的形式显示,详见表2-1。表2-1 状态标志显示形式标志名置位复位溢出overflow(yes/no)ovnv方向direction(减量/增量)dnup中断(允许/屏蔽)eidi符号(负/正)ngpl零zero(yes/no)zrnz辅助进位auxiliary carry(yes/no)acna奇偶parity(奇/偶)pepo进位 carry(yes/no)cync格式1显示所有16位寄存器的内容,以及用字母表示标志

11、位状态和将要执行的下条指令,如图7所示。-r 图7 用r命令观察所有寄存器的值前两行显示各16位寄存器内容和双字母表示的标志位状态。最后一行指示将要执行的下条指令的地址和指令码及其反汇编格式。这是由cs:ip指示的指令。格式2显示单个16位寄存器的内容,并可进行修改,如图8所示。-r ax 图8 用r命令观察ax寄存器的值则屏幕显示:ax 0000:如不需要修改,则按enter键。如需要修改,则在冒号(:)后输入两个字节的16进制数,再按enter键。又如:-r cxcx 004a:0018-r cxcx 0018:004a-r cxcx 004a:将寄存器cx内容从004a改为0018,又改

12、回004a,如图9所示。图9 用r命令修改cx寄存器的值格式3 显示8个标志位状态,并可修改其中之一或全部,如图10所示。-r f则屏幕显示:nv up ei pl nz na po nc -图10 用r命令观察f标志寄存器的值若不需要修改任何标志位,则直接按enter键。若需要修改标志,则可输入标志的相反值,且与输入标志的顺序无关,标志间也可不用空格,最后按enter键。又如:-rfnv up ei pl nz na po nc -di-rfnv up di pl nz na po nc -ei-rfnv up ei pl nz na po nc -标志位ei改为di,后又改为ei,如图11

13、所示。 图11 用r命令修改f标志寄存器的值(4)修改存储单元命令 e格式1:e起始地址 内容表 格式2:e地址功能:格式1按内容表的内容修改从起始地址开始的多个存储单元内容,即用内容表指定的内容来代替存储单元当前内容。例如:e ds:0100 abc 12 34表示从ds:0100 为起始单元的连续五个字节单元内容依次被修改为a、b、c、12h、34h,如图12所示。 图12 用e命令修改单元内容并用d命令观察格式2是逐个修改指定地址单元的当前内容。,如图13所示。如:e ds:000013c4:0000 41.b5 图13 用e命令修改单元内容并用d命令观察其中13c4:0000单元原来的

14、值是41h,b5h为输入的修改值。若只修改一个单元的内容,这时按回车键即可;若还想继续修改下一个单元内容,此时应按空格键,就显示下一个单元的内容,需修改就键入新的内容,不修改再按空格跳过,如此重复直到修改完毕,按回车键返回debug“-”提示符。如果在修改过程中,将空格键换成按“-”键,则表示可以修改前一个单元的内容。(5)跟踪命令 t格式:t =功能:如果键入t命令后直接按“enter”键,则默认从cs:ip开始执行程序,且每执行一条指令后要停下来,显示所有寄存器、状态标志位的内容和下一条要执行的指令。用户也可以指定程序开始执行的起始地址。的缺省值是一条,也可以由指定执行若干条命令后停下来。

15、例如:t按单条指令跟踪。该命令执行当前指令并显示所有寄存器、状态标志位的内容和下一条要执行的指令,如图14所示。-t 图14 用t命令单条执行指令又例如:t 3 按多条指令跟踪。由跟踪命令产生连续显示,一直执行到n条指令为止。因此,在执行多条跟踪指令时,可以在任何时候按ctrl-numlock或pause键暂停显示滚动。当需要继续跟踪显示时,再按任一其它字符键又可快速显示滚动,如图15所示。 图15 用t命令执行3条指令 -t=0,3该命令从当前指令开始执行3条指令后停下来,显示所有寄存器、状态标志位的内容和下一条要执行的指令,如图16所示。 图16 用t命令执行从起始地址为0开始的3条指令t

16、命令的缺点是当程序中有dos或bios中断调用时,它将跟踪到中断服务程序的内部,有时出现死机现象,因此高版本的debug提供一种p命令,即程序步跟踪,它遇到dos,bios或用户调用的一段子程序会立即执行,不进入其内部,所以称程序步。t命令用于程序调试,能跟踪程序执行情况,迅速找出错误原因。(6)连续执行命令 g格式1:g 格式2:g=格式3:g=,其中(2)、(3)中的“=”是不可缺省的。功能:格式1缺省起始地址,则从当前cs:ip指示地址开始执行。格式2程序从当前的指定偏移地址开始执行,没有断点的运行,如图17所示。-g=0图17 用g命令执行程序当每次用不同的地址去检查程序的执行情况时,

17、这种选择是有用的。如果不使用=adress参数,则在发出g命令之前,必须将cs:ip的值先设置正确。当程序执行完毕,debug显示信息“program terminated normally”(程序正常结束)。若还要执行此程序,则必须重新将程序输入。命令中的地址参数所指的单元,要保证包含有效的指令码,若指定的地址单元不包含有效指令的第一个字节,将会产生死机现象。格式3从指定地址开始执行,到断点自动停止并显示当前所有寄存器、状态标志位的内容和下一条要执行的指令。一般希望在执行过程中能设置断点。运行遇到断点时,就停止执行,并显示各寄存器和各标志位的内容,以及下一条要执行的指令。这便于对程序逐段进行

18、调试,如图18所示。-g=0 0a 图18 用g命令执行到断点0a处自动停止在cs:0a处设了断点,程序运行到此停止。在调试程序时,往往要设置断点。若输入的断点地址只包含地址的偏移量,则g命令认为其段地址隐含在段寄存器cs中。(7)执行过程命令p格式:p 功能:执行一条指令或一个过程(子程序),然后显示各寄存器的状态。说明:该命令主要用于调试程序。它与跟踪命令t的作用类似,t命令是跟踪一条或多条指令,而p命令是执行一条指令(包括带重复前缀的数据串操作指令)或一个完整的过程(子程序)。例如:设有如下指令序列 : mov ah,4ch int 21h :当要执行int 21h这条指令时,若用t命令

19、进行跟踪,则进入int 21h程序(dos功能调用)后,需要数十次t命令才能返回当前程序;若采用p命令进行调试,则只执行int 21h一条指令,执行完立即返回,给调试者的感觉好象是执行了一条普通指令一样。因此,当读者以后遇到call、int n指令或带重复前缀的数据串操作指令时,若不想观察相应过程的详细执行过程,就可以用p命令,如图19所示。图19 用p命令调试程序(8)退出debug在debug命令提示符“_”下键入q命令,即可结束debug的运行,返回dos操作系统,如图20所示。 格式:q功能:退出debug,返回到操作系统。 图20 用q命令退出debug 以上介绍的是debug常用命

20、令,其他命令请参考有关书籍。四、实例分析下面通过一个汇编语言源程序的实际例子,来了解汇编语言源程序的建立、汇编、链接、运行的完整过程。本例中给出的程序是要求将内存data单元存放一个无符号字节数据,编程将其拆成两位十六进制数并存放在hex和hex+1单元的低四位,hex存放高位十六进制数,hex+1单元存放低十六进制数。设定源程序的文件名为cz。dseg segmentdata db 0b5hhex db 0,0dseg endssseg segment stack stacksta db 10 dup(0)top equ $-sta sseg endscseg segment assume

21、cs:cseg,ds:dseg,ss:ssegstart:mov ax,dseg mov ds,ax mov ax,sseg mov ss,ax mov sp,offset top mov al,data mov ah,al and al,0f0h mov cl,4 rol al,cl mov hex,al and ah,0fh mov hex+1,ah mov ah,4ch int 21hcseg ends end start1).在dos状态下,调用edit编辑程序建立文件名为cz.asm的汇编源程序,可打入命令:e:asmedit cz.asm就可以进入edit屏幕编辑软件,然后输入汇编

22、语言源程序,此时屏幕的显示状态如图21所示。 图21 用edit编辑cz.asm程序窗口源程序输入完毕后,用file-save保存源程序。 2).将源程序文件汇编成目标程序文件调用tasm汇编程序对源文件进行汇编,可打入命令:e:asmtasm cz.asm此时屏幕的显示状态如图22所示。图22 tasm汇编程序工作窗口汇编过程的错误分警告错误(warning errors)和严重错误(severe errors)两种。其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质,指出所在行号,从新调用屏幕编辑程序(edit.com),

23、对源程序修改后再重新汇编,直到汇编无错误为止,产生目标程序文件,扩展名为.obj。3).用链接程序生成可执行文件.exe经汇编以后产生的目标程序文件(.obj)并不是可执行程序文件,必须经过链接以后,才能成为可执行文件(即扩展名.exe)。调用tlink实现链接。可打入命令:e:asmtlink cz.obj此时屏幕的显示状态如图23所示。 图23 tlink链接程序工作窗口4).程序的执行建立了正确的可执行文件后,可以直接在dos状态下执行该程序。使用命令:e:asm cz 执行该程序。本程序当中没有用到dos中断调用指令,所以在屏幕上看不到程序执行的结果。我们可以采用调试程序debug来进

24、行检查。 5).启动debug程序的同时装入被调试文件启动的方法是打入命令:e:asm debug cz.exe ;这时屏幕上会出现“_”提示符,等待键入debug命令6).用反汇编命令u自左至右依次显示为段地址cs:偏移地址 机器语言指令 汇编语言指令,如图24所示。-u 0 图24 用u命令反汇编程序继续反汇编,如图25所示。-u 图25 用u命令反汇编程序从反汇编可知ds=13c4h7).用d命令显示内存单元,如图26所示。格式:d ds:偏移地址即-d13c4:0 0f图26 用d命令显示13c40h开始的16个单元内容该命令将显示ds:00-ds:0f单元的内容,左边显示行首字节的段

25、地址:偏移地址,中间是以十六进制形式显示的内存单元的内容,右边是与十六进制数相对应的ascii码字符,对不可见字符以.代替。8).键入命令_g后,执行程序,如图27所示。-g=0program terminated normally图27 用g命令执行程序当程序执行完毕,debug显示信息“program terminated normally”(程序正常结束)。若还要执行此程序,则必须重新将程序输入。9).用d命令显示内存单元结果,如图28所示。打入命令:-d13c4:0 0f,显示13c4:0000h开始的16个单元。13c4:0000 b5 0b 05 00 00 00 00 00-00

26、 00 00 00 00 00 00 00,图28 用d命令显示13c4:0000h开始的16个单元程序执行完,将b5h拆成0bh,05h保存到hex和hex+1单元。10).用q命令退出debug,返回dos提示符,如图29所示。功能:返回dos提示符下。图29 用q命令退出debug实验二 顺序及分支结构程序设计一 、实验目的(验证性实验、必修)1. 掌握顺序程序设计方法。 2. 学习数据传送及算术和逻辑运算指令的用法。 3. 熟悉在pc机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 1. 有一字节变量buf1是以原码表示的有符号数,要求将其转换为反码和补码,分别存入b

27、uf1和buf2单元。2. 多字节加法,第一个数83abh存放在以first开始的连续存储单元中,第二个数d603h存放在以second开始的连续存储单元中,请编写程序实现两数相加,并将结果存放在以first开始的连续存储单元中。 3. 在数据区x、y、z三个单元中分别定义三个无符号字节变量和三个带符号字节变量。编写程序分别将其中的最大数找出送到max单元。三、实验设备 pc机一台 四、实验准备 1. 分析题目,将程序中的原始数据和最终结果的存取方法确定好。 2. 画出流程图。 3. 写出源程序。4. 对程序中的结果进行分析。 五、实验步骤 1. 输入源程序。 2. 汇编、链接程序,生成可执行

28、文件(.exe文件),检查结果。 六、实验报告的要求 1. 列出源程序,说明程序的基本结构,包括程序中各部分的功能。 2. 说明主要符号和所用到寄存器的功能。 3. 上机调试过程中遇到的问题是如何解决的。 4. 对调试源程序的结果进行分析。七、思考题 1. 设x为单字节带符号整数,且存于argx单元,计算结果y存入rlt单元。 请编写程序完成此功能。 实验三 循环程序设计一、实验目的(验证性实验、必修) 1. 加深对循环结构的理解。 2. 掌握循环程序的设计方法。 3. 熟练掌握debug的常用命令,学会用debug调试程序。 二、实验内容 1. 将buf开始的100个内存单元清0。2. 将b

29、uf1开始的100个内存单元建立0至99的数据区。3. 将数据段buf1单元开始的100个数据传送到buf2开始的100个存储区中。三、实验设备pc机一台四、编程提示1. 对于实验内容1,设置地址指针和一个循环计数器,每清完一个单元,地址加1指向下一个单元,同时计数器减1,然后判断计数器是否为0,不为0则再清一个单元,否则清0任务完成。2. 对于实验内容2,方法类似于实验内容1,只是往单元中送的数不是0,而是0至99中的一个数。这个数可通过设置另一个计数器,令初值为0,每送完一个单元计数加1来实现。3. 对于实验内容3,设置源地址指针si,目的地址指针di。每个单元的传送,用指令mov al

30、, simov di , al完成。再通过循环完成每个单元的传送。4. 用数据块传送指令movsb完成,分别用增量方式和减量方式的串传送指令进行数据传送。五、实验步骤 1. 输入源程序。2. 汇编、链接、生成.exe。3. 进入debug,对程序进行调试。(1)对于实验内容1和2:.先使程序连续运行,检查运行结果是否正确(即检查buf开始的10个内存单元内容)。.若结果不对,可用t命令检查出错地点,并改正。 (2)对于实验内容3,首先预置源块数据,源块和目的块地址,然后按上面(1)的步骤进行。六、实验报告的要求 1. 列出源程序。2. 说明数据传送的方法。3. 总结计数控制循环程序的设计方法。

31、4. 说明怎样使用debug进行程序调试的。七、思考题 1. 若有一个输入的ascii码串存放在自string开始的单元中,要把其中的数码取出转换为未组合的bcd码,放至另一以buffer开始的连续单元中,字符串长度在count单元。实验四 循环程序设计一、实验目的(验证性实验、必修) 1. 学习算术运算指令的用法。2. 掌握加法运算的程序设计方法。3. 熟悉在pc机上建立、汇编、链接和调试程序的方法。二、实验内容 1. 从num单元开始有10个无符号的字节数据,编写程序求这10个数的和,放到sum和sum+1单元中。2. 从buf1和buf2单元开始存放两个各为10个字节的bcd数(地址最低

32、处放最低字节)求它们的和,把和放在从buf3开始的单元中。三、实验设备 pc机一台四、编程提示 1. 对于实验内容1,应考虑每次累加过程中,结果产生进位的问题,即和有可能扩展为字。2. 对于实验内容2,要求掌握adc指令和daa指令的应用。为了实现指定功能,应从以下几个方面考虑:(1)组织数据时,要按照高位在高地址,低位在低地址的原则。(2)要完成多字节数据相加,最低字节用add指令,而其它高位字节则要用adc指令。(3)因为被加数和加数都以bcd码表示,所以在加法指令之后要有加法调整指令。(4)题目要求完成10个字节十进制数相加,所以要用循环程序。(5)应考虑两字节数组中的最高字节相加时向上

33、产生进位的问题。五、实验步骤 实验内容一1. 输入源程序。2. 汇编、链接、生成.exe。3. 进入debug,对程序进行调试。4. 在以num为起始地址的存储区中置入数据,精心选择这些数据,以便能符合实验内容的要求,调试运行程序,记录sum(sum及sum+1,)单元的内容。实验内容二1. 按程序流程图30编制实验程序。 2. 输入源程序。 3. 汇编、链接程序,执行程序,检查结果。4. 在以buf1和buf2为起始地址的存储区中置入数据,精心选择这些数据,以便能符合实验内容的要求,调试运行程序,记录(buf3buf3+10)单元的内容。六、实验报告的要求 1. 列出源程序。2. 写出每一程

34、序参加运算的原始数据和运算结果。3. 总结记数控制循环程序的设计方法4. 说明怎样使用debug进行程序调试的,调试过程中所遇到的问题是如何解决的。实验五 8255输出实验一、实验要求(验证性实验、必修) 编写程序,以8255作为输出口,控制8个单色led灯。二、实验目的 1. 学习在单板方式下扩展简单i/o接口的方法。2. 学习编制数据输出程序的设计方法。三、实验设备 pc机一台、爱迪克教学实验机一台四、实验电路及连线 实验电路及连线如图31所示。 图31 8255输出实验连线图 pc0pc7连l0l7。cs8255连218h。五、实验说明 8255工作于方式0,此时pa、pb、pc均为可独

35、立输入/输出的并行口。8255的各寄存器对应的口地址为: pa口: 218h pb口: 21ah pc口: 21ch 8255控制寄存器:21eh由于各pc机速度不同,为达到较好的实验效果,可适当调节led亮灭的延时时间。六、实验程序框图 1. 按程序流程图32编制实验程序。 2. 输入源程序。 3. 汇编、链接程序,执行程序,检查结果。 图32程序流程图七、实验报告的要求 1. 写出编程的设计思想,附上加注释的程序清单。 2. 写出实验结果及观察到的现象和得出的结论,上机调试过程中遇到的问题是如何解决的。 实验六 开关状态显示实验一、实验要求(验证性实验、必修) 编写程序,设定8255的pa

36、口为开关量输入,pc口为开关量输出,要求能随时将pa口的开关状态通过pc口的发光二极管显示出来。二、实验目的 学习使用8255各个口的不同工作方式。三、实验设备 pc机一台、爱迪克教学实验机一台。四、实验电路及连线 实验电路及连线如图33所示。 图33 开关状态显示实验连线图将k0k7用连线连至8255的pa0pa7,将l0l7用连线连至8255的pc0pc7,8255cs用连线连至译码处的200h孔。五、实验说明 8255工作于方式0,此时pa、pb、pc均为可独立输入/输出的并行口。8255的各寄存器对应的口地址为: pa口: 200h pb口: 202h pc口: 204h 8255控制

37、寄存器:206h 本实验要求8255工作于方式0,pa口设置为输入,pc口设置为输出,输入量为开关量,通过8255可实时显示在led灯上。按下halt或rst键则返回监控。六、实验程序框图1. 按程序流程图34编制实验程序。 2. 输入源程序。 开始设置8255工作状态pa口读入八位开关pc口输出至八位二极管3. 汇编、链接程序,执行程序,检查结果。 图34 程序流程图七、实验报告的要求 1. 写出编程的设计思想,附上加注释的程序清单。 2. 写出实验结果及观察到的现象和得出的结论,上机调试过程中遇到的问题是如何解决的。 实验七 步进电机驱动一、实验要求 利用8255的pc口pc0-pc3轮流输出脉冲序列,实验机上键盘控制步进电机的转速和转动方向。二、实验目的1. 了解控制步进电机的基本原理。2. 掌握控制步进电机转动的编程方法。3. 提高学生综合各科知识的能力和设计能力。三、实验设备 pc机一台、爱迪克教学实验机一台。四、预习内容1. 学习8279接口芯片在88系统中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论