微机原理

第二章

1.8086/8088CPU可直接寻址多少个内存(字节)单元?多少个I/O端口?它们的外部数据总线各有多少根?

  1. 8086/8088CPU使用的是20位地址总线,因此可以直接寻址2的20次方个内存单元(即1,048,576),每个单元大小为1字节,因此可以直接寻址2的20次方个字节的内存
  2. 8086/8088CPU有64K个I/O端口,每个端口占用1字节的地址空间,因此可以直接寻址64K个I/O端口
  3. 8086/8088CPU的外部数据总线为16位,也就是说,每次可以传输16位(即2个字节)的数据。

2.8086CPU内部由哪两部分组成?它们大致是如何工作的?

  1. 8086 CPU内部由执行单元(EU)总线接口单元(BIU)组成。EU是CPU的计算核心,负责执行指令,进行算术运算、逻辑运算、移位操作等计算任务。BIU是CPU与外部系统之间的接口,负责执行指令预取、数据传输和地址计算等任务。
  2. 8086 CPU的工作流程主要包括指令预取指令译码执行指令访问内存和I/O端口等步骤。

3.CPU、EU和BIU的英文全称和中文含义各是什么?

  1. CPU的英文全称是Central Processing Unit,中文意思是中央处理器
  2. EU的英文全称是Execution Unit,中文意思是执行单元。EU是CPU的计算核心,负责执行指令,进行算术运算、逻辑运算、移位操作等计算任务,同时也负责控制整个CPU的运行状态。
  3. BIU的英文全称是Bus Interface Unit,中文意思是总线接口单元。BIU是CPU与外部系统之间的接口,负责执行指令预取、数据传输和地址计算等任务。BIU从内存中预取指令,并将指令送到EU中执行,同时根据指令中给出的地址信息,计算出实际的物理地址,并将数据传输到EU中。

5.两个带符号数10110100B和1100111B相加,运算后各标志位的值等于多少?哪些标志位是有意义的?如果把这两个数当成无符号数,相加后哪些标志位是有意义的?(参考例2.2。)

将两个带符号数10110100B和1100111B相加,得到结果为:

   10110100B
 + 00011011B
 ------------
   11001111B

运算后各标志位的值为:

  • CF(进位标志)= 0,因为没有发生进位;
  • PF(奇偶标志)= 1,结果11001111B中1的个数为6,为偶数,所以PF=1;
  • AF(辅助进位标志)= 1,因为低4位相加时发生了进位(1011+0111=10010),所以AF=1;
  • ZF(零标志)= 0,因为结果不为0;
  • SF(符号标志)= 1,因为结果的最高位为1,表示结果为负数;
  • OF(溢出标志)= 0,因为两个带符号数相加时,如果结果超出了带符号数的表示范围,就会发生溢出。但是这里的结果没有超出范围,所以OF=0。

有意义的标志位包括CF、PF、AF、ZF和SF。

如果把这两个数当成无符号数相加,得到的结果为:

   10110100B
 + 00011011B
 ------------
   11001111B

此时的CF、PF、AF、ZF和SF的值和前面计算带符号数时一样,因为它们的计算方式不受数的符号影响。但是OF(溢出标志)的值变为1,因为两个无符号数相加的结果超出了8位二进制数的范围,即发生了溢出。

8.段基地址装入如下数值,则每段的起始地址和结束地址各是什么?(参考例2.4。)
(1)1200H
(2)3F05H
(3)0FFEH

根据8086CPU的内存地址计算方式,每个段的起始地址和结束地址可以分别计算如下:

(1) 第一个段的起始地址为段基地址乘以16,即:

1200H * 16 = 12000H

第一个段的结束地址为起始地址加上段的大小(64KB),即:

12000H + FFFFH = 21FFFH

因此,第一个段的起始地址为12000H,结束地址为21FFFH。

(2) 第二个段的起始地址为段基地址乘以16,即:

3F05H * 16 = 3E8A0H

