欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    微机接口 8251串口实验报告.doc

    • 资源ID:2387836       资源大小:816.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机接口 8251串口实验报告.doc

    浙江工业大学计算机学院实 验 报 告实验名称 8251串行接口 姓 名 学 号 班 级 教 师 日 期 一、实验内容与要求1.1 实验内容了解串行通信接口的工作原理和工作过程,掌握编写初始化程序和通信程序的方法。设计实验电路,编写实验程序,使实现从键盘输入“a”到“z”范围的字母,将其ASCII码加四后串行发送出去,再从串行口接收回来在屏幕上显示(若输入“w”、“x”、“y”、“z”,则分别显示“a”、“b”、“c”、“d”),实现自发自收。1.2 实验要求(1) 具有一定的汇编编程的基础,实验前能根据实验要求画出实验流程图,同时写出其所对应代码;(2) 要了解8251A中断控制器的内部结构和外部引脚,理解芯片的工作原理和工作过程。熟悉8251A芯片的命令字,能对其进行编程;(3) 了解8253A定时/计数器,知道如何通过其计数器产生发送和接收时钟;(4) 熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接好实验电路;(5) 连接PC与TPC-USB平台,用微机实验软件运行程序。在屏幕上显示提示信息“Please input a letter!”,从键盘输入“a”到“z”范围的字母,将其ASCII码加四后串行发送出去,再从串行口接收回来在屏幕上显示。若输入“w”“x”、“y”、“z”,则分别显示“a”、“b”、“c”、“d”;若输入Esc,则退出程序。二、实验原理与硬件连线2.1 实验原理(1)8251A的内部结构:图1 8251的内部结构图发送器: 发送缓冲器 + 发送移位寄存器 + 发送控制电路。发送控制电路用来控制和管理发送过程。在其控制下,发送缓冲器将来自CPU的并行数据串行化,通过TxD发送出去。 异步方式:控制电路在数据帧中加上起始、校验和停止位。 同步方式:控制电路在数据帧中插入同步字符和校验位。 同步方式发送过程中,两字符间不允许有间隔。若CPU未及时提供新字符,则控制电路自动补上同步字符。接收器: 接收缓冲器 + 接收移位寄存器 + 接收控制电路。接收控制电路用来控制和管理接收过程。在其管理下,接收器从RxD上接收串行数据,并行化后存入接收缓冲器。 异步方式:8251监视RxD线。当发现时,开始接收一帧数据。经校验后剔除起始位和停止位等,将有效信息转换为并行数据存入接收缓冲器。 同步方式:8251监视RxD线,依次对数据移位。每收到一位,都将接收寄存器与同步字符比较。若不等,则移入下一位继续比较;若相等,则表示搜索到同步字符,SYNDET=1。这时在RxC的同步下移位RxD上的数据,并将其组装成并行数据,送入接收缓冲器。数据总线缓冲器: 8位三态双向缓冲区,用于在CPU与8251之间传送数据、状态和控制信息。读/写控制逻辑: 对CS, RD, WR, C/D等信号进行译码,以确定8251的操作。Modem控制: 在远距离通信时,该电路提供了与Modem联络的信号;在近距离串行通信时,该电路提供了与外设联络的应答信号。(2)8251A的编程:方式命令字:指定8251A的通信方式 (同步、异步)及其约定的数据帧格式。初始化时使用。实验时的方式控制字为:MOV AL,01001110B=4eH 操作命令字: 指定8251A进行何种操作(发送、接收、内部复位等); 设置某种工作状态,以便接收和发送数据。实验时的操作命令字为:MOV AL,00100111B=27H状态字:报告8251A何时可发送和接收数据,以及接收的数据有无错误。实验中通过:IN AL,DX 读取8251的状态字,再由TEXT AL,0Xh来检验某些位是否达到要求。(3)8251A的初始化编程:注意:在接通电源是,8251A能通过硬件电路自动进入复位状态,但不能保证总是正确地复位。为了保证在设置方式字和命令字之前已经正确复位,一般可以先向8251A的控制口连续写入3个全0,然后再向该端口写入一个是D6位为1的复位命令字(40H),使8251A可靠复位。2.2 硬件连线 实验连线图如下图2所示:图2 TPC-USB平台串行实验连接图三、设计思路、步骤和程序流程图3.1 设计思路本实验要求从键盘输入“a”到“z”范围的字母,将其ASCII码加四后串行发送出去,再从串行口接收回来在屏幕上显示(若输入“w”、“x”、“y”、“z”,则分别显示“a”、“b”、“c”、“d”),实现自发自收。所以要采用一个8251A串行接口芯片。而在串行通信中,无论发送还是接收数据,都必须有时钟脉冲信号对传送的数据进行定位和同步控制。所以还需要8253计数器用来产生8251的发送和接收时钟。了解了两个芯片的工作原理和编程,掌握串行通信接口的工作原理和工作过程后,画出程序流程图,根据流程图编写出程序,最后连接好实验电路,运行程序,观察实验结果是否与预期的一样。3.2 实验步骤(1) 按图2连接好电路(8251插在通用板上)。 其中8253计数器用来产生8251的发送和接收时钟,TxD和RxD连在一起。图示电路8251的控制口地址为2B9H,数据口地址为2B8H。8253计数器初值=时钟频率/(波特率*波特率因子),这里的时钟频率为1MHz,波特率若选1200,波特率因子若选为16,则计数器初值为52。(2) 根据实验流程图,编程并运行。(3) 从键盘输入字符,观察屏幕显示的结果。3.3 程序流程图图3 TPC-USB平台串行实验流程图四、程序清单与执行结果4.1 程序清单DATA SEGMENT MESS1 DB 'Please input a word!', 0AH,0DH,'$' MESS2 DB 'Please input the word between a and z',0AH,0DH,'$'DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA ;将DS指向输出端 MOV DS,AX MOV DX,283H ;8253初始化 MOV AL,16H ;设置8253计数器0工作在方式3 OUT DX,AL MOV DX,280H MOV AL,52 OUT DX,AL ;送计数初值到计数器0的端口 MOV DX,2B9H ;8251初始化 MOV BL,3 MOV AL,00HLL: OUT DX,AL ;向8251控制口连续发送3个0 DEC BL JNZ LL MOV AL,40H ;向8251控制口送复位命令字 OUT DX,AL MOV AL,4eH ;向8251控制口送方式控制字 OUT DX,AL MOV AL,27H ;向8251控制口送操作命令字 OUT DX,AL MOV DX,OFFSET MESS1 ;显示提示 MOV AH,09H INT 21HWAIT1: MOV DX,2B9H ;从8251控制口读状态字 IN AL,DX TEST AL,01 ;测试AL中第0位是否为0 JZ WAIT1 ;为0则跳转 L1: MOV AH,01 ;从键盘上读入一个字符 INT 21H CMP AL,27 ;若为ESC,则结束(ESC的ASCII码为27) JZ EXIT CMP AL,97 ;判断是否小于“a” JB L2 CMP AL,123 ;判断是否大于“z” JAE L2 CMP AL,119 ;判断是否大于“w” JAE L3 MOV DX,2B8H ADD AL,4 OUT DX,AL ;将加4后的ASCII码发送到8251数据端口 MOV CX,40HDELAY: LOOP DELAY ;延时WAIT2: MOV DX,2B9H ;从8251控制口读状态字 IN AL,DX TEST AL,02 ;测试AL中第1位是否为0 JZ WAIT2 ;为0则跳转 MOV DX,2B8H ;从8251数据口接收数据 IN AL,DX MOV DL,AL MOV AH,02 ;在屏幕上显示接收的字符 INT 21H JMP WAIT1EXIT: MOV AH,4CH ;退出 INT 21HL2: MOV DX,OFFSET MESS2 ;显示提示信息 MOV AH,09 INT 21H JMP L1L3: MOV DX,2B8H ;若为w,x,y,z,ASCII码减22,变为a,b,c,d SUB AL,22 OUT DX,AL JMP WAIT2CODE ENDSEND START4.2 执行结果(1)电路连线图:图4 实验电路连线图(2)实验结果截图:图5 实验截图五、程序调试说明和实验感想5.1 调试说明(1)因为这次实验的连线特别多,而且复杂,再加上我在连线的时候比较粗心(因为以前实验的连线都比较简单,导致自己一直对实验的连线不太在意)导致我把8251的端口地址连错了,所以我在实验刚开始输出的时候输出的是一些完全没有规律的字符,后来在尝试了所有代码可能错误的情况以及找助教帮忙仍然没有结果时,我再认真看了一遍书上的实验指导之后,无意间瞄到电路连线的端口地址接错了,在重新确认连线是否有误之后,重新运行程序,实验结果才比较正常。(2)因为实验之前老师没有和我说清楚在输入不同范围的字符时,要分开处理。所以我一开始只按照书上的流程图来写的代码。到开始实验时,我才按照老师的要求来改代码,不过因为是临时插入的,我把判断语句放的位置不大对,先加4了,再开始判断,导致在关键位置进行输出变换时老是出错。后来在同组同学提醒下,才发现是我把简单的事搞复杂了。5.2 实验感想与收获在做硬件实验时,实验电路连线十分重要,不能因为书上的实验指导已经给出答案就粗心大意,电路连线是一个实验的基础,如果连线出错,那这个实验注定是要失败的。通过这次实验,我对于8251A的工作原理以及串行通信的原理有了更进一步的了解,掌握了8251A的初始化编程,同时我的汇编编程能力也在稳步提升。5.3 实验特色不再是书上的简单的加1输出,实现了在某一范围内的循环输出。5.4 展望说明如果有充裕的时间,自己还可以加入更多的判断条件,实现数字、大写字母或者三者之间的变换输出。

    注意事项

    本文(微机接口 8251串口实验报告.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开