资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,第一章 基础知识,第九章 彩色图形适配器及其编程,91 串行通讯口IO,在现实生活和工作中,常会有将两台计算机实现资源共享和数据交换的要求。微机双机直接通讯的方法有很多种,根据两台微机的距离远近,可分为近程通讯和远程通讯,如果两台通讯的微机在同一间屋内或相距在几十米到一两百米内,称为近程通讯;如果两台微机相距在几百米到几千米甚至更远,则把它们之间的通讯称为远程通讯。,由于计算机通讯的广泛应用,串行接口已成为个人计算机必备的部件,IBM PC机内装有通讯适配器板,这使得PC机可以和其它配有串行通讯接口的计算机或设备进行通讯。串行接口每次由CPU得到8位的数据,然后串行地通过一条线路,每次发送一位将该数据发送出去。,最常用于个人计算机上的串行接口是标准的RS一232串行接口,它装于PC机内的通讯适配器板上。这个标准串行接口既可用于近程或远程的数据通讯,每个系统中可以有两个或多个串行控制器连接到不同的外设上,如IBM PC可连接两个串行接口(COM1和COM2),但是程序每次只能对一个串口进行存取。,第一章 基础知识,第九章 彩色图形适配器及其编程,两台PC机或设备进行近距离通讯时,可直接将它们连接。当它们进行远距离通讯时,要使用调制解调器(MODEN)连接到电话线上,因为RS一232标准串行接口输出的是电压信号,不能直接接到电话线上,调制解调器把代表逻辑1和逻辑0的电压信号转换成能在电话线上传输的不同频率的信号:电话线另一端的调制解调器又把这些不同频率的信号转换成接口要求的电压信号。左图为两种连接方式的示意图。,串口的连接方式,第一章 基础知识,第九章 彩色图形适配器及其编程,串口的典型结构,许多外部设备和计算机是按照串行方式来进行通信的。即数据是1位1位进行传输的,在传输过程中,每1位数据都占据一个固定的时间长度。这种情况下,就要用串行接口把这个外部设备连接到总线上。 当前,可编程的串行接口有许多种。左图是串行接口部件的典型结构,从图中可以看到,串行接口部件内部有4个主要寄存器,即控制寄存器、状态寄存器、数据输入寄存器和数据输出寄存器。,第一章 基础知识,第九章 彩色图形适配器及其编程,控制寄存器用来容纳CPU送给此接口的各种控制信息,而控制信息决定接口的工作方式。 状态寄存器的各位叫状态位,每一个状态值都可以用来指示传输过程中的某一种错误或者当前传输状态。 数据输入寄存器总是和串行输入并行输出移位寄存器配对使用的。在输入过程中,数据1位1位从外部设备进入接口的移位寄存器,当接收完1个字符以后,数据就从移位寄存器送到数据输入寄存器,再等待CPU来取走。 数据输出寄存器和并行输入串行输出移位寄存器配对使用。当CPU往数据输出寄存器中输出1个数据后,数据使传输到移位寄存器,然后1位1位地通过输出线送到外设。,CPU可以访问串行接口中的4个主要寄存器。从原则来说,对这4个寄存器可以通过不同的地址来访问,不过,因为控制寄存器和数据输出寄存器是只写的,状态寄存器和数据入寄存器是只读的,所以,可以用读信号和写信号来区分这两组寄存器,再用1位地址来区分2个只读寄存器或2个只写寄存器。,第一章 基础知识,第九章 彩色图形适配器及其编程,九针串口线的连接方式,9针串行口的针脚功能。: 针脚 功能针脚功能: 1载波检测(DCD) 6 数据准备好(DSR): 2接受数据(RXD) 7 请求发送(RTS): 3发出数据(TXD) 8 清除发送(CTS): 4数据终端准备好(DTR) 9 振铃指示(RI): 5信号地线(SG),通讯电缆制作原理:: 串行通讯电缆的制作方法:其串行通讯电缆连接时都遵循下列对接关系:: SGSG: TXDRXDRXDTXD: RTSCTSCTSRTS : DTRDSRDSRDTR: 根据上述对接关系,就可以非常方便地连接串行通讯电缆。,第一章 基础知识,第九章 彩色图形适配器及其编程,注意事项,注意事项:: 为了保证传输的信号正确、完整,导线的长度最好不要超过2米;并且宜选用计算机专用电缆。: 导线必须焊接到所对应的位置,焊头连接必须牢固,并且注意不要短路。: 对于串行通讯电缆,也可使用9针到25针转换接头来连接其中的一个或两个串口。: 电脑商店也有卖“串口通讯电缆”和“并口通讯电缆”的,购买时要注意弄清楚是微机与微机相连的还是微机与外设相连的,这两种线的内部接法有点不同,弄错了会造成通讯失败。: 不用于连接电缆的接头(如1、9接头等)宜悬空。这一点对于自己改造从电脑商店买来的所谓“串行通讯电缆”和“并行通讯电缆”尤其重要。: 并口线不可能太长,串口线速率又较慢。因此本法所制电缆只适合于那些放得很近并有空闲串并口的微机。对于随身携带笔记本电脑要与其它计算交换数据的用户,本法最适合。把串行或并行电缆两端插到两台机器对应端口上,还不能立即进行数据通讯,还必须有通讯软件的支持。,第一章 基础知识,第九章 彩色图形适配器及其编程,DOS串行通讯口功能,串行通讯接口为辅助设备,DOS中断操作如下。 读取操作:INT 21H的功能03H是从捕助设备(第一个串行口COM1)读一个字符到寄存器AL。 发送操作:功能04H将DL寄存器中的字符传送给串行设备,如果输出设备正忙,该功能调用等待,直到设备准备好接收字符。,注意:在多数DOS系统中,串行设备没有缓冲和中断,如果串行通讯口或其它辅助设备送的数据比程序处理数据快,字符可能丢失。在PC系统中,第一个串行口COM1被初始化为2400波特(所谓传输率就是指每秒传输多少位,传输率也常叫波特率。),无奇偶校验位,1个终止位和8位数据。其它机器上的DOS实现可能有不同的初始化。,第一章 基础知识,第九章 彩色图形适配器及其编程,注意:DOS没有提供读辅助设备的状态和检测IO错误(如丢失字符等)的功能,但ROM中BIOS INT 14H提供了这些功能。,第一章 基础知识,第九章 彩色图形适配器及其编程,BIOS串行通讯口功能,IBM PC的BIOS串行通讯提供如下操作: 通过INT 14H调用ROM BIOS串行通讯口例行程序。该例行程序包括将串行口初始化为指定的字节结构和传输速率,检查控制器的状态,读写字符等功能。,第一章 基础知识,第九章 彩色图形适配器及其编程,INT 14H AH0功能 把指定的串行通讯口初始化为希望的波特率,奇偶性,字长和终止位的位数。这些初始化参数设置在AL寄存器。其各位的含义如下图所示。,第一章 基础知识,第九章 彩色图形适配器及其编程,例 要求0号通讯口的传输率为2400波特,字长为8位,1位终止位,无奇偶校验,串口通讯中的错误检测功能 在接口设计中,常常要考虑对错误的检测问题。当前多数可编程接口,一般能检 测下列两类错误。 一类是传输错误。因为接口和设备之间的连线常常受噪声干扰,从而引起传线错误, 所以一般传输信息时,接口采用奇偶校验位对传输错误进行检测。传输时,如果用奇 校验,那么使信息中1的数目(包括校验位)为奇数。也就是说,所传输的数据中如果 1的个数为奇数则使校验位为0,所传输的数据中如果1的个数为偶数则使校验位 为1,这样,在传输一个数据时,1的总数目总是为奇数。同样的道理,如果用偶校验 那么,信息中1的数目(包括校验位)为偶数。接口在传输过程中,对信息校验之后, 如果发现有错误,则对状态寄存器中的相应位进行设置。而状态杏存器的内容可以通过 程序进行读取和检测。,第一章 基础知识,第九章 彩色图形适配器及其编程,另一类是复盖错误。我们知道,当计算机输入数据时,实际上是从接口的输入缓冲寄存 器中取数。如果计算机还没有取走数据,输入缓冲寄存器由于某种原因又被装上了新的数据,那么,就全产生一个复盖错误。在输出时,也会有类似的情况。,返回参数中通讯口状态字节各位置1的含义如下图所示:,在接收和发送过程,错误状态位(1,2,3,4位)一旦被置为1,则读入的接收数据已不是有效数据,所以在串行通讯应用程序中,应检测数据传输是否出错。,第一章 基础知识,第九章 彩色图形适配器及其编程,状态错误信息,奇偶错;通信线上(尤其是用电话线传输时)的噪音引起某些数据位的改变,产生奇偶错通常检测出奇偶错时,要求正在接收的数据至少应重新发送一段。 超越错:在上一个字符还未被处理机取走,又有字符要传送到数据寄存器里,则会引起超越错。如果处理机处理字符的速度小于串行通讯口的波持率,则会产生这种错误。 帧格式错:当接收发送器未接收到一个字符数据的停止位,则会引起帧格式错。这种错误可能是由于通信线上的噪音引起停止位的丢失,或者是由于接收方和发送方初始化不匹配。 间断;间断有时候并不能算是一个错误,而是为某些特殊的通讯环境设置的“空格”状态。当间断位为1时,说明接收的“空格”状态超过了一个完整的数据字传输时间。,第一章 基础知识,第九章 彩色图形适配器及其编程,例 从通讯口0读入字符并把它们显示出来,如果字符没有准备好则等待,如果传送有错则显示出错信息 “?”。,第一章 基础知识,第九章 彩色图形适配器及其编程,9.2 显示器I/O,显示器是计算机系统的基本显示设备。 显卡VGA的色彩表现能力、编程方便性和显示速度等性能都直接影响显示性能。 当前流行的都是高分辨率(分辨率为1024768、12801024等)Super VGA显示器 。,本节主要介绍VGA及其以上的Super VGA显示器原理和基本I/O操作控制方法。,显示器任一时刻都必须工作在某一显示模式下,显示模式分为两大类: 文本模式 图形模式,文本显示模式I/O,文本模式:由一屏所能显示字符的行、列数及字符属性确定。,例如,文本模式3:80(列)25(行)彩色文本显示模式,显存中保存着当前正显示的一整屏图像数据, VGA在显存与屏幕之间建立了一种自动映射关系,只要向显存写入显示数据,屏幕上将立刻显示出字符或图形。,实际上显存又被映射到主机系统的一段内存地址空间上,这段内存地址空间称为视频缓冲区。 彩色文本模式下,视频缓冲区首地址为B800:0000H。,程序读写视频缓冲区,就等效于读写显存。,屏幕上每个显示字符都对应视频缓冲区中的两个字节单元: 第一个单元存显示字符的ASCII码 第二个单元存该显示字符的属性,分辨率越高的显示模式需占用的视频缓冲区存储空间越大。,1)字符属性,字符的属性确定了该字符的显示方式:显示字符的颜色、背景颜色及是否闪烁、高亮度。,next,对于文本模式3,全屏幕有2000字符,需占用视频缓冲区存储空间4000字节。,返回,例2:采用文本模式3在全屏幕上显示闪烁的蓝底红色字符A,其属性字节为:94H,例1:闪烁的蓝底红色字符属性字节:,94H=(10010100)2,VGA编程方法: (1)直接读写视频存储器 (2)利用BIOS中的视频中断调用功能(INT 10H) (3)对VGA的寄存器操作+读写视频缓冲区,其中: 方法(1)速度快,可利用Super VGA的扩展性能 方法(2)方便、简单,但时间开销较大 方法(3)速度快,操作更低层,要求对硬件熟悉,2 )彩色文本模式的BIOS中断调用,BIOS中的显示中断调用INT 10H有大部分功能是处理文本显示。计算机开机或热启动时,初始模式是彩色文本模式3(参见下表)。,用直接写视频缓冲区的方法完成上述功能: mov ax,0b800h mov es,ax mov di,0 ;视频缓冲区偏移地址送di mov cx,2000 ;一屏显示字符的个数送cx mov ah,10010100b ;显示属性:闪烁,蓝底红字 mov al,A ;显示字符A rep stosw ;字符A显示到屏幕上,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号