部分单片机原理补充习题答案.doc_第1页
部分单片机原理补充习题答案.doc_第2页
部分单片机原理补充习题答案.doc_第3页
部分单片机原理补充习题答案.doc_第4页
部分单片机原理补充习题答案.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

部分单片机原理及应用补充习题答案第一章补充习题6、已知下列整数的补码,求其真值:(3)Z补=11100000B, 则 真值 Z= 0100000 B= 32 D(4)S补=00110001B, 则 真值 S= +0110001 B= +49 D(5)X补=10101101B, 则 真值 X= 1010011 B= 83 D7、已知X补和Y补的值,用补码加减法计算X+Y补和XY补,并指出结果是否溢出。 (4) X补=1.10011 Y补=0.11001解: Y补=1.00111 加法 X补+Y补 X补 1. 1 0 0 1 1 + Y补 0.1 1 0 0 1 0. 0 1 1 0 0 Cin=1 Cout=1 无溢出 减法 X补+-Y补 X补 1. 1 0 0 1 1 + Y补 1. 0 0 1 1 1 0. 1 1 0 1 0 Cin=0 Cout=1 溢出 (下溢出)8、给出x和y的二进制值,用补码加减法计算X+Y和XY,并指出结果是否溢出(3) X=+1110110 Y=1001101解: X补=01110110 Y补=10110011 Y补=01001101 加法 X补+Y补 X补 0 1 1 1 0 1 1 0 + Y补 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 Cin=1 Cout=1 无溢出 , X+ Y补=00101001 ,X+Y=+0101001B= 41D 减法 X补+-Y补 X补 0 1 1 1 0 1 1 0 + Y补 0 1 0 0 1 1 0 1 1 1 0 0 0 0 1 1 Cin=1 Cout=0 溢出 (上溢出) ,运算结果不表示XY补 ,不能从结果直接求取真值XY。12、概念题:(1) ASC码 , 47H 。(2) 17H , 1、0、0 。(3) -128-+127 , 0 255 。13、(109.125)10 = 1101011.001)2 = ( 6B.2 )16 = 000100001001.000100100101 )BCD14、X补= 10101010 。15、真值X = (0010110 ) 2 = ( 22 )10 真值Y = ( +1110010 ) 2 = ( +114 )10 16、X= ( 109 )10 = ( 6D )16 = ( 000100001001 )BCD 17、已知X= 1010101 ,Y=1101110,采用补码进行加法、减法,判断结果是否有溢出,并根据运算结果求取真值X+Y 和X-Y的二进制数和十进制数。解:X、Y和-Y的补码为: X补=0 1010101 , Y补=1 0010010 ,-Y补=0 1101110(1) 加法 X补+ Y补 X补 0 1 0 1 0 1 0 1 + Y补 1 0 0 1 0 0 1 0X+Y 补 1 1 1 0 0 1 1 1CSCP=00,表明两数之和无溢出,其和为负数。 根据X+Y 补 = 1 1100111 ,真值X+Y= -0011001B= 25D(2)减法 X补 Y补 = X补+ -Y补 X补 0 1 0 1 0 1 0 1 +-Y补 0 1 1 0 1 1 1 0 X-Y 补 1 1 0 0 0 0 1 1CSCP=0 1,表明两数之差正溢出, 结果不表示两数差的补码X-Y 补 ,不能直接从结果求取真值X-Y。第二章补充习题1、若 A=5AH,B=6BH,PSW=81H,执行A和B加法指令后PSW的值位多少?执行A减B减法指令后PSW的值? 0 1 0 1 1 0 1 0 + 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 CY=0 AC=1 OV=1 P=0 因此执行A和B加法指令后PSW=44H 同样运算可以知道 ,执行A减去B指令后PSW=C1H2、概念题:(1) 将微机的各基本部件集成于一块芯片上的 微机。 (2) 运算器、控制器 。(3)运算器主要包括 ALU、A、位处理器、B、PSW 等,控制器主要包括 PC、IR、ID、定时控制逻辑电路 等。(4) 片机引脚EA应接 高电平 。 EA必须接 低电平 。 (5)PC为 16 位寄存器,用来 存放下一条指令地址 , 64K 。(6)时钟周期是计算机的基本事件单位,为外接时钟的周期;机器周期是CPU完成一个基本操作所需时间;指令周期是执行一条指令所需要的时间。关系是 一个机器周期包括12个时钟周期 。(7)有效复位信号是 高电平 ,从 0000H 开始执行指令。(8)存储器结构是 由程序存储器、片外数据存储器和片内数据存储器三个独立的存储空间组成 。(9)操作码助记符为 MOVX ,存放 实时数据、运算结果 。 (10)位于 片内RAM ,基本原则为 先进后出 ,SP指示的是 栈顶单元地址 。(11) 2个机器周期的高电平 ,PC的内容和SP的内容为 0000H ,07H ,最大允许范围是 120 个单元。(12) 128B可分为 工作寄存器区、位寻址区、通用RAM区三部分 。(13)位地址是指 可进行位运算的位所分配的特定地址 ,地址范围为 00H 7FH 。(14)存放 程序和表格常数 ,操作码助记符为 MOVC 指令。(15)设在_片内 RAM_,存放在_程序存储器_存储区,设在_外部数据存储器_,存放在 程序存储器 存储区。 (16) 时序是指在执行指令过程中控制器发出的一系列特定控制信号和时间的关系 。4个时序定时单位分别为 时钟周期、 状态周期、机器周期、指令周期 。(17)片内RAM容量 128B ,分布在 80H-FFH 区间。 (18)占用内部RAM 18H-1FH 单元。(19)复位有 上电复位 和 按键复位 两种。(20)一个机器周期由 12 个脉冲组成,包括 6 个状态,一个机器周期为 2 s 。3、简述MCS51单片机的存储器组织结构。答:MCS-51单片机的存储器结构的特点是在逻辑上有3个独立的存储器空间。一是程序存储器,包括片内和片外的程序存储器(有些类型的单片机片内没有程序存储器),总容量为64KB,地址范围为0000HFFFFH,主要存放执行的程序和固定不变的数据,通过MOVC指令可访问程序存储器单元;二是片外数据存储器,最大容量为64KB,地址范围为0000HFFFFH,主要存放操作数、运算结果和实时数据等,外部扩展的I/O口的地址包含在片外数据存储器的地址空间中;三是片内数据存储器,最大容量为256B ,地址范围为00HFFH,包括片内数据RAM和特殊功能寄存器SFR,片内RAM一般容量为128B,分为3个区:工作寄存器区、位寻址区和通用RAM区,特殊功能寄存器SFR是21(或26)个特殊用途的寄存器。4、简述MCS-51单片机的程序状态字寄存器PSW的几个标志位及其含义。答:MCS-51单片机的程序状态字寄存器PSW包含了7个有效的标志位,其中4个标志是在指令执行过程中自动形成,这4个标志是:进位标志位Cy,表示加减法运算中最高位有无进位或借位,有进位或借位,则Cy=1,无进位或借位,则Cy=0;辅助进位标志AC,表示加减法运算中低4位有无进位或借位,有进位或借位,则AC=1,无进位或借位,则AC=0;溢出标志位OV,表示运算过程中结果是否产生溢出,有溢出则OV=1,无溢出则OV=0;奇偶标志位P,表示累加器A中1的个数奇偶性,1个数为奇数则P=1,1个数为偶数则P=0。3个标志是由用户根据需要采用指令设置的,寄存器选择位RS1、RS2,设置RS1、RS2不同值可选取不同的寄存器区,RS1、RS2为00、01、10、11分别对应0区、1区、2区、3区的8个寄存器组;用户标志位F0,由用户定义。第三、四章补充习题3、写出能完成下列操作的指令或指令序列: (1)使20H单元中数的高2位变为0,其余位不变; ANL 20H, #3FH(2)使20H单元中数的高2位变反,其余位不变; XRL 20H, #C0H4、设片内RAM中(59H)=50H,执行下列程序段. MOV A,59H MOV R0,A MOV A,#0 MOV R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H执行后 A= 25H ,(50H)= 00H ,(51H)= 25H ,(52H)= 70H 。 5、设(R0)=7EH,DPTR=10FEH,片内RAM7EH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果. INC R0 ;(7EH)=00H INC R0 ; (R0)=7FH INC R0 ;(7FH)=39H INC DPTR ;(DPTR)=10FFH INC DPTR ;(DPTR)=1100H INC DPTR ;(DPTR)=1101H 6、程序存储器空间表格如下: 已知:片内RAM的20H中为01H,执行下列程序后(30H)为多少? MOV A,20H INC A ; (A)=02H MOV DPTR, #2000H MOVC A,A+DPTR ; (A)=(2002H) CPL A ; (A) = 5B H = A4H MOV 30H , A END: SJMP END因此执行 程序后(30H)为A4H 7、(R0)=4BH,(A)=84H, 片内RAM(4BH)=7FH,(40H)=20H MOV A,R0 ; 7FHA MOV R0, #20H ; 20H4BH MOV 40H,A ; 7FH40H MOV R0, #35H ; (R0)=35H 执行程序后, (R0)=35H ; (A)=7FH ; (4B)=20H8、执行下列程序段后(A)=25H ;(R0)=50H ; (50H)=00H ; (51H)= 25H 9、执行完下列程序段后 (A)=C8H10、下列程序执行后, (20H)= 20H ,(21H)= 00H ,(22H)= 17H ,(23H)= 01H , CY= 1 ,A= 17H ,R0= 23H ,R1= 28H .11、 (1)程序实现的功能是 求BUFFER区域中8个正数的最大值存放于MAX单元 。 (2)程序执行后, 程序存储单元: (0201H)= 09H , (0203H)= A4H , (0206H)= 9DH , (0207H)= DCH 寄存器: (DPTR) = 0208H , (R7) = 0 ,(A) = DCH , (SP)= 70H , 内部数据存储单元:(20H) = DCH 。 12、程序设计(1)编写将外部RAM以BLOCK为首址的100个单元置1的程序。程序段:MOV DPTR, #BLOCK MOV A, #01H MOV R7, #100LOOP: MOVX DPTR, AINC DPTR DJNZ R7, LOOP SJMP $ (2) 片内RAM50H单元存放了一个带符号数,请编写程序段实现:若该数为零则置31H单元为“Z”,若该数为正数则置31H单元为”P”,若该数为负数则置31H单元为”N”。MOV A, 50H JNZ NEXT MOV 31H, # Z SJMP EXITNEXT: JNB ACC.7, POS MOV 31H, # N SJMP EXIT POS: MOV 31H, # P EXIT: SJMP $ (3)片内RAM的从BLOCK单元开始有一个区域,存放了16个数据。试编一个程序统计其中正数、负数的个数存放于片内M1、M2单元,并分别将正数和负数分别存于片内以BUF1和BUF2为起始地址的存储单元内。MOV R0, #BLOCK MOV R7, #16 MOV BUF3, #BUF1 MOV BUF4, #BUF2 MOV M1, #00H MOV M2, #00H AGAIN: MOV A, R0 JNB ACC.7 POS INC M2 MOV R1, BUF4 MOV R1, A INC BUF4 SJMP NEXT EVEN: INC M1 MOV R1, BUF3 MOV R1, A INC BUF3 NEXT: INC R0 DJNZ R7, AGAIN SJMP $(4)片内RAM的从BLOCK单元开始存放了20个字符。试编一个程序统计其中字符“0”和“D”的个数并将其存放于片内BUF1、BUF2单元。MOV R0, #BLOCK MOV R7, #20 MOV BUF1, #00H MOV BUF2, #00H AGAIN: MOV A, R0 CJNE A, #30H, NEXT1 INC BUF1 SJMP NEXT2 NEXT1: INC R0 DJNZ R7, LOOP SJMP $ NEXT2: CJNE A, #44H, NEXT2 INC BUF2 NEXT2: INC R0 DJNZ R7, AGAIN SJMP $第五章补充习题1、8031 系统中采用P1口作开关、指示灯接口的电路图如下所示, (1)判断 K1、K2闭合的程序段:LOOP: MOV P1 , #0FFH MOV A, P1 JB ACC.0,NEXT SJMP K1PROCNEXT: JB ACC.1,LOOP SJMP K2PROCK1PROC: K2PROC: (2)若K1闭合则LED1-LED4全亮;K2闭合则LED2和LED3亮,请编写程序。 程序段: K1PROC: MOV A, #OFH MOV P1, A SJMP SJMP EXIT K2PROC: MOV A, #9FH MOV P1, A EXIT: SJMP LOOP 2、8031 系统中采用P1口作键盘接口的电路图如下所示,(1)叙述行扫描法判断闭合键的过程。(2)写出扫描L0行读列值,判键K1、K2、K3、K4闭合的程序 。(1) 过程如下: P1.0-P1.3输出全为0,读P1.4-P1.7, 若读入的信息全为1,则表明无键闭合。若P1.4P1.7输入至少有一个为0,则表明有键闭合,进行行扫描,置P1.0(L0行)为0,再读P1.4P1.7,如有一位P1.i为0, 表明L0行P1.i列对应的键闭合,转判读键值的程序段;如果读入全为1,则L0行上无键闭合;则扫描下一行L1行,置P1.1(L1行)为0,和以上方法一样进行判别。(2) 指令程序:MOV P1,#11111110B MOV A,P1 JNB ACC.7,K4;转K4闭合 JNB ACC.6,K3;转K3闭合 JNB ACC.5,K2;转K2闭合 JNB ACC.4,K1;转K1闭合第六章补充习题1、概念题:(1) 2s , FFH 和FFH ; 131.072 ms , 00H和00H , 16.384 ms (2由 内部和外部两类中断、两级优先级共5个中断源 ,处理过程是 关中断,保护现场,开中断,中断服务,关中断,恢复现场,开中断,中断返回 。(3)撤除方法: 硬件自动撤除 和 软件撤除 。中断请求应由 硬件和软件共同撤除 ,T1的中断请求由 硬件自动撤除 撤除。(4)提供了 5个 , 响应中断的过程是 执行长调用指令, 断点保护,中断源入口地址装入PC,转向中断服务程序入口地址 。 (5)中断系统是指 单片机中实现中断处理功能的部件 ,通过 软件设置IE 控制(6)有 电平触发方式 和_边沿 转到_0003H_单元开始执行程序。(7)时钟周期为 1/12 s ,周期为 1 s 。 (8)定时为 62.344 ms 。(9的条件是 有中断源发出中断请求、CPU 开放中断且该中断源开放中断、无高级或同级中断正被服务、执行现行指令结束 ,自动完成 保护断点地址且获得中断服务程序入口地址 2、解:T0采用方式0时,计数初值X=213 T12/fosc =21310000/2=8192-5000=3192D=C78H=1100011 11000B , 因此存放于TL0的初值为18H,,存放于TL0的初值为63H 。 T1工作于计数方式的方式1,最大的计数值为216=65536D,计数脉冲周期TCLK =0.1m,因此最长可计的时间为T=655360.1ms=6553.6ms=6.5536s3、简述MCS51中断系统。答:MCS51单片机有 5 个中断源: 外部中断0 、外部中断1 、定时/计数器T0中断 、定时/计数器T1中断 和 串行口中断 。当单片机INT0或INT1引脚上出现低电平或下降沿会产生中断请求;单片机的定时器T0、T1中断是T0、T1计数溢出而产生的;串行口中断是单片机发送或接受一帧数据后产生的。MCS51单片机中有4个SFR:TCON、IE、IP、SCON用来控制中断标志、中断触发方式、中断开放/禁止及中断优先权等,整个中断系统有两个优先权。当中断源处在同一优先级时,内部有优先级查询顺序:外部中断0T0中断外部中断1 T1中断串行口中断。MCS51单片机采用的是固定的中断矢量方式,每个中断源有固定不变的中断服务入口地址。第七章补充习题1、概念题:(1)分为 ROM (只读存储器) 和 RAM(随机存取存储器) 两大类 。(2特点是 能读能写入,掉电后内容丢失 ,可用作 外部数据存储器 扩展 ;特点是 只能读取,掉电内容不丢失 ,可用作 程序存储器 扩展。(3)有 4 个 8 位,有 4 个A口有 3 种工作方式,B口有 2 种工作方式。(4)提供了 4个8位 并行口,是 P0口 ,是 P2口 。(5)方式有 全译码 、 部分译码 和_线译码_,目的是为芯片提供_片选_信号。(6)接口是 连接主机和输入输出设备的硬件电路 ,采用的是 和外部数据存储器统一编址的 编址方式。 2、若MCS-51单片机应用系统要配置16KB 的片外程序存储器和16KB 外部数据存储器,如采用2732(4K8)和 6116(2K8)存储器芯片,请确定需要各类芯片多少片?若这两个地址空间都从0000H开始,计算每片芯片的地址范围。2732芯片容量为4KB,配置16KB 的片外程序存储器需要2732的芯片数为 16KB/4KB=4片6116芯片容量为2KB, 配置16KB 的外部数据存储器需要6116的芯片数为 16KB/2KB=8片 #1芯片 2732 的地址范围为 0000H-0FFFH#2芯片 2732 的地址范围为 1000H-1FFFH#3芯片 2732 的地址范围为 2000H-2FFFH#4芯片 2732 的地址范围为 3000H-3FFFH#1芯片 6116 的地址范围为 0000H-07FFH#2芯片6116 的地址范围为 0800H-0FFFH#3芯片 6116 的地址范围为 1000H-17FFH#4芯片6116 的地址范围为 1800H-1FFFH#5芯片 6116 的地址范围为 2000H-27FFH#6芯片6116 的地址范围为 2800H-2FFFH#7芯片 6116 的地址范围为 3000H-37FFH#8芯片6116 的地址范围为 3800H-3FFFH4、试述MCS-51单片机扩展外部存储器或接口时可采用的几种地址编码方式及其特点。答:MCS-51单片机扩展外部存储器或接口时可采用的地址编码方式有全地址译码法、部分地址译码法和片选法。全地址译码法是将单片机中的除去作存储器芯片的片内地址线外的所有剩余的高位地址线进行译码而产生的信号作为存储芯片的片选信号,采用该方式译码的存储器没有地址重叠现象,每个单元的地址是唯一的,但需要硬件译码电路较多。部分地址译码法是将单片机中的除去作存储器芯片的片内地址线外的部分剩余的高位地址线进行译码而产生的信号作为存储芯片的片选信号,采用该方式译码的存储器有地址重叠现象,每个单元的地址不是唯一的,但需要的硬件译码电路和接线可较简单。片选法是将单片机中的除去作存储器芯片的片内地址线外的所有剩余的高位地址线中某一条作为存储芯片的片选信号,采用该方式译码的存储器有地址重叠现象,每个单元的地址不是唯一的,可能芯片之间的地址也不连续,但不需要硬件译码电路,硬件结构简单。5、8031单片机系统扩展8255芯片作键盘和LED 显示器接口的硬件原理图如下所示。(1)写出系统中8255A接口芯片的4个口地址。8255A 接口的4个口地址可为8000H、8001H、8002H、8003H (2)写出8255A的初始化设置程序。方式控制字 应为 1001*00*B,初始化设置程序为:MOV A, #90HMOV DPTR, #8003HMOVX DPTR, A(3)请介绍系统中设计的键盘采用结构形式和判别键闭合的方法。答:系统中设计的键盘采用的是独立结构的键盘,8255A的PA0PA7对应8个键的状态。当要判别键是否闭合时,则读取8255A 的A口,判别读入的8位数据是否为全1,若为全1,表明无键闭合;若不为全1 ,某一位Dj位为0 ,则表示该位对应的键Kj+1 闭合(4)若要LED1、LED3、LED5、LED7亮,LED2、LED4、LED6、LED8灭,请编写程序段。程序为: MOV DPTR, #8001HMOV A, #0AAHMOVX DPTR, A(5)以下是一段根据K1键、K2键和其它键闭合的状态点亮不同指示灯的程序段,请在划线处填入内容。MOV A, #90H ;8255A初始化设置 MOV DPTR, #8003

温馨提示

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

评论

0/150

提交评论