汇编语言第7周_第1页
汇编语言第7周_第2页
汇编语言第7周_第3页
汇编语言第7周_第4页
汇编语言第7周_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言程序设计第七周大课1本周主要内容DOS和BIOS中断键盘I/O

显示器I/O2第9章DOS与BIOS中断

DOS和BIOS中断

键盘I/O

显示器I/O

打印机I/O*

串行通信口I/O*主要内容3DOS、BIOS与硬件的关系在用户程序中,若直接通过端口来操作硬件或外设,其处理速度显然是最快的,但这样做使用户程序具有了很大的局限性。硬件环境的改变将直接影响程序的正常运行。若用户程序通过调用DOS功能来实现其所需功能,那么,应用程序与低层硬件相距较远,操作最终的对象需要经过中间环节,处理速度受到一定的损失;但这种应用程序适应性强,应用范围广,对硬件的依赖性最小。4由于BIOS介于DOS和具体硬件之间,所以调用BIOS的功能是一个很好的折中方案。可在以下三种情况下考虑使用BIOS的功能:BIOS提供的功能,而DOS没有提供该功能的情况;因为某些具体应用的限制不能利用DOS功能调用的情况;基于处理速度的考虑,需要绕过DOS层的情况。DOS、BIOS与硬件的关系结论:使用中断的层次越高,它与硬件设备相关程度就越低,处理速度也就越低,但用户程序的适用范围较广。反之亦然。5调用DOS或BIOS功能的基本步骤将调用参数装入指定寄存器中如需要功能号,把它装入AH如需要子功能号,把它装入AL中断按中断号调用DOS或BIOS中断检查返回参数是否正确DOS中断类型和BIOS中断类型参见p.316表格。6常用DOS与BIOS中断调用1.DOS系统功能调用:INT21H

与键盘相关的功能号(AH=1、6、7、8、A、B、C) 与显示器相关的功能号(AH=2、6、9)

与打印机相关的功能号(AH=5)

与串行接口通信相关的功能号(AH=3、4)

2.BIOS功能调用

INT16H:键盘输入

INT10H:显示器输出(功能号参见p.328表格)

INT12H:内存检验 INT17H:打印机输出

INT13H:磁盘 INT1AH:时钟

INT14H:串行通信 INT40H:软盘01H——带回显的键盘输入06H——控制台的输入/输出:当DL=0FFH,表示键盘输入07H——不回显、不过滤的键盘输入08H——不回显的键盘输入0AH——键盘输入字符串0BH——检查键盘输入状态0CH——清除输入缓冲区的输入功能02H——显示一个字符DL=字符,光标随字符移动06H——控制台的输入/输出当DL≠0FFH,表示显示字符DL=字符,光标随字符移动09H——在屏幕上显示一个字符串DS:DS=串地址,必须以$结束,光标随字符移动00H——从键盘读一个字符AL=字符码,AH=扫描码01H——判断键盘缓冲区内是否有字符可读IfZF=0,则AL=字符码,AH=扫描码IfZF=1,缓冲区空02H——取当前键盘状态字节AL=键盘状态字节7第9章DOS与BIOS中断

DOS和BIOS中断

键盘I/O

显示器I/O

打印机I/O*

串行通信口I/O*主要内容8PC机的键盘构成键盘是计算机最基本的输入设备,通过五芯电缆与主机相连;PC键盘的触点电路按16x8矩阵排列,用Intel8048芯片来控制对键盘的扫描;按键的识别用行列扫描法,确定按下键的位置,将扫描码送主机。9DBPB6PB7PAIRQ1T1P10P21P11P22P204GND1CLOCK2DATA5+5V3RESETPC机键盘系统板80488255A8259ALS322串并转换器键盘阵列按键选通PC机键盘的工作原理10键盘中断的处理过程

当用户按键时,键盘接口会得到一个代表该按键的键盘扫描码,同时产生一个中断请求。键盘中断服务程序先从键盘接口取得按键的扫描码,然后根据其扫描码判断用户所按的键并作相应的处理,最后通知中断控制器本次中断结束并实现中断返回。字符码与扫描码(见p.317)