第二个段的结束地址为起始地址加上段的大小(64KB),即:

3E8A0H + FFFFH = 3F89FH

因此,第二个段的起始地址为3E8A0H,结束地址为3F89FH。

(3) 第三个段的起始地址为段基地址乘以16,即:

0FFE0H * 16 = FFE00H

第三个段的结束地址为起始地址加上段的大小(64KB),即:

FFE00H + FFFFH = FFFEFH

因此,第三个段的起始地址为FFE00H,结束地址为FFFEFH。

11.设SS:SP=2000:0300H,则堆栈在内存中的物理地址范围是什么?执行两条
PUSH指令后,SS:SP=?再执行一条 POP指令后,SS: SP=?(参考图2.6。)

根据8086CPU的堆栈机制,SS:SP指向的是当前栈顶元素的物理地址。其中SS为堆栈段寄存器,SP为堆栈指针寄存器。

如果SS:SP=2000:0300H,则堆栈在内存中的物理地址范围为:

2000H:0300H ~ 2000H:FFFFH

执行两条PUSH指令后,每条PUSH指令会将一个字(两个字节)压入堆栈中,因此堆栈指针SP会减去2,即:

SS:SP = 2000H:02FCh

再执行一条POP指令后,POP指令会将堆栈顶部的一个字弹出,并将堆栈指针SP加上2,即:

SS:SP = 2000H:02FEH

因此,执行完三条指令后,堆栈指针SP的值为02FEH,堆栈中保存的数据为执行两条PUSH指令压入的数据。

12.如果从存储单元2000H开始存放的字节数据为:3AH、28H、56H、4FH,试画出示
意图说明:从2000H和2001H单元开始取出一个字数据各要进行几次操作,取出的数据分
别等于多少。(参考图2.8。)

从存储单元2000H开始存放的字节数据为:3AH、28H、56H、4FH。

要从2000H和2001H单元开始取出一个字数据,需要进行如下操作:

  1. 从2000H单元中取出一个字节数据3AH;
  2. 将3AH保存到一个寄存器中;
  3. 将2001H单元的地址送到地址总线上;
  4. 从2001H单元中取出一个字节数据28H;
  5. 将28H与寄存器中保存的3AH合并成一个字节数据,得到一个字;
  6. 取出的数据为3A28H。

示意图如下:

+---+---+---+---+
| 3A| 28| 56| 4F|  Memory
+---+---+---+---+
  2000 2001 2002 2003

         +-------+
         |       |
         v       |
      +-----+  2001H
      | 3AH |  <--- 第一次取数
      +-----+
         |
         |
         v
         |
      +-----+  2002H
      | 28H |  <--- 第二次取数
      +-----+
         |
         |
         v
         |
      3A28H  <--- 合并成一个字

第三章

2.已知:DS=1000H,BX=0200H,SI=02H,内存10200H~10205H单元的内容分别为10H,2AH,3CH,46H,59H,6BH。下列每条指令执行完后AX寄存器的内容各是什么?
(1)MOV AX, 0200H
(2)MOV AX, [200H]
(3)MOV AX, BX
(4)MOV AX, 3[BX]
(5)MOV AX,[BX+SI]
(6)MOV AX, 2[BX+SI]

已知DS=1000H,BX=0200H,SI=02H,内存10200H~10205H单元的内容分别为10H、2AH、3CH、46H、59H、6BH。下面是每条指令执行完后AX寄存器的内容:

(1) MOV AX, 0200H
    将立即数0200H移动到AX寄存器中,AX=0200H。

(2) MOV AX, [200H]
    将DS:200H处的字(2AH10H)移动到AX寄存器中,AX=2A10H。

(3) MOV AX, BX
    将BX寄存器中的值(0200H)移动到AX寄存器中,AX=0200H。

(4) MOV AX, 3[BX]
    将DS:BX+3处的字(59H46H)移动到AX寄存器中,AX=5946H。

(5) MOV AX,[BX+SI]
    将DS:BX+SI处的字(3CH2AH)移动到AX寄存器中,AX=3C2AH。

