




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章计算机串行通信,哈尔滨工业大学航天学院,C语言在测量与控制中的应用系列课件,6.1概述,并行通讯:数据各位同时发送,数据线条数多,距离近,串行通讯:数据各位依次发送,数据线条数少,距离远。,D0D1D2D3D4D5D6D7,D0D1D2D3D4D5D6D7,11001001,发送,接收,10010011,同步与异步,同步通讯:收发双方必须建立准确的定时信号,每个字符不加任何附加位连续发送。优点:传输效率高缺点:实现复杂。,异步通讯:发送一组数据称为一帧,包括1位起始位,58位数据位,12位校验位,12位终止位。帧与帧之间的间隔长度可以不确定。优点:收发双方不需要严格同步,每一帧发送时都要重新启动,定时的误差不会积累。缺点:每一帧都要有起始、终止、校验信号,传输效率低。,单工与双工,单工:一方只能发送,另一方只能接收。双工:双方都可以发送和接收。半双工:某一时刻,只能一方发送另一方接收。全双工:双方都能同时发送和接收。,硬件握手和软件握手(联络)硬件握手:利用专用联络线电平的高低,通知对方是否准备好。软件握手:用软件发出规定的联络信号。,6.3Intel8250可编程异步串行接口芯片,接收移位寄存器,接收数据寄存器,波特率时钟发生器,波特率因子MSB波特率因子LSB,发送保持寄存器,发送移位寄存器,线路状态寄存器线路控制寄存器,中断允许寄存器中断标识寄存器,中断控制逻辑,MODEM控制寄存器MODEM状态寄存器,MODEM控制逻辑,数据I/O缓冲器,内部总线,SIN,SOUT,D7D0,COM1与COM2的I/O端口地址,线路控制寄存器(8位),D7=0:正常值;D7=1:寻址波特率因子寄存器,D6=0:正常值;D6=1:设置间断,表明发送终止,D5D4D3000无校验位001奇校验011偶校验101恒1111恒0,D2=0:1位停止位D2=1:2位停止位,D1D000字符长度为5位01字符长度为6位10字符长度为7位11字符长度为8位,发送保持寄存器(只写),写入要发送的字符(8位)。,发送移位寄存器将并行数据变成串行数据送出。,接收移位寄存器将收到的串行数据变成并行数据。,接收数据寄存器(只读)存放接收的字符,可供CPU读。,波特率因子寄存器,波特率(每秒传送位数)=1.8432MHz(波特率因子*16),波特率MSBLSB11004H17H15003H00H30001H80H60000HC0H120000H60H180000H40H240000H30H360000H20H480000H18H720000H10H960000H0CH,中断允许寄存器(只写),中断标识寄存器(只读)中断发生时指示产生中断的中断源,线路状态寄存器(读/写),D0:接收数据就绪。D1:超越错。D2:奇偶校验错。D3:帧格式错。D4:间断错。D5:发送保持寄存器空。D6:发送移位寄存器空。D7:恒为0。,接收数据寄存器收到了一个完整的字符,CPU可以读这个数据。,可以接收下一个要发送的字符,CPU可以写数据。,6.4TurboC的串口通信函数,intbioscom(intcmd,charbyte,intport);,cmd=0:设置通讯参数byte的值1:把字符按字节送到通讯线上2:从通讯线上接收一个字符3:返回通讯端口的状态,port=0:COM1;port=1:COM2,byte值,cmd=1,byte=欲发送的字节cmd=2,3,byte=0cmd=0,byte=初始化命令字D7D6D5D4D3D2D1D0,byte值是下列各位的组合,0 x027个数据位0 x038个数据位,0 x00110波特率0 x20150波特率0 x40300波特率0 x60600波特率0 x801200波特率0 xa02400波特率0 xc04800波特率0 xe09600波特率,0 x001个停止位0 x042个停止位,0 x00无校验0 x08奇校验0 x18偶校验,若要求:8位数据位,1个停止位,奇校验,9600波特。byte=0 x03|0 x00|0 x08|0 xe0D7D6D5D4D3D2D1D0,返回值,对于所有cmd值,返回值是16位的整数,高8位D15D8是状态位,低8位取决于cmd值。,D15超时D14发送移位寄存器空D13发送保持寄存器空D12间断错D11帧格式错D10奇偶校验错D9超越错D8接收数据就绪,当cmd=2,即接收字符,若无错误,返回值的低8位是输入字节。,PC机的串口,串口的引脚,串口线的一种典型连接方式,6.5近距离无联络线简单三线通信,两台PC机三线通讯:将键盘输入字符发送到对方CRT上,三线聊天。,S1.C,#include#includemain()inti;bioscom(0,0 x83,0);doi=inportb(0X3fd);if(i,初始化串口11200波特,无校验,1位停止位,8个数据位,读线路状态寄存器,判断是否有错,判断接收数据是否就绪,读接收数据寄存器,显示字符。,判断发送保持寄存器是否空,如果有键按下,写发送保持寄存器输出字符。,kbhit()函数,intkbhit(void);kbhit()函数检查当前按键是否有效,任何有效健码可用getch()或getche()读取。若按健有效,kbhit()返回一个非0整型值,否则返回0。由头文件conio.h说明。,6.6串口硬件中断方式通信,哈尔滨工业大学航天学院,C语言在测量与控制中的应用系列课件,PC机的串行接口,串口可以用硬件中断方式工作串口1(COM1)中断申请线接主8259A的IR4,中断类型号0 x0c。串口2(COM2)中断申请线接主8259A的IR3,中断类型号0 x0b。,8250内部的4级中断,异步串行接口芯片8250的内部有4级中断:3级0级,3级:接收出错中断。2级:接收缓冲器满中断。1级:发送保持器空中断。0级:MODEME输入状态改变中断。,在芯片内部,中断的级别从3级到0级依次递降。,中断标识寄存器IER,可指出有无待处理的中断发生,若有可指出是哪个中断,未决中断指示0:无,1:有,3:接收错112:接收缓冲器满101:发送保持器空010:MODEM状态变化00,中断允许寄存器IIR,可以屏蔽8250内部的4种中断,0级3级1级2级,相应位=1:允许中断相应位=0:屏蔽中断,8250结构,中断信号输出控制,MODEM控制寄存器的D3和D2位控制用户通过编程来定义的两个管脚OUT2和OUT1。在PC系列微机中,OUT1没有使用,OUT2用来作为8250的中断请求信号INTRPT的输出控制。MODEM控制寄存器的D3位控制硬件中断信号能否送到计算机总线。只有D3=1,硬件中断信号才能通过计算机总线送到中断控制器主8259A的中断申请线IR4和IR3上。所以,如果采用中断方式进行通信时,必须将MODEM控制寄存器的D3位置1,而查询方式时则清0。,MODEM控制寄存器,数据终端准备好,请求发送,环路检测,中断请求输出控制,中断方式高速串口三线通讯,用中断的方式接收数据,只给出:初始化函数数据发送子程序接收数据的中断服务子程序,初始化函数,voidinitiate_COM1(void)disable();setvect(0 x0c,receive_COM1);outportb(0 x3fb,0 x80);outportb(0 x3f8,0 x01);outportb(0 x3f9,0 x00);outportb(0 x3fb,0 x03);outportb(0 x3f9,0 x01);outportb(0 x3fc,inportb(0 x3fc)|0 x08);outportb(0 x21,inportb(0 x21),设串口1中断向量,置DLAB=1,寻址波特率因子寄存器,写波特率因子寄存器LSB的值为1,写波特率因子寄存器MSB的值为0,无校验,1位停止位,8位数据位,允许接收缓冲器满中断,禁止其它中断,置中断申请输出有效,8259A允许串口1中断,数据发送子程序,voidsend_COM1(unsignedchardata)while(!inportb(0 x3fd),查询发送保持寄存器是否空,将数据写入发送保持寄存器,00100000,线路状态寄存器D5位为1,表示发送保持寄存器空,可以写入下一个要发送的字符。,中断方式数据接收子程序,voidinterruptreceive_COM1(void)receive_bufferi+=inportb(0 x3f8);if(i=MAX)i=0;outportb(0 x20,0 x20);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 树木缠绕处理方案范本
- 2026届苏州市工业园区斜塘学校英语九上期末达标检测模拟试题含解析
- 2026届安徽省亳州市蒙城县化学九上期末达标检测试题含解析
- 泸州市重点中学2026届九年级化学第一学期期中调研试题含解析
- 2026届内蒙古自治区海勃湾区九年级化学第一学期期中经典试题含解析
- 2026届河北省秦皇岛市青龙满族自治县英语九年级第一学期期末调研模拟试题含解析
- 债务清算与离婚后财产分割及子女教育保障综合协议
- 离婚协议中赠与合同不可撤销及合同效力确认
- 知识产权授权及私下股权转让协议书
- 夫妻双方离婚协议中子女监护权转移合同
- 2025年老年康复科老年康复护理技能评估试卷答案及解析
- 征地拆迁面试题目及答案
- 果树栽培工专业技能考核试卷及答案
- 航空科普课件
- 2025广西壮族自治区药用植物园招聘高层次人才21人备考试题及答案解析
- 第5章 绩效评价(《绩效管理》第3版)
- 2025-2026学年人教版(2024)初中地理八年级上册教学计划及进度表
- 电气运行基础知识培训课件
- 水工闸门操作培训
- 零售业数据分析与应用实战指南
- 肿瘤科诊疗体系构建与运营管理
评论
0/150
提交评论