您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页串行通讯

串行通讯

来源:筏尚旅游网
《微机实验及课程设计》实验指导书

实验七 串行通信

一.实验目的

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

(2) 掌握串行接口芯片i8251A的工作原理和典型编程方法。

二.实验环境

1. 硬件环境

微型计算机(Intel x86系列CPU)一台,清华科教仪器厂TPC-2003A微机接口实验装置一台;扩充

i8251芯片一片;数字记忆示波器一台.

2. 软件环境

(1)Windows XP操作系统,编辑、汇编、链接和调试程序; (2)PC2003A集成开发环境软件一套及实验装置电子版资料

三.基本实验

1.基本实验内容和要求

(1) 按图7.1 连接好电路,(8251插在带锁通用插座D上), 其中8253计数器用于产生8251的发送和接

收时钟, TXD和RXD直接相连,用示波器观察串行发送传输过程 (注意: 实验装置未采用MC1488/14或ICL232 等长线收发器, 故有关RS232/422等电平标准及转换内容可自行参考相关资料) 。修改格式控制字,观察串行信号变化。

(2) 编程实现从键盘输入一个字符, 将其ASCII码加 1 后发送出去,再接收回来在屏幕上显示。实现自

发自收。

2.编程提示

图7.1 串行接口芯片8251收发电路

(1) 图7.1电路8251的控制口地址为2B9H,数据口地址为2B8H。

(3) 8253计数器的计数初值=时钟频率 /(波特率×波特率因子),这里的时钟频率接脉冲源

1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。 (3) 收发采用查询方式。参考流程图(见图7.2)

39

《微机实验及课程设计》实验指导书

3.参考程序1:

程序名:E8251.ASM

data segment

ioport equ 0d400h-0280h io8253a equ ioport+280h io8253b equ ioport+283h io8251a equ ioport+2b8h io8251b equ ioport+2b9h

mes1 db 'you can play a key on the keybord!',0dh,0ah,24h mes2 dd mes1 data ends

SSEG SEGMENT STACK DW 256 DUP(?) SSEG ENDS code segment assume cs:code,ds:data main PROC FAR start: mov ax,data mov ds,ax

mov dx,io8253b ;设置8253计数器0工作方式 mov al,16h out dx,al mov dx,io8253a

mov al,52 ;给8253计数器0送初值 out dx,al

mov dx,io8251b ;初始化8251

mov cx,03 ;向8251控制端口送3个0 xor al,al delay: call out1 loop delay

mov al,40h ;向8251控制端口送40H,使其复位 call out1

mov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16 call out1

mov al,27h ;向8251送控制字允许其发送和接收 call out1

lds dx,mes2 ;显示提示信息

开 始初始化8253初始化8251显示提示从8251控制口读状态字NTxRDY为1吗?Y从键盘接收字符Y结 束是ESC吗?N将键入字符ASC码加1通过8251数据端口发送字符从8251控制端口读入状态字DxRDY为1吗?YN从8251数据口接收数据将字符显示在屏幕上图7.2 8251通信查询程序流程图 mov ah,09 int 21h waiti: mov dx,io8251b in al,dx

test al,01 ;发送是否准备好 jz waiti

40

《微机实验及课程设计》实验指导书

mov ah,01 ;是,从键盘上读一字符 cmp al,27 ;若为ESC,结束

int 21h jz exit mov dx,io8251a inc al

out dx,al ;发送 mov cx,0F00h s51: loop s51 ;延时 next: mov dx,io8251b in al,dx

test al,02 ;检查接收是否准备好 jz next ;没有,等待 in al,dx ;准备好,接收

;如果需要处理,如加1

mov dx,io8251a ; inc al

mov dl,al

mov ah,02 ;将接收到的字符显示在屏幕上 int 21h jmp waiti

exit: mov ah,4ch ;退出 int 21h main ENDP

out1 proc near ;向外发送一字节的子程序 out dx,al push cx

mov cx,0F00h

gg: loop gg ;延时 pop cx ret

out1 endp code ends end start

四. 选作与探索

1. 该自发自收程序采用了阻塞式查询方式,极易出现死锁,分析基本实验参考流程和程序,确定原因,

修改程序结构,并编程实现;

2. 分析一下,实验系统中握手信号如CTS,RTS,等如何起作用的;

3. 实验系统中采用输入输出最简单的程序方法,为提高效率,试将程序改成接收中断方式,编写程序并

调试通过;

4. 设计采用收发均为中断方式的通信程序,连续收发有关信息,编写程序并调试通过; (提示:需设计采

用收发缓冲区)

41

《微机实验及课程设计》实验指导书

五.实验预习与实验报告

1.实验前阅读基本实验指示书和装置介绍,掌握8251初始化和工作方法,编写基本程序。 2.实验报告说明基本原理和电路分析,以及实验结果和分析,说明使用、测试方法。 3. 选做实验方案及内容讨论。

六.参考资料

设备实验指示书 预备实验1: PCI设备查询和配置空间的读取 实验三 实验十四实验九

42

可编程定时器/计数器(8253)

串行通讯 中断

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务