当按下和放开一个键时,若中断允许(IMR的D1=0),就会产生一个类型9的8259中断,并转入键盘BIOS中断处理程序,它从8255键盘接口芯片的60h端口读入单字节扫描码,根据按下和放开状态,使扫描码的最高位为0或1,对应的字节称为通码和断码;BIOS键盘处理程序根据扫描码再来转换成相应字符码(一般是ASCII码),一起存放在键盘缓冲区的KBBuff中。字符码与扫描码11按键操作后的系统处理12在计算机键盘上除了可输入各种字符(字母、数字和符号等)的按键之外,还有一些功能键、控制键、双态键和特殊请求键。键盘中的控制键和双态键是非打印按键,它们是起控制或转换作用的。当使用者按下控制键或双态键时,系统要记住其所按下的按键。为此,在计算机系统中,特意安排的一个字来标志这些按键的状态,我们称该字为键盘状态字。键盘状态字13键盘缓冲区键盘缓冲区是一个先进先出的环形队列,其所占内存区域如下:虽然缓冲区的本身长度为16个字,但出于判断“队列满”的考虑,它最多只能保存15个键盘信息。当缓冲区满时,系统将不再接受按键信息,而会发出“嘟”的声音,表示要暂缓按键。当KBHead与KBTail指针值相等时,表示无键盘输入14队列空kbheadkbtail队列中无字符,队列头指针等于队列尾指针队列始端队列末端15进队列kbhead数据进入由队列尾指针指示的单元同时尾指针增量,指向下一个单元队列始端队列末端kbtail16出队列kbhead数据从队列头指针指示的单元取出同时头指针增量,指向下一个单元队列始端队列末端kbtail17队列满kbheadkbtail尾指针与头指针再次相等表明队列已满队列始端队列末端尾指针指向队列末端时,需要循环重新绕回队列始端。18BIOS中的键盘输入在BIOS系统中,提供了中断16H来实现键盘输入功能。其具体的功能如下:00H从键盘读一个字符,输入字符不回显AL=字符ASCII码,AH=键盘扫描码01H判断键盘缓冲区内是否有字符可读IfZF=0则AL=字符码,AH=扫描码;IfZF=1,缓冲区空02H读取当前键盘状态字节AL=键盘状态字节19键盘输入例:例1:从键盘读入一个字符,显示其扫描码和字符码MOV

AH,0H

INT

16H MOV

BX,AX CALLbinihex ;参见p.201例2:读键盘状态,并以十六进制形式显示again:

movah,02h int16h mov

bx,ax callbinihex movdl,0dh movah,2 int21h jmpagainbinihex procnear movch,4

;循环次数rotate: movcl,4

;一次移位数

rolbx,cl moval,bl addal,0fh addal,30h cmpal,3ah jlprintit addal,7hprintit: movdl,al;显示一个数字

movah,2 int21h decch;循环控制

jnzrotateretbinihex endp20例3、用键盘最多输入10个字符,并存入内存变量Buff中,若按“Enter”键,则表示输入结束。21DOS功能中的键盘输入在DOS操作系统中,提供了能实现各种键盘输入的功能(Windows操作系统中仍然能用)。INT21H中的相关功能如下:22INT21H的功能01H、07H和08H23INT21H的功能0AH24INT21H的功能0BHINT21H的功能0CH25.MODEL

SMALL.DATA

Buff

DB

11,?,11DUP(?);注意缓冲区的定义方式.CODE

.STARTUP

LEA

DX,Buff

MOV

AH,0AH

INT

21H;用DOS中的功能调用

.EXIT

0

END例3、用键盘最多输入10个字符,并存入内存变量Buff中,若按“Enter”键,则表示输入结束。

——用DOS中的功能调用结论:用DOS中断的键盘处理比用BIOS中断的键盘处理要简单些。26 .code movax,3509h int21h pushes pushbx ;保存原中断向量内容

cli ;关中断

pushds ;设置新中断向量内容

movax,2509h movdx,segscancode movds,dx movdx,offsetscancode int21h popds键盘中断主程序127 inal,21h ;读出IMR pushax ;保存原IMR内容

andal,0fdh ;允许键盘中断(D1)

out21h,al ;设置新IMR内容

movbyteptresccode,0 sti ;开中断waiting: cmpbyteptresccode,81h

;循环等待按下并释放ESC键

jnewaiting ;中断服务程序设置esccode单元内容

