资源描述
第一章(选择题)1、 何谓奇偶校验它有什么用途请说明其具体方法。答:奇偶校验是根据被传输的一组二进制代码的数位中“ 1”的个数是奇数或偶数来进行校验;它能判断传输数据的正确性;具体方法是:通常专门设置一个奇偶校验位,用它使这组代码中“ 1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“ 1”的个数是否为奇数,从而确定传输代码的正确性。2、 何谓堆栈为什么要设置堆栈栈区是怎样确定的数据进栈、出栈按照何种规律进栈用什么指令出栈用什么指令进栈、出栈时栈针将怎样变化通常栈底所指是什么内容栈顶所指又是什么内容答:堆栈是 RAM中的一个特殊的区域, 是一组按照“先进后出”的方式工作的,用于暂存信息的存储单元;设置堆栈的目的是保存断点地址和现场信息; 通过对数据指针 SP赋值来确定栈区;数据进栈、 出栈按照 “先进后出” 的规律; 进栈用 PUSH指令,出栈用 POP指令;进栈时( SP)( SP)+1,出栈时( SP)( SP) -1 ;栈底所指为最先推入堆栈的内容,栈顶所指为最后推入堆栈的内容。3、 为什么要采用总线结构芯片为什么要通过缓冲器才能挂在总线上答:总线,是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。因为采用总线结构,可以减少机器中信息传送线的根数,从而提高机器的可靠性;可以方便地对存储器芯片及 I/O 接口芯片进行扩展。总线是由诸多挂在总线上的器件共享的, 设缓冲器是为了控制芯片向总线发送信息的时间,保证可靠读写。或挂在总线上的芯片不能同时发送信息,否则多个信息同时出现在总线上将发生冲突而造成出错。故如果有几块芯片需要输出信息,就必须分时传送。为了实现这个要求,挂在总线上的各芯片必须通过缓冲器与总线相连。扩展:总线的特点是串行发送,并行接收;三总线结构:数据总线DB:传送数据信息地址总线 AB:传送地址信息控制总线 CB:传送控制命令4、 CPU与外围设备间传送数据有哪几种方式试根据每种方式的特征,分析其适用的场合。答:无条件传送方式、查询传送方式、直接数据通道传送方式、中断传送方式;无条件传送方式适用于接口电路与外设之间只传送数据信息的场合;查询传送方式适用于需交换数据、状态、控制三种信息,不需处理掉电、设备故障等突发事件的场合;直接数据通道传送方式适用于不通过 CPU,数据可以在高速的外设与内存之间直接进行批量传送的场合;中断传送方式适用于需传送数据、实时控制、故障自动处理、实现人机联系等的场合。5、 讲清中断的概念、用途和优越性。说明CPU响应中断的条件。答:中断是指当机器正在执行程序的过程中,一旦遇到异常情况或特殊请求时,就暂时停止正在执行的程序,而转入必要的处理,并且在处理完毕后, 立即回到原来被停止程序的间断处继续执行;中断的用途:传送数据、实时控制、故障自动处理、实现人机联系等;中断的优越性:提高了 CPU工作效率并且使其可以同时为多个外设服务;实现实时控制;可以处理设备故障、掉电等突发事件;CPU响应中断的条件:接口电路和CPU处在允许中断状态。6、 何谓中断优先权它是怎样规定的讲清中断嵌套的概念。答:多个中断源同时申请中断时, CPU先响应优先权高的;可以中断嵌套,即若有级别高的中断请求则 CPU暂时中断已在进行的级别低的中断服务程序,响应高级别中断请求执行完后再返回原低级别中断服务程序继续执行; 同或低级中断请求, CPU要在处理的中断服务程序执行完毕返回主程序,并执行了主程序一条指令后才接着响应。7、 下列程序存放在64K8 位的 EPROM中:000FH74 08MOV A, #08H0011H75 F0 76MOV B, #76H0014H25 E0ADD A, A0016H25 F0ADD A, B0018H02 20 00LJMP 2000H试分析该程序,并回答以下问题:1) 如该段程序自 000FH单元开始存放,请在程序段中写明每条指令的首址。2) 该程序段共占用内存多少单元3) 在执行指令ADD A, A 时,程序计数器PC的内容是什么4) 执行完指令 ADD A, B 后,累加器 A、寄存器 B 及程序计数器PC的内容各是什么5) 在 CPU取回指令 LJMP 2000H并执行该指令时,(PC)=;该指令执行后,( PC)=。答:见程序段;12 个单元;0016H;(A)=86H,(B)=76H,(PC)=0018H;( PC)=001BH;(PC)=2000H8、 有程序段如下,试画出堆栈图,在图上注明各有关单元的内容。MOV SP, #0E0HMOV A, #24HMOV B, #0F1HPUSH APUSH B9、 某存储器芯片有12 根地址线、 8 根数据线,请回答:1) 该芯片有多少个存储单元2) 每个存储单元存放多少位二进制数3) 用十六进制数写出它的首地址和末地址。答: 4K 个存储单元 (212=4K) ; 8 位( 存储容量 =字数字长(位数) ) ;首地址为 000H,末地址为 FFFH10、某存储器芯片的存储容量为16K 8 位,它应有几根地址线若其首址为 1000H,则末址是多少答: 14 根地址线( 16K=214) 4FFFH(16K=4000H=16384D)11、用 8 位二进制数写出下列各数的原码、反码和补码。1)+212)-213)+1204)-120答:(1)+21 原=00010101B,+21 反=00010101B,+21 补=00010101B(2)-21 原=B,-21 反=B,-21 补=B( 3 ) +120 原 =01111000B, +120 反 =01111000B, +120 补=01111000B(4)-120 原=B,-120 反=B,-120 补=B扩展:原码 正数原码与原值同;负数原码符号位置 1,数值位不变。例 46 原=00101110B -46 原=B8 位二进制原码表示的数的范围: -127 +127反码 正数的反码与原码相同;负数的反码由其绝对值按位求反后得到。例: 46 反=00101110B-46反=B8 位二进制反码表示的数的范围:-127 +127补码正数补码与原码同;负数的补码为其反码加18 位二进制补码表示的数的范围: -128 +127对负数补码求反后加1,回复为该数的绝对值。+0补=-0 补=00000000BA-B=A+-B补12、求出下列算式的值:1)() 2 + () BCD+() 16+() 82)(01010010)2+(01010010)BCD+48+(48)163)00111100B+() BCD+24+24H4)() BCD +5)00100110B+00100110BCD+74H+74以上 1)、2)、3)题答案以十进制数表示, 4)题答案以二进制数表示, 5)题答案以十六进制数表示。答:25+22+2(-1)+3 16+6160+816(-1)+38+6 80+48(-1)=+=(2)82+52+48+72=25460+96+24+36=216扩展:1、微型计算机结构:微处理器、存储器、输入/ 输出接口电路、总线2、典型 8 位微处理器结构:运算器、控制器、工作寄存器组3、1KB容量即 210=1024 个存储单元,地址用二进制数表示,地址的二进制位数 N与存储容量 Q的关系是: Q=2N。如:二进制位数 8,存储容量 28=256 字节;二进制位数 16,存储容量216 =64K 字节。4、标志寄存器又称为状态寄存器, 用来存放 ALU运算结果的一些特征,如溢出( OV)、进位( C)、辅助进位( AC)、奇偶( P)、结果为零( Z)等。5、程序计数器PC的功能:复位、计数、直接置位6、工作寄存器功能:提高计算机工作速度,简化指令的机器代码7、堆栈操作方式进栈 PUSHX;(SP)(SP)+1(SP)( X)出栈 POPX;(X)(SP)(SP)(SP)-1SP是一个 8 位地址寄存器, (SP)表示一个地址单元, (SP)表示某个地址单元中的内容8、输入输出接口电路的功能:锁存(数据)作用;变换作用: 信息转换、电平转换;缓冲;地址译码;联络作用。9、计算机与外围设备间传送的信息:数据信息、状态信息、控制信息。10、I/O 电路的端口编址方法:存储器单元与接口电路端口统一编址( MCS-51采用此编址方法);存储器单元与接口电路端口分别编址11、外设向 CPU发出中断请求信号的条件:A 、外设本身的工作已完成。B 、计算机系统允许该外设发中断请求信号12、通常、单片机上电复位时PC=0000H,SP= 07H;而工作寄存器则缺省采用第00 组,这组寄存器的地址范围是从00H 07H。第 2 章13、何谓时钟周期、机器周期、指令周期针对MCS-51系列单片机,如采用 12MHz晶振,它们的频率和周期各是什么值答:时钟周期是单片机的基本时间单位;完成一个基本操作所需要的时间称为机器周期;指令时间是执行一条指令所需要的时间;如采用 12MHz晶振,时钟频率为 12MHz,时钟周期为 1/12us ,机器周期为 1us,单周期指令的指令周期为 1us,双周期指令的指令周期为 2us ,乘除指令的指令周期为 4us。14、EA引脚的作用是什么在下列情况下,EA引脚各应接何种电平只有片内 ROM 答: EA 是片外程序存储器选用端,低电平有效; EA=1只有片外 ROMEA=0有片内 ROM和片外 ROMEA=1有片内 ROM和片外 ROM,片外 ROM所存为调试程序EA=015、定时器 / 计数器 0 如用于下列定时,晶振为12MHz,试为定时器 /计数器 0 编制初始化程序:50ms25ms答: START:MOV TMOD,#01HSTART:MOVTMOD, #01HMOV TH0, #3CHMOV TH0,#9EHMOV TL0, #0B0HMOV TL0,#58HSETB TR0SETB TR016、综述 P0、 P1、P2、P3 口各有哪几种功能。答:P0 口可作为通用 I/O 接口或地址 / 数据分时复用总线; P1 口仅作为通用 I/O 接口; P2 口可作为通用 I/O 接口或高 8 位地址总线; P3 口可作为通用 I/O 接口,还具有第二功能;17、在串行异步通信时, 要传送 8 位数据 3BH,另采用偶校验位1 位,请写出该帧信息的二进制代码。答:因有偶校验位 1 位,加上后成为 1B,因传送时按低位到高位的次序,故数据位的排列为 1,再加上起始位 0、停止位 1。得出该帧信息的二进制代码为 011。18、如异步通信,每个字符由11 位组成,串行口每秒传送250 个字符,问波特率为多少答:波特率为 11 位/ 字符 250 字符 /s=2750 位/s19、某单片机系统用于定时测试压力、温度,并用定 / 计 0 实现定时。如压力超限和温度超限的报警信号分别由 INT0、INT1 输入,中断优先权排列顺序依次为压力超限温度超限定时检测, 试确定专用寄存器 IE 和 IP 的内容。答: IE 的内容为 87H(EA=1,EX1=1,ET0=1,EX0=1,其余 0) ,IP 的内容为 05H(PX1=1, PX0=1,其余 0) 。20、上题如压力超限和温度超限的报警信号改由INT1、 INT0 分别输入、其他不作改变,问IE 和 IP 的内容将作何种改变答: IE 的内容为 87H(EA=1,EX1=1,ET0=1,EX0=1,其余 0) ,IP 的内容为 04H(PX1=1,其余 0) 。扩展: 1、复位后( SP)=07H,从 08H单元开始堆放信息2、当由输出方式改变为输入方式时,该位的锁存器必须写入“1”,即MOVP1, #0FFH;FF 前需加 0MOV A,P18051所有口锁存器复位时均置“1”,可直接用于输入。3、TMOD寄存器4、例:设计一发送程序,将 50H5FH的数据块从串行口输出,现将串行口定义为工作方式 2 发送 ,TB8 作奇偶校验位, 在数据写入发送缓冲器前,先将数据的奇偶位写入 TB8。TRT:MOVSCON , #80HMOV PCON, #80HMOVR0, #50H;MOV R7, #10HLOOP:MOVA,R0MOVC,PMOVTB8, CMOVSBUF, AWAIT:JBCTI, CONTSJMPWAITCONT:INCR0DJNZR7, LOOPRET5、外部中断的两种触发方式:电平触发(ITx=0) 、跳变触发(ITx=1)6、同级中断优先权排列顺序为:外部中断0、定 / 计 0 中断、外部中断 1、定 / 计 1 中断、串行接口中断、定/ 计 2 中断7、中断服务程序的最后一条指令必须是 RETI;每种子程序的最后一条指令必然是 RET。第 3 章21、要访问片内 RAM,有哪几种寻址方式答:直接寻址、寄存器间接寻址22、要访问片外 RAM,有哪几种寻址方式答:只有寄存器间接寻址23、要访问 ROM,又有哪几种寻址方式答:立即寻址、基址寄存器加变址寄存器间接寻址、相对寻址、直接寻址24、设片内 RAM 30H单元的内容为40H;片内 RAM 40H单元的内容为 10H;片内 RAM 10H单元的内容为 00H;( P1)=0CAH。请写出下列各指令的机器码与执行下列指令后的结果 (指各有关寄存器、 RAM单元与端口的内容) 。机器码执行结果MOVR0,#30H78H 30HR0内容为 30HMOVA, R0E6HA 内容为 40HMOVR1, AF9HR1内容为 40HMOVB, R187H F0HB 内容为 10HMOVR0, P1A6H 90H片内 RAM(30H)=0CAHMOVP3, P185H 90H B0H(P3)=0CAHMOV10H, #20H75H 10H 20H片内RAM(10H)=20HMOV30H, 10H85H 10H 30H片内 RAM(30H)=20H答:依次执行上述各指令后的结果为: R0内容为 30H,R1内容为 40H;A内容为 40H,B内容为 10H;P1 端口内容仍为 0CAH,P3 端口内容仍为 0CAH;片内 RAM(30H)=20H,(40H)=10H (10H)=20H。25、已知:(A)=02H,(R1)=7FH,(DPTR)=2FFCH,片内 RAM(7FH)=70H,片外 RAM(2FFEH)=11H,ROM(2FFEH)=64H,试分别写出下列指令的机器码及执行各条指令的结果。机器码执行结果MOV A, R1E7HA 的内容为 70HMOVXDPTR, AF0H片外RAM(2FFCH)=02HMOVCA, A+DPTR93HA 的内容为64HXCHDA, R1D7H(A)=00H,(7FH)=72H26、经过汇编后,下列各条语句的标号将是什么数值ORG2000HTABLE:DS 10WORD: DB 15,20,25,30FANG: EQU1000HBEGIN:MOVA,R0答:TABLE标号的真实地址是 2000H;WORD标号的真实地址是 200AH;FANG标号的真实地址是 1000H;由于 EQU指令并不占用内存单元, 所以 BEGIN标号的真实地址将依次为 200EH。27、如下图所示, 某压力测试的线性处理程序如下, 如 A/D 转换器的输出为 02H,问执行程序后( A)=MOVP1, #0FFHMOVA, P1MOVC A,A+PCTAB:DB 00HDB 00HDB 01HDB 02HDB FEHEND答: (A)=01H28、试编程:有两双字节压缩的BCD码数相加,设该两待加数分别按先低后高原则存放在30H、31H和 40H、41H单元,和要求放回30H、31H单元。答:ORG 00HLJMP STARORG 30HSTAR:MOV A, 30HADDC A, 40HDA AMOV 30H, AMOV A, 31HADDC A, 41HDA AMOV 31H, ASJMP $END29、试编程:将片内RAM 50H、51H 单元两个无符号数中较小的数存于 60H单元。答:MOVA,50HSUBB A,51HJC LESSMOV60H,51HSJMP ELSELESS: MOV60H,50HELSE:30、试编程:将片内RAM 60H69H单元中的 10 个数相加,和的低8位存入 7EH,高 8 位存入 7FH。答:MOV7FH,#00HMOVR1,#09HMOVR0,#60HMOVA,R0INCR0LOOP: ADDA,R0JNCLP1INC7FHLP1: INCR0DJNZ R1,LOOPMOV7EH,ADONE: 31、试编程:统计从片内 RAM60H单元起所存 60 个数中“0”的个数,并存入工作寄存器R7。答:MOVR7,#00HMOVR1,#60MOVR0,60HLOOP: MOVA,R0JNZAN0INCR7AN0: INCR0DJNC R1,LOOPDONE: 32、试编程:将ROM中自 2000H 单元起的 100 个数,按序移至片外RAM自 2080H单元起的内存区间去。答:MOVDPTR,#2000HMOVR1,#64HMOVR2,#0LOOP: MOVA,R2MOVC A,A+DPTRMOVR3,AMOVA,#80HADDA,R2MOVDPL,AMOVA,R3MOVX DPTR,AINCR2MOVDPL,#0DJNZ R1,LOOPDONE: 33、设晶振为 12MHz,请详细剖析(包括计算)下列程序段的性质和用途:0B079 63 DELAY: MOV R1, #63H;10B200DL1: NOP;10B300NOP;10B4D9 FCDJNZ R1, DL1;20B622RET;2答:上述程序段实现延时功能,整个程序段耗用的时间为1+(1+1+2) 99+2=399个机器周期,当晶振为 12MHz时,1 机器周期 =1us,故执行这段程序耗时 399us。34、设晶振为 12MHz,请编写二段子程序,分别用指令延时法和定时器实现 30ms延时。答:指令延时法DELAY30MS: MOVR1,#64H;1;1+1+(1+2)99+2 100+2=DL2:MOVR2,#63H;1DL1:NOP;1DJNZ R2,DL1;2DJNZ R1,DL2;2RET;2定时器法MOVTMOD,#01H;设工作方式1MOVTH0, #08AH;定时 30msMOVTL0,#0D0HSETBTR0;启动 T0 定时器35、阅读下列程序,说明该程序的功能。填出所缺的机器码。试修改程序,使片内RAM的内容达到右下图所示的结果。7A MOVR2, #0AH MOVR0, #50HE4CLRAE6 LOOP:MOVR0,A08INCR0DA DJNZ R2, LOOPDONE:答:将片内 RAM自 50H单元起的 10 个单元清零在 MOV R0,A 指令后添一条 INC A 指令扩展: 1、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制。2 、MOVC A,A+DPTR执行的操作: (A) (A)+(DPTR)MOVC A,A+PC执行的操作:(PC)(PC)+1,(A)(A)+(PC)如:假定累加器A 的内容 30H,执行指令:1000H:MOVCA,A+PC后,把程序存储器1031H单元的内容送累加器A 中。3、指令的跳转范围: AJMP-2KB、LJMP-64KB、SJMP- -128+127B、JMP-64KB4、阅读下列程序段并回答问题。1)、该程序执行何种操作2 )、已知初值(60H)=23H,(61H)=61H,运行程序后(62H)=(7分)CLR CMOV A ,#9AHSUBB A ,60HADDA,61HDA AMOV 62H ,A答: 1 )、该程序是单字节BCD码运算,是将( 61H)( 60H) 62H2)、(62H)=38H5、编写一程序将片外数据存储器中7000H70FFH单元全部清零。(8 分)ORG 1000HMOV DPTR,#7000HCLR AMOV R0,ALOOP:MOVX DPTR,ADJNZ R0,LOOPSJMP $6、7、8、9、进栈出栈指令PUSH direct;(SP)( SP)+1( SP)( direct )POP direct; (direct )( SP)( SP)( SP) 110、加法指令将影响标志位C、AC、OV最高位有进位 ,( C)=1,否则( C)=0(无符号数相加,和的溢出与 C置位统一);低 4 位向高 4 位进位 ,(AC)=1,否则(AC)=0(AC在做 BCD 码加法时有用);最高位和次高位不同时进位,( OV)=1,否则( OV)=0。带符号数相加,(OV)=1 表示和 +127或+127或 128;第四章36、8031 最小系统包含哪些芯片,试根据记忆画出它的可实用的电路图。答:包含 8031、74LS373、2716 芯片;见书 P133图 4-437、下图是 4 片 8K8 位存储器芯片的连接图, 请确定每片存储器芯片的地址范围。答:从左向右4 片存储器芯片的地址范围依次是: 0000H1FFFH、2000H3FFFH、4000H5FFFH、6000H7FFFH扩展: 1、2 、3 、4 、5 、6、MCS-51单片机访问外部存储器时, 利用 ALE信号锁存来自 P0口的低 8 位地址信号7、用串行口扩展并行口时,串行接口的工作方式应选为方式0。8、半导体存储器的最重要的两个指标是存储容量和 存储速度 。9、若某 8 位 D/A 转换器的输出满刻度电压为+5V,则 D/A 转换器的分辨率为 5/255= 。分辨率 =输出满刻度电压 /(2N-1),其中 N为 D/A 转换器的位数第五章38、如下图所示,某单片机应用系统的P1 口如下图连接,问:执行下列程序的第一条指令后,哪些指示灯会亮第二条指令的用处。执行到最后,(A)=程序为: MOVP1, #0EHORLP1, #C0HMOVA, P1ANLA, #C0H答:L0 会亮;因 P1 口是准双向接口, 故用处为、的输入作准备;A的内容为 C0H。39、承上题电路,要求根据S1 的合、断情况决定L1、L0 的点亮:如 S1 合上, L0 点亮;如 S1 断开, L1 点亮。试编程实现之。答:ORG 0000HMAIN: ORL P1,#B;P1 口为准双向接口 , 故其作为输入时需先将其置位SETB; 初始化SETBJB , TESTCPLRETTEST: CPLRETEND
展开阅读全文