ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:123.40KB ,
资源ID:4563877      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4563877.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机原理及应用姜志海第版习题参考答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机原理及应用姜志海第版习题参考答案.docx

1、单片机原理及应用姜志海第版习题参考答案单片机原理及应用(第3版)习题参考答案姜志海 黄玉清 刘连鑫 编着电子工业出版社第1章 概述1简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合

2、称为中央处理单元CPU(Central Process Unit)。2微处理器、微型计算机、微型计算机系统有什么联系与区别微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。它具有解释指令、执行指令和与外界交换数据的能力。其内部包括三部分:运算器、控制器、内部寄存器阵列(工作寄存器组)。微型计算机由CPU、存储器、输入/输出(I/O)接口电路构成,各部分芯片之间通过总线(Bus)连接。以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。3简述在微型计算机中的地址总线、数据总线和控制总线的作用。所谓总线,就

3、是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。计算机元件级总线包括地址总线AB(Address Bus)、数据总线DB(Data Bus)、控制总线CB(Control Bus)三种。(1)地址总线:地址总线是CPU用来向存储器或I/O接口传送地址信息的,是三态单向总线。地址总线的宽度决定了CPU可直接寻址的内存容量。通过地址总线确定要操作的存储单元或I/O接口的地址。(2)数据总线:数据总线是CPU与存储器及外设交换数据的通路,是三态双向总线。(3)控制总线:控制总线是用来传输控制信号的,传送方向依据具体控制信号而定,如CPU向存储器或I/O接口电路输出读信号、写信号

4、、地址有效信号,而I/O接口部件向CPU输入复位信号、中断请求信号等。4微型计算机是以CPU为核心,配上(存储器)、(输入/输出接口)和系统总线组成的计算机。5在计算机内部,一切信息的存取、处理和传递的形式是(C )。AASCII码 BBCD码 C二进制 D十六进制609的ASCII码是(C )。A09 B3039 C30H39H D40H49H7假设某CPU含有16根地址线,8根数据线,则该CPU的最大寻址能力是多少KB64KB8简述单片机的定义、特点、应用领域和发展方向。定义:它采用一定的工艺手段将CPU、存储器和I/O口集成在一个芯片上。特点: 单片机CPU的抗干扰性强,工作温度范围宽,

5、而通用微机CPU一般要求在室温下工作,抗干扰能力较弱。 单片机CPU可靠性强,在工业控制中,任何差错都有可能造成极其严重的后果。 单片机CPU控制功能往往很强,数值计算能力较差,而通用微机CPU具有很强的数值运算能力,但控制能力相对较弱,将通用微机用于工业控制时,一般需要增加一些专用的接口电路。 单片机CPU指令系统比通用微机系统简单。 单片机CPU更新换代速度比通用微机处理器慢得多。应用领域:单片机在智能仪表中的应用单片机在机电一体化中的应用单片机在实时控制中的应用在军工领域的应用单片机在分布式多机系统中的应用在民用电子产品中的应用发展趋势:2CPU的改进存储器的发展片内I/O口的改进一般单

6、片机都有较多的并行口,以满足外围设备、芯片扩展的需要,并配以串行口,以满足对多机通信功能的要求。 提高并行口的驱动能力。这样可减少外围驱动芯片。有的单片机直接输出大电流和高电压,以便能直接驱动LED和VFD(荧光显示器)等。 增加I/O口的逻辑控制功能。中、高档单片机的位处理系统能够对I/O口线进行位寻址及位操作,这加强了I/O口线控制的灵活性。3 特殊的串行接口功能。为单片机构成网络系统提供更便利的条件。外围电路内装化低功耗与工作电压范围加宽低噪声与高可靠性技术ISP及IAP第2章 MCS?51系列单片机硬件结构1MCS?51系列单片机内部有哪些主要的逻辑部件MCS?51单片机是在一块芯片上

7、集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件,具有了一台微型计算机的基本结构,主要包括下列部件:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存储器的寻址范围为64KB、21个字节的专用寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级、111条指令、片内采用单总线结构。2MCS?51单片机设有4个8位并行端口,实际应用中8位数据信息由哪个端口传送16位地址线怎样形成P3口有何功能8位数据信息由P0口传送。P2口形成地址大高8位,P

