第07章.串行通讯接口.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第07章.串行通讯接口

实验2、RS232接口串行通讯实验 实验内容: 利用VC、VB、Labwindows、Labview编写PC to PC的聊天软件。 例1、利用VC编写PC to PC的聊天软件 例2、利用Labwindows、编写PC to PC的聊天软件 例3、利用Labview编写PC to PC的聊天软件 例4、利用VB编写PC to PC的聊天软件 串口初始化 Private Sub Form_Load() MSComm1.CommPort = 1 设置通信端口号为COM1 MSComm1.Settings = 9600,n,8,1 设置串口参数 MSComm1.InputMode = 0 接收文本型数据 MSComm1.PortOpen = True 打开通信端口1 End Sub 把字符通过串口发送出去 启动定时器 Private Sub Cmdsend_Click() MSComm1.Output = Trim(Textsend.Text) End Sub 接收字符 Private Sub Timer1_Timer() Dim buf$ buf = Trim(MSComm1.Input) 将缓冲区内的数据读入buf变量中 If Len(buf) 0 Then 判断缓冲区内是否存在数据 TextReceive.Text = TextReceive.Text + Chr(13) + Chr(10) + buf End If End Sub 停止程序运行 Private Sub Cmdquit_Click() Unload Me End Sub 关闭通信端口, Private Sub Form_Unload(Cancel As Integer) MSComm1.PortOpen = False End Sub * (9)中断识别寄存器(3FAH)   可以用来判断有无中断与哪一类中断请求。 8250的四级中断中有一级或多级出现时,8250便输出高电平的INTRPT中断请求信号。为了能具体识别是哪一级中断引起的请求,以便分别进行处理,8250内部设有一个中断识别寄存器,它保持正在请求中断的优先权最高的中断源编码,在这个特定的中断请求由CPU进行服务之前,不接受其他的中断请求。   8250中断识别寄存器如图所示,其中,最低位D0反映是否有中断请求,D2D1位则表示正在请求的最高优先权的中断。 * 2.8250的初始化编程   8250的通信程序可以采用查询方式或者中断方式。无论采用哪种方式编写通信程序,首先都要对8250进行初始化。初始化编程主要用来设置8250的工作方式和数据格式等,需要编程的寄存器有:除数寄存器、线路控制寄存器、MODEM控制寄存器和中断允许寄存器。初始化过程主要分为以下几个步骤。   ① 将80H写入通信线路控制寄存器,使最高位D7(DLAB)=1,建立访问除数寄存器的标志。   ② 写除数寄存器,设定波特率分频系数。   ③ 写通信线路控制寄存器,使最高位D7(DLAB)=0,设置数据格式。   ④ 设置中断允许寄存器:   查询方式,将00H写入中断允许寄存器。   中断方式,置中断允许寄存器的相应位为“1”。 * ⑤ 设置MODEM控制寄存器:   中断方式,D3=1,允许8250送出中断请求信号。   查询方式,D3=0。   自检方式,D4=1。   正常通信,D4=0。 【例】 设8250输入的基准时钟频率为1.8432MHz,传输波特率为1200,数据长度为7位,1位停止位,奇校验,屏蔽全部中断,试编写初始化程序(端口地址为3F8H~3FEH)。 根据要求,求得除数值(分频系数)为: 除数=基准时钟/(波特率×16)=1.8432MHz/(1200×16)=96=60H I8250 PROC    MOV DX, 3FBH   ; 线路控制寄存器端口地址    MOV AL, 80H   ; AL, 使最高DLAB=1    OUT DX, AL    ; 写线路控制寄存器    MOV DX, 3F8H   ; 除数寄存器低字节端口地址    MOV AX, 60H   ; 分频系数 * OUT DX, AL    ; 写除数寄存器低字节    INC DX      ; 除数寄存器高字节端口地址    MOV AL, AH    OUT DX, AL    ; 写除数寄存器高字节    MOV DX, 3FBH   ; 线路控制寄存器端口地址

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档