... ;恢复、返回键盘中断主程序228scancode procfar sti ;键盘中断服务程序

pushax pushbx

inal,60h ;读取扫描码

pushax inal,61h ;通过PB7应答键盘

oral,80h

out61h,al ;使PB7=1 andal,7fh

out61h,al ;使PB7=0 popax cmpal,81h jnescan1 ;不是ESC键断开扫描码,显示键盘中断服务程序1/329 pushds ;是ESC键断开扫描码,则设置esccode单元

movbx,@data ;设置数据段地址

movds,bx

movesccode,al ;设置esccode单元为其扫描码

popdsscan1: pushax ;显示扫描代码

shral,1 ;先显示高4位

shral,1 shral,1 shral,1 cmpal,0ah jbscan2 addal,7scan2: addal,30h ;转换成ASCII码键盘中断服务程序2/330 movbx,0 movah,0eh int10h popax;后显示低4位

andal,0fh cmpal,0ah jbscan3 addal,7scan3: addal,30h;转换成ASCII码

movah,0eh int10h键盘中断服务程序3/3 movax,0e20h;显示两个空格

int10h movax,0e20h int10h moval,20h;发送EOI命令

out20h,al popbx popax

iret

;中断返回scancode endp31第9章DOS与BIOS中断

DOS和BIOS中断

键盘I/O

显示器I/O

打印机I/O*

串行通信口I/O*主要内容32显示模式显示器是一个重要的输出设备,它通过显示卡与计算机系统相连。显示器的显示屏通常称之为屏幕,常用的显示卡类型为VGA、SVGA、EVGA和TVGA等,显示卡上也都带有大量的显示存储器,能快速显示精美的图象。 计算机系统中的显示器都有二种显示方式:文本显示方式和图形显示方式。 在DOS操作系统环境下,其默认的显示方式为文本显示方式;在Windows操作系统环境下,其显示方式是图形显示方式,其绝大多数操作界面是以图形界面的窗口形式出现的。33文本显示方式文本显示方式是指以字符为最小单位的显示方式,每个字符都是以矩形块形式显示的。在BIOSROM中存有多种不同大小的字符集,主要的显示字符集大小为:8×8(标准)、8×14和8×16等。在常用的文本显示模式(模式3)下,屏幕被划分成25行,每行可显示80个字符,所以,每屏最多可显示2000(80×25)个字符。为了便于标识屏幕上的每个显示位置,我们就用其所在行和列来表示之,并规定:屏幕的左上角坐标为(0,0),右下角坐标为(24,79)。34文本显示方式在显示字符时,用一个字节存储该字符的ASCII码,用另一个字节存储的显示属性,即:显示颜色。字符显示属性的定义存储内容与显示位置的对应关系0正常000黑0正常亮000黑1闪烁111白1高亮111白35文本显示方式BGRIBGRBL闪烁背景前景彩色字符显示属性单色显示属性的组合:16种颜色的组合:颜色IRGB颜色IRGB颜色IRGB颜色IRGB黑0000红0100灰1000浅红1100兰0001品红0101浅蓝1001浅品红1101绿0010宗0110浅绿1010黄1110青0011灰白0111浅青1011白1111屏幕上字符元素的位置(row,column),在显存中的偏移量为:Char_offset=page_offset+(row×80+column)×236图形显示方式图形显示方式是目前最常用的一种显示方式,也是Windows操作系统的默认显示方式。在该显示方式下,我们可以看到优美的图象、VCD、浏览丰富多彩的网页等。图形显示的最小单位是象素,对每个象素可用不同的颜色来显示。所以,在显示缓冲区内记录的信息是屏幕各象素的显示颜色。由于各种图形显示模式所能显示的颜色和象素是不同的,它决定了显示缓冲区的存储方式也是不同的。下面给出三个具体的图形显示模式及其存储方式,通过它们可看出各种显示模式在显示缓冲区存储方式上的明显差异。374色320×200图形显示模式04由于每个象素只能是四种颜色之一,而四种情况用2位二进制就可表示,所以,一个字节可表示4个象素的显示颜色,存储一行上的所有象素信息就需要80个字节。在具体存储过程中,它又把偶数行象素和奇数行分开来存储。偶数行和奇数行的象素总数各有32000个,也都需要8000个字节来存储,并规定:偶数行象素从0B800:0000H开始存储,奇数行象素从0B800:2000H开始存储。

