ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:422.37KB ,
资源ID:10751783      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10751783.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(8251A串行通信实验.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

8251A串行通信实验.docx

1、8251A串行通信实验8251A串行通信实验 8251A串行通信实验 xxxxxxxxxxx一、实验目的1.理解一部串行通信的基本原理;2.掌握可编程串行接口芯片8251的工作原理和编程方法。二、实验内容1.异步串行自发自收实验(1)使用8251A发送固定二进制数再接收回来,将收到的数加1后显示在LED上。(2)通信协议:异步,波特率为4800bps,波特因子为16,8位数据位,1位停止位,无奇偶校验;(3)采用查询方式实现。2RS-232通信实验:(1)PC机与试验箱通过串行进行通信,PC机向实验箱发送字符,实验箱上的8521A接收到字符后再原样发回PC机;(2)通讯协议自定;(3)采用中断

2、方式实现。三、实验环境1.硬件:GX-8000实验箱,USB电缆,自锁(3)在对8251A进行初始化操作前必须确保其可靠复位,方法是:向8251A控制口连续写入三个0,然后再写入复位命令字40H。注意:对8251A的控制口进行一次写操作,需要16个时钟信号的写恢复时间。参考代码如下:其中,DELAY用于实现延时,其定义如下:(4)在程序设计过程中,可以使用单步调试,通过观察程序运行过程中寄存器值的变化调试程序错误,也可以进一步理解8251A的控制原理。(5)程序如下:DATASEGMENT;数据段DATAENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATASTART

3、:MOVDX,28BH;初始化8253MOVAL,00010110BOUTDX,ALMOVDX,288H MOVAX,13OUTDX,ALMOVAL,80H;初始化8255MOVDX,283HOUTDX,ALMOVDX,299H;8251A的控制口地址MOVAL,0 OUTDX,AL;想8251A的控制口写0CALLDELAY;延时MOVAL,0 OUTDX,AL;想8251A的控制口写0CALLDELAYMOVAL,0OUTDX,AL;向8251A的控制口写0CALLDELAYMOVAL,40H写复位命令OUTDX,ALCALLDELAYMOVDX,299H;初始化8251MOVAL,010

4、01110BOUTDX,ALCALLDELAYMOVDX,299HMOVAL,00010111BOUTDX,ALCALLDELAYMOVDI,3000H;指针初值MOVCX,000AH;接收数据个数A1: MOVDX,299HINAL,DX;TxRDY=1?TESTAL,01HJZA1MOVDX,298HINAL,DX;8251数据口读入数据MOVDX,CXMOVCL,9;发送数MOVAL,CLOUTDX,ALMOVDX,299HA2:INAL,DX;RxRDY=1?TESTAL,02HJZA2MOVDX,298HINAL,DXINCCLMOVDX,280HMOVAL,CLOUTDX,ALJM

5、PA1DELAYPROCMOVCX,02HLOOP$RETDELAYENDPCODEENDSENDSTART2.RS-232通信试验(1)8251A要实现与PC通信,需要通过RS-232模块将TTL电平信号转换为RS-232电平信号。部分参考连线如图所示。(2)本实验要求8251A采用中断方式与CPU交换数据,因而需要将8251A的RxRDY(第十四脚)信号连接到8259A的中断请求输入引脚上。当8251A接收到PC串口发来的字符时,RxRDY有效,向CPU发出中断请求。(3)PC端对串口的发送和接收操作可使用超级中断实现,其操作方法如下。a.依次点击“开始”“所有程序”“附件”“通讯”“超级

6、终端”,弹出如图3.21所示窗口,在新建链接对话框中输入链接的名称,点击“确定”。b.在“连接到”对话框选择连接时使用的端口“COM1”,点击“确定”,如图3.22所示。c.设置COM1端口属性,如图3.23所示。d.参考图3.20连线,下载并运行通信程序,可以看到如图3.24所示的运行结果,键盘输入的字符经串口发出去后又成功地接收回来,并显示在了窗口中。(4)由于程序需要用中断方式实现收发两种功能,建议编程调试时由易到难,先在上一个实验的基础上实现查询方式下的串口收发,然后再修改为中断方式。(5)程序如下所示:STACKSSEGMENTSTACK;堆栈段STADW128DUP(?)STACK

7、SENDSDATASEGMENT;数据段DATAENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATA,SS:STACKSSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKSMOVSS,AXCLI;关中断MOVAL,00010011B中断请求高有效,一片8259A,ICW1MOVDX,290HOUTDX,ALMOVAL,18H;ICW2MOVDX,291HOUTDX,ALMOVAL,0DH;ICW4MOVDX,291HOUTDX,ALMOVDX,291HINAL,DX;初始化主片,读OCW1,中断屏蔽控制字,奇地址MOVAL,11111110BMO

8、VDX,291HOUTDX,AL;OCW1MOVAX,0MOVES,AXMOVDI,00011000BSHLDI,1SHLDI,1MOVBX,SEGISR;设置中断向量MOVDS,AXMOVAX,OFFSETISRMOVES:DI,AXMOVES:DI+2,BXMOVDX,28BH;初始化8253MOVAL,00010110BOUTDX,ALMOVDX,288HMOVAX,13OUTDX,ALMOVDX,299H;8251A的控制口地址MOVAL,0OUTDX,AL;想8251A的控制口写0CALLDELAY;延时MOVAL,0OUTDX,AL;想8251A的控制口写0CALLDELAYMOV

9、AL,0OUTDX,AL;向8251A的控制口写0CALLDELAYMOVAL,40H;写复位命令OUTDX,ALCALLDELAYMOVDX,299H;初始化8251MOVAL,01001110BOUTDX,ALCALLDELAYMOVDX,299HMOVAL,00010111BOUTDX,ALCALLDELAYMOVDI,3000H;指针初值CX,000AH;接收数据个数MOVDX,298HINAL,DX;8251数据口读入数据MOVDX,CXMOVCL,123;发送数MOVAL,CLOUTDX,ALSTIA2:JMPA2DELAYPROCMOVCX,02HLOOP$RETDELAYENDPISRPROC;中断服务子程序PUSHAXPUSHDXSTI;开中断MOVDX,298HINAL,DXMOVCL,ALA1:MOVDX,299HINAL,DX;TxRDY=1?TESTAL,01HJZA1MOVDX,298HMOVAL,CLOUTDX,ALCLI;关中断MOVDX,290H;写OCW2,送中断结束命令EOIMOVAL,20HOUTDX,ALPOPDXPOPAXIRET;中断返回ISRENDPCODEENDSENDSTART

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1