(6) MOV AX, 2[BX+SI]
    将DS:BX+SI+2处的字(46H59H)移动到AX寄存器中,AX=4659H。

3.设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,数据段中变量名为VAL的偏移地址值为0030H,试说明下列源操作数字段的寻址方式是什么,物理地址值是多少。
(1)MOV AX, [100H]
(2)MOV AX, VAL
(3)MOV AX, [BX]
(4)MOV AX, ES: [BX]
(5)MOV AX, [S]
(6)MOV AX, [BX+10H]
(7)MOV AX, [BP]
(8)MOV AX, VAL[BP+SI]
(9)MOV AX, VAL[BX+D]
(10)MOV AX, [BP+DI]

设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,数据段中变量名为VAL的偏移地址值为0030H,下面是每个源操作数字段的寻址方式和物理地址值:

(1) MOV AX, [100H]
    段地址为DS,偏移地址为100H,物理地址为DS*16+100H=10100H。

(2) MOV AX, VAL
    段地址为DS,偏移地址为VAL,物理地址为DS*16+VAL=1000H*16+0030H=10030H。

(3) MOV AX, [BX]
    段地址为DS,偏移地址为BX,物理地址为DS*16+BX=1000H*16+0100H=10100H。

(4) MOV AX, ES:[BX]
    段地址为ES,偏移地址为BX,物理地址为ES*16+BX=2000H*16+0100H=20100H。

(5) MOV AX, [S]
    段地址为SS,偏移地址为S,物理地址为SS*16+S=3500H*16+S。

(6) MOV AX, [BX+10H]
    段地址为DS,偏移地址为BX+10H,物理地址为DS*16+BX+10H=1000H*16+0110H=1010H。

(7) MOV AX, [BP]
    段地址为SS,偏移地址为BP,物理地址为SS*16+BP=3500H*16+0200H=35200H。

(8) MOV AX, VAL[BP+SI]
    段地址为DS,偏移地址为VAL+BP+SI,物理地址为DS*16+VAL+BP+SI=1000H*16+0030H+0200H+00A0H=1230H。

(9) MOV AX, VAL[BX+D]
    段地址为DS,偏移地址为VAL+BX+D,物理地址为DS*16+VAL+BX+D=1000H*16+0030H+0100H+0=1130H。

(10) MOV AX, [BP+DI]
     段地址为SS,偏移地址为BP+DI,物理地址为SS*16+BP+DI=3500H*16+0200H+0024H=35224H。

第五章

1.CPU与外设交换数据时,为什么要通过I/O接口进行?I/O接口电路有哪些主要功能?

CPU与外设交换数据时,需要通过I/O接口进行是因为CPU和外设的工作时钟不同,数据传输的速度也不同,为了保证数据传输的正确性和可靠性,需要通过I/O接口进行数据交换。I/O接口是CPU与外设之间的接口电路,它的主要功能如下:

  1. 数据缓冲:I/O接口通常包含一个或多个数据缓冲器,用于临时存储输入/输出数据,以便CPU或外设在需要时进行读取或写入。

  2. 状态寄存器:I/O接口包含一些状态寄存器,用于记录外设或I/O接口的状态信息,例如输入/输出状态、传输完成状态等。

  3. 控制寄存器:I/O接口还包含一些控制寄存器,用于控制外设或I/O接口的工作模式,例如数据传输方向、传输方式等。

  4. 接口逻辑:I/O接口还包含一些接口逻辑,用于实现CPU和外设之间的数据传输、控制信号的传递等功能。

  5. 时序控制:I/O接口还包含一些时序控制电路,用于控制数据传输和控制信号的时序,以保证数据传输的正确性和可靠性。

2.什么叫I/O端口?一般的接口电路中可以设置哪些端口?计算机对I/O端口编址时采用哪两种方法?在8086/8088CPU中一般采用哪种编址方法?

  1. I/O端口

