微机原理硬件实验报告范文

微机原理硬件实验报告范文

ID:12381763

大小:1.29 MB

页数:34页

时间:2018-07-16

上传者:jjuclb
微机原理硬件实验报告范文_第1页
微机原理硬件实验报告范文_第2页
微机原理硬件实验报告范文_第3页
微机原理硬件实验报告范文_第4页
微机原理硬件实验报告范文_第5页
资源描述:

《微机原理硬件实验报告范文》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

微机原理硬件实验·报告信息与通信工程学院微机原理硬件实验报告班级:2011211123姓名:高鹏学号:2011211442序号:19第33页 微机原理硬件实验·报告第一次:基本的I/O实验实验一I/O地址译码一、实验目的掌握I/O地址译码电路的工作原理。二、实验原理和内容1、实验电路如图4-1-1(见硬件连接图)所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。例如:执行下面两条指令MOVDX,2A0HOUTDX,AL(或INAL,DX)对2A0H寻址,A5A4A3=100,Y4输出一个负脉冲2、利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭),时间间隔通过软件延时实现。当Y4输出负脉冲,74LS74输入一个CLK信号,Q=1,当Y5输出一个负脉冲,74LS74输入一个CD信号,Q=0,这样就可以闪烁了。三、硬件接线图与软件程序流程图A、硬件连接图接线:Y4/IO地址接CLK/D触发器Y5/IO地址接CD/D触发器D/D触发器接SD/D角发器接+5VQ/D触发器接L7(LED灯)或逻辑笔第33页 微机原理硬件实验·报告B、软件流程图程序初始化选址2A0H,点亮L7并延迟选址2A8H,熄灭L7并延迟四、程序代码及注释DATASEGMENTDATAENDSSTACKSEGMENTSTACK'STACK'第33页 微机原理硬件实验·报告DB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKDELAYPROCNEAR;延时子程序PUSHCXPUSHBXMOVBX,250;250×65535LP2:MOVCX,0FFFFHLP1:LOOPLP1DECBXJNZLP2POPBXPOPCXRETDELAYENDPSTART:PUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVCX,10H;灯闪烁的次数AGAIN:MOVDX,2A0H;控制灯亮OUTDX,ALCALLDELAYMOVDX,2A8H;控制灯灭OUTDX,ALCALLDELAYLOOPAGAINMOVAX,4C00HINT21HCODEENDSENDSTART第33页 微机原理硬件实验·报告五、实验结果本实验实现LED闪烁的功能。核心在于通过CX不断减一实现的LOOP演示功能。六、实验总结问题出现及解决:实验中,L7的亮灭速度过快,导致无法出现一亮一灭的效果,解决办法是修改延时子程序,调整CX、BX的大小,使延时时间合理。实验二简单并行接口(选作273)一、实验目的掌握简单并行接口的工作原理及使用方法。二、实验内容1.按实验连接图简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。2.编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。3.按实验连接图简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。4.用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。5.选作的74LS273输出实验,对应端口为2A8H,在此端口使用IO写语句即可输出相应数据。第33页 微机原理硬件实验·报告三、硬件接线图与软件程序流程图A、硬件连接图B、软件流程图四、源程序及注释DATASEGMENTDATAENDS第33页 微机原理硬件实验·报告STACKSEGMENTSTACK'STACK'DB50DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXAGAIN:MOVAH,01H;等待用户输入INT21HCMPAL,1BH;如果是ESC键,则退出程序JEEXITMOVDL,ALMOVAH,02H;不是ESC键的情况INT21H;在屏幕显示输入的ASC码MOVDX,2A8HOUTDX,AL;输出ASCII到74LS273端口EXIT:MOVAH,4CH;返回DOSINT21HCODEENDSENDSTART五、实验结果当输入从键盘输入一个ASCII码时,屏幕显示出来,并且LED显示正确,比如输入小写字母c(63H),8个LED灯的亮灭情况是01100011(0代表灭,1代表亮),符合设计思路。第33页 微机原理硬件实验·报告六、实验总结问题出现及解决:试验中出现的问题是dos窗口能正常显示输入的ASCII码,但是LED灯没有反应,检查程序之后发现是74LS273的地址写成2A0H了,改成2A8H之后实验结果便正确了。心得体会:这是微原硬件实验的第一次,与前面刚刚完成了微原软件实验相比,微原硬件实验有一定的差别,主要体现在硬件需要去读取硬件状态,然后采取相应的控制方案,另外要向接口输出数据和控制信息,驱动硬件正常工作。软硬相互结合。能够更好地理解书本上的知识,运用的实际中。第二次:可编程并行接口8255实验实验三可编程并行接口8255一、实验目的通过实验,掌握8255工作于方式0以及设置A口为输出口,C口为输入口的方法。二、实验原理和内容A.8255的工作方式一片8255内部有3个端口,A口可以工作在方式0、方式1或方式2,B口可以工作在方式0、方式1,C口可以工作在方式0。方式0是基本型输入/输出。这种方式和外设交换数据时,8255端口与外设之间不使用联络线。方式1为选通型输入/输出。用这种方式和外界交换数据时,端口和外设之间要有联络信号。第33页 微机原理硬件实验·报告方式2是双向数据传送,仅A口有这项功能。当A口工作在方式2时,B口仍可以工作在方式0或方式1,但此时B口方式1只能用查询方式与CPU交换信息。A.工作方式选择字8255工作方式选择字共8位(如图),存放在8255控制寄存器中。最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控制寄存器中存放的是C口置位/复位控制字。B.C口置/复位控制字8255的C口可进行位操作,即:可对8255C口的每一位进行置位或清零操作,该操作是通过设置C口置/复位字实现的(图8-10)。C口置/复位字共8位,各位含义如下:C.8255A的控制信号与传输动作的对应关系A1A0/RD/WR/CS工作状态00010A口数据→数据总线01010B口数据→数据总线10010C口数据→数据总线00100数据总线→A口数据01100数据总线→B口数据10100数据总线→C口数据11100数据总线→控制寄存器XXXX1数据总线→三态第33页 微机原理硬件实验·报告11010非法状态XX110数据总线→三态命令字与初始化编程:8255有两个命令字,即方式选择控制字和C口置0/置1控制字,初始化编程的步骤是:①向8255控制寄存器写入“方式选择控制字”,从而预置端口的工作方式。②当端口预置为方式1或方式2时,再向控制寄存器写入“C口置0/置1控制字”。这一操作的主要目的是使相应端口的中断允许触发器置0,从而禁止中断,或者使相应端口的中断允许触发器置1,从而允许端口提出中断请求。③向8255数据寄存器写入“数据”或从8255数据寄存器读出“数据”。A.实验步骤:1、实验电路如图4-3-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7,C口接逻辑电平开关K0~K7。2、编程从8255C口输入数据,再从A口输出。三、硬件接线图与软件程序流程图A、硬件连接图第33页 微机原理硬件实验·报告B、软件流程图四、源程序及注释DATASEGMENTPORTAEQU280HPORTBEQU281HPORTCEQU282HPORTCONEQU283HDATAENDSSTACKSEGMENTSTACK'STACK'DB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK第33页 微机原理硬件实验·报告START:MOVAX,DATAMOVDS,AXMOVDX,PORTCON;8255初始化MOVAL,90HOUTDX,ALLOOP1:MOVDX,PORTA;PORTA输入,PORTB输出INAL,DXMOVDX,PORTBOUTDX,ALJMPLOOP1MOVAH,0BH;当键盘有输入时,退出程序MOVAL,00H;默认无键盘输入INT21HANDAL,AL;有键盘输入,Al!=0,退出程序JNZEXITJMPLOOP1EXIT:MOVAH,4CHINT21HCODEENDSENDSTART五、实验结果拨动逻辑电平开关Kx,对应的LED灯Lx有亮灭显示,说明输入从A口读入,并且从B口输出,结果正确。程序运行过程中如果有键按下,就退出程序。第33页 微机原理硬件实验·报告六、实验总结这个实验主体并没有遇到什么问题,只要理解了从A、B、C任意输入输出时初始化应做相应变化,不论怎么修改接线,都能实现上述功能。但是按键退出程序的设计遇到了困难,查询资料后,发现0BHdos功能调用号可以实现检测按键功能,按照程序中编写的样子,便实现了按键退出功能。实验四七段数码管(必做)一、实验目的1、掌握数码管显示数字的原理二、实验原理及内容1、静态显示:按实验图连接好电路,将8255的A口PA0~PA7分别与七段数码管的段码驱动输入端a~dp相连,位码驱动输入端S0、S1、S2、S3接PC0、PC1、PC2、PC3,编程在数码管显示自己的学号的后四位。(或编程在数码管上循环显示“00-99”,位码驱动输入端S0、S1接PC0、PC1;S2、S3接地。)第33页 微机原理硬件实验·报告实现的功能是PA口驱动数码管,控制数码管里面的LED关亮灭;PC口驱动位码,控制数码管亮灭1、数码管码型对应表实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。显示字形gefdcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhPA口低7位连接到数码管a到g位。(还可用最高位控制小数点dp)一、硬件接线图与软件程序流程图A、硬件连接图第33页 微机原理硬件实验·报告B、软件流程图一、源程序及注释实验四DATASEGMENTCODESHAPEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;段码值端口地址YO为280H~287H,更改连线可以在此更改位码、段码的端口。PORTAEQU280HPORTBEQU281HPORTCEQU282HPORTCONEQU283HDATAENDSSTACKSEGMENTSTACKDB100DUP(?)第33页 微机原理硬件实验·报告STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEABX,CODESHAPE;设置BX为码型数据开头偏移量INITIALIZTION:MOVAL,10000000B;初始化控制字,A口输入,C口输出,方式0MOVDX,PORTCONOUTDX,ALMAINBODY:;每次PC口选址一位为1,PA为数码管位码,表示一个数码管亮一个数字;显示学号后四位,1442MOVAL,08HMOVDX,PORTC;c口OUTDX,ALMOVAL,[BX+1]MOVDX,PORTA;A口OUTDX,ALCALLDELAY;显示'1'MOVDX,PORTAMOVAL,00HOUTDX,ALMOVAL,04HMOVDX,PORTC第33页 微机原理硬件实验·报告OUTDX,ALMOVAL,[BX+4]MOVDX,PORTAOUTDX,ALCALLDELAY;显示'4'MOVDX,PORTAMOVAL,00HOUTDX,ALMOVAL,02HMOVDX,PORTCOUTDX,ALMOVAL,[BX+4]MOVDX,PORTAOUTDX,ALCALLDELAY;显示'4'MOVDX,PORTAMOVAL,00HOUTDX,ALMOVAL,01HMOVDX,PORTCOUTDX,ALMOVAL,[BX+2]MOVDX,PORTAOUTDX,ALCALLDELAY;显示'2'MOVDX,PORTAMOVAL,00HOUTDX,AL第33页 微机原理硬件实验·报告MOVAH,0BH;用户按键盘及退出MOVAL,00H;默认无键盘输入INT21HANDAL,ALJNZEXITJMPMAINBODYEXIT:MOVAH,4CHINT21H;延迟子程序DELAYPROCNEARPUSHCXMOVCX,0200HOUTLOOP:NOPLOOPOUTLOOPPOPCXRETDELAYENDPCODEENDSENDSTART一、实验结果LED数码管上面四位依次显示1442,表示学号的最后四位,结果正确。二、实验总结问题出现及解决:第33页 微机原理硬件实验·报告实验中一位数码管能够显示数值,但是四位一起显示就开始出现混乱,基本显示都是8,问题是因为数码管换位显示的时候,延迟过小,导致一位的显示其实是多位叠加的结果,就是8了。解决办法是调一个适当的延迟,这样既不会重叠,也不会延迟过长而导致四位不是同时亮。心得与体会:本次实验中,我们使用8255A并行接口芯片和数码管实现了一个数码管显示字符的程序。为了实现同时显示不同字符,就要通过扫描(依次点亮数码管)的方式来实现,这就要给CAT信号依次赋值,并且在扫描的过程中要用到延时。第三次:可编程定时器/计数器(8253)实验实验八可编程定时器/计数器(8253/8254)一、实验目的1、学习掌握8253用作定时器的编程原理;二、实验原理及内容实验内容(包括基本和扩展部分)1.完成一个音乐发生器,通过喇叭或蜂鸣器放出音乐,并在数码管上显示乐谱。2.音符1(do)2(re)3(mi)4(fa)5(so)6(la)7(si)i(do)频率(Hz)256288320341384426.6480512第33页 微机原理硬件实验·报告2.扩展部分:利用小键盘实现弹琴功能,并显示弹奏的乐谱。1.注意:8253输入频率应小于2MHz。2.利用小键盘实现弹琴功能,并显示弹奏的乐谱。8254原理1.8254初始化使用8254前,要进行初始化编程。初始化编程的步骤是:①向控制寄存器端口写入控制字对使用的计数器规定其使用方式等。②向使用的计数器端口写入计数初值。2.8254控制字D7D6D5D4D3D2D1D0计数器选择读写方式选择工作方式选择数制选择D7D6=00:使用0号计数器,D7D6=01:使用1号计数器D7D6=10:使用2号计数器,D7D6=11:无效D5D4=00:锁存当前计数值D5D4=01:只写低8位(高8位为0),读出时只读低8位D5D4=10:只写高8位(低8位为0),读出时只读高8位D5D4=11:先读/写低8位,后读/写高8位计数值D3D2D1=000:选择方式0,D3D2D1=001:选择方式1D3D2D1=X10:选择方式2,D3D2D1=X11:选择方式3D3D2D1=100:选择方式4,D3D2D1=101:选择方式5D0=0:计数初值为二进制,D0=1:计数初值为BCD码数三、硬件接线图与软件程序流程图A、硬件连接图第33页 微机原理硬件实验·报告B、软件流程图1)播放乐曲2)扩展部分:弹奏乐曲第33页 微机原理硬件实验·报告四、源程序及注释自动循环播放音乐DATASEGMENTNOTEDW0001H,3906,3472,3125,2932,2604,2344,2083,1953;频率TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管MUSICDB3,3,2,3,5,6,5,8,6,5,5,3,3,5,5,5,6,0,8,8,2,2,3,3,2,1,6,1,5,5,0,5,DB5,3,3,5,5,6,8,8,2,2,3,3,1,1,6,6,5,5,5,0,5,5,2,2,3,5,3,2,1,6,6,1,1;存放的乐符DATAENDSSTACKSEGMENTSTACK'STACK'DB100DUP(?)STACKENDSCODESEGMENT第33页 微机原理硬件实验·报告ASSUMECS:CODE,DS:DATA,SS:STACK;延时子程序DELAYPROCNEARPUSHCXMOVCX,0FFFFHWAIT1:LOOPWAIT1POPCXRETDELAYENDP;主程序START:MOVAX,DATA对使用的计数器规定其使用方式在这里使用计数器2MOVDS,AX;8254初始化MOVDX,283HMOVAL,B6HOUTDX,AL;8255初始化MOVDX,28BHMOVAL,80HOUTDX,ALMOVDX,28AHMOVAL,01HOUTDX,ALMOVCX,01H;播放音乐SPEAK:PUSHCX;保护现场;读取乐符MOVBX,OFFSETMUSICADDBX,CXMOVAL,[BX]MOVCL,ALMOVCH,0H第33页 微机原理硬件实验·报告;数码管显示MOVBX,OFFSETTABLEADDBX,CXMOVAL,[BX]MOVDX,288HOUTDX,AL;播放该乐符MOVBX,OFFSETNOTEMOVAX,CXADDAX,AXADDBX,AXMOVAX,[BX]MOVDX,282HOUTDX,ALMOVAL,AHOUTDX,ALPOPCX;延时,持续播放MOVAX,90HLOOP1:CALLDELAYDECAXJNZLOOP1;判读继续播放还是重新播放INCCXCMPCX,41HJNZJUMMOVCX,01HJUM:JMPSPEAK扩展部分--弹奏音乐:SHOWPROCNEARPUSHCX;保护现场第33页 微机原理硬件实验·报告PUSHAXMOVCX,5AH;一次扫描各个数码管,使四个数码管同时显示LOOP1:MOVDX,289H;第一个数码管显示MOVAL,01HOUTDX,ALMOVBX,OFFSETTABLEADDBX,NUM1MOVAL,[BX]MOVDX,288HOUTDX,AL;第二个数码管显示MOVDX,289HMOVAL,02HOUTDX,ALMOVBX,OFFSETTABLEADDBX,NUM2MOVAL,[BX]MOVDX,288HOUTDX,AL;第三个数码管显示MOVDX,289HMOVAL,04HOUTDX,ALMOVBX,OFFSETTABLEADDBX,NUM3MOVAL,[BX]MOVDX,288HOUTDX,AL;第四个数码管显示MOVDX,289HMOVAL,08HOUTDX,ALMOVBX,OFFSETTABLE第33页 微机原理硬件实验·报告ADDBX,NUM3MOVAL,[BX]MOVDX,288HOUTDX,AL;调整循环参数DECCXJNZLOOP1POPAXPOPCXRETSHOWENDP主程序调整:在语句POPCX之前增加MOVAX,NUM3MOVNUM4,AXMOVAX,NUM2MOVNUM3,AXMOVAX,NUM1MOVNUM2,AXMOVNUM1,CXCALLSHOW替换到原先的延时部分。五、实验结果可以实现循环播放所存储音乐选段,数码管显示相应播放的音符六、思考题写出8253计数初值、输入频率和输出频率的关系。答:输出频率=输入频率/8253计数初值第33页 微机原理硬件实验·报告七、实验总结遇到问题及解决:在上机实验的时候发现,系统提供的时钟是1MHz,这样,要得到计数器初值,就得用32位的除法,8086CPU本身不支持这样的计算,所以只能自己写代码实现,得到的初值能用16bit表示,可以设置为8253的初值。但是这样会比较麻烦,因为有限个音符,可以先计算好写入数组。收获与心得体会:过这次实验,我们学习了8253计数器的使用方法。我们最先了解到的是8253的初始化,包括对于计数器的选择,计数初值的输入方式,计数初值的格式,基础器工作方式等等一些内容的设置。之后通过加深对各种工作方式的理解,确定下来可以使用方式2或方式3来进行计数器的输出。因为在这两个方式下8253可以充当分频器。而在本实验中我选用了方式3,原因是方式2并非输出方波波形。根据讲义上给出的各个音符的频率,以及8253计数器的输入频率,并通过公式:(输出频率=输入频率/8253计数初值),我计算得到各个音阶对应的计数初值。有了以上的准备,就可以进行实际的编程了。对于乐曲的播放,选用的是逐个发出相应乐音并显示相应乐符的方法。第四次:串行通讯接口8251实验实验十六串行通讯8251一、实验目的1、了解串行通讯的基本原理。2、掌握串行接口芯片8251的工作原理和编程方法。第33页 微机原理硬件实验·报告二、实验原理和内容1、按图4-16-1连接好电路,(8251插通用插座)其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。2、编程:从键盘输入一个字符,将其ASCII码加1后发送出去,再接收回来在屏幕上显示,(或将内存制定区域内存放的一批数据通过8251A的TXD发送出去,然后从RXD接收回来,并在屏幕上或数码管上显示出来。)实现自发自收。三、硬件接线图与软件程序流程图图1:8251A的实验电路图第33页 微机原理硬件实验·报告图2:程序流程图四、源程序DATASEGMENTVARDB?DATAENDSSTACKSEGMENTSTACK'STACK'DB100DUP(0)STACKENDS第33页 微机原理硬件实验·报告CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKDISPMACRO;显示一个字符PUSHAXPUSHDXMOVDL,ALADDDL,1MOVAH,02H;DOS调用,显示单个字符INT21HMOVDL,0DHMOVAH,02H;DOS调用,显示单个字符INT21HMOVDL,0AHMOVAH,02H;DOS调用,显示单个字符INT21HPOPDXPOPAXENDMDELAYMACROTIME;延时LOCALLOP1PUSHCXMOVBX,TIMELOP1:MOVCX,00HLOOP$DECBXJNZLOP1POPCXENDMMAINPROCFARMOVAX,DATAMOVDS,AX第33页 微机原理硬件实验·报告MOVES,AX;初始化8251AMOVDX,2B9H;控制口MOVAL,40H;内部复位OUTDX,ALDELAY000FH;等待8251响应MOVAL,5EH;01011110B异步方式,一个停止位,低8位数据;奇校验,有检验位,波特率因子为16OUTDX,ALDELAY000FHMOVAL,37H;命令控制字00110111OUTDX,ALDELAY000FH;初始化8253MOVDX,283H;控制口MOVAL,16H;用计数器0OUTDX,ALDELAY000FHMOVAL,07H;获取字符MOVDX,280H;计数器0OUTDX,ALDELAY000FH;发送信息AGN:DELAY000FHMOVDX,2B9H;状态端口2B9INAL,DXTESTAL,38H;检查是否出错JNZERROR;出错第33页 微机原理硬件实验·报告TESTAL,02H;检查是否收到新数据JNZRECE;转接收TESTAL,01H;检查是否可以发送字符JZAGNMOVAH,01HINT21HMOVVAR,ALCMPVAR,27;判断是否为ESCJEERROR;若是,则退出MOVDX,2B8H;数据端口OUTDX,AL;发送字符JMPAGNRECE:MOVDX,2B8HINAL,DXDELAY000FHDISPJMPAGNERROR:MOVAH,4CHINT21HMAINENDPCODEENDSENDMAIN五、实验结果在键盘上输入字符送至8251,8251实现自发自收,对收到的信号的ASCII码加一,并将计算的结果显示到屏幕上。六、实验总结实验中主要遇到了下面两个问题:第33页 微机原理硬件实验·报告1、部分传输正确,部分传输不正确。主要原因是课本的程序是错误的,读状态字应该从控制端口读取,而不是从数据端口读取。错误主要是由于地址写的不正确。2、双向通信时,数据总是传不过去,或者出错。主要原因是两个8251A之间的连接线太长,由于硬件电路所限连接线不能超过实验中的两根线。如果超过了,电路无法检测到高电平。3、有时一开始运行,会出错。原因是时钟太快,可以编写延时程序,在8251A初始化时插入延时,解决这个问题。七、实验收获与心得体会实验中主要是在发现课本错误中花费了大量时间,做实验应该有质疑精神,用与挑战权威,以实验的具体情况为准则判断正确。应该从合理行分析这样设计是否可行。实验连接电路很重要,实验前一定要先检查电路是否完好。否则,即使你程序编写正确也无法运行,而且很难找到错误。事先可以使用演示实验测试一下电路是否正确,在测试自己的程序是否正确,这样可以节省时间提高效率。8251A作为串行通信接口,时序是非常重要的,输入输出之间的时间差必须控制得合适,否则就不能正常收发,这可以通过软件编程实现,当时序不符合时,可插入等待时间,即软件延时。通过这次实验对于8251的工作原理有了比较清楚的认识。同时也加深了对于串并转换的实现和其作用的理解。八、思考题在实验中,你如何确定RXC、TXC的值,写出计算公式。答:RXC=TXC=8253输入时钟频率=8251的波特率×8251的波特因子第33页 微机原理硬件实验·报告心得体会在做微机原理硬件实验之前,已经接触过单片机,对CPU控制硬件已经有了一些了解,所以做实验之前还是挺有信心的。不过8086芯片内部仅仅是单纯的CPU,不像上面单片机集成了很多模块,如定时器,PWM发生器,中断控制器等等。因此,8086需要在外部连接很多芯片,利用IO端口输出相应控制字,命令字和数据来控制这些芯片模块的工作,这对我来说是比较崭新的内容吧。正是因为这样,用纯粹的CPU指令来控制模块的工作,恰恰能让我感受到微机原理的精髓。没有使用已经封装好的寄存器名称和库函数,只是通过对Memory和IO的读写来实现各种硬件控制,这需要我去好好了解每一个模块工作的原理,然后来对其进行设置,这算是硬件实验对我最大的帮助吧!另外,在调试程序中,遇到问题时候,我总是会把代码拷出来,只把觉得有问题的部分保留在程序中,仅仅调试这一段程序,看看哪里出问题了,把所有的代码段调试完成之后在整合到一起,这样很快就能出结果了。总的来说,这次硬件实验让我对微机原理有了更加深入的认识,从知道怎么做到为什么这样做,感觉自己获得了长足的进步!第33页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