8、0口结果锁存器形成地址的低8位。P3口除具有一般的输入/输出功能,还具有第2功能:RXD 串行口输入端TXD 串行口输出端 外部中断0请求输入端,低电平有效 外部中断1请求输入端,低电平有效T0 定时器/计数器0计数脉冲输入端T1 定时器/计数器1计数脉冲输入端 外部数据存储器及I/O接口写选通信号输出端,低电平有效 外部数据存储器及I/O接口读选通信号输出端,低电平有效3MCS?51单片机内部RAM区的功能结构如何分配4组工作寄存器使用时如何选择位寻址区域的字节范围是多少MCS?51单片机片内RAM共有128B,字节范围为00H7FH,可分为工作寄存器区、位寻址区、数据缓冲区共3个区域。(1

9、)工作寄存器区00H1FH单元为工作寄存器区。工作寄存器也称通用寄存器,用于临时寄存8位信息。工作寄存器分成4组,每组都是8个寄存器,用R0R7来表示。程序中每次只用一组,其余各组不工作。使用哪一组寄存器工作,由程序状态字PSW中的(RS0)和(RS1)两位来选择,其对应关系如表所示。工作寄存器组的选择表(RS1)(RS0)当前使用的工作寄存器组R0R7000组(00H07H)011组(08H0FH)102组(10H17H)113组(18H1FH)该区域当不被用做工作寄存器时,可以作为一般的RAM区使用。(2)位寻址区20H2FH单元是位寻址区。这16个单元(共计16 8 = 128位)的每一

10、位都赋予了一个位地址,位地址范围为00H7FH。位地址区的每一位都可当做软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存入位寻址区内。00H07H08H0FH10H17H18H1FH0组工作寄存器区1组2组3组20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH0706050403020100位寻址区0F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847

11、464544434241404F4E4D4C4B4A494857565554535251505F5E5D5C5B5A595867666564636261606F6E6D6C6B6A696877767574737271707F7E7D7C7B7A797830H7FH数据缓冲区该区域当不被用做位寻址区时,可以作为一般的RAM区使用。(3)数据缓冲区30H7FH是数据缓冲区,即用户RAM,共80个单元。由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以

12、充分利用。4简述程序状态字PSW中各位的含义。程序状态字PSW是一个8位寄存器,它保存指令执行结果的特征信息,为下一条指令或以后的指令的执行提供状态条件。PSW中的各位一般是在指令执行过程中形成的,但也可以根据需要采用传送指令加以改变。其各位定义如图所示。 进位标志C()在执行某些算术运算类、逻辑运算类指令时,可被硬件或软件置位或清零。它表示运算结果是否有进位或借位。如果在最高位有进位(加法时)或借位(减法时),则C = 1,否则C = 0。 辅助进位(或称半进位)标志位AC()它表示两个8位数运算,低4位有无进(借)位的状况。当低4位相加(或相减)时,若D3位向D4位有进位(或借位),则AC

13、 = 1,否则AC = 0。在BCD码运算的十进制调整中要用到该标志。 用户自定义标志位F0()用户可根据自己的需要为F0赋予一定的含义,通过软件置位或清零,并根据F0 = 1或0来决定程序的执行方式,或系统某一种工作状态。 工作寄存器组选择位RS1、RS0(、)可用软件置位或清零,用于选定当前使用的4个工作寄存器组中的某一组。 溢出标志位OV()做加法或减法时由硬件置位或清零,以指示运算结果是否溢出。在带符号数加减运算中,OV = 1表示加减运算超出了累加器所能表示的数值范围(128+127),即产生了溢出,因此运算结果是错误的。OV = 0表示运算正确,即无溢出产生。执行乘法指令MUL A

14、B也会影响OV标志,当积大于255时,OV = 1,否则OV = 0;执行除法指令DIV AB也会影响OV标志,如B中所存放的除数为0,则OV = 1,否则0V = 0。 奇偶标志位P()在执行指令后,单片机根据累加器A中1的个数的奇偶自动将该标志置位或清零。若A中1的个数为奇数,则P = 1,否则P = 0。该标志对串行通信的数据传输非常有用,通过奇偶校验可检验传输的可靠性。5简述MCS?51单片机程序存储器的几个特殊入口地址的含义。0000H:程序入口地址0003H:外部中断0中断服务程序入口地址000BH:定时器/计数器0溢出中断服务程序入口地址0013H:外部中断1中断服务程序入口地址