I/O端口是计算机中用于输入/输出的接口,它是CPU和外设之间的通信通道。I/O端口通常由一组连续的地址组成,每个端口都有一个唯一的地址,用于访问特定的外设或I/O接口。

  1. 接口电路中的端口

在一般的接口电路中,可以设置多种端口,包括数据端口、地址端口、控制端口、状态端口等。1、数据端口用于传输数据,2、地址端口用于传输地址信息,3、控制端口用于控制外设或I/O接口的工作模式,4、状态端口用于记录外设或I/O接口的状态信息。

  1. I/O端口编址方法

计算机对I/O端口编址时采用的两种方法分别是端口地址编址存储器映射编址。端口地址编址是将I/O端口与存储器分开编址,使用专门的指令来访问I/O端口;存储器映射编址是将I/O端口映射到存储器地址空间中,使用与访问存储器相同的指令来访问I/O端口。

  1. 8086/8088CPU中的编址方法

在8086/8088CPU中,一般采用端口地址编址方法。CPU通过IN和OUT指令来访问I/O端口,其中IN指令用于从端口读取数据,OUT指令用于向端口写入数据。I/O端口的地址范围是0~FFFFH,因此需要16位地址总线来访问I/O端口。

3.CPU与外设间传送数据主要有哪几种方式?

CPU与外设之间传送数据的方式有以下几种:

  1. 程序查询方式CPU通过程序查询方式向外设发送查询指令,外设接收到指令后进行数据处理并将处理结果返回给CPU。程序查询方式需要CPU和外设之间进行频繁的数据传输,效率较低。

  2. 中断方式外设在完成一定的任务后,向CPU发送中断请求信号,CPU收到信号后暂停正在执行的程序,跳转到中断处理程序中进行处理。中断方式需要CPU和外设之间进行少量的数据传输,效率较高。

  3. DMA方式:DMA(Direct Memory Access)方式是指外设通过DMA控制器直接访问内存,将数据传输到内存中。CPU只需要启动DMA传输,然后就可以继续执行其他任务,不需要进行数据传输。DMA方式可以提高数据传输的效率。

  4. 通道方式:通道方式是指CPU和外设之间设置专门的通道,通过通道进行数据传输。通道可以看作是一个独立的处理器,可以执行数据传输、数据处理等任务,减轻CPU的负担,提高数据传输的效率。

总之,CPU与外设之间传送数据的方式有多种,不同的方式适用

7.8255A有哪几种工作方式?各用于什么场合?端口A、端口B和端口C各可以工作于哪几种工作方式?

8255A有四种工作方式,它们分别是模式0、模式1、模式2和模式3。各自的用途和场合如下:

  1. 模式0:最简单的工作方式,适用于需要控制简单的输入输出操作的场合。端口A和端口B都可以工作在输入或输出模式下,端口C可以工作在模式0、1或2下。

  2. 模式1:可以实现高速的输入/输出操作,适用于需要高速数据传输的场合。端口A和端口B工作在输入或输出模式下,端口C只能工作在模式1下。

  3. 模式2:可以实现基本的输入/输出操作,同时还能够控制外设的中断请求。端口A和端口B都可以工作在输入或输出模式下,端口C只能工作在模式2下。适用于需要控制中断请求的场合

  4. 模式3:可以实现双向数据传输,适用于需要双向数据传输的场合。端口A和端口B都可以工作在输入输出模式下,端口C只能工作在模式3下。

端口A、端口B和端口C各可以工作于不同的工作方式,具体如下:

  • 端口A和端口B都可以工作在输入或输出模式下,同时也可以工作在模式1和模式3下。

  • 端口C可以工作在模式0、1、2和模式3下。需要注意的是,不同的工作方式下,端口C的功能不同,需要根据具体的应用需求来选择合适的工作方式。

总之,8255A可以根据不同的应用场合选择不同的工作方式,实现不同的功能需求。端口A、端口B和端口C各可以工作于不同的工作方式,需要根据具体的应用需要选择合适的工作方式。

第八章

