北邮微原硬件实验(5)

2020-02-21 22:56

【四.串行通讯接口8251实验】

实验十六串行通讯8251 一、 实验目的

1、了解串行通讯的基本原理。

2、掌握串行接口芯片8251的工作原理和编程方法。

二、 实验原理和内容

基础功能:

1、按图4-16-1连接好电路,(8251插通用插座)其中8254计数器用于产生8251的发送和接收时钟,TXD和RXD连在一起。

2、编程: 从键盘输入一个字符,将其ASCII码加 1 后发送出去,再接收回来在屏幕上显示,(或将内存制定区域内存放的一批数据通过8251A的TXD发送出去,然后从RXD接收回来,并在屏幕上或数码管上显示出来。)实现自发自收。 扩展功能:

双机通信,将发送端用小键盘发送数据,接收端用数码管显示接收的数据。

三、 硬件接线图及软件程序流程图

1. 硬件接线图(引用讲义)

2.软件程序流程图(引用讲义)

四、 源程序

DATA SEGMENT

STRING DB 'TRANSLATE ','$' STRING1 DB 'RECEIVE ','$' STRING2 DB 0DH,0AH,'$'

DATA ENDS

STACK SEGMENT STACK 'SATCK' DB 100 DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

;延时子程序

DELAY PROC NEAR PUSH CX

MOV CX,100H WAIT0: LOOP WAIT0 POP CX RET DELAY ENDP ;开始

START: MOV MOV ;8254初始化

MOV MOV OUT CALL DELAY

MOV MOV OUT CALL DELAY 初始化

MOV MOV OUT NOP

CALL DELAY

MOV OUT MOV OUT CALL DELAY

发送数据

GOON: MOV IN TEST JZ

;显示提示语句

MOV MOV INT

MOV AX,DATA DS,AX DX,283H

AL,16H ;0号计数器,读低字节,方式3 DX,AL DX,280H ;计数器地址为280H,计数初值为52 AL,34H DX,AL DX,2B9H ;控制端口 AL,40H ;内部复位命令 DX,AL AL,5EH ;方式控制字(01011110) DX,AL

AL,37H ;命令控制字(00110111) DX,AL DX,2B9H ;读状态字 AL,DX AL,01H

GOON;缓冲区为空显示提示语句否则继续检测 AH,09H

DX,OFFSET STRING 21H AH,01H

;8251; INT 21H ;检测是否为ESC键

CMP AL,1BH JZ EXIT INC AL;加1

MOV DX,2B8H OUT DX,AL

;接收数据

RECEIVE: MOV DX,2B9H IN AL,DX TEST AL,02H JZ RECEIVE

;显示提示语句

MOV AH,09H

MOV DX,OFFSET STRING2 INT 21H MOV AH,09H

MOV DX,OFFSET STRING1 INT 21H

MOV DX,2B8H

IN AL,DX MOV DL,AL

MOV AH,02H ;显示接收的数据 INT 21H MOV AH,09H

MOV DX,OFFSET STRING2 INT 21H

JMP GOON

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS END START

五、 实验结果

键盘输入后加一发送,在屏幕上显示对应输入字符ASCII码加一后的字符,如:输入a显示b,输入1显示2。按ESC键后退出。

六、 实验总结

1.8254初始化选0号计数器,只写读写低8位,选择方式3,计数初值

为二进制;

2.方式控制字的确定如下图,异步方式、1个停止位、奇校验位,、8位数据、波特因子为16,故为5EH;

3.命令控制字的确定重点在于接收和发送都允许;

4.接收和发送数据前先检查状态字,看缓冲区是否为空; 5.单机通信中控制字后需要加入延时程序

七、 实验收获与心得体会

通过本次试验,让我对8251有了更深的了解。可以将书本上的理论应用到实际,更加充分的理解了芯片的原理及其使用。 本次试验中双机通信的扩展内容调试了很长时间,数码管必须等接收方按键后才可显示,无法做到实时显示故没有贴出代码,希望以后能有机会改进。

通过这四次实验,我在编程、调试、实验的过程中对于汇编语言有了更深的了解,对于微原课本上的原理理论也有了更好的理解。

最后,谢谢老师给予的指导,希望有机会能更多的接触此类实验。

八、 思考题

在实验中,你如何确定RxC,TxC的值,写出计算公式

答:RXC=TXC=8253输出时钟频率=8251波特率*波特率因子


北邮微原硬件实验(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:聪明的使者

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: