微机接口技术实验报告串行接口(华科)_第1页
微机接口技术实验报告串行接口(华科)_第2页
微机接口技术实验报告串行接口(华科)_第3页
微机接口技术实验报告串行接口(华科)_第4页
微机接口技术实验报告串行接口(华科)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机接口技术实验报告串行接口实验 系别:计算机科学与技术完成时间:2012-5-15一、实验目的1、熟悉串行接口芯片8251的工作原理2、掌握串行通讯接收/发送程序的设计方法二、实验内容及要求通过对8251芯片的编程,使得实验台上的串行通讯接口(RS232)以查询方式实现信息在双机上的。具体过程如下: 1.从A电脑键盘上输入一个字符,将其通过8251数据口发送,并在B电脑上的8251数据口接收到这个字符,然后在B电脑屏幕上显示。2.将在第一次实验程序与前面双机通信程序组合在一起,从A试验箱上使用开关控制B试验箱上的步进电机转动,而从B试验箱上使用开关控制A试验箱上的扬声器模拟电子琴发声,实现双机双向控制。三、实验原理1、串行接口串行传输是在一根传输线上一位一位的传输,这根线即作为数据线又作为联络线。串行传输的数据格式有固定要求,即分异步和同步数据格式。串行通信中对信号的逻辑定义与TTL不兼容,因此,需要进行逻辑关系与逻辑电平转换。串行传输方式有三种不同的方向性结构,单工、半双工和全双工。单工数据只支持数据在一个方向上传输半双工数据传输允许数据在两个方向上传输,但是,同一时刻只允许数据在一个方向上传输;全双工数据传输允许数据同时在两个方向上传输,它要求发送设备和接收设备都具备独立的接收和发送功能。串行通信的基本方式包括异步串行通信方式和同步串行通信方式。前者是以字符为信息单位进行传输,后者是以数据块为单位进行传输。2、可编程串行接口芯片82518251是用来作为CPU与外设或者调制解调器之间的接口芯片。它的信号线可以分为4组:与CPU连接的信号线,状态信号线,时钟信号线和与外设接口的信号线。与CPU连接的信号线中,RESET是芯片复位线,当该线为高电平时,芯片复位而处于空闲状态;C/D是地址线,若此线为高电平,则CPU访问8251命令寄存器或状态寄存器,低电平则访问数据寄存器。状态信号线供CPU查询或向CPU申请中断用。TxRDY发送准备好信号,高电平有效;RxRDY接收准备好信号,高电平表示输入端接受了一个字符,通知CPU取数据;TxE发送空信号,高电平有效;SYNDET为双功能引脚,同步方式时作为同步字符检出信号。时钟信号线包括发送器时钟信号(/TxC)、接收器时钟信号(/RxC)和内部工作时钟信号CLK。面向调制器的接口信号线包括:/DTR,数据终端准备好,是输出信号,低电平有效;/DSR,通信设备准备好,是输入信号,低电平有效;/RTS,请求发送,是输出信号,低电平有效;/CTS,允许发送,是输入信号,低电平有效;TxD,发送数据线;RxD,接收数据线。8251有两个8位的命令字,和一个8位状态字。方式命令字指定通信方式及数据格式,即指定8251为异步或同步,并按照其通信方式约定帧数据的格式。方式命令字的格式为8位,可以分为4组,每组2字,格式如下。工作命令字指定8251进行某种操作,包括发送、接收、内部复位和检查同步字符等,或者处于某种工作状态,以便接收或发送数据。工作命令字的格式为8位,格式如下。状态字报告8251何时才能开始接收或发送数据,以及接收数据是否有错。状态字为8位,其格式如下,所有状态位置“1”有效。方式命令字、工作命令字和状态字之间的关系是:方式命令字只是约定了双方通信的方式及数据格式、传输速率等参数,但并没有规定数据传输的方向是接受还是发送,因此需要工作命令字来控制,而何时才能发送或者接收则由状态字控制。只有在8251进入发送或接受准备好状态才能真正开始数据的传送。3、实验流程图与接线图发送接受流程图该实验一内容的接线方式如下。8253连线:1.280^287H连接到8253~CS2.GATE0接+5V3.CLK0接1MHZ时4.8253的OUT0接到8251的TXCLK和RXCLK8255连线:1.298H^29FH连接到8251~CS2.A电脑的RXD8251连接到B电脑的TXD82513.B电脑的RXD8251连接到A电脑的TXD82514.A和B电脑的GND相连接四、实验源代码实验一代码:datasegmentp55aequ288h;8255aportoutputp55cequ28ah;8255cportinputp55ctlequ28bh;8255coutrlportio8253aequ280hio8253bequ283hio8251aequ2b8hio8251bequ2b9hmes1db'youcanplayakeyonthekeybord!',0dh,0ah,24hmes2ddmes1bufdb33hdataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdx,io8253b;设置8253计数器0工作方式moval,16houtdx,almovdx,io8253amoval,52;给8253计数器0送初值outdx,almovdx,io8251b;初始化8251xoral,almovcx,03;向8251控制端口送3个0;设置8255为a输出,,c输入movdx,p55ctlmoval,89houtdx,aldelay:callout1loopdelaymoval,40h;向8251控制端口送40H,使其复位callout1moval,4eh;设置为1个停止位,8个数据位,波特率因子为16callout1moval,27h;向8251送控制字允许其发送和接收callout1ldsdx,mes2;显示提示信息movah,09int21hwaiti:movdx,io8251binal,dxtestal,01;发送是否准备好jzczsmovdx,p55cinal,dxmovdx,io8251aoutdx,al;发送czs:movcx,40hs51:loops51;延时next:movdx,io8251binal,dxtestal,02;检查接收是否准备好jzwaiti;没有,等待movdx,io8251ainal,dx;准备好,接收movdx,p55amoval,bufoutdx,al;是否启动testal,04hjzwaiti;是否正转testal,01hjnzzx;反转pushaxmoval,bufroral,1movbuf,almovbx,0popaxjmptk;正转zx:pushaxmoval,bufrolal,1movbuf,almovbx,1popax;快慢?tk:testal,02hjnzk;慢movbl,0ffhjmpdelayt;快k:movbl,80h;时延delayt:delay1:movcx,0fffhdelay2:loopdelay2decbljnzdelay1moval,0houtdx,al;写a口数据movdx,p55amoval,33houtdx,aljmpwaitiexit:movah,4ch;退出int21hout1procnear;向外发送一字节的子程序outdx,alpushcxmovcx,40hgg:loopgg;延时popcxretout1endpcodeendsendstart五、实验体会本次试验中,我们只完成了第一项内容,即两个机器之间的单字符通信,剩下的一项内容未能实现,即通过不同的主机控制步进电机的不同运行状态。本次实验,提供了一个例子,是一个自发自收的串行通讯程序。而第一项的内容则是通过对8251芯片的编程,使得实验台上的串行通讯接口以查询方式实现信息在双机上的通讯,即从A电脑键盘上输入一个字符,将其通过8251数据口发送,并在B电脑上的8251数据口接收到这个字符,然后在B电脑屏幕上显示。这两个的区别就在于,循环的方式不一样了。前者,由于是自发自收,故准备好后发一个,发一个后准备好接收后再接收一个,这就是一个循环。而后者是看你有没

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论