1.什么叫中断?中断的主要功能是什么?

中断是计算机系统中的一种机制,它是指在CPU执行程序的过程中,遇到特定的事件或条件时,暂停当前程序的执行,跳转到中断处理程序中进行处理,处理完成后再返回原来的程序继续执行。

中断的主要功能是实现CPU的多任务处理和设备之间的协调。在多任务处理中,CPU可以在执行一个任务时,暂停该任务的执行,转而执行另一个任务,从而实现多个任务的并行处理。在设备协调中,当一个外设需要CPU的处理时,可以通过中断方式向CPU发送信号,CPU收到信号后立即停止当前任务的执行,转而去处理外设请求,处理完成后再返回继续原来的任务。

2.什么叫中断源?8086 CPU的中断源有哪几种?根据中断源分类,8086的中断分哪几类?

中断源是指可以触发CPU中断的事件或设备,当中断源发生时,CPU会暂停当前程序的执行,跳转到中断处理程序中进行处理。

8086 CPU的中断源包括内部中断源外部中断源。内部中断源是指由CPU内部产生的中断,如除法溢出、单步执行等。外部中断源是指由外部设备产生的中断,如定时器中断、键盘中断等。

根据中断源的分类,8086 CPU的中断可以分为两类,即可屏蔽中断不可屏蔽中断。可屏蔽中断是指CPU可以通过设置标志位或者其他方式屏蔽中断的发生,如定时器中断。不可屏蔽中断是指CPU无法屏蔽中断的发生,如电源故障中断。

  • 中断源是可以触发CPU中断的事件或设备;
  • 8086 CPU的中断源包括内部中断源和外部中断源;
  • 根据中断源的分类,8086 CPU的中断可以分为可屏蔽中断和不可屏蔽中断。

3.8086的外部中断从哪些引脚引入?内部中断有哪几种?中断向量表用来存放什么信息?它位于内存的什么区域内?

  1. 8086的外部中断可以从INT引脚NMI引脚引入。当INT引脚被拉低时,表示发生可屏蔽中断;当NMI引脚被拉低时,表示发生不可屏蔽中断。

  2. 8086的内部中断有两种,分别为异常陷阱。异常是指在程序执行过程中出现错误,如除数为零、越界等;陷阱是指程序主动向CPU发出的中断请求,如软件中断等。

  3. 中断向量表用来存放每个中断的处理程序入口地址。每个中断有一个唯一的中断向量号,该号码被用作中断向量表的索引,对应的表项存放着该中断的处理程序的入口地址。

  4. 中断向量表位于内存的0x0000至0x03FF的区域内,共有256个表项,每个表项占4个字节。其中,前32个表项用于存放CPU内部异常和陷阱的处理程序的入口地址,后224个表项用于存放外部中断的处理程序的入口地址。

5.在PC机中,哪几个中断被定义为专用中断?它们的中断服务程序入口地址放在中断向量表的什么地方?在8259A的中断输入端IR~IR引入的中断类型号为08~0FH,它们的中断服务程序入口地址放在何处?

  1. 在PC机中,专用中断是指IRQ0~IRQ7这8个中断,它们被用于连接可编程中断控制器8259A,用于管理外部设备的中断请求。这些中断的中断服务程序入口地址放在中断向量表的位置20H~27H处

  2. 8259A的中断输入端IR0~IR7引入的中断类型号为08~0FH,每个中断类型号对应着一个中断服务程序的入口地址。这些入口地址被存储在中断向量表的位置008H~03FH处,每个表项占4个字节,其中08H~0FH这8个表项对应着8259A的8个中断输入端。当一个中断请求被触发时,CPU首先从8259A的中断类型寄存器中读取中断类型号,然后根据该号码在中断向量表中查找对应的中断服务程序的入口地址,跳转到该地址开始执行中断服务程序

