网站大量收购独家精品文档,联系QQ:2885784924
  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8251实验

浙江工业大学计算机学院 实 验 报 告 四 实验名称 8251实验 教 师 雷艳静 日 期 2014.12.18 一、实验内容与要求 1.1 实验内 输入 A B C D E F G H I G K L M 输出 D E F G H I G K L M N O P 输入 N O P Q R S T U V W X Y Z 输出 Q R S T U V W X Y Z A B C 要注意的是输出到Z结束之后,A,B,C三个字母没有输出,所以此处实验应该循环到字母表开始,将A,B,C输出。 1.2 实验要求 实验效果: (1)从键盘上随意输出一个字母,将其ASCII码加3后显示在屏幕上; (2)大小写要一致; (3)输入输出的字母要与表1.1一样; (4)由8253A计数器产生发送和接收时钟;由8251A的芯片功能实现自发自收。 (5)8253A的计数初值设为52,计数器0。8251A的发送数据是1个停止位,8个数据位,波特率因子为16。 二、实验原理与硬件连线 2.1 实验原理 TCP-USB平台上有一块8251A串行接口芯片。它是一种可编程的通用同步/异步接收发送器,其基本性能如下: ①可以工作在同步或异步串行通信方式。工作在同步方式时,波特率为0~64Kbout/s。工作在异步方式时,波特率为0~19.2Kbout/s。 ②具有独立的发送器和接收器,能以单工、半双工和全双工方式进行通信。 ③同步方式时,字符可选择为5~8位,可用内、外同步,自动插入同步字符。 ④异步方式时,字符可选择5~8位,波特率因子可选为1、16、64. ⑤提供基本的控制信号,可方便的与Modem相连。 8251A的内部组成中有发送器和接收器。它们可以发生/接收控制电路和管理所有的发送/接收操作。数据总线缓冲器可以使8251A与CPU之间传送数据、状态和控制信息。读写控制逻辑可以接收CPU送来的控制信号。8251A的外部引脚包括发送引脚、接收引脚,读写控制逻辑引脚。发送引脚用来发送数据,接收引脚用来接收外部数据。读写控制逻辑来控制数据的读写,这里时钟信号输入端在异步和同步两种方式的下频率的大小与波特率会有变化。 上面是8251A的硬件结构功能,通过对8251A的初始化编程,可以进行各种应用。8251A的控制字:①方式控制字,用来决定8251A工作在同步还是异步方式,以及数据格式。②操作命令字,可是8251A工作在规定的状态。③状态字,放在8251A的状态寄存器中,可由CPU读出。 2.2 硬件连线 实验中需要将8251A的方式控制字,操作命令字送到控制端口,要连接8251A芯片的端口,8251A的复位信号连接实验板上的复位信号。而实验中要8253计数器用于产生8251的发送和接收时钟,所以连接的端口是280H~287H,发送器也要相应的连接到8253的OUT端。8253芯片的时钟控制端也要与8251的时钟控制端相连。电路8251的控制口地址为2B9H,数据口地址为2B8H。8253计数器的计数初值=时钟频率/(波特率*波特率因子),这里的时钟频率为1MHz,波特率若选1200,波特率因子若选为16,则计数器初值为52。8253的GATE端输入高电平(高电平有效)。8251的VCC接高电平,GND、CTS两端接地。硬件连接图如图2.2 图2.2 三、设计思路、步骤和程序流程图 3.1 设计思路 ①首先写好数据项,将数据项送ds保存,然后设置8253A计数器0和工作方式送8253端口b(即283H)保存。给8253计数器0送初值,计数器初值为52,8253A初始化完成。 ②初始化8251,8251端口b(即2B9H)送dx保存。将al清0,以便之后数据送入。向8251控制端口送3个0,完成8251初始化。 ③写8251的发送程序:首先向8251控制端口送40H,使其复位。设置停止位,数据位,波特率因子。由实验要求可知设置为1个停止位,8个数据位,波特率因子为16。 ④向8251发送控制字允许其发送和接收,调用子程序out发送数据。显示提示信息。(这里lds指令是从存储器取出32位地址.),out子程序:向外发送字节的子程序 ⑤发送程序:从8251端口b读取设备状态。利用test指令检测发送是否准备好。(测试第0位是否为1

您可能关注的文档

文档评论(0)

peain + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档