微机原理实验.doc_第1页
微机原理实验.doc_第2页
微机原理实验.doc_第3页
微机原理实验.doc_第4页
微机原理实验.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

微机原理实验指导书目 录实验须知 3 第一部分 汇编语言上机操作及软件部分实验实验一 汇编语言上机环境的熟悉和命令使用4实验二 利用DEBUG命令调试程序7实验三 利用中断指令进行输入输出程序设计 9实验四 汇编语言综合编程实验11第二部分 硬件部分实验FD88调试软件12实验五 简单I/O接口控制实验 21实验六 8255 接口控制实验21第一部分 软件部分实验实验一 汇编语言上机环境的熟悉和命令使用【实验目的】1 学习使用DEBUG程序的各种命令。2 掌握用DEBUG调试自编程序的方法,为以后实验打下基础。【实验内容】1.用DEBUG调试、运行可执行程序。1) 入DEBUG后,首先用命令R查看当前DS和IP寄存器内容,记录此值。2) 习R,D,A,U,T,P,G命令的使用。3) 用命令A汇编下列指令,并判断指令正误并说明原因。(1) ROR AX,8(2) LEA DI,AX(3) MOV DS,2010(4) PUSH AL(5) OUT 900,AL(6) MOV BX,03 用D命令查看DS:20022F和F000:20022F两内存块内容,用F命令将字符“A”分别填入这两个内存块,比较填入前后结果,了解可读写内存RAM和只读内存ROM的区别。4 利用T,P,G命令,执行下列程序段,注意它们的不同之处。(1) MOV DI,300MOV SI,400MOV CX,3CLDREP MOVSBINT 3(2) 先在CS:200处汇编一条RET指令,再在CS:100处汇编。MOV BX,200CALL BXINT 3 然后从MOV BX,200处开始执行。5 用A命令汇编下列程序段,完成将DS:2000开始的5个字节内存内容相加,并把相加的结果存放在DS:2005内存单元中,将程序写到硬盘上,然后用DEBUG调试运行该程序,查看运行结果,观察程序段能否完成指定功能,若不能,说明原因。 MOV CX,5MOV AL,0MOV BX,2000NEXT:ADD AL,BXINC BXDEC CXLOOP NEXTMOV BX,ALINT 3【预习要求】1 仔细阅读书中“汇编语言上机操作过程及程序调试技术”章节内容。2 根据实验要求,对各项结果进行预测。【报告要求】1 分析任务2中各条指令错误原因。2 说明可读写内存RAM和只读内存ROM的区别。3 说明命令T和P的区别。4 写出任务5的编辑调试步骤,并附上调试好的程序。5 回答思考题。【实验提示】1) DEBUG的进入如果是首次进入DEBUG编程,则只要在DOS提示符下键入DEBUG ,即可进入DEBUG环境,显示提示符“-”。如果要对某个程序使用DEBUG进行调试,只要在DOS提示符下键入DEBUG 文件名,即可进入DEBUG环境,显示提示符“-”。2) 程序的汇编与反汇编源程序可以在DEBUG下,用汇编命令A输入到内存中,只需在DEBUG提示符“-”下,键入汇编命令A ,并在显示“段寄存器地址:偏移地址”后面键入你自己编写的程序,每键入一条,按一次回车键。-A 127B:0100MOV CX,5 127B:0103MOV AL,0 127B:0105MOV BX,2000 如果进入DEBUG时是使用“DEBUG 文件名”进入的,那么在进入DEBUG状态后,可用反汇编命令U,将调入的程序显示出来:-U 127B:0100B90500MOV CX,5127B:0103B000MOV AL,0127B:0105BB0020MOV BX,20003) 在DEBUG状态下,对所编写文件存盘的步骤 给程序命名-N 文件名.COM 将文件长度放入BX、CX中(高位放入BX,低位放入CX中)-R BX (注意!由于文件长度一般较小,所以切记BX中付0值)-R CX (文件最末偏移地址减去文件开始的偏移地址即文件长度) 用写盘命令W把正在调试的内存中程序写入磁盘中-W 地址(文件开始地址)退出DEBUG状态用Q命令:-Q 4) 在DEBUG状态下,建议使用DOS分配给用户的内存可用区在DEBUG状态下,用户可对所有寄存器、RAM内存随意查看和修改,但由于对DOS操作系统在内存中存放情况不了解,可能会将存放有操作系统程序的内存内容破坏,从而可能引起系统的异常,出现死机现象,故建议使用DOS分配给用户的内存可用区,其低端地址是刚进入DEBUG时,用命令R查看到的DS:IP。5) 用连续执行命令G应注意问题用连续执行命令G执行程序时,注意给出执行程序的首地址,并注意执行的程序中有返回DEBUG功能的程序段,如指令INT 20H或断点设置INT 3,否则发出命令后,很容易出现死机,原因是无返回程序段使系统返回命令接受状态,CPU将不断到内存中取指令、执行指令,使用户失去对系统的控制。为避免这种情况,可在用户程序段结尾加上一条INT 20H指令,或INT 3指令。6 关于任务5DS:2000单元开始的5个字节内容,可用填充命令F给其赋值。-F 2000 L5 01 02 03 04 05(在执行程序前用F命令给单元赋值)之后,运行任务5程序段,检查运行结果是否正确。【思考题】1 指令MOV BX,AX中,操作数BX的寻址方式是什么?在DEBUG下执行完该指令后,如何查看执行结果?2 可否随意在DEBUG提示符“-”后不带参数发出命令G?什么情况下使用命令G时,可不用“=”给出执行首地址?实验二 利用DEBUG命令调试程序【实验目的】 1熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。2熟悉和掌握用DEBUG调试程序的方法。【实验内容】将两个多位十制数相加,要求加数和被加数均以ASCII码形式各自顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回DATAl处。【预习要求】 1仔细阅读课本及相应教材。 2参照程序框图编制源程序,准备好多组运算数据,以供校验。【报告要求】1.写出算法或画流程图。2.编写完整的汇编语言源程序3.整理运行正确的源程序,加上注释。4.总结应用DEBUG调试程序的方法。5.回答思考题。五、【实验提示】可以把显示程序和加法程序都编成子程序的形式。打开MASM文件夹,有四个文件EDIT.COM,MASM.EXE,LINK.EXE,DEBUG.COM我们要用到。a) 进入EDIT编辑环境建立和修改汇编源程序文件(文件名要以.ASM结尾)b) 用MASM命令汇编源文件以产生相应的目标文件(OBJ文件)c) 用LINK命令连接目标文件以产生可执行文件(EXE文件)d) 用DEBUG调试、运行可执行程序。六、【】思考题1 一个段的大小为多少?一定是64KB吗?如何在DEBUG下查看程序在内存的存放情况?2 调用INT 21H中的02H号功能时,要注意什么?3 加数与被加数都是ASCII码形式,在作相加运算时,是否要先转换为十六进制数?七、【】参考程序框图:注:该框图考虑了五位十进制数向更高位有进位的情况。实验三 利用中断指令进行输入输出程序设计【实验目的】1. 熟悉DOS的功能调用命令2. 掌握基本DOS功能调用命令的使用3. 掌握提示信息的使用方法及键盘输入字符串的用法。【实验内容】编写程序,实现两个字符串比较,字符串由键盘输入。如有一个字母相同,则显示“MATCH”,如果都不相同则显示“NO MATCH”。【预习要求】1仔细阅读课本中有关DOS功能调用INT 21H中的功能调用。2参照给定程序框图编制源程序。3回答思考题。【报告要求】1整理出经过运行正确的源程序,并加上注释。2.写出算法或画流程图。3.编写完整的汇编语言源程序4.实验结果分析和感想及建议【实验提示】1在串比较操作时,一定要注意以下三点:源串一定放在数据段,目的串一定放在附加段;源串偏移地址首地址一定放在SI寄存器中,目的串偏移地址首地址一定放在DI寄存器中;串长度一定放在CX中。【思考题】1 调用INT 21H中的0AH号功能时,用0AH输入的字符串,不加处理,能否直接用09H号功能输出?【程序参考框图】开始段寄存器及堆栈初始化显示“请输入字符串1”使用INT 21H的0AH号子功能,接收键入的字符串显示“请输入字符串2”,接收键入的字符串指针SI指向串1的首字符指针DI指向串2的首字符串1和串2中的所有字符作比较相等?SI加1,指向串1中下一字符串1中字符取完?显示“NO MATCH”显示“MATCH”返回DOSNNYYNNN实验四 汇编语言程序设计综合实验【实验目的】1. 掌握汇编语言分支、循环结构程序设计方法及子程序的设计方法.3. 掌握利用DEBUG命令调试程序【实验内容】 1. 自内存SCORE单元开始连续存放着30个学生的“微机原理”成绩请编程做如下统计:找出最高分送入MAX和MIN单元。 找出90100及不及格的人数分别送入S9、S0单元。2用-G命令对程序运行,并分析程序运行前后各寄存器内容的变化。3. 用-D命令查看运行结果。【报告要求】1.分析题目,将程序中的原始数据和最终结果的存取方式确定好。2.写出算法或画流程图。3.编写完整的汇编语言源程序4.请写出MAX、MIN、S0单元在内存中的地址及其内容结果。5. 实验结果分析和感想及建议【实验提示】1编写程序时,可以分别编写,熟练的同学可采用同时编写.2建议采用子程序的编写方式。【思考题】 1.能否利用中断调用进行大量数据的输入输出?比利用数据定义语句存放数据有什么好处?怎样实现? 第二部分 硬件部分实验第一章:FD88调试软件1.1、功能特点FD88 Debug(文件名FD88.EXE)是IBMPC上( 286, 386。 486或兼容机)为FD8088A实验仪配置的调试软件。它具有功能强、使用灵活方便、人- 机界面友善、稳定可靠等特点,能支持各种应用系统的调试。在FD8088A实验仪和Debug软件支持下、使用户得心应手地完成实验过程中各个阶段的工作(包括源程序编辑、存盘、读盘、程序调试等),大大提高工作效率,缩短调试周期。FD88 调试软件允许用户使用两种操作方式:窗口方式和命令方式窗口方式显示的信息量大,各个窗口都是活动的,用户可在窗口中进行修改数据等操作。窗口方式具有系统初始化、文件管理、运行控制、窗口管理等多种操作命令。用户既可以根据菜单操作也可以使用一些功能键进行操作窗口方式特别适用于程序的调试,便于观察程序运行后的结果。命令方式操作快捷;对于熟练用户比较合适。1.2、启动方法将FD8088A实验仪和 IBMPC( 286, 386, 486或兼容机)通过 RS232电缆相连;打开FD8088A实验仪电源 PC机开机以后运行FD88调试软件( FD88调试软件可以复制到PC机的硬盘上)。FD88调试软件有四个参数。用户可使用其中任意一个,其功能如下:/n 启动调试软件,但不和实验系统进行通讯连接,用户可在软件中在进行连接:/1 启动调试软件,使用串行口1, 19600波持率和实验系统连接;/2 启动调试软件,使用单行口2;19600波特率和实验系统连接;/? 显示FD88调试软件的参数帮助信息例:PC机串行口和实验系统相连。输入命令:A:FD88/2 (FD88EXE在软盘A上)或FD88/2(FD88 在当前盘上。硬盘或软盘)若联接正常;PC机屏幕上出现窗口界面。若异常,则出现没有接通的揭示信息。、异常情况如果调试软件和实验系统连接失败,则在屏幕上弹出提示窗口:这时输入回车键;进入调试软件用户应检查串行口设置,还应检查FDSJ8088A实验系统电源是否开放。着电源已开启,按一下复位按钮使之处于初始状态。如果联接错误是因为串行口设置错误,则应按ALTX键退出调试软件,使用正确的参数重新启动。如是其他原因,纠正错误后使用菜单命令中Reconnect命令重新进行连接即可。、正常情况如果连接和操作正确,则在屏幕上出现六个窗口,系统现场信息分别显示在各窗口内。1.3、窗口功能和操作1、R窗口R窗口显示 CPU基本状态,包含 AX、BX、CX、DX、SI、DI、BP、SP、DS、ES、SS、CS、IP和标志寄存器 f中的数据。同时按下 Alt键和数字键 3,光标便移到该窗口,通过 健,使光标指向某一个寄存器,在相应位置输入所需数值,便修改了该寄存器的内容。当修改CS值时,PROGRAM(2)窗口相应改变。显示出修改后CS值指出的13条指令的内容。但修改IP,PROGRAM(2)窗口不会改变。修改SS及SP的内容相应的STACK窗口将会改变。2、flag窗口flag窗口显示CPU中标志寄存器中的内容,分别为标志名称和相应的值。按下Alt和数字键 4,光标移到flag窗口,此时可修改相应标志的值,修改后相应 R窗口中 f的值会改变。3、MEMORY窗口该窗口显示8088 1M地址空间的数据。同时按下Alt健和数字键6, 使光标指向MEMORY窗口。通过键和PGUP、PGDN键使光标在其中移动,查看相应地址的数据内容。窗口中每行显示地址(:号前)和其后的数据(:号之后8个单元内容依次排列)。在相应的数据位置任意输入十六进位制数则完成对相应地址单元中数据的修改。MEMORY窗口共显示40个字节单元内容,但起始地址总是取8的整数倍。用户还可使用ctrl-F2键快速移动至所需的地址单元,屏幕弹出一个窗口:用户可输入十进制地址或以H结尾的十六进制地址,还可输入地址符号如输入地址为3200H,则显示当前CS段地址寄存器3200H3228H内容。如输入地址为SS:3200H,则显示 SS:3200H CS:3228H中的内容。4、STACK窗口该窗口显示当前SS:SP地址及以上7个地址中的字数据。同时按下ALt键和数字键5,便使光标指向STACK窗口,通过键使光标指向某一地址内容。当光标指向相应地址的内容时输入十六进制数,便可修改其数值。5、PROGRAM窗口用户使用ALt2键进入PROGRAM窗口。该窗口显示当前CS段指出的13行程序清单,通过健使所显示的程序滚动。箭头指出当前 CS:IP值指出的指令,运行以后指向下一条指令。用户程序(目标程序或源程序)的修改,可使用编辑软件重新编辑、汇编后在装入实验系统一两个字节的更改在MEMORY窗口中也可进行。在此窗口中,用户使用CTRLF2功能健,可查看用户希望的地址处的指令内容屏幕会弹出一个窗口询问用户地址。用户可输入XXXX:XXXX 格式的数据,前后两部分均可为十进制、十六进制数据或符号。符号又在符号表装入后才有效。如果用户只输入一个数据,则将使用当前CS的值作为段地址,CS为默认的段地址。这种输入方法在大部分需输入地址的时候,均使用相同的规则。用户使用CTRL十F8功能健,可将当前光标所处的地址设置为断点当某一地址被设置为断点时,则该地址及指令内容将以红色显示出来。6、COMMAND窗口用户使用ALt1键进入COMMAND窗口。COMMAND窗口提供用户另外一种操作方法,用户可输入命令。我们建议用户使用菜单命令。窗口命令用户可通过按F1健获得窗口命令的在线帮助。1.4、FD88调试软件菜单操作方法1、基本命令状态指示在窗口屏幕的最下面一行指出基本操作命令和系统的当前状态,基本内容如下:F1 HELP ALt-X EXIT当用户处于不同的窗口或某单时,还会出现相应的功能键和简单的说明。系统退回DOS命令Alt-X EXIT指出一条系统退回DOS的命令当同时按下Alt键和X键,系统退出FD88调试软件返回DOS。菜单选择命令F10 Menu指出进入菜单选择的命令。当按下F10,光标指向显示窗口上方的主菜单,使用户能移动光标键来选择菜单进行操作。用户也可使用Alt键,同时按下菜单中加亮字符。即可选中相应的某单。2、菜单操作方法在显示窗口上显示主菜单:= File Tood Execute BreakPoint Symbol Option当键入F10以后,光标指向主菜单通过键使光标左右移动选择菜单进行操作= 系统命令当光标指向= 时输入回车;屏幕上弹出一个子菜单窗口:File文件管理命令输入F1O后移动光标指向File再输入回车符,或者输入F10和F,则在屏幕上弹出一个文件子菜单:Load File该命令使盘上的EXE程序文件装入FD8088A实验仪的RAM;以便于调试。通过键使光标在File子菜单上下移动,使光标指向LoadFile命令项或者键入L或者键入F3使屏幕上弹出一个窗口提示用户输入目标程序文件名。这时可以键入要装入的程序文件名,例如B:SLCD.EXE 输入文件名和回车后,如果文件找到,屏幕上弹出一个窗口显示正在传输数据:当EXE文件成功装入后,会弹出一个窗口,让用户确认是否要装入相应的符号文件。选择OK,则软件将弹出一个窗口,让用户选择输入LST文件名 输入LST文件名回车后,若文件找不到则弹出一个提示窗口调试程序直接从LST文件中读取符号表,所以若用户需要符号表。必须在用MASM汇编时生成LST文件。Load SymFile该命令将盘上的符号表文件调入;以便于调试通过键使光标在 File子菜单上下移动,使光标指向 Load SymFile命令项或者键入O使屏幕上弹出一个窗口提示用户输入符号表文件。这时可以键入要装入的符号表文件名,例如B:SLCD.LST 输入文件名和回车后,若文件找不到刚弹出一个提示窗口。DOS Shell(暂时退回 DOS)在 File菜单中,移动光标指向 DOS Shell输入回车或输入 O使系统暂回 DOS,以便输入各种 DOS命令(如查看文件、交叉汇统),操作完以后,输入 EXIT又使系统回到 FD88调试软件,又便继续调试用户系统。 EXIT(退回DOS)在File菜单中,移动光标指向EXIT后按回车,或同时按下Alt和X键,则使系统退出FD88调试软件返回DOS,如果再进入FD88调试软件状态,则必须先复位FD-SJ 51/196实验系统,然后重新启动运行FD88调试软件。实验五:简单I/O接口控制实验一、实验目的:掌握简单的I/O口电路的设计与使用方法。二、实验内容:以实验板上74LS244作为输入,74LS377为输出,输入与输出用开关及发光二极管,要求当输入不是全0时,输出与输入保持一致。当输入为全0时,A口输出发光二极管闪烁告警信号。三、实验电路与实验原理:实验接线:74LS244的八位输入端(J35)接八位拨动开关K17K24(J21)。74LS377的八位输出端(J33)接八位发光二极管L18L25(J20)。 74LS244的/G端(J36)接 I/O译码输出(JJ111)。74LS377的/G端(J34)接I/O译码输出(JJ112)。参考实验程序:; simpleio.asm; 74LS377 address is 10h; 74LS244 address is 8h; read from 244, output to 377main in proc farcode segment codeassume cs:codebegin: mov bl, 0start: mov dx, 8h ; 244 读入开关状态in al, dxtest al, 0ffh ; 判别是否全为0jz flashmov dx, 10h ; 377 输出, LED显示not alout dx, aljmp startflash: not blmov dx, 10h ;闪烁显示mov al, blnot alout dx, almov ex, obfffhloop $not blmov al, blnot alout dx, almov cx, obfffhloopjmp startcode endsmain endpend begin四预习要求1. 复习74LS244 和74LS373并行数据接口功能和工作原理及工作方法。2. 按程序框图编写源程序。五报告要求1. 画出程序框图。2. 整理经过运行,证明是正确的源程序,并加以注释。六、思考题实验六:8255A并行接口实验一、实验目的:掌握8255A的编程和使用方法。二、实验内容:以 8255的B口为输入,A口为输出,输入与输出仍用开关及发光二极管,要求当输入不是全0时,输出与输入保持一致。当输入为全0时,A口输出发光二极管循环闪烁告警信号。三、实验电路与实验原理:实验接线:8255的PA口(J32)连接八位发光二极管L18L25(J20)。8255的PB口(J31)连接八位拨动开关K17K24(J21)。8255的片选端/CS(J29)连至I/O译码电路(JJ111)。参考实验程序:; 8255.asm; test 8255 io; read from portb; output to portaporta = 8h ;A口地址portb = 9h ;B口地址portc = obh ;控制口地址main proc fardcons = 10h ;延时常数cg segment codeassume cs:cgbegin: mov dx, portc ; 8255初始化mov al, 82h ; 8255初始化参数out dx, almov ah, 00hmov bl, 0lp: mov dx, portb ;读入B口开关状态in al, dxtest al, ahjz shift ;读入状态为全0时转shiftmov dx, porta ;读入状态非全0时A口输出=B口开关状态out dx, aljmp lpshift: mov al, bl ;读入状态为全0时A口输出循环闪烁mov dx, portaout dx, alcall delay ;延时shl bl, 1 ;移位test bl, ahjnz lpmov bl, 1jmp lpback:retfdelay proc near ;延时子程序push cxmov cx, 0delay1: or cx, cxor cx, cxloop delay1pop cxretndelay endp;main endpcg endsend begin四预习要求3. 复习8255并行数据接口功能和工作原理及工作方法。4. 按程序框图编写源程序。五报告要求3. 画出程序框图。4. 整理经过运行,证明是正确的源程序,并加以注释。5. 回答思考题,并列出思考题1的程序。七程序参考框图任务1程序参考框图:八思考题1. 任务1的程序虽简单明了,但却是个死程序,不能随意退出返回DOS。为此不妨设置个条件,条件满足,执行该程序,读取8个开关状态控制8个灯的燃灭。条件不满足,退出该程序,返回DOS状态。在这里不妨利用C口的PC7接一个开关K12,读该开关状态,若开关为“0”,则允许B口输入,A口输出;若开关为“1”,则将灯全部熄灭并退出。如何编制该程序?可否用DOS的0BH中断功能,按任一键控制结束程序返回DOS状态?2. 8255A的A,B口工作在方式1下,中断信号的INTA,INTB如何才能发出?3. 方式0下,C口与A,B口间有无固定的联络信号?实验七 存储器连接(6264的使用)【实验名称】存储器连接(6264的使用)。【实验目的】掌握存储器译码及读写的方法。【实验原理】微处理器通过数据总线、地址总线及控制总线与存储器连接,如下图所示:控制总线地址总线存储器CPU数据总线地址总线为地址信号,用来指明选中的存储单元地址。数据总线为数据信号,它是微处理器送往存储器的信息或存储器送往微处理器的信息。它包括指令和数据。控制总线发出存储器读写信号,以便从ROM、RAM中读出指令或数据,或者向RAM写入数据。在微机系统中,常用的静态RAM有6116、6264、62256等。在本实验中使用的是6264。6264为8K8位的静态RAM,其逻辑图如下: 6264A012 VCCI/O07WROECS2 GNDCS1其中A012为13根地址线,I/O07为8根数据线,CS1 、CS2为两个片选端,OE为数据输出选通端,WR为写信号端。其工作方式见下表:控制信号CS1CS2OEWR数据线读LHLH输出写LHL输入非选H高阻态非选L高阻态输出禁止LHHH高阻态【实验内容】 在FD-SJ8088A实验板上的6264芯片内写入一些数据,然后读出显示在屏幕上以验证正确与否。【实验连线】6264的地址线JJ9(A0A12)接总线上的地址线A0A12。6264的数据线JJ7(D0D7)接总线上的数据线D0D7。6264的OE(JJ19.OE)接总线上的MEMR。6264的WE(JJ19.WE)接总线上的MEMW。6264的CS2(JJ19.CS2)接总线上的+5V。 6264的CS1(JJ19.CS1)接JJ8.1(地址高位译码10000H)。【实验程序一】CODE SEGMENT CODE ASSUME CS:CODESTART: MOV AX,1000H MOV DS,AX MOV BX,0000H MOV DL,40HREP1: INC DL MOV DS:BX,DL INC BX CMP DL,5AH JNZ REP1 MOV DL,0 MOV BX,DL MOV AX,DS MOV ES,AX MOV BP,0 MOV AH,4 INT 14H XOR CX,CX LOOP $ INT 20HCODE ENDSEND START【实验程序二】CODE SEGMENT CODE ASSUME CS:CODESTART: MOV AX,1000H MOV DS,AX MOV BX,0000H MOV DL,40HWRITE: INC DL MOV DS:BX,DL INC BX CMP DL,5AH JNZ WRITE MOV BX,0000H MOV CX,26READ: MOV DL,DS:BX MOV AH,2 INT 21H INC BX LOOP READ MOV AH,4CH INT 21HCODE ENDSEND START【思考题】将字符09写入存储器,再将其读出,应如何修改程序?实验七 8253的应用一、实验目的(1) 学习8253的工作原理、工作方式并掌握其编程方法;(2) 了解并掌握FD-SJ微机实验系统上8253芯片及相关电路的功能和使用方法。(3) 掌握采用8253产生时钟信号的方法二、实验仪器(1) IBM PC机(2) FD-SJ8088A微机实验系统三、预习要求四、实验原理(1) 8253外部电路介绍8253是Intel公司生产的外围接口芯片,具有定时和计数功能,内部有3个相同的16位减法计数器,分别称为计数器0、计数器1和计数器2。其外部结构图如图7.1所示:图7.1-a 8253的管脚信号图 图7.1-b 8253的逻辑图(2) 8253的编程结构8253的内部组成逻辑框图如图7.2所示,其中:1)数据总线缓冲器:双向三态,可直接挂在总线上,由CPU写入初始值,也可以由CPU通过该缓冲器读出计数器的计数值,另外通过编程确定8253的工作方式,其控制字通过该缓冲器送至控制字寄存器。2)读写控制逻辑:由CS信号控制该芯片是否被选中,当选中时该控制逻辑根据读写命令及送来的地址信息控制整个芯片工作。3)控制字寄存器:接收数据总线缓冲器的信息,若写入的是控制字,则将控制计数器的24工作方式数据装入计数器,作为计数初值。该寄存器是8位的只能写不能读寄存器。图7.2 8253的编程结构4)三个计数器0、1、2是相互独立的,但内部结构完全一样,都是16位减法计数器。每个计数器有一个时钟输入端CLK、门控输入GATE和输出OUT。计数器从时钟输入端接收时钟脉冲或事件计数脉冲,计数方式可以是二进制或二十进制,计数值从脉冲的下降沿开始改变,门控可送入控制或复位信号,当计数值减到0时,由输出端送出标志信号。5)8253地址选择8253有四个端口地址,分别对应计数器0、1、2和控制字寄存器,如表7.1所示:表7.1 8253内部端口译码表序号 A1 A0 端口寄存器1 0 0 计数器02 0 1 计数器13 1 0 计数器24 1 1 控制字寄存器(3) 8253的功能1)计数:计数器装入初始值后,当GAET变为高电平时对CLK端的脉冲计数,每一个脉冲使计数值减1,当计数值减为0时,OUT变为高电平。2)定时:定时和计数情况完全相同,只是要求脉冲周期确定以便确定定时时间。除此之外8253还可用作频率发生器、分频器、时钟和单脉冲发生器等。(4) 8253的控制字及工作方式8253的控制字寄存器定义如图7.3所示,根据控制字,8253有6种工作方式。1)方式0:计数结束中断方式。当写入方式0控制字后,输出OUT变为低电平,写入初值后计数器立即开始计数,OUT一直保持低电平。计数结束时OUT变为高电平,并一直保持到重新装入初值或复位时为止。当D5D4=11时,写入低字节后不计数,写入高字节后开始计数,如果对正在计数的计数器装入一个新值,则计数器又从新装入的计数值开始作减量计数,也可用门控端GATE控制计数,25当GATE=0时暂停计数,GATE=1时允许计数。2)方式1:可编程单稳态方式。该方式输出单拍负脉冲信号,脉冲宽度由编程设定。在设定工作方式和写入计数值后,OUT输出高电平,在触发脉冲GATE上升为高电平时,OUT输出低电平并开始计数。当计数器减为0时,OUT输出高电平。如果在输出保持低电平期间,写入一个新计数值,不会影响低电平的持续时间,只有当下一个触发脉冲到来时,才使用新的计数值。当计数尚未结束时又出现新的触发脉冲,则从新的触发脉冲上升沿之后开始重新计数,使输出的负脉冲宽度加大。CPU在任何时候都可以读出计数器的内容,而对脉冲的宽度没有影响。图7.3 8253的控制字3)方式2:频率发生方式在此方式下能产生连续的负脉冲信号,由OUT输出,其宽度等于一个时钟周期,周期等于写入计数器的计数值和时钟周期的乘积,可用软件设定。其门控信号相当于复位信号,当GATE=0时立即强迫OUT为高电平,当GATE=1时便启动一次新的计数周期。这样可以用一个外部控制逻辑来控制GATE,以便达到同步计数作用,也可以用软件来达到同步计数的目的。4)方式3:方波频率发生方式方式3与方式2类似,当装入一个计数初值N后

温馨提示

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

评论

0/150

提交评论