6.如果中断类型号n=4,它的中断服务程序的入口地址CS:IP=0485:0016H,它在中断向量表中如何存放?

  1. 首先将中断类型号n乘以4,得到中断向量表中对应的表项偏移地址,即4n。

  2. 接下来,在内存中将CS:IP的值按照字节顺序存放在表项偏移地址4n~4n+3的4个连续字节中,即先存放IP的低字节,再存放IP的高字节,最后存放CS的低字节和高字节,存放顺序与字节顺序相反。

  3. 在本例中,中断类型号n=4,因此表项偏移地址为4n=16H。CS:IP的值为0485:0016H,按照上述方式存放在中断向量表的16H~19H处,即第4个表项中。

7.若中断向量表中地址为0040H单元中存放240BH,0042H单元中存放D169H,则这些单元对应的中断类型号是什么?该中断服务程序的起始地址是什么?

  1. 中断类型号:中断向量表中的每个表项占4个字节,其中低2个字节存放中断服务程序的入口地址的偏移量,高2个字节存放中断服务程序入口地址所在的段地址。因此,0040H单元中存放的240BH对应着中断类型号0BH,0042H单元中存放的D169H对应着中断类型号69H。

  2. 中断服务程序的起始地址:中断服务程序的起始地址是由中断向量表中存放的段地址和偏移量组合而成的。在本例中,中断类型号0BH的中断服务程序的起始地址为D169H:240BH,中断类型号69H的中断服务程序的起始地址为240BH:D169H。

8.在8086中,中断优先级从高到低的顺序是如何排列的?

在8086中,中断优先级从高到低的顺序如下:

  1. 非可屏蔽中断(NMI)优先级最高,无法被屏蔽,用于处理严重的系统错误,如电源故障等。

  2. 可屏蔽中断(IRQ0~IRQ15)的优先级次之,其中IRQ0用于处理定时器中断,IRQ1用于处理键盘中断,IRQ2用于连接可编程中断控制器(8259A),用于管理其他外部设备的中断请求。IRQ3~IRQ15用于连接其他外部设备的中断请求。

  3. 内部中断的优先级最低,包括除法溢出中断、单步执行中断、断点中断等,主要用于调试和监控程序的执行。

第九章

1.串行通信与并行通信的主要区别是什么?各有什么优缺点?

串行通信与并行通信的主要区别和各自的优缺点如下:

  1. 区别:串行通信和并行通信的区别在于数据的传输方式。串行通信是指将数据一位一位地按照顺序传输,即每次只传输一个数据位,而并行通信是指同时传输多位数据,即每次可以传输多个数据位。

  2. 优缺点

  • 串行通信优点:由于数据按照顺序传输,因此不需要复杂的同步电路,可以使用简单的线路实现。此外,串行通信还可以使用较长的传输距离,且不会因为传输距离的增加而降低传输速度。

  • 串行通信缺点:由于每次只传输一个数据位,因此数据传输速度比较慢,尤其是在需要高速传输大量数据时,串行通信的传输效率较低。另外,由于需要将数据一位一位地传输,因此数据传输时需要进行解码和编码,增加了数据传输的复杂度。

  • 并行通信优点:由于可以同时传输多位数据,因此数据传输速度比较快,尤其在需要高速传输大量数据时,效率较高。此外,由于每次可以传输多位数据,因此数据传输时不需要进行解码和编码,传输效率比较高。

  • 并行通信缺点:由于需要同时传输多个数据位,因此需要复杂的同步电路和线路,实现比较困难。此外,由于传输距离的增加会导致传输速度的降低,因此并行通信的传输距离比较有限

2.串行通信中,什么叫单工、半双工、全双工工作方式?

串行通信中,单工、半双工和全双工是指不同的数据传输工作方式,具体如下:

  1. 单工工作方式:单工工作方式只能实现单向数据传输,即数据只能从发送端传输到接收端,不能从接收端返回发送端。在单工通信中,发送和接收数据的设备是不同的,不能同时进行数据传输。

  2. 半双工工作方式:半双工工作方式可以实现双向数据传输,但同一时间只能进行单向数据传输,即同一时间只能有一个设备进行数据传输。在半双工通信中,发送和接收数据的设备是同一个,需要通过控制信号来切换数据传输的方向。

  3. 全双工工作方式:全双工工作方式可以实现双向数据传输,并且可以同时进行双向数据传输,即发送和接收数据的设备可以同时进行数据传输,不需要切换数据传输的方向。在全双工通信中,需要使用两条数据传输线路,一条用于发送数据,另一条用于接收数据。