图形显示方式一3816色640×480图形显示模式12该图形显示模式共有307200个象素,每个象素可选用16种颜色,它需要用4位二进制来表示。该显示模式在存储显示信息时,把该4位分在四个位平面P1、P2、P3和P4上,所以,位平面Pi(i=1,2,3,4)共有307200个二进制位,即有38400个字节。

图形显示方式二39256色320×200图形显示模式13表达256种不同颜色需要8位二进制,即一个字节。在该模式下,其显示缓冲区的存储方式是非常简单的,即:第一个字节存储第一个象素的颜色,第二个字节存储第二个象素的颜色,以此类推,所以,存储满屏象素所需要的字节数为:320×200×1=64000。

从上面三种不同图形显示模式的介绍,不难看出:各种显示模式在显示缓冲区存储方式上的明显差异,操作象素方法的难易程度相差也很大,所以,再次建议:程序员不要用直接操作显示缓冲区的办法来达到改变显示象素的目的,最好是通过BIOS内的中断功能来实现相应的功能,这样,所编写的程序能很方便地适应不同的图形显示模式。图形显示方式三40BIOS系统提供了中断10H来实现各种屏幕处理功能00H——设置显示器模式01H——设置光标形状02H——设置光标位置03H——读取光标信息05H——设置显示页06H、07H——初始化或滚屏(向上滚屏和向下滚屏)08H——读光标处的字符及其属性09H——在当前光标处按指定属性显示字符0AH——在当前光标处显示字符0CH——写图形象素0DH——读图形象素0EH——在Teletype模式下显示字符0FH——读取显示器模式10H——颜色13H——在Teletype模式下显示字符串41可用的显示模式42扩展的显示模式对于超级VGA显示卡,我们可用AX=4F02H和下列BX的值来设置其显示模式。4300H—设置显示器模式0CH—写图形象素01H—设置光标形状0DH—读图形象素02H—设置光标位置0EH—在Teletype模式下显示字符03H—读取光标信息0FH—读取显示器模式04H—读取光笔位置10H—颜色05H—设置显示页11H—字体06H、07H—初始化或滚屏12H—显示器的配置08H—读光标处的字符及其属性13H—在Teletype模式下显示字符串09H—在光标处按指定属性显示字符1AH—读取/设置显示组合编码0AH—在当前光标处显示字符1BH—读取功能/状态信息0BH—设置调色板、背景色或边框1CH—保存/恢复显示器状态BIOS中断10H的功能返44显示缓冲区显示缓冲区是用来记录屏幕显示信息的。在文本显示方式下,这些显示信息包括:每个显示字符的ASCII码及其显示属性。在图形显示方式下,显示缓冲区内存储每个象素的显示颜色。在常用的VGA显示方式下,计算机系统规定:文本显示方式下,单色显示器的显示缓冲区段地址为0B000H;文本显示方式下,彩色显示器的显示缓冲区段地址为0B800H;图形显示方式下,其显示缓冲区段地址为0A000H。45屏幕输出的举例 例2——1/2例2、用直接写屏方式在屏幕第5行、第10列以黄色(0EH)显示字符串内容。解:在文本显示方式下,每行显示80个字符,每个字符占2个字节,所以,显示一行需要160个字节。若在第m行、第n列位置显示字符,则该位置所对应存储单元的偏移量为:m×160+n×2。.MODELSMALL

.DATA

Yellow

EQU

0EH

MSG1

DB

"Welcome..."

Count

EQU

$-MSG1

.CODE

.STARTUP

MOVAX,0B800H 46屏幕输出的举例 例2——2/2

MOVES,AX;彩色显示器的显示缓冲区段地址

MOVDI,5

IMULDI,160;5行所跳过的显示存储单元

MOVCX,10

SHLCX,1;10列所跳过的显示存储单元

ADDDI,CX;第5行、第10列之前所跳过的所有显示单元

MOVCX,Count

LEASI,MSG1;CX:字符个数,SI:显示字符首地址

MOVAH,Yellow;设置显示属性,即显示颜色NEXT:

LODSB;取显示字符到AL

STOSW;向显示缓冲区设置显示字符和属性AX

LOOPNEXT

