实验八 8250可编程通信实验实验八 8250可编程通信实验.doc

实验八 8250可编程通信实验实验八 8250可编程通信实验.doc

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

实验八 8250可编程通信实验(与微机) 一、实验目的 了解8250的内部结构、工作原理;了解8250与PCI9052的接口逻辑;掌握对8250的初始化编程方法,学会使用8250实现设备之间的串行通信。 二、实验内容及要求 1、编写程序:通过初始化8250,设置波特率为4800bps(或其它,但与微机部分一致),数据格式为8数据位,1停止位,偶校验;然后打开PC机的串行通信测试软件,向8250发送一批数据,8250接收完数据之后,再将数据依次发送回去。 2、按图连线,运行程序,观察实验结果,掌握8250的各项功能及编程方法。 三、实验电路 四、试验程序与流程图 .MODEL TINY PCIBAR3 EQU 1CH ;8位I/O空间基地址(它就是实验仪的基地址, ;也为DMA 32 BIT RAM板卡上的8237提供基地址) Vendor_ID EQU 10EBH ;厂商ID号 Device_ID EQU 8376 ;设备ID号 .STACK 100 .DATA Receive_Buffer DB 10 DUP(0) ;接受缓冲器 Send_Buffer EQU Receive_Buffer ;发送缓冲器 RHR DW 00f0H ;接收数据缓冲区 THR DW 00f0H ;发送数据缓冲区 IER DW 00f1H ;中断控制寄存器 FCR DW 00f2H ;FIFO控制寄存器 ISR DW 00f2H ;中断状态寄存器 LCR DW 00f3H ;串行口控制寄存器 MCR DW 00f4H ;MODEM控制寄存器 LSR DW 00f5H ;串行口状态寄存器 MSR DW 00f6H ;MODEM状态寄存器 DLL DW 00f0H ;波特率除数锁存器低位 DLM DW 00f1H ;波特率除数锁存器高位 ADR DW 00E0H ;用于清除PCI9052上一次写操作产生的地址 IO_Bit8_BaseAddress DW ? msg0 DB ‘BIOS不支持访问PCI $’ msg1 DB ‘找不到Star PCI9052板卡 $’ msg2 DB ‘读8位I/O空间基地址时出错$’ .CODE START: MOV AX,@DATA MOV DS,AX NOP CALL InitPCI CALL ModifyAddress ;根据PCI提供的基地址,将偏移地址转化为实地址 CALL INIT8250 START2: MOV CX,10 ;接收数据(接收完设定的数据个数) CALL RECEIVE_GROUP MOV CX,10 ;发送数据(发完设定的数据个数) CALL SEND_GROUP JC WARNING1 CALL IfExit JZ START2 JMP Exit WARNING1: JMP Exit ;*************发送一组字符子程序,个数在CX中*********** Send_Group PROC NEAR LEA SI,Send_Buffer Send_Group1: LODSB CALL Send_Byte JC Send_Group2 LOOP Send_Group1 CLC Send_Group2: RET Send_Group ENDP ;*************接收一组字符子程序,存放首地址在DPTR中,个数在R6R7中*********** Receive_Group PROC NEAR MOV DX,ADR OUT DX,AL ;用于清除PCI9052上一次写操作产生的地址 LEA DI,Receive_Buffer Receive_Group1: CALL Receive_Byte STOSB LOOP Receive_Group1 CLC RET Receive_Group ENDP INIT8250 PROC NEAR MOV DX,ISR MOV AL,06H OUT DX,AL MOV DX,LCR MOV AL,83H ;允许访问波特率因子寄存器 OUT DX,AL MOV DX,DLL MOV AL,40 ;除法除数低位寄存器,波特率设为 ;4800=(3.072*1000000/16)/DLMDLL OUT DX,AL MOV DX,DLM ;00H送高字节寄存器 MO

文档评论(0)

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

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

1亿VIP精品文档

相关文档