3.什么叫同步工作方式?什么叫异步工作方式?哪种工作方式的效率更高?为什么?

同步工作方式和异步工作方式是串行通信中常用的工作方式,具体如下:

  1. 同步工作方式:同步工作方式是指数据传输的时钟信号由发送端和接收端共同参考,以同步的方式进行数据传输。在同步通信中,发送端和接收端需要使用相同的时钟信号,以确保数据传输的正确性和稳定性。

  2. 异步工作方式:异步工作方式是指数据传输的时钟信号由发送端单独提供,接收端根据发送端提供的时钟信号进行数据接收。在异步通信中,发送端和接收端之间不需要进行时钟同步,可以根据发送端提供的时钟信号进行数据接收。

  3. 效率比较:同步工作方式的效率比异步工作方式高。因为在同步通信中,由于发送端和接收端使用相同的时钟信号,因此可以更准确地控制数据传输的速度和时序,减少数据传输的错误和重传。而在异步通信中,由于发送端和接收端之间没有时钟同步,传输速度和时序容易受到干扰和误差的影响,容易导致数据传输错误和数据重传,从而降低了效率。

4.用图表示异步串行通信数据的位格式,标出起始位、停止位和奇偶校验位,在数字位上标出数字各位发送的顺序。

异步串行通信数据的位格式如下:

起始位   数据位0   数据位1   数据位2   数据位3  ...  数据位n  奇偶校验位  停止位
  0        D0        D1        D2        D3    ...    Dn        P        1

其中,起始位和停止位用于标识数据传输的起始和结束位置,每个数据位表示一个二进制数位,奇偶校验位用于检测数据传输过程中的错误和纠正错误。

数字位的发送顺序是从最高位(即最左侧位)开始到最低位(即最右侧位)结束。

下面是一个示例图:

            +-----+-----+-----+-----+-----+-----+-----+-----+
发送端数据:|  0  |  1  |  0  |  1  |  1  |  0  |  1  |  0  |
            +-----+-----+-----+-----+-----+-----+-----+-----+
位的位置:     8     7     6     5     4     3     2     1

在上面的示例中,起始位为0,停止位为1,数据位从D0到D7表示数字位的值,奇偶校验位为P。从左到右依次为8位、7位、6位、5位、4位、3位、2位、1位。

5.什么叫波特率?常用的波特率有哪些?

波特率(baud rate)是串行通信中用来衡量数据传输速率的单位,指每秒钟传输的比特数。它表示在一秒钟内传输的数据位数,即波特率越高,单位时间内传输的数据位数就越多,传输速度就越快。

常用的波特率包括:110、300、600、1200、2400、4800、9600、19200、38400、57600、115200 等。其中,9600 和 115200 是最常用的两种波特率,分别适用于中等和高速的串行通信。

6.若某一终端以2400波特的速率发送异步串行数据,发送1位需要多少时间?假设一个字符包含7个数据位、1个奇偶校验位、1个停止位,发送1个字符需要多少时间?

若某一终端以2400波特的速率发送异步串行数据,发送1位需要的时间为 1/2400 = 0.00041667 秒(即416.67 微秒)。

一个字符包含7个数据位、1个奇偶校验位、1个停止位,因此发送一个字符需要的时间为:

(7 + 1 + 1) × 0.00041667 秒 = 0.009375 秒(即9.375 毫秒)。

因此,发送一个字符需要 0.009375 秒(即9.375 毫秒)的时间。

posted @ 2023-06-06 21:40  Wmic  阅读(911)  评论(0)    收藏  举报