南京邮电大学微机课件第9章.ppt

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

设计考虑: ① 题型:单端自发自收,点—点通信(全双工、单工) ② CPU与串口交换信息的方式:查询?中断? ③ 编程手段:对端口直接编程?调用BIOS通信软件 ④ 根据题目要求组织相应的外部环境 9.5 串行通信程序设计举例 1。对端口直接操作发送和接收数据, 程序中查询联络线,可以按“有联络线”方式接线 程序中不查询联络线,可以按“无联络线”方式接线 2。BIOS通信软件是一个全双工的通信软件,发送和接收之前都要使用联络线与对端“握手”,只有联络畅通,才能发送或接收数据! 3。当8250设置为内环自检方式的时候,只能采用查询方式,而且只能采用对端口直接操作的编程手段,完成数据的发送和接收。 EG:A、B两机利用主串口,查询方式,进行单工通信,A机发送电文“HELLO”至B机。试为A机编写发送程序。要求:波特率=2400,奇校验,停止位1位,数据位7位,采用查询方式。 DATA SEGMENT USE16 BUF DB ‘HELLO’ LEN EQU $ - BUF DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE , DS:DATA BEG: MOV AX , DATA MOV DS , AX CALL I8250 LEA BX,BUF MOV CX,LENS SCAN: MOV DX,3FDH TEST AL,20H JZ SCAN MOV DX,3F8H MOV AL,[BX] OUT DX,AL INC BX LOOP SCAN NEXT: MOV DX,3FDH IN AL,DX TEST AL,40H JZ NEXT MOV AH,4CH INT 21H I8250 PROC MOV DX,3FBH MOV AL,80H OUT DX,AL MOV DX,3F9H MOV AL,0 OUT DX,AL MOV DX,3F8H MOV AL,30H OUT DX,AL MOV DX,3FBH MOV AL OUT DX,AL MOV DX,3F9H MOV AL,0 OUT DX,AL MOV DX,3FCH MOV AL,0 OUT DX,AL RET I8250 ENDP CODE ENDS END BEG 【例9.2】要求甲乙两台微机之间通过RS-232C接口进行短距离的串行通信,甲机作为发送端从主串口将一串字符逐个发送,乙机作为接收端在辅串口进行字符接收并显示在屏幕上,其中甲机发送字符串时以‘ETX’字符(ASCII码:03H)作为输入结束标志字符。通信双方约定波特率为2400波特,数据位7位,停止位1位,奇校验,发送和接收均采用查询方式。 【设计思路】 甲乙两台微机之间进行短距离的单工通信,因此采用直接访问8250端口寄存器的方式进行编程,程序运行前将甲机的主串口与乙机的辅串口进行点到点单工通信连接,不使用联络线。连线图如下页所示。 (2)一串字符经逐个发送,发送字符和接收字符均采用查询方式。发送前,先读取通信线状态寄存器,查询发送保持寄存器是否空;接收前先读取通信线状态寄存器,查询一帧数据是否收完。 (3)通信速率2400波特,分频系数为0030H,一帧字符有7个数据位,1个停止位,奇校验,数据帧格式字为0AH。 [程序清单1] ;甲机发送程序 ;FILENAME:9_1.asm .586 DATA SEGMENT USE16 BUF DB ‘Hello’,03H LENS EQU $-BUF DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE, DS:DATA BEG: MOV AX,DATA MOV DS,AX CALL I8250 ;主串口初始化 LEA

文档评论(0)

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

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

1亿VIP精品文档

相关文档