15、001BH:定时器/计数器1溢出中断服务程序入口地址0023H:串行口发送/接收中断服务程序入口地址6位地址7FH与字节地址7FH有何区别位地址7FH具体在内存中的什么位置二者存储的数据位数不一样。位地址7FH存放一位二进制数,字节地址7FH存放8为二进制数。位地址7FH具体在内存中字节地址为20H的最高位上。7试分别说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值程序计数器PC是一个16位专用寄存器,其内容表示下一条要执行的指令的地址。复位后为0000H。MCS?51单片机的堆栈是在片内RAM中开辟的一个专用区。堆栈指针SP是一个8位专用寄存器,用来存放栈顶的地址。进栈时,S

16、P自动加1,将数据压入SP所指定的地址单元;出栈时,将SP所指示的地址单元中的数据弹出,然后SP自动减1。因此SP总是指向栈顶。复位后为07H。8MCS?51单片机设置4组工作寄存器,开机复位后,CPU使用的是哪组寄存器它们的地址如何CPU如何改变当前工作寄存器组第0组。字节地址为00H07H。通过PSW的RS1、RS0来改变。工作寄存器组的选择表(RS1)(RS0)当前使用的工作寄存器组R0R7000组(00H07H)011组(08H0FH)102组(10H17H)113组(18H1FH)9什么是时钟周期、机器周期和指令周期当外部的振荡频率是8MHz时,8051单片机的机器周期为多少MCS?

17、51单片机的时序由下面4种周期构成。(1)振荡周期振荡周期是指为单片机提供定时信号的振荡源的周期。(2)状态周期(时钟周期)两个振荡周期为一个状态周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑运算;在后半周期P2有效时,一般进行内部寄存器之间的传输。(3)机器周期CPU执行一条指令的过程可以划分为若干阶段,每一阶段完成某一项基本操作,如取指令、存储器读/写等。通常把完成一个基本操作所需要的时间称为机器周期。(4)指令周期指令周期是指执行一条指令所占用的全部时间,它以机器周期为单位。MCS?51系列单片机除乘法、除法指令是4机

18、器周期指令外,其余都是单周期指令和双周期指令。若用12MHz晶体振荡器(晶振),则单周期指令和双周期指令的指令周期时间分别是1s和2s,乘法和除法指令为4s。通过上面的分析,我们可以看出,外部晶振的二分频是MCS?51单片机的内部时钟周期,6个时钟周期构成了单片机的机器周期。如果单片机的外部晶振是8MHz,则其内部的机器周期是s。12已知PSW = 10H,则工作寄存器R0的地址是 10H ,R4的地址是 14H 。第3章 MCS?51系列单片机指令系统1访问外部数据存储器和程序存储器可以用哪些指令来实现举例说明。访问外部数据存储器:MOVX A,DPTRMOVX DPTR,AMOVX A,R

19、iMOVX Ri,A访问程序存储器:MOVC A,A+DPTRMOVC A,A+PC2设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H、62H、30H、31H、DPTR及SP的内容将有何变化PUSH 30HPUSH 31HPOP DPLPOP DPHMOV 30H,#00HMOV 31H,#0FFH(61H)=24H (62H)=10H (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H3设(A) = 40H,(R1) = 23H,(40H) = 05H。执行下列两条指令后,累加器A和R1以及内

20、部RAM中40H单元的内容各为何值XCH A,R1XCHD A,R1(A)=25H (R1)=40H (40H)=03H4设(A) = 01010101B,(R5) = B,分别写出执行ANL A,R5;ORL A,R5;XRL A,R5指令后的结果。00000000B B B5简述转移指令AJMP addr11,SJMP rel,LJMP addr16及JMP A + DPTR的应用。AJMP addr11:2K范围内的转移;SJMP rel:256字节复位内的转移;LJMP addr16:64K范围内的转移;JMP A + DPTR:在某一地址开始的256字节范围内的转移。6试用三种方法实

21、现累加器A和寄存器B的内容交换。(1) MOV R0,A MOV A,B MOV B,R0(2) PUSH A PUSH B POP A POP B(3) MOV R0,B XCH A,R0 MOV B,R07写出实现下列要求的指令或程序片段。(1)将内部RAM20H单元内容与累加器A内容相加,结果存放在20H单元中。(2)将内部RAM30H单元内容与内部RAM31H单元内容相加,结果存放到内部RAM31H单元中。(3)将内部RAM20H单元内容传送到外部RAM2000H单元中。(4)使内部RAM20H单元的D7和D3位清零,其他位保持不变。(5)使内部RAM20H单元的D7和D3位置1,D5