.EXIT

0

END47例3、用“霓虹灯”的显示方式显示字符串"Hello",按ESC键时结束程序的运行。.MODELSMALL,C.DATA

KBEsc

EQU

1BH

BUFF

DB

"H",15,"e",15,"l",15,"l",15,"o",15.CODEClearPROCNearUsesAXBXCXDX;清屏幕,并保护所用寄存器MOVCL,0MOVCH,0MOVDL,79MOVDH,24;(0,0)-(24,79)是屏幕的左上角和右下角MOVBH,7MOVAL,0MOVAH,6INT10HRETClearENDP显示颜色的变化来模拟霓虹灯,即用颜色15(亮白)作为字符的主要显示颜色,再用颜色12(亮红)从左到右逐个扫描。继续48LEABP,BUFFMOVAL,2MOVAH,13HINT10H;调用中断显示字符串MOVAH,1INT16H;检查是否有按键JZagain;若无字符可读则继续MOVAH,0INT16HCMPAL,KBEscJNZagain;若按键不是Escape,则继续循环.EXIT

0END显示开始位置字符属性地址循环续例349例4、编写一个输入密码的程序,该程序的具体要求如下:

1、每输入一个字符,显示字符"#"表示之;

2、密码最多只有10个字符,多余的按键被丢弃;

3、若输入的字符串为"HELLO",则以蓝色显示"Welcome…",否则,以闪烁、亮红色在显示"InvalidPassword"。50续例4:编写一个输入密码的程序——2/4MOVBUFF[BX],ALINCBX;保存当前输入,并移动有关指针MOVDL,'#'MOVAH,2INT21H;在屏幕上显示字符”#”JMPagain51续例4:编写一个输入密码的程序——3/452续例4:编写一个输入密码的程序——4/453例5、在256色320×200的图形显示模式下,从屏幕最左边向最右边,依次画竖线(从顶到底),线的颜色从1依次加1。要求用中断调用的方法来画线。;画一条竖线,CX—竖线所在的列,AL—线的颜色54例5——2/355MOVAL,modeMOVAH,0INT10H;恢复原来的屏幕显示模式.EXIT

0END例5——3/356DOS功能中的屏幕输出屏幕输出是最常用的一种输出形式,DOS操作系统提供了几种实现屏幕输出的功能调用。INT21H中的相关功能如下:

02H——显示的字符,dl放要显示的字符码

06H——控制台的输入/输出:当DL≠0FFH,表示显示字符

09H——在屏幕上显示一个字符串参数:DS:DX指向字符串首地址,以‘$’结束57作业与练习第九章习题p.353~354

9.2、9.3、9.4、9.5、

9.6、9.7、9.9、9.10。58第9章DOS与BIOS中断

DOS和BIOS中断

键盘I/O

显示器I/O

打印机I/O*

串行通信口I/O*主要内容59打印机状态字打印机状态字记录着打印机的当前工作情况(或状态),它相当于CPU中的程序状态字和键盘状态字。若在某个程序中要包含打印功能,那么,程序员可通过打印状态字来了控制打印过程,并向使用者提供各种有用信息。比如:提示使用者“打印机无纸了”或打印机处于脱机状态(OffLine)等。60打印控制命令在打印时,程序员往往要控制文本的输出格式,比如:换页、换行、字体或字号等。若要实现对打印格式的控制,就必须要知道控制打印机的控制字符和控制命令。常用的打印控制字符字符值功能描述09H水平制表符,跳到下一个制表位置0AH换行0CH换页0DH回车打印机还有其它的控制命令,如:ESC命令序列,该序列由字符ESC(其ASCII为1BH)和一些数值组成。对于各类打印机的控制命令,要参阅其使用手册。61DOS&BIOS中的打印输出DOS功能中的打印输出在DOS操作系统中,INT21H提供了一种打印输出的功能调用,其具体功能如下:05H——向连接在LPT1端口上的打印机输出一个字符40H——向先前打开的文件写入指定数量的字节,可以把打印机看作为标准的输出文件BIOS中的打印输出BIOS系统提供中断17H来实现打印输出功能,其具体的功能如下:00H——向指定的打印机输出一个字符01H——初始化指定的打印机02H——读取指定打印机的状态62例1、在每页的开始处打印“AssemberLanguage”字符串,并空一行才打印其它内容。继续63again:

