北邮-微原硬件实验报告(共27页)

上传人:29 文档编号:43222201 上传时间:2021-11-30 格式:DOCX 页数:27 大小:896.04KB
返回 下载 相关 举报
北邮-微原硬件实验报告(共27页)_第1页
第1页 / 共27页
北邮-微原硬件实验报告(共27页)_第2页
第2页 / 共27页
北邮-微原硬件实验报告(共27页)_第3页
第3页 / 共27页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上微机原理硬件实验报告学 院:信息与通信工程学院班 级:2010xxxxxx班内序号:xx学生姓名:xxx学 号:1021xxxx目录实验一 熟悉实验环境及IO 的使用一、 实验目的1 通过实验了解和熟悉实验台的结构,功能及使用方法。2 通过实验掌握直接使用Debug 的I、O 命令来读写IO 端口。3 学会Debug 的使用及编写汇编程序二、实验内容及要求1 学习使用Debug 命令,并用I、O 命令直接对端口进行读写操作,2用汇编语言编写跑马灯程序。(使用EDIT 编辑工具)实现功能A通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。B通过输出端口控制灯的工作状态(低电平灯亮)注意:电源打开时不得插拔电缆及各种器件连接电路时一定要在断电的情况下连接,否则可能会烧坏整个实验系统三、操作步骤1.实验板的IO 端口地址为 E8E0H在Debug 下,I 是读命令。(即读输入端口的状态-拨码开关的状态)O 是写命令。(即向端口输出数据-通过发光管来查看)进入Debug 后,读端口 拨动实验台上八位拨码开关输入 I 端口地址 回车屏幕显示 xx 表示从端口读出的内容,即八位开关的状态 ON 是0,OFF 是1写端口输入 O 端口地址 xx (xx 表示要向端口输出的内容)回车查看实验台上的发光二极管状态,0 是灯亮,1 是灯灭。相应位的对应关系以及对应状态都可以在DEBUG状态下进行调试得出结论2. 在Debug 环境下,用a 命令录入程序,用g 命令运行CDebug-amov dx, 端口地址mov al,输出内容out dx, almov ah, 0bhint 21hor al, aljz 0100int 20h-g运行查看结果修改输出内容再运行查看结果分析mov ah, 0bhint 21hor al, aljz 0100int 20h该段程序的作用在该段程序中,ah=0b,所以此时执行int 21h的作用及时判断键盘是否有输入,al中存有判断结果,若无输入,则跳转至0100处继续执行,否则跳出程序,程序执行结束。3.利用EDIT 工具编写汇编写跑马灯程序程序实现功能A通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。B通过输出端口控制灯的工作状态(低电平灯亮)CEDIT 文件名.asm录入程序按 Alt 键 打开菜单 进行存盘或退出编译文件CMASM 文件名.asm连接文件CLINK 文件名.obj运行文件或用Debug 进行调试。需注意,与软件实验不同的是,在硬件实验中是直接使用了DOS操作系统,所以,不需再向对应文件夹中专门拷贝MASM和KINK程序,直接输入命令执行即可,否则程序报错。另外,在实验中需要注意各位的对应关系,否则容易出现错误。附录 部分DOS 命令1. 查看文件Cdir/pDir 命令的帮助Cdir/?2. 建立子目录Cmd 子目录名3. 进入子目录Ccd 子目录名4. 退到上一级子目录Ccd.5. 退到根目录Ccd6. 复制文件Ccopy 源文件盘符:源文件名 目标文件盘符:7. DOS 命令帮助Chelp换盘命令(例:转换到E盘):cd /d E:编辑命令:edit 文件名四、程序流程图开始左移右移D7=0 ?D6=0 ?CX赋值亮LED调用延时结束N Y N Y 五、源程序代码DAT SEGMENTNUM DB 0EFH ;LED灯控制字DAT ENDSSTA SEGMENT STACK STACKDB 100 DUP(?)STA ENDSCOD SEGMENTASSUME CS:COD,DS:DAT,SS:STASTART PROC FARPUSH DS;初始化MOV AX,0PUSH AXMOV AX,DATMOV DS,AXMOV DX,0E8E0HLOOP0: IN AL,DX;读入拨码状态MOV AH,AL;保存拨码状态TEST AL,01H;左一拨码控制继续/结束JZ GG;检测AL=01H,若末位为0则跳转GG,结束TEST AL,02H;左二拨码控制继续/暂停JZ LOOP0;检测AL=02H,若对应位为0跳转LOOP0,暂停TEST AL,04H;左三拨码控制移动方向JZ RR ;检测AL=04H,若对应为为0跳转RR,右移ROL NUM,1;否则,左移NUMJMP LOOP2RR: ROR NUM,1LOOP2: AND AH,1FHMOV CL,AH;将拨码状态作为延时计数,即可实现对速度的控制MOV CH,0MOV AL,NUMOUT DX,AL;输出INC CX;计数加一LOOP1: CALL DELAY;延时LOOP LOOP1JMP LOOP0;循环GG: RETF;返回,程序结束START ENDPDELAY PROC ;DELAY子程序PUSH CX ;保留现场MOV CX,008FFHD1: PUSH CXMOV CX,004FFHD2: LOOP D2 ;经过实验,这样嵌套两次之后的循环产生的延时是符合要求的POP CXLOOP D1POP CXRETDELAY ENDPCOD ENDSEND START六、思考题通过实验说明用debug 中的a命令录入实验中给出的小程序中,有些语句可以不写出“h”字符的原因。答:通过观察可以发现,编码时,凡是十六进制数据都是要加H的,而地址则不用。这是因为编译时所能识别的数据有多种,为了保证编译正常进行,必须要告诉编译器数据的类型。而地址只有默认的16进制形式,所以不需指定类型就能完成正确的编译,所以无须加H。而在DEBUG环境下,它的默认数据格式就是十六进制的,所以就不需要写出“H”字符;否则通不过编译。七、心得体会与收获在此次实验中,我实现了以下功能:跑马灯基本功能、点亮方向控制、速度控制、暂停并继续、检测电脑键盘输入控制是否结束程序。在这次实验中,我们初步熟悉了在Debug环境下使用I/O命令,实现了在同一地址下对拨码开关状态的读取以及对发光二极管亮灭的控制,即初步尝试了对于微机接口的控制。在开始编程之前,我在DEBUG功能下对拨码开关以及LED的功能进行了测试,以熟悉其特性并确保了可以正常使用。通过控制发光二极管的亮与灭,结合相关程序的设计,我实现了一个简单的跑马灯程序。结合查询拨码开关的状态,能够实现点亮发光二极管的方向、模式和速度的调整。这个跑马灯实验的程序使用的是简单的分支结构。这次实验的要点是对I/O接口译码电路的理解以及使用,通过在Debug环境下的I/O命令,我们测试了外设功能,这使我们了解了地址与端口的对应情况,从而明确了跑马灯程序编写的流程和注意事项。通过该译码电路实验,我掌握了地址译码电路的设计方法和实现原理,对硬件的I/O接口技术有了进一步的认识。这次实验也为以后的实验打下了基础,特别是,应先理解了译码电路的工作原理,然后才能进行编程。实验二 8255A并行接口应用一、实验目的1掌握8255A的功能及方式0、1的实现2熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。3了解七段数码管显示数字的原理。4掌握同时显示多位数字的技术。二、实验内容在实验一的基础上学习 PIO 芯片(8255)编程应用,熟悉平台的主要内容。CS 用 Y0 (EE00H) (一) 简要说明: 在方式0(输入/输出)下,以A 口为输出口,B 口为输出口, A口接六个共阴极数码管的八位段码,高电平点亮数码管的某一段, B 口接数码管的位选(即要使哪个数码管亮),高电平选中某一位数码管点亮。8255A 中 A 端口地址 E800H B 端口地址 E801HC 端口地址 E802H 控制地址 E803H 八段数码管的显示规律及数码管的位选规律自己查找,可用实验一中,学过的I、O令来做。在测试之后要及时地进行记录,在使用时直接查表找出对应的数值即可。硬件接线图与软件流程图:(二)6位数码管静态显示 在数码管电路上静态地显示6位学号,当主机键盘按下任意键时,停止显示,返回提示:该电路6个数码管的同名阳极段已经复接,当段选寄存器寄存了一个字型之后,6个数码管都有可能显示出相同的数字。如果要使6 个数码管“同时”显示不同字,必须采用扫描显示的方法,通过选位寄存器选择某一位数码管,显示其数字(对应为 1),然后关闭此数码管,再选择下一位数码管进行显示;如果在一秒钟内,每一位管都能显示30次以上,则人眼看到的是几位数码管同时在显示。 实验证明,在扫描显示过程中,每一位显示延迟1ms是最佳选择。 (三)6位数码管动态显示 要求在数码管电路16位数码管上按图3.2 所示的规律,动态显示字符串HELLO,当主机键盘按下任意键时结束。 图3.2 字符串动态显示示意图 提示: 本实验应在上面实验的基础上完成 在数据段,按下列规律设置12个字型码: MESG DB 0,0,0,0,0,0,3DH,0DCH,8CH,8CH,0EDH,0 POINT DW MESG POINT单元存放MESG单元的有效地址,程序取出POINT单元的内容BX,然后用BX地址取数送数码管电路,扫描显示6个字符。每过0.5s将POINT单元的内容加1,再将POINT单元的内容BX,。POINT 单元内容加 1,使字符串显示的首地址向高地址移动一个单元,从而使6位字符串向“左”移动一位,实现动态显示。 动态显示的速度可控制(快或慢),利用实验一读入端口的功能三、程序流程图(静态显示学号)开始8255初始化待显示字符地址给BX返回DOS检测键盘依次点亮后面的字符熄灭点亮第一个字符NY四、源程序代码静态显示学号:DATA SEGMENT NUM DB 0F4B,21H,0EDH,0F1H,0FDH,61H ;Char code of my ID DATA ENDS;-STACK SEGMENT STACK STACK DB 100 DUP(0)STACK ENDS;-CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTAT:MOV AL,B MOV DX,0E803H;送8255A芯片的控制字 OUT DX,AL MOV AX,DATA MOV DS,AX;设置数据段 MOV ES,AXLOP1:XOR SI,SI ;当前送显哪一位 MOV CX,06H;每次扫描6个 MOV DX,0E800H MOV BL,B;每次送显一位LOP2:MOV AL,NUMSI;改变当前送显的位 OUT DX,AL;输出 MOV AL,BL ;对应字符 INC DX OUT DX,AL DEC DX ROL BL,1;改变位 INC SI CALL DELAY;调用延时子程序 CALL KEY;调用键盘检测子程序 LOOP LOP2;循环次数为6 JMP LOP1;- DELAY PROC NEAR;DELAY共两层循环 PUSH BX PUSH CX MOV BX,000FHLOP3: MOV CX,00H LOOP $ DEC BX JNZ LOP3 POP CX POP BX RETDELAY ENDP;- KEY PROC NEAR ;检测键盘输入子程序 PUSH AX MOV AH,0BH INT 21H OR AL,AL JZ GOON;若无键盘按下,继续执行程序 MOV AH,4CH;否则,程序停止,跳出。 INT 21HGOON:POP AX RETKEY ENDP;- CODE ENDS END STAT动态显示“HELLO”DATA SEGMENT MESG DB 0,0,0,0,0,0,3DH,0DCH,8CH,8CH,0EDH,0 ;定义送显的字符表DATA ENDS ;-STACK SEGMENT STACK STACK DB 100 DUP(0)STACK ENDS ;-CODE SEGMENT ASSUME DS:DATA,CS:CODE,SS:STACK ;- MAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX MOV AL,80H MOV DX,0E803H ;SET PROT C OUT DX,AL LOP6:MOV BX,OFFSET MESG MOV CX,07H ;控制6种状态LOP5:MOV AL,2FH INC AL AND AL,07H XOR AH,AH MOV DX,AX ;DX为外层循环次数LOPZ:CALL DISP ;送显当前状态 DEC DX JNZ LOPZ INC BX ;BX控制当前送显那种状态 LOOP LOP5 JMP LOP6 ;循环结束 MAIN ENDP;-DISP PROC NEAR PUSH CX PUSH DX PUSH AX MOV BP,00AAHLOPX:XOR SI,SI MOV CX,06H;每次送显6位 MOV DX,0E800H MOV AH,BLOP2:MOV AL,MESGBX+SI OUT DX,AL MOV AL,AH ;控制显示哪一字符 INC DX OUT DX,AL DEC DX ROL AH,1 INC SI CALL DELAY ;每个字符后要调用延时子程序 CALL KEY ;调用键盘检测子程序 LOOP LOP2 DEC BP JNZ LOPX POP AX POP DX POP CX RET DISP ENDP;- KEY PROC NEAR PUSH AX MOV AH,0BH INT 21H OR AL,AL JZ GOON MOV AH,4CH INT 21HGOON:POP AX RETKEY ENDP ;-DELAY PROC PUSH AX PUSH CX MOV AX,000FHLOPD: MOV CX,0H LOOP $ DEC AX JNZ LOPD POP CX POP AX RETDELAY ENDP ;- CODE ENDS END MAIN五、实验结果在实验中实现了在DEBUG环境下控制数码管显示的功能,测试确保该实验板上的LED数码管可以正常使用。在本次实验中,编写了两段程序,第一个程序中实现了静态显示学号,而第二段程序则实现了按要求动态显示“HELLO”。六、心得体会与收获通过这次的实验,我对实验的硬件电路有了更进一步的了解,包括数码管显示电路,8255与CPU、外设的连接及编程,数码管段选连在一起,位选是独立开的,通过位选可以控制哪一个数码管亮,通过段选可以控制那个数码管显示什么,而由此引出的静态显示到动态显示更是一种实验思想,也让我们对以后的实验有了更大的期待和兴趣。实验三 8253计数器/定时器的应用一、实验目的: 学习掌握8253用作定时器的编程原理; 二、8253应用小结I8253和I8254都是可编程计数器,它们的引脚兼容,功能与使用方法相同。I8254是I8253的改进型。1微机系统定时器和实验箱定时器(1)微机系统使用的8254,其3个通道均有固定的用途:0号计数器为系统时钟源,每隔55ms向系统主8259IR0提一次中断请求;1号计数器用于动态存储器的定时刷新控制;2号计数器为系统的发声源。用户在使用微机系统的时候,可以使用0号和2号计数器,但不能改变对1号计数器的初始化。(2)实验箱上的8253,其数据线D7D0,地址线A1、A0和控制线RD、WR通过总线驱动卡和微机系统的三总线相连。除此之外,三个计数器的引出段和片选端都是悬空的,这意味着实验箱上的8253的三个计数器都归用户使用,你可以单独使用其中的一个计数器,也可以串联使用其中的2个或3个计数器。(3)8253计数器的输入信号,其频率不能超过2MHz,否则长时间使用,芯片过热,容易烧毁。28253初始化使用8253前,要进行初始化编程。初始化编程的步骤是: 向控制寄存器端口写入控制字对使用的计数器规定其使用方式等。 向使用的计数器端口写入计数初值。 38253控制字 三、实验电路 四、实验内容五、电路测试与连接测试:在Debug状态下,用“O”命令测试8353的发生功能,3组通道工作是否正常。电路连接: 8253的CS接译码器输出Y1 其地址为EE20-EE27H 8253的OUT接蜂鸣器的BELL端8253的门控信号GATE接+5V 8253的CLK端接Q7(32KHz) 清零复位电路中的T/C端接地(或接RESET端) 注意:由于8253计数速率应小于2MHz,CLK0的输入信号必须由8MHz经393分频到小于2MHz后使用。393分频之后,Q0输出为4MHz,Q1输出为2MHzQ7输出32KHz。编程提示: 18253控制端口地址为EE23H 定时器0地址为EE20H 定时器1地址为EE21H 定时器2地址为EE22H 2定时器可工作在方式3下。六、程序流程图返回DOS8253初始化检测键盘按乐谱调用子程序,发声及显示8255初始化8253初始化开始N Y发声及显示子程序流程图:返回输出设置适当的数码管段码输出设置适当的频率 七、源程序代码DATA SEGMENT ;数据段NUM dw 01fffh ;延时大小DATA ENDSSTACK SEGMENT STACKSTACKDB 100H DUP(?)STACK ENDS CODE SEGMENT ;代码段ASSUME CS:CODE, DS:DATA, SS:STACKDELAY PROC FAR ;延时子程序PUSHFPUSH CXMOV CX,NUMLOOP1: PUSH CXMOV CX,NUMLOOP2: LOOP LOOP2POP CXLOOP LOOP1POP CXPOPFRETFDELAY ENDPsingdo proc far ;音阶do的发声及显示子程序do:mov dx,0E820h ;timer0 setmov al,7Dh ;doout dx,alMOV DX,0E800H ;led showMOV AL,21H ;1OUT DX,ALCALL DELAYretfsingdo endpsingre proc far ;音阶re的发声及显示子程序re: mov dx,0E820h ;timer0 setmov al,6FH ;reout dx,alMOV DX,0E800H ;led showMOV AL,0F4H ;2OUT DX,ALCALL DELAYretfsingre endpsingmi proc far ;音阶mi的发声及显示子程序mi:mov dx,0E820h ;timer0 setmov al,64H ;miout dx,alMOV DX,0E800H ;led showMOV AL,0F1H ;3OUT DX,ALCALL DELAYretfsingmi endpsingfa proc far ;音阶fa的发声及显示子程序fa:mov dx,0E820h ;timer0 setmov al,5EH ;faout dx,alMOV DX,0E800H ;led showMOV AL,39H ;4OUT DX,ALCALL DELAYretfsingfa endpsingso proc far ;音阶so的发声及显示子程序so:mov dx,0E820h ;timer0 setmov al,53h ;soout dx,alMOV DX,0E800H ;led showMOV AL,0D9H ;5CALL DELAYretfsingso endpsingla proc far ;音阶la的发声及显示子程序la:mov dx,0E820h ;timer0 setmov al,4BH ;laout dx,alMOV DX,0E800H ;led showMOV AL,0DDH ;6OUT DX,AL CALL DELAYretfsingla endpsingti proc far ;音阶ti的发声及显示子程序mov dx,0E820h ;timer0 setmov al,43H ;tiout dx,alMOV DX,0E800H ;led showMOV AL,61H ;7OUT DX,ALCALL DELAY retfsingti endpsingdo2 proc far ;音阶高音do的发声及显示子程序mov dx,0E820h ;timer0 setmov al,3fH ;high doout dx,alMOV DX,0E800H ;led showMOV AL,23H ;1.OUT DX,ALCALL DELAYretfsingdo2 endpSTART PROC FAR ;主程序MOV AX,DATAMOV DS,AX ini:mov dx,0E823h ;8253初始化mov al,B ;分频比小于255,mode3,二进制out dx,al;8255初始化MOV DX,0E803H ;A、B口均为方式0输出MOV AL,80HOUT DX,AL ;数码管显示的准备工作MOV DX,0E801H ;设置数码管选通信号MOV AL,01HOUT DX,ALMOV DX,0E800H ;显示清零MOV AL,00HOUT DX,AL;按照乐谱依次调用音阶发声函数,奏乐call singdocall singdocall singdocall singmicall singsocall singsocall singsocall singsocall singlacall singlacall singlacall singdo2call singsocall singsocall singfacall singfacall singfacall singlacall singmicall singmicall singmicall singmicall singrecall singrecall singrecall singrecall singsomov ah,0bh ;检测键盘缓冲区int 21hOR AL,ALJNZ goonjmp inigoon: MOV DX,0E823H ;退出前送出一个控制字,使音乐停止播放 MOV AL,16H OUT DX,AL MOV AH,4CH mov ax,4c00h ;返回DOSint 21hretSTART ENDPCODE ENDSEND START八、实验心得与体会在这次实验中,我们学习了8253计数器的使用方法。我们最先了解到的是8253的初始化,包括对于计数器的选择,计数初值的输入方式,计数初值的格式,基础器工作方式等等一些内容的设置。之后通过加深对各种工作方式的理解,确定下来可以使用方式2或方式3来进行计数器的输出。因为在这两个方式下8253可以充当分频器。而在本实验中我选用了方式3,原因是方式2并非输出方波波形。根据讲义上给出的各个音符的频率,以及8253计数器的输入频率,并通过公式:(输出频率 = 输入频率 / 8253计数初值) ,我计算得到各个音阶对应的计数初值。有了以上的准备,就可以进行实际的编程了。对于乐曲的播放,选用的是逐个发出相应乐音并显示相应乐符的方法。 我选用的这种方法较为简单,但是也有一个较为明显的缺点,就是我的键盘检测子程序只有在一段音乐演奏完毕的时候才会执行,也就是说,在演奏过程中,是不会跳出程序的,而检测键盘输入时很快的一个过程,所以显得不太合适。总体来说,本实验的程序比较简单,只要按要求写入几个计数器的控制字和初值即可,只是在写入的时候要注意控制字写入同一个端口(其实8253内部会加以区分并存入不同的寄存器),但各个计数器有自己的端口,在写入计数初值时不要写错端口。而8253的时钟信号是由500KHZ信号由8MHZ时钟经74LS393分频获得。通过本实验,我了解了8253的各种工作方式的特点,由8253的编程可以延伸出很多应用(函数发生器,计数器等等)。九、实验思考题写出8253计数初值、输入频率和输出频率的关系。答:输出频率 = 输入频率 / 8253计数初值实验四 串行口8251A实验 一、实验目的 1了解串行通信的一般原理和8251A的工作原理2初步了解RS232串行口标准及与TTL电路的连接方法; 3学会扩充8251A的方法,并设计实现用8251A进行数据传输; 4掌握8251A的编程方法。二、实验内容自收自发:采用查询方式:将内存制定区域内存放的一批数据通过8251A的TXD发送出去,然后从RXD接收回来,并在屏幕上或数码管上显示出来。 如图1连接线路,即: 18MHz信号接分频器74LS393的CLK端(已接好) ,从74LS393的Q4(250kHz)接8253的CLK;T/C接地或接RESET2 2. GATE接+5V。38253的OUT和8251A的TXC、RXC相连,作为发送时钟和接收时钟; 48251A的CS和Y2相连,Y2地址为EE40-EE47H; 58253的CS和Y1相连,Y1地址为EE20-EE27H; 6用导线将TXD和RXD相接,成为自发自收方式; 7CTS端必须为低电平(实验台中已接为低电平),8251A才可想外发送信号,RTS、DTR、DSR可不用。(但实验台中RTS、DTR、DSR均已接地) 扩展:双机通信,将发送端用小键盘发送数据,接收端用数码管显示接收的数据。 连线:将发送端的TXD与接收端的RXD,将发送端的RXD与接收端的TXD,(即交叉连接),并将两台接口板的地连在一起。其余与上面连线相同。 并将RXD 和TXD 中1、2 短接实验步骤: 1按原理图连接所需连线; 2在检测连线无误的情况下,方可开启电源。3运行调试程序,发送数据被接收后应正确无误地显示出来。提示:8251A数据口地址E840H,控制口地址E841H 8253控制口地址E823H 8253通道0地址E820H 8253通道1地址E821H, 8253通道2地址E822H三、程序流程图开始8253初始化设置计数器初值8251初始化读8251状态Y允许接收接收字符并送显N NY允许发送发送字符四、源程序代码DATA SEGMENT NUM DB 1,2,3,4,5,6,7,8 ;字符数据DATA ENDSSTACK SEGMENT STACKSTACK DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AX;8253初始化MOV DX,0E823HMOV AL,16H ;HOUT DX,ALMOV DX,0E820HMOV AL,B;AL=250,Q4=250KHZ,设置计数器初值使输出频率为1KHzOUT DX,ALMOV DX,0E841H;8251初始化MOV AL,40H;H,内部复位OUT DX,ALCALL DELAYMOV AL,4EH;方式控制字OUT DX,ALCALL DELAYMOV AL,37H;命令控制字OUT DX,ALCALL DELAYMOV CX,10 ;循环变量初始化MOV SI,0LEA BX,NUM REPLY: MOV DX,0E841HIN AL,DX ;查询TEST AL,02H ;检查是否接收到新数据JNZ RECEI ;转接收TEST AL,01H ;检查是否可以发送字符JZ REPLY ;否,继续检测MOV DX,0E840H ;是,发送字符MOV AL,BX+SIOUT DX,AL ;发送数据CALL DELAYCALL DELAYINC SILOOP REPLYJMP OVERRECEI: MOV DX,0E840H;接收数据IN AL,DX ;接收字符MOV AH,02H MOV DL,AL ;DOS功能调用02H,将放入DL寄存器的字符在屏幕上显示输出INT 21HJMP REPLYOVER: MOV AH,4CH ;返回DOS系统INT 21HDELAY PROC NEAR ;延时PUSH CXMOV CX,0FFFHLOOP1: LOOP LOOP1 POP CXRETDELAY ENDP CODE ENDS END START五、思考题在实验中,你如何确定 RXC、TXC 的值,写出计算公式。答:RXC = TXC = 8253输入时钟频率 = 8251的波特率 8251的波特因子六、实验总结 在实验中,一开始的问题是不知道8251如何使用,关于8251的串行通信我们当时还没有学习,通过仔细阅读教材,了解了8251的初始化以及其控制的方法,同时也算出了8251串行通信的速率。由于在上次实验时已经使用过8253来计数了,所以对于8253的设置十分顺利,在整个实验过程中需要自己来接线,在线接好之后,整个编写程序的过程都十分顺利,能发也能收,后来发现总是有个字符接收不到,通过单步调试后发现,由于我的循环是在发出信息后面,故需要将循环次数加一才能收到最后一个字符。专心-专注-专业
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!