- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第08章节串行输入输出接口
;允许访问除数寄存器 MOV DX,MY16550_3 MOV AL,80H OUT DX,AL CALL DALLY ;波特率9600 ;波特率=1.8432/(波特率因子×16) MOV DX,MY16550_0 ;波特率低8位 MOV AL,0CH OUT DX,AL CALL DALLY MOV DX,MY16550_1 ;波特率高8位 MOV AL,00H OUT DX,AL CALL DALLY ; 工作方式选择 MOV DX,MY16550_3 MOV AL,1BH ;偶校验, 1位停止位, 8位数据 OUT DX,AL CALL DALLY ; modem设置 MOV DX,MY16550_4 ;MCR MOV AL,03H ;RTS, DTR有效 OUT DX,AL CALL DALLY ; 中断设置 MOV DX,MY16550_1 ; 中断允许寄存器 MOV AL,00H ;中断屏蔽 OUT DX,AL CALL DALLY 0 0 0 1 1 0 1 1 ;发送 TR: MOV DX,MY16550_5 ;发送保持寄存器检查LSR IN AL,DX AND AL,20H JZ TR MOV DX,MY16550_0 MOV AL,TXD_data ;发送数据 OUT DX,AL RET ;接收 REV: MOV DX,MY16550_5 ;查询接收 IN AL,DX AND AL,01H JZ REV MOV DX,MY16550_0 ;接收数据寄存器 IN AL,DX RET 8.4 串行通信接口RS-232C 一、RS-232C电器特性及接口信号 1.电气特性 在数据线TXD和RXD上: 逻辑1=-3V~-15V 逻辑0=+3V~+15V 在控制线和状态线RTS、CTS、 DSR、DTR和DCD上: 信号有效=+3V~+15V 信号无效=-3V~-15V 2.RS-232C与TTL转换 RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够使计算机接口与终端的TTL器件连接,必须在RS-232C与TTL电路之间进行电平和逻辑关系变换。 MAX232 3.RS-232C的接口信号 可以用电缆线直接连接标准RS232端口,但通信距离较近(12m)。若 距离较远,可附加调制解调器(MODEM)。RS-232C规标准接口有25条线,最常用的信号线有9根。 二、RS-232C应用举例 1.RS-232C串口通信接线方法(三线制) 2.BIOS串行通信口功能 IBM PC及其兼容机提供了比较灵活的关于串行口的BIOS中断调用方法,即通过INT 14H调用ROM BIOS串行通信口例行程序。该例行程序包括将串行口初始化为指定的字节结构和传输速率,检查控制器的状态,读写字符等功能 3.举例 设通信双方有一台计算机为PC机,使用COM1端口。在串行通信中,必须首先设定通信双方所使用字符串的数据结构,才能进行软件编程。这里我们设数据在接收和发送的字符串中,序号为0的字节为数据长度,其后的字节为所接收的数据。 接收数据子程序: receive proc far ;这是接收数据子程序, ;出口AL,AH rec_check: mov ah,3 ;读通讯口状态字 mov dx,0 int 14h test ah,20H ;测试数据准备好位 jz rec_check ;数据未准备好,再读状态字 mov ah,2 ;读通信端口数据 mov dx,0 int 14h ret receive endp 发送数据子程序: send proc far ;这是发送数据子程序, ;
文档评论(0)