22、位清零,其他位保持不变。(6)使内部RAM20H单元的D7和D3位置1,D5位取反,其他位保持不变。(1) ADD A,20H MOV 20H,A(2) MOV A,30H ADD A,31H MOV 31H,A(3) MOV A,20H MOV DPTR,#2000H MOVX DPTR,A(4) CLR 03H CLR 07H 或: ANL 20H,#01110111B(5) SETB 03H SETB 07H CLR 05H或: ORL 20H,#B ANL 20H,#B(6) SETB 03H SETB 07H CPL 05H或: ORL 20H,#B XRL 20H,#0010000

23、0B8试分析下列程序段执行后,(A) =,(30H) =MOV 30H,#0A4HMOV A,#0D6HMOV R0,#30HMOV R2,#5EHANL A,R2ORL A,R0SWAP ACPL AXRL A,#0FEHORL 30H,A(A)=6EH (30H)=0EFH9设片内RAM(30H) = 0EH,执行下面的程序后,(A)=,指出该程序完成的功能。MOV R0,#30HMOV A,R0RL AMOV B,ARL ARL AADD A,B=8CH功能:将30H中的内容*10操作,结果在累加器A中。第4章 MCS?51系列单片机汇编语言程序设计1编程将片内RAM 30H39H单元中

24、的内容送到以3000H为首的存储区中。MOV R0,#30HMOV DPTR,#3000HMOV R7,#10L1: MOV A,R0MOVX DPTR,AINC R0INC DPTRDJNZ R7,L1RET2片内RAM 60H开始存放20个数据,试统计正数、负数及为零的数据个数,并将结果分别存在50H、51H、52H单元中。 MOV 50H,#0 MOV 51H,#0 MOV 52H,#0 MOV R7,#20 MOV R0,#60H L3: MOV A,R0 JZ L1 JB ,L2 INC 50H SJMP LEND L2: INC 51H SJMP LEND L1: INC 52H

25、LEND: INC R0 DJNZ R7,L3RET3设10次采样值依次放在片内RAM 50H59H的连续单元中,试编程去掉一个最大值、去掉一个最小值,求其余8个数的平均值,结果存放在60H中。 MOV R0,#50H ;最大值 MOV A,R0 MOV R7,#9 INC R0 L1: CLR C MOV B,A SUBB A,R0 MOV A,B JNC L2 XCH A,R0 L2: INC R0 DJNZ R7,L1 MOV R0,#51H ;最小值 MOV A,R0 MOV R7,#8 INC R0 L1: CLR C MOV B,A SUBB A,R0 MOV A,B JN L4

26、XCH A,R0 L4: INC R0 DJNZ R7,L3 MOV R3,#0 ; 求和 MOV R4,#0 MOV R7,#8 MOV R0,#52H L5: MOV A,R4 ADD A,R0 MOV R4,A MOV A,R3 ADDC A,#0 MOV R3,A INC R0 DJNZ R7,L5 MOV A,R4 ;平均值 SWAP A RL A MOV B,A MOV A,R3 RR A RR A RR A ANL A,#00011111B ORL A,B MOV 60H,A RET4编写程序将R4、R5、R6中的3个字节数据对半分解成6个字节,存入显示缓冲区(DISMEM0DI

27、SMEM5)。 MOV A,R6 LCALL CL MOV DISMEM0,R0 MOV DISMEM1,R1 MOV A,R5 LCALL CL MOV DISMEM2,R0 MOV DISMEM3,R1 MOV A,R4 LCALL CL MOV DISMEM4,R0 MOV DISMEM5,R1 RET CL: MOV B,A ANL A,#0FH MOV R0,A MOV A,B ANL A,#0F0H SWAP A MOV R1,A RET5试编程把以2000H为首地址的连续10个单元的内容按升序排列,存放到以3000H为首地址的存储区中。 MOV DPTR,#2000H ;读到片内30H开始的单元 MOV R0,#30H MOV R7,#10 L1: MOVX A,DPTR MOV R0,A INC DPTR INC R0 DJNZ R7,L1 START: CLR 00H ;排序 CLR C MOV R7,#9 MOV R0,#30H MOV A,R0 L3: INC R0 MOV R2,A SUBB A,R0 MOV A,R2 JC NEXT SETB 00H

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1