MOVAH,5H

MOVDL,Title1[BX]

INT21H;调用DOS功能打印字符

INCBX

LOOPagain

……;可在此打印其它任意字符

.EXIT

0

END续1在每页的开始处打印“AssemberLanguage”字符串,并空一行才打印其它内容。64例2、当打印机不能正常打印(非硬件故障)时,提示使用者其原因,以便解决打印问题。继续65续例2当打印机不能正常打印(非硬件故障)时,提示使用者其原因,以便解决打印问题。66第9章DOS与BIOS中断

DOS和BIOS中断

键盘I/O

显示器I/O

打印机I/O

串行通信口I/O*主要内容67串行通信基础串行通信:将数据分解成二进制位,用一条信号线,一位一位顺序传送的方式串行通信的优势:用于通信的线路少,因而在远距离通信时可以极大地降低成本串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送PC系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送68异步通信串行通信时的数据、控制和状态信息都使用同一根信号线传送收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议69起止式异步通信协议起始位——每个字符开始传送的标志,起始位采用逻辑0电平起始位校验位停止位空闲位数据位低位高位字符0/10/10/10/110111…数据位——数据位紧跟着起始位传送。由5~8个二进制位组成,低位先传送校验位——用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位停止位——表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位空闲位——传送字符之间的逻辑1电平,表示没有进行传送70数据传输速率数据传输速率也称比特率(BitRate)每秒传输的二进制位数bps字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(BaudRate)过去,串行异步通信的数据传输速率限制在50bps到9600bps之间。现在,可以达到115200bps或更高71同步通信以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂串行同步通信主要应用在网络当中最常使用高级数据链路控制协议HDLC~~~~同步字符数据数据数据校验字符72传输制式全双工站A站B站A站B站A站B半双工单工示例73串行通信口的中断功能计算机的通信功能是现代计算机网络的最基本功能。如果计算机没有通信功能,计算机网络环境也就无从谈起。一台计算机与其它计算机(或设备)之间通信除了必要的物理连接之外,它们之间通信接口的功能就是另一个极其重要的功能模块。从计算机通信的本质来看,通信就是发送或接受具有一定格式的二进制位。这些二进制位通过一些应用程序——如浏览器——的解释显示成具有不同表达形式的文字或图象。74DOS中的通信功能DOS中的通信功能INT21H提供了对通信口COM1操作的功能调用。03H——从串形通信口读入一个字符, 返回8位数据到AL04H——向串形通信口输出一个字符,输出参数放在DL中MS-DOS有一条命令可以设置COM端口的参数。格式:

MODECOMm:b,p,d,s其中:m=1~4(端口号) b=xx

(取波特率的高两位数字)

p是校验位:N无校验,O奇校验,E偶校验

d默认为7,表示数据的字长(5~8) s是终止位数(1,1.5,2)75BIOS中的通信功能BIOS中的通信功能BIOS系统提供了中断14H来实现对通信端口的控制能。AH功能调用参数返回参数0—初始化通信口AL=初始化参数DX=通信口号AH=通信口状态1—向通信口输出字符AL=输出字符DX=通信口号成功AH=0;失败AH7=1AH0~6=状态2—从通信口读入字符DX=通信口号成功AH=0AL=字符失败AH7=1AH0~6=状态3—读取通信口状态DX=通信口号AH=通信口状态76DOS&BIOS中的通信功能

串行通讯口初始化参数串行通讯口状态字节(置1时的含义)波特率7654321010=7位11=8位校验字长终止位0=1位1=2位01=奇校验11=偶校验X0=无校验76543210超时间断(BI)发送保存寄存器空(THRE)数据准备好(DR)帧格式错(FE)奇偶错(PE)超越错(OE)发送移位寄存器空(TSRE)77例1.把字符串"Hello,World"从COM1端口传输出去。在传输过程中,要求传输速率为9600波特,字长为8位,1位停止位,无齐偶校验。78续例1.:79例2.把从COM1端口读入的字符显示在屏幕上。如果通信端口数据未准备好,则程序处于等待状态;若传输出错,则用红色显示字符"?"。80续例2..ELSE

MOV

AL,'?';显示字符"?"

MOV

BL,12;错误颜色:红

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论