常用外设及其应用#精选.docx
《常用外设及其应用#精选.docx》由会员分享,可在线阅读,更多相关《常用外设及其应用#精选.docx(20页珍藏版)》请在冰豆网上搜索。
![常用外设及其应用#精选.docx](https://file1.bdocx.com/fileroot1/2023-1/3/86ee4b59-c3a6-4b60-9a60-74f13cf2ca83/86ee4b59-c3a6-4b60-9a60-74f13cf2ca831.gif)
常用外设及其应用#精选
第9章常用外设及其应用
9.1外部设备概述
中央处理器(CPU)和主存储器(MM)构成计算机的主体,称为主机。
除了主机以外,计算机系统的每一部分都可作为外部设备或外围设备来看待,简称外设。
它包括常用的输入输出设备,外存储器,脱机输入输出设备等。
早期的计算机结构相对简单,速度慢,应用面窄,所配外设种类少。
在我国,直到70年代中期,计算机仍以纸带、卡片等作为数据输入输出的介质,利用当时已在邮电部门广泛使用的电传打字机以及穿孔机和纸带输入机等作为输人输出设备。
进入80年代以来,以个人计算机和工作站为代表的微型机迅速普及,计算机的应用领域有了突破性的进展,外部设备开始向多样化、智能化的方向发展。
9.2.1显示设备的分类及有关的概念
以可见光的形式传递和处理信息的设备叫显示设备。
显示设备种类繁多。
按显示设备所用的显示器件分类,有阴极射线管显示器(cathoderaytube,简称CRT),液晶显示器(liquidcrystaldisplay,简称LCD),等离子显示器等。
CRT就是大家所熟悉的电视机显像管,以显示的颜色分类,有黑白和彩色两种。
目前的台式计算机大部分使用CRT作为显示器件。
液晶和等离子显示器是平板式显示器件,它们的特点是体积小、功耗少,是很有发展前途的新型器件。
按所显示的信息内容分类,有字符显示器、图形显示器和图像显示器三大类。
按显示设备的功能分类,有普通显示器和显示终端两大类。
显示器和终端是两个不同的概念。
显示器的功能简单,它只能用于接收视频信号,显示器的控制逻辑和存储逻辑都在主机接口板中,目前使用的个人计算机系统就是这种结构。
这种显示器也称作监视器(monitor)。
终端是由显示器和键盘组成的一套独立完整的输入/输出设备,它可以通过标准通信接口接到远离主机的地方使用。
终端的结构比显示器的结构复杂得多,它能够完成显示控制与存储,键盘管理以及通信控制等功能,还可以完成简单的编辑操作。
9.2.2显示技术中的有关术语
1.图形和图像
图形和图像是现代显示技术中常用的术语,图形(graphics)最初是指没有亮暗层次变化的线条图,如建筑机械所用的工程设计图、电路图等。
早期的图形显示和处理只是局限在二值化的范围,只能用线条的有无来表示简单的图形。
图像(image)则最初就是指具有亮暗层次的图,如自然景物、新闻照片等。
经计算机处理后显示的图像称作数字图像,就是将图片上连续的亮暗变化变换为离散的数字量,并以点阵列的形式显示输出。
在显示屏幕上,图形和图像都是由称作像素的光点组成的。
光点的多少称作分辨率,光点的深浅变化称作灰度级(在黑白显示器上表现为灰度级,在彩色显示器上表现为颜色)。
分辨率和灰度级决定了所显示图像的质量。
高分辨率多次度级的光栅扫描的显示器不仅可以显示图像,也可以显示图形。
现在的图形也可以有颜色、深浅层次的变化。
图形学的主要任务是研究如何用计算机表示现实世界的各种事物,并且形象逼真地加以显示。
如动画设计、花布图案设计、地图的显示等平面图,飞机、汽车、建筑物的造型设计等立体图。
这些图要求形象逼真地显示,需要有深浅和颜色。
图形学所用的技术包括点、线、面体等平面和立体图的表示和生成。
同时,由于要在平面上显示立体图,还要研究阴影的产生隐藏线、隐藏面的消除技术以及光照方向与颜色的模拟等技术。
数字图像处理所处理的对象多半来自客观世界,例如由摄像机摄取下来存入计算机的数字图像(遥感图像、医用图像等)。
图像与图形相比,由于后者可以按人的意志描绘.所以无噪音干扰,而目规则整齐,富有创造性。
前者则可能充满噪音,图像很不清晰。
由于摄取的位置随机,图像可能发生畸变。
图像处理的任务是去除噪音,恢复原形,使图像清晰,并从中抽取有用的信息,以供观察。
2.分辨率及灰度级
分辨率(resolution)指的是显示设备所能表示的像素个数。
像素越密,分辨率越高,图像越清晰。
分辨率取决于荧光粉的粒度,屏的尺寸和电子束的聚焦能力。
例如,12英寸彩色CRT的分辨率为640×480个像素,因为对角线为12英寸=30.48cm,长和宽分别为24.384cm和18.288cm,有效显示区域要小于这个数据。
每个像素的间距为0.31mm,水平方向的640个像素所占显示长度为640×0.31mm=198.4mm。
垂直方向为480个像素,是按照4:
3的长宽比例分配的(640×0.75=480)。
灰度级(graylevel)指的是所显示像素点的暗亮差别,在彩色显示器中则表现为颜色的不同。
灰度级越多,图像层次越清楚逼真。
灰度级取决于每个像素对应刷新存储器单元的位数和CRT本身的性能。
如果用4位表示一个像素,则只有16级灰度或颜色,如果用8位表示一个像素,则有256级灰度或颜色。
字符显示器只用“0”,“1”两级灰度就可以表示字符的有无,这种只有两级灰度的显示器称为单色显示器或黑白显示器。
具有多种颜色的显示器称为彩色显示器,具有多种灰度级的黑白显示器称为多灰度级黑白显示器。
分辨率和灰度级是显示器的两个重要技术指标。
根据不同的分辨率,有不同的显示器接口(或称为适配器)与之配合。
IBM公司制定了显示器分辨率的标准,并被业界所接受。
3.刷新和帧存储器
CRT器件的发光是由电子束射在荧光粉上引起的。
电子束扫过之后,其发光亮度只能维持短暂一瞬(大约几十毫秒)便消失。
为了使人眼能看到稳定的图像就必须在图像消失之前使电子束不断地重复扫描整个屏幕。
这个过程叫做刷新(refresh)。
每秒刷新的次数称刷新频率或扫描频率。
结合人的视觉生理,刷新频率应大于30次/秒,人眼才不会感到闪烁。
显示设备中通常选用电视中的标准,每秒刷新50帧(frame)图像。
为了不断提供刷新图像的信号,必须把图像存储起来,存储图像的存储器叫“帧存储器”或“视频存储器”(VRAM)(电视不用帧存储器也可以看到图像,是因为电视接收机不断接收从天线来的信号)。
帧存储器的容量由图像分辨率和灰度级决定。
分辨率越高,灰度级越多,帧存储器的容量越大。
如分辨率为1024×1024,256级灰度的图像,存储容量为1024×1024×8bit=1MB。
帧存储器的存取周期必须满足刷新频率的要求。
容量和存取周期是帧存储器的两个重要技术指标。
4.随机扫描和光栅扫描
电子束在荧光屏上按某种轨迹运动称为扫描(scan),控制电子束扫描轨迹的电路叫扫描偏转电路。
扫描方式有两种:
随机扫描和光栅扫描。
随机扫描是控制电子束在CRT屏幕上随机地运动,从而产生图形和字符。
电子束只在需要作图的地方扫描,而不必扫描全屏幕,所以这种扫描方式画图速度快,图象清晰。
光栅扫描是电视中采用的扫描方法。
在电视中,要求图像充满整个画面,因此要求电子束扫过整个屏幕。
光栅扫描是从上至下顺序扫描,采用逐行扫描和隔行扫描两种方式。
逐行扫描就是从屏幕顶部开始一行接一行地扫描,一直到底反复进行。
电视系统采用隔行扫描。
它把一帧图像分为奇数场和偶数场,1,3,5,7等奇数行构成奇数场,0,2,4,6等偶数行构成偶数场。
我国电视标准是625行,奇数场和偶数场各312.5行。
扫描顺序是先偶数场,再奇数场,交替传送,每秒显示50场。
9.2.3字符显示器
字符显示设备是计算机系统中最基本的外部设备。
在中大型的计算机系统中,为了不影响主机的数据处理能力,显示器作为终端设备独立存在。
键盘输入和CRT显示输出是一个整体,由专门的微处理器负责屏幕编辑管理功能,并通过标准的串行接口与主机连接。
在微型机系统中,显示输出和键盘输入分别接入系统,它们是两个独立的设备,显示系统由插在主机中的显示控制板和显示器两部分组成。
本小节以IBM/PC机单色字符显示系统为例,说明字符显示器的工作原理。
光栅扫描显示器显示字符的方法是以点阵为基础的。
这种方法将字符分解成m×
n个点组成阵列,将点阵存入由ROM构成的字符发生器中,在CRT进行光栅扫描的过程中,从字符发生器中依次读出点阵,按照点阵的0和1控制扫描电子束的开关,就可以在屏幕上组成字符。
点阵的多少取决于显示字符的质量和字符块的大小。
字符块指的是每个字符在屏幕上所占的点数,也称作字符窗口,它包括字符显示点阵和字符间隔。
定时控制电路的核心是点计数器、水平地址计数器、光栅地址计数器和垂直地址计数器四个计数器,由它们来控制显示器的逐点、逐字、逐行、逐屏幕的刷新显示。
点振荡器输出16.257MHZ的点时钟,用来控制字符发生器中每行9个点依次移位输出。
点计数器对点时钟9分频,输出的字符时钟是显示控制器的定时信号,同时它也控制移位寄存器的加载(移位寄存器S端为移位控制端,L为并行输入加载控制端)。
当一个字符的9个点输出结束以后,输出下一个字符中同一行的9个点。
水平地址计数器对一行的显示进行控制,送出当前要显示的这一行字符的VRAM地址。
每行有效显示80个字符。
另外,当光栅从一行的结束回到另一行开始时,在屏幕上不应该显示,这一段称为水平回扫消隐期。
在水平消隐期间产生水平同步信号,输出到显示器,水平消隐信号同时控制移位寄存器不要加载。
水平消隐期共占用18个字符时钟的时间。
光栅地址计数器对字符窗口的高度进行控制。
因为字符窗口的高度为14,但字符点阵高度为9,行间隔为5个点阵,它控制一行字符的9行点阵逐行输出,并在最后5行进行行间消隐。
垂直地址计数器控制一屏幕25行字符的显示,与水平回扫类似,当光栅到达屏幕底部时需要回到屏幕顶部,这一过程称为垂直回扫。
垂直回扫需要一行的显示时间,并向显示器输出垂直同步信号,回扫期间同样需要消隐,垂直消隐命令控制移位寄存器不要加载。
视频存储器(VRAM)的地址由水平地址计数器(列地址)和垂直地址计数器(行地址)决定,VRAM输出的ASCII代码作为字符发生器ROM的高位地址,ROM的低位地址来自光栅地址计数器。
ROM的输出在L信号的控制下并行加载到移位寄存器。
然后在点时钟控制下移位输出形成视频信号,输出到显示器。
显示器在水平同步、垂直同步和视频信号的控制下,连续不断地进行屏幕刷新,就能保持稳定而不消失的字符图像。
9.2.4图形和图像显示器
图形显示是指用计算机手段表示现实世界的各种事物,并形象逼真地加以显示。
根据产生图形的方法,分随机扫描图形显示器、存储管型图形显示器和光栅扫描图形显示器。
光栅扫描图形显示器是当今应用最多的显示器。
光栅扫描显示器的特点是把对应于屏幕上每一个像素的信息都用存储器存起来,然后按地址顺序逐个地刷新显示在屏幕上。
这里有两个存储器,一个称作程序段缓冲存储器,另一个是帧存储器。
程序段缓存中存储由计算机送来的显示文件和交互式图形图像操作命令,如图形的局部放大、平移、旋转、比例变换、图形的检索以及图像处理等。
这些操作在显示处理器中完成,比在主机中用软件实现效率要高得多。
在微机系统中,主机和CRT设备之间的电路都放在显示适配器的接口中。
帧存储器中存放了一帧图形的形状信息,和屏幕上的像素—一对应,如果屏幕的分辨率为1024×1024个像素,帧存就要有1024×1024个单元;如果屏幕上像素的灰度为256级,帧在每个单元的字长就要是8位。
因此,帧存的容量直接取决于显示器的分辨率和灰度级,对本例,要有1024×1024×8bit=1MB的帧存容量。
9.2.5IBM-PC机的视频子系统
1.视频显示原理
显示器通过显示适配器与PC机相连。
显示器可以简单地分为单色显示器和彩色显示器。
随着显示技术的发展,显示器的种类也更加丰富,常见的显示器有阴极射线管(CRT)、存储管式显示器、光栅扫描显示、液晶显示器、等离子显示器、场效发光显示器等。
目前,微机系统广泛使用的是光栅扫描显示器,它的显示原理与电视机相似,是以光栅扫描的方式控制像素点阵的亮度来显现字符和图形的,它也分为单色和彩色显示器。
显示适配器也称为显示卡,是计算机和显示器的接口。
早期的PC机通常使用两种显示适配器,一种是单色显示适配器(monochromedisplayadaptor,MDA),一种是彩色图形适配器(colorgraphicsadaptorCGA)。
MDA连接单色显示器,它只能显示ASCII码字符,字符由标准字母,数字和各种符号组成,还有一些简单的图形,如菱形、矩形及笑脸符等。
CGA可用在彩色显示器上,能以红、绿、蓝彩色显示以点绘制的图形以及ASCII码字符。
1984年IBM公司基于PC和PS/2系列计算机开发了增强型图形适配器(enhancedgraphicsadaptor,EGA)图形标准,1987年又开发了视频图形阵列适配器(videographicsarray,VGA),这两种显示适配器的分辨率和彩色功能比MDA和CGA有很大提高,可以设置为多种字符方式和图形方式,可以驱动单色显示器和彩色显示器。
EDA、VGA在字符显示方式下是与MDA和CGA兼容的。
显示器的屏幕通常划分为行和列的一个二维系统,适配器就在行列组成的网格位置上显示字符。
例如,屏幕以25行80列的格式来显示字符,一副屏幕上就有2000个字符(25×80),0行0列相对于屏幕左上角的位置,24行79列相对于右下角的位置。
对应屏幕上的每个字符位置,主存空间都有相应的存储单元与之对应,因此可以说显示屏幕是“存储器映像”的。
这种存储器的映像,使显示器电路很容易知道那个单元的内容对应屏幕上的那个位置,也能使程序员从行列值算出主存地址空间中的显示存储区的地址。
对应显示屏幕上的每个字符,在存储器中由连续的两个字节表示,一个字节保存ASCII码,另一个字节保存字符的属性。
在屏幕上处理字母、数字以及一些字符图形称为文本方式。
在文本方式下,属性字节对单色显示和彩色显示都是有效的。
(1)单色字符显示
对单色显示,字符的属性定义了字符的显示特性,如字符是否闪烁,是否加强亮度,是否反相显示。
属性可以有不同的组合,例如可以在屏幕上显示白底黑字(反相显示)代替通常的黑底白字。
正常的属性是07(二进制00000111),即背景为黑色(000),前景为白色(111),而闪烁位为正常(0),加强亮度位也是正常(0)。
为改变成反相显示,必须使背景为白色(111),前景为黑色(000),所以属性字节的值应为70,即二进制01110000。
如果想要黑底白字及闪烁显示,属性值应为87(10000111)。
背景为000,前景为001,这种组合可产生下划线。
(2)彩色字符显示
在显示彩色文本时,属性字节能够选择前景(显示的字符)和背景的颜色。
每个字符可以选择16种颜色中的一种,背景有8种颜色可以选择。
前景的16种颜色由位0~3组合,RGB分别表红、绿、蓝,BL表示闪烁,1为亮度,闪烁和亮度只应用于前景。
(3)显示存储器
对于所有的显示适配器,文本方式下显示字符的原理都是一样的,所不同的是各种适配器的视频显示存储器(又称为显存)的起始地址不同:
对MDA,显存的起始地址为B000:
0000;对CGA、EGA、VGA是B800:
0000。
每个字符的ASCII码和属性码字节存放于连续的两个字节中。
在25×80的文本显示方式下,屏幕可有2000个字符位置,因每个字符需要用两个字节来表示,所以显存容量需要4KB(只使用4000B)。
如果显存有16KB,则可保存4屏幕的字符数据,通常称为4页数据。
对CGA,EGA和VGA的80列显示方式,0页在显存中的起始地址是B800:
0000;1页是B800:
1000;2页是B8000:
2000;3页是B800:
3000。
屏幕上某一字符位置在显存中的偏移地址可由下列公式算出:
char_offset=Page_offset+((row×width)+column)×byte
在这个公式中,Page_offset是页偏移地址,width是每行可显示的字符数,在25×
80的字符显示方式下,width=80,Byte是表示一个字符所用的字节数,在字符显示方式中byte=2,row和column是相对于屏幕左上角位置(0,0)的行列坐标。
例9.2.6定义了一个宏Video_addr计算屏幕位置在显存中的地址。
2.BIOS显示中断调用及编程
本部分详细信息请参照附录C的中断类型10H(INT10H)的相关内容,在本节我们只讲解常用的几个功能调用。
(1)设置显示方式(功能号0)
入口参数:
(AH=0)(AL)=方式(0~7)
AL=040×25黑白文本方式
140×25彩色文本方式
280×25黑白文本方式
380×25彩色文本方式
4320×200黑白图形方式
5320×200彩色图形方式
6640×200黑白图形方式
780×25黑白文本方式(单色显示器)
出口参数:
无。
例9.2.2:
设置显示方式为方式2,80×25黑白文本方式。
MOVAH,0;请求设置显示方式
MOVAL,2;80×25黑白文本方式2àAL
INT10H;调用BIOS的10H号中断处理程序
(2)设置光标大小(功能号1)
光标在屏幕上指示字符的显示位置,它不是ASCII字符表中的字符。
计算机有专门的硬件来控制光标,我们熟悉的光标符一般是一个下划线或方块符。
利用INT10H的功能
1使光标显现或关闭。
这个功能也控制光标行的开始和结束,也就是说控制光标的大小。
表示光标行开始和结束的数据分别放在CH和CL的低4位(0~3),当
CH的第4位为1时,光标不显现出来(关闭);当第4位为0时,光标在屏幕上显现出来。
单色显示器的光标大小的范围从0到13。
(3)设置光标位置(功能号2)
INT10H的功能2设置光标位置。
光标位置的行号设在DH寄存器中,列号设在DL中。
在24×
80的显示方式中,坐标设在(0,0)是屏幕的左上角,(24,79)是屏幕的右下角。
BH中必须包含被输出的页号,对单色显示器来说,页号总是0。
例9.2.3:
设置光标开始行为5,结束行为7,并把它设置到第5行第6列。
MOVCH,5;BEGINNINGOFCURSORANDTURNON
MOVCL,7;ENDOFCURSOR
MOVAH,1;DEFINECURSOR
INT10H;CALLBIOS
MOVDH,4;ROW5
MOVDL,5;COLUMN6
MOVBH,0;PAGE0
MOVAH,2;PLACECURSOR
INT10H;CALLBIOSROUTINE
(4)读光标位置(功能号3)
INT10H功能3是读光标位置,页号必须在BH中指定。
此功能把光标位置的行号回送给DH,列号回送给DL,光标大小的参数填入CH和CL,也就是说,在CH和CL中回送的是用功能1设置的光标参数。
例9.2.4:
读0页的当前光标位置。
MOVAH,3
MOVBH,0
INT10H
(5)选择显示页(功能号5)
INT10H的功能5可由程后确定显存中的显示区域。
ROMBIOS将CGA的显存分为4页,每页25×80个字符,或分为8页,每页25×
40个字符。
每一页的起始地址在1KB的边界。
这4页的起始地址分别为B800:
0000,B800:
1000,B800:
2000,B800:
3000。
例9.2.5:
选择显示页。
MOVAL,VPAGE;AL=VIDEOPAGENUMBER
MOVAH,5;FUNCTIONNUMBER
INT10H;CALLBIOS
(6)屏幕上滚(功能号6)
INT
10H功能6能使屏幕内容上卷指定的行,这个功能需要设置7个参数。
如果屏幕的起始行列不为(0,0),结束的行列不为(24,79),则屏幕只有指定的一部分具有上卷的功能,这个屏幕上的部分区域叫做窗口(Window),像这样的窗口可以在屏幕上设置多个,这些窗口都可独立使用。
如果上卷超过指定窗口的顶部这些行的内容就消失,出现在窗口底部的新行被填为空格,其属性由BH寄存器决定。
如果AL=0,则实际完成的工作是清除屏幕的功能,它将按AL中的Blank字符(0)使指定的窗口为空白。
入口参数:
(AH)=6
(AL)=上滚行数
(CX)=上滚部分左上角的行、列号
(DX)=上滚部分右下角的行、列号
(BH)=显示属性
(AL)=0时,清屏
(AL)=非0时,窗口底部为空白输入行
例9.2.6:
编写清除全屏幕的子程序
CLEAR_SCREENPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
MOVAH,6
MOVAL,0
MOVBH,7
MOVCH,0
MOVCL,0
MOVDH,24
MOVDL,79
INT10H
MOVDX,0
MOVAH,2
INT10H
POPDX
POPCX
POPBX
POPAX
RET
CLEAR_SCREENENDP
(7)屏幕上滚(功能号7)
10H的功能7和功能6类似,也能使屏幕(或窗口)初始化或使屏幕(或窗口)的内容下卷指定的行,其他参数的设置与功能6一样。
(8)在当前光标位置写字符和属性(功能号9)
10H的功能9把一个字符(字符及其属性)送到显示屏幕,然后光标返回到它的初始位置,所以在当前光标位置上写一个字符之后,必须用INT10H的功能
02移动光标到下一个字符位置上。
入口参数:
(AH)=9,(BH)=页号,(AL)=要写字符的ASCII码,(BL)=属性值,(CX)=重复次数。
出口参数:
无
(9)在当前光标位置写字符(属性不改变)
10H的功能9和功能0AH都能把一个字符送到显示屏幕,然后光标返回到它的初始位置,所以在当前光标位置上写一个字符之后,必须用INT10H的功能
02移动光标到下一个字符位置上。
这两种功能的区别是,AH=9的功能把字符及其属性输出到当前光标位置上而AH=0AH的功能只输出字符,它的属性值就是这一位置上先前已具有的属性。
0AH功能在使用单色显示器时特别方便,因为此时我们很少改变显示字符的属性。
10H的功能8可读取当前光标位置的字符及属性。
在编写字符显示程序时,彩色显示和单色显示类似。
例如,利用BIOS
10H的09功能显示彩色字符时,BL中设置的数据应为前景和背景的属性值,属性值的典型组合如表9.2.4。
例9.2.7:
在品红背景下,显示5个浅绿色闪烁的星号。
MOVAH,09;DISPLAYACHARANDATTR
MOVAL,’*’;ASTERISK
MOVBH,0;PAGE0
MOVBL,0DAH;COLORATTRIBUTE
MOVCX,05;FIVETIMES
INT10H;CALLBIOS
使用INT10H的13H功能显示字符串有4种方式,前两种方式(A=0,1)要指定整个显示字符串的属性,后两种方式(AL=2,3)必须指定每个字符的属性。
表9-4属性字节的典型组合
9.3.1输入设备
1.键盘
(1)键盘工作原理
键盘是计算机最基本的一种输入设备,用来输入信息,与CRT显示器组成终端设备,以达到人机对话的目的。
键盘是由一组排列成阵列形式的按键开关组成