第一章★1.1.18何谓奇偶校验?它有什么用途?请说明其具体方法?答:奇偶校验是一种校验代码传输正确性的方法,它有奇校验和偶校验两种方式,奇偶校验法常用于识别数据是否发生传输错误,并且可以启动校正措施,或者舍弃传输发生错误的数据,要求重新传输有错误的数据块。这种方法是在每一个字节中加上一个奇偶校验位,并被传输,即每个字节发送九位数据,数据传输以前通常会确定是奇校验还是偶校验,以保证发送端和接收端采用相同的校验方法进行数据校验,假如校验位不符,则认为传输出错。★1.1.22何谓堆栈?为什么要设置堆栈?栈区是怎样确定的?数据进栈、出栈按照何种规律?进栈用什么指令?进栈、出栈时栈针将怎样变化?通常栈底所指是什么内容?栈顶所指又是什么内容?答:①堆栈是读写存储器RAM中的一个特殊区域,是一组按照“先进后出”的方式工作的、用于暂存信息的存储单元。②设置堆栈是为了保证断点地址和现场信息。③栈区是通过堆栈指针SP在RAM中建立堆栈后确定的,建立堆栈可用一条传送指令来实现,例如MOVSP,#60H。④数据进栈出栈按照“先进后出”的规律。⑤进栈指令:PUSHX。⑥出栈指令:POPX。⑦建立堆栈后,当执行进栈指令时,栈针SP的内容自动加1,即(SP)←(SP)+1,当执行出栈指令时,栈针SP的内容自动减1,即(SP)←(SP)—1。⑧栈底所指的是堆栈指针SP所指的起始位置。⑨栈顶所指的是当有数据进栈后SP+1,当SP指向的地址为BEGIN+LENGTH,即栈满,此时的SP所指向的位置。★1.1.23为什么要采用总线结构?芯片为什么要通过缓冲器才能挂在总线上?答:①总线。即在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。采用总线结构后,芯片之间不需单独走线,这就大大减少了连接线的数量。②因为挂在总线上的芯片不能同时发送信息,否则多个信息同时出现在总线上将发生冲突而造成错误,这就是说,如果有几块芯片需要输出信息,就必须分时传送,为了实现这个要求,所以芯片要通过缓冲器才能挂在总线上。★1.1.27CPU与外围设备间传送数据有哪几种方式?试根据每一种方式的特征,分析其适用的场合。答:四种:无条件传送方式、查询传送方式、中断传送方式和直接数据通道传送DMA方式。①无条件传送方式:CPU在输入信息以前不必询问输入设备是否准备好了数据,只要执行输入指令就可输入所需信息,同样输出数据前也不必询问输出设备是否已进入准备接收数据状态,只要执行输出指令,输出信息就会被外围设备所接收。适用于外围设备信息变换缓慢的场合。②查询传送方式:CPU在传送数据前要先询问外设状态,仅当外设状态准备好了才传送,否则CPU就等待。适用于外围设备与CPU的速度有差异且比CPU的速度慢的场合。③中断传送方式:采用中断方式与外设间传送数据,使CPU从反复询问外设状态中解放出来,提高了工作效率。而且,可以为多个外设服务。适用于对实时性要求较高的场合。④直接数据通道传送DMA方式:令CPU交出总线的控制权,改由DMA控制器进行控制,使外设与内存利用总线直接交换数据,不经过CPU中转,也不通过中断服务程序,既不需要保存、恢复断点和现场,所以传送数据的速度比中断方式更快。适用于高速度的外围设备与计算机间传送大批量数据的场合。★1.1.28讲清中断的概念、用途和优越性。说明CPU响应中断的条件。答:①中断:是指当机器正在执行程序的过程中,一旦遇到异常情况或特殊请求时,就暂时停止正在执行的程序,而转入需要的处理(称为中断处理或中断服务),并且在处理完毕后,立即回到原来被停止的程序间断处(成为断点)继续执行。②中断的用途:传递数据、实时控制、故障自动处理、实现人机联系等。③中断的优越性:提高了CPU的工作效率,并且使其可以同时为多个外设服务,实现实时控制,可以处理设置故障掉电等突发事件。④CPU响应中断的条件:接口电路和CPU处在允许中断状态。★1.1.29何谓中断优先权?它是怎样规定的?讲清中断嵌套的概念。答:①一个计算机系统有多个中断源,同一个中断请求引脚也可以接有多个会提出中断请求的外围设备,遇到几个设备同时中断请求时,CPU对中断的响应顺序称为中断的优先权。②规定的原则有三:(1)多个中断源同时申请中断时,CPU先响应优先权高的中断请求。(2)优先权级别低的中断正在处理时,若有级别高的中断请求,则CPU暂时中断正在进行的中断服务程序,去响应优先权级别高的中断请求,在高级别中断服务程序执行完后再返回原来低级别中断服务程序继续执行。(3)同级别或低级别的中断源提出中断申请时,CPU要到正在处理的中断服务程序执行完毕返回主程序、并执行了主程序的一条指令后才接着响应。③优先权级别低的中断正在处理时,若有级别高的中断请求,则CPU暂时中断正在进行的中断服务程序,去响应优先权级别高的中断请求,在高级别中断服务程序执行完后再返回原来低级别中断服务程序继续执行,称为中断嵌套。★1.1.37下列程序存放在64K×8位的EPROM中:7408MOVA,#08H75F076MOVB,#76H25E0ADDA,A25F0ADD,A,B022000LJMP2000H试分析该程序并回答以下问题:1)如该段程序自000FH单元开始存放,请在程序段中写明每条指令的首址。2)该程序段共占用内存多少单元?3)在执行指令ADDA,A时,程序计数器PC的内容是什么?4)执行完指令ADDA,B后,累加器A、寄存器B及程序计数器PC的内容各是什么?5)在CPU取回指令LJMP2000H并执行该指令时,(PC)=?;该指令执行后,(PC)=?答:①000F7408MOVA,#08H001175F076NOVB,#76H001425E0ADDA,A001625F0ADDA,B0018022000LJMP2000H上列程序段最左一列写的是每条指令存放的首址。因指令MOVA.#08H的机器码为74H与08H,要存放两个单元,即000FH与0010H,故指令MOVB,#76H存放的首址将为0011H,后面各指令存放的首址同理一一推得。②12个单元。③执行时内容已更新为0016H。④(A)=86H,(B)=76H,(PC)=0018H。⑤CPU取回指令LJMP2000H并执行该指令时,(PC)=001BH;该指令执行后,(PC)=2000H。★1.1.38有程序段如下,试画出堆栈图,在图上注明各有关单元的内容。MOVSP,#0E0HMOVA,#24HMOVB,#0F1HPUSHAPUSHB★1.1.39某存储器芯片有12根地址线、8根数据线,请回答:1)该芯片有多少个存储单元?2)每个存储单元存放多少位二进制数?3)用十六进制数写出它的首地址和末地址。答:(1)4k(2)8(3)首地址为000H,末地址为FFFH★1.1.40某存储器芯片的存储容量为16K×8位,它应有几根地址线?若其首址为1000H,则末址是多少?答:14,4FFFH★1.2.18用8位二进制写出下列各数的原码、反码和补码、1)+212)-213)+1204)-120答:(1)原码:+21=00010101反码:+21=00010101补码:+21=00010101(2)原码:-21=10010101反码:-21=11101010补码:-21=11101011(3)原码:+120=01111000反码:+120=01111000补码:+120=01111000(4)原码:-120=11111000反码:-120=10000111补码:-120=10001000★1.2.43求出下列算式的值:1)(100100.1)2+(110110.1000)BCD+(36.8)16+(36.4)82)(01010010)2+(01010010)BCD+48+(48)163)00111100B+(10010110)BCD+24+24H4)111011.1B—(100010.0101)BCD—19.8H+75.1QE3HE2HE1HE0H…当前栈顶栈底F1H24H…5)00100110B+00100110BCD+74H+74以上1)2)3)题答案以十进制数表示,4)题答案以二进制数表示,5)题答案以十六进制数表示。答:(1)36.5+36.8+54.5+30.5=158.3(2)82+52+48+72=254(3)60+96+24+36=216(4)(5)38+26+116+74=254第二章MCS一51系列单片机的硬件结构★2.1、综述MCS-51系列单片机的大致功能。51子系列的主要功能为:(1)8位CPU;(2)片内带振荡器(振荡器和时钟电路)振荡频率fsoc的范围为1.2—12MHz;可有时钟输出;(3)128字节片内RAM;(4)4K字节片内ROM(8031无);(5)ROM寻址范围64KB字节;(6)片外RAM寻址范围64KB字节。(7)21个字节专用寄存器;(8)4个8位并行I/O接口;(9)1个全双工串行I/O接口,可多机通信;(10)2个16位定时器/计数器;(11)5个中断源,可程序设计为两个优先级;(12)111条指令,含乘法指令和除法指令;(13)有强的位寻址、位处理能力;(14)片内采用单总线结构;(15)用单一+5v电源。★2.11、何谓时钟周期、机器周期、指令周期?针对MCS-51系列单片机,如采用12MHz晶振,它们的频率和周期各是什么值?(1)时钟周期是由CPU时钟定义的定长时间间隔,是CPU工作的最小时间单位,也称状态周期。(2)机器周期:指CPU完成一个基本操作所需要的时间,1个机器周期由12个振荡周期(即6个时钟周期)组成。(3)指令周期:CPU执行一条指令的时间。(4)如采用12MHz晶振,时钟周期的频率f时=12MHz/2=6MHz,周期T时=1/6μs;机器周期的周期T机=6×1/6us=1μs,频率f机=1/T机=2MHz;指令周期的周期:单指令T指=1μs,双指令T指=2μs,频率:单指令f指=1MHz,双指令f指=500KHz。★2.16、EA引脚的作用是什么?在下列四种情况下,EA引脚各应接何种电平?1)只有片内ROM2)只有片外ROM3)有片内ROM和片外ROM4)有片内ROM和片外ROM,片外ROM所存为调试程序。1、EA引脚的作用是:片外程序存储器选用端。2、1)高电平;2)低电平;3)高电平;4)21V电源。★2.23、定时器/计数器0如用于下列定时,晶振为12MHz,试为定时器/计数器0编制初始化程序:1)50ms2)25ms1)机器周期TCY=12×(1/12MHz)=1μs,则定时时间T=(65536-x)TCY=50ms,解得x=15536=3CB0H,则初始化程序如下:START:MOVTH0,#3CHMOVTL0,#0B0HMOVTMOD,01HSETBTR02)同理得x=40536=9E58H,则初始化程序如下:START:MOVTH0,#9EHMOVTL0,#58HMOVTMOD,01HSETBTR0★2.28、综述P0、Pl、P2、P3口各有哪几种功能。1)P0口:通用I/O接口;地址/数据分时复用总线。2)P1口:通用输入输出接口。3)P2口:地址总线;通用I/O接口。4)P3口:通用I/O接口;具有第二功能,输出时第二功能端保持高电平。★2.39、在串行异步通信时,要传送8位数据3BH,另采用偶校验位1位,请写出该帧信息的二进制代码。3BH=00111011B,有5(奇数)个1,采用偶校验则须D8位置1,凑成偶数个1,所以该帧信息的二进制代码是100111011B。★2.41、如异步通信,每个字符由11位组成,串行口每秒传送250个字符,问波特率为多少?11位/字符×250字符/秒=2750位/秒★2.48、某单片机系统用于定时测试压力、温度,并用定/计0实现定时。如压力超限和温度超限的报警信号分别由、输入,中断优先权排列顺序依次为压力超限→温度超限→定时检测,试确定专用寄存器IE和IP的内容。IE1—00011187H中断屏蔽压力超限中断允许定时检测中断允许温度超限中断允许IP—