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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《单片机原理及应用》习题及答案.docx

1、单片机原理及应用习题及答案 绪论习题参考答案0-1 什么是单片机?它与一般微型计算机在结构上何区别?答:单片微型计算机简称为单片机(Single Chip Computer),又称为微控制器(MCU即Micro-Controller Unit)。它是在一块芯片上集成了中央处理器(CPU)、存储器(RAM、ROM)、定时器/计数器、中断控制、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等为一体的器件。 微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。单片机的结构是在一块芯片上集成了中央处理器(

2、CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。0-2 MCS-51系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。答:MCS-51系列单片机内部资源配置型号 程序存储器 片内RAM 定时/计数器并行I/O口串行口中断源/中断优先级8031/80C31无128B2164815/28051/80C514KB ROM128B2164815/28751/87C514KB EPROM128B2164815/28032/80C32无256B3164816/28052/80C52

3、4KB ROM256B3164816/2 8051与51兼容的单片机的异同厂商型号 程序存储器 片内RAM 定时/计数器并行I/O口串行口中断源/优先级其它特点Intel8051/80C514KB ROM128B2164815/2ATMELAT89C20512KB Flash ROM128B2161516/2直接驱动LED输出,片上模拟比较器AT89S5312KB Flash ROM256B3163219/2SPI,WDT,2个数据指针W77E5832KB Flash ROM256B+1024B31636212/2扩展了4位I/O口,双数据指针,WDT。Analog DevicesADuC81

4、28KB EEPROM256B+640B2163219/2WDT,SPI ,8通道12位ADC,2通道12位DAC,片上DMA控制器。.飞利浦80C552无256B31648115/4CMOS型10位ADC,捕捉/比较单元,PWM83/87C5528KB EEPROM256B31648115/4CMOS型10位ADC,捕捉/比较单元,PWM83/89CE55832KB EEPROM256B+1024B31640115/48通道10位ADC,捕捉/比较单元,PWM,双数据指针,I2C总线,PLL(32kHz)。83C59216KB EEPROM256B+256B31648215/2CMOS型CA

5、N微控制器SSTSST89E55432KB+8KB Flash ROM1KB3163228/440MHz, SPI,双数据指针,WDT。TIMSC1210Y24KB+2KB Flash ROM1280B3163222132位累加器,WDT,SPI,低电压检测,16位PWM。英特尔87C5416KB EPROM256B3163217/4具有帧错误检测的可编程串口。83/87C51GB8KB EPROM256B31648115/4PWM,WDT,8通道8位ADC,具有帧检测和识别的串口。 第1章MCS-51单片机的结构与原理1-1 MCS-51系列单片机内部有哪些主要的逻辑部件?答: 一个8位CP

6、U;一个片内振荡器及时钟电路;4K字节ROM程序存储器;128字节RAM数据存储器;两个16位定时器/计数器;可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;32条可编程的I/O线(四个8位并行I/O端口);一个可编程全双工串行口;具有五个中断源、两个优先级嵌套中断结构1-2 MCS-51设有4个8位端口(32条I/O线),实际应用中8位数据信息由哪一个端口传送?16位地址线怎样形成?P3口有何功能?答:实际应用中8位数据信息由P1口传送。16位地址线由P0口输出低8位地址A7A0,P2口输出高8位地址A15A8。P3口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,

7、其功能同P1口;当作第二功能使用时,P3.0RXD串行输入(数据接收)口,P3.1TXD串行输出(数据发送)口,P3.2外部中断0输入线,P3.3外部中断1输入线,P3.4T0定时器0外部输入,P3.5T1定时器1外部输入,P3.6外部数据存储器写选通信号输出,P3.7外部数据存储器读选通信号输入。1-3 MCS-51的存储器结构与一般的微型计算机有何不同?程序存储器和数据存储器各有何作用?答:MCS-51存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自已的寻址系统、控制信号和功能。 程序存储器用来存放程序和始终要保留的常数,如经汇编后所编程序的机器码。数据存

8、储器通常用来存放程序运行中所需要的常数或变量,例如模/数转换时实时采集的数据等。1-4 MCS-51内部RAM区功能结构如何分配?4组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?答:MCS-51系列单片机内部数据存储器:00H 7FH单元组成的低128字节地址空间的RAM区,又分为为工作寄存器区(00H1FH)、位寻址区(20H2FH)和数据缓冲区(30H7FH)。 80H FFH(128 255)单元组成的高128字节地址空间的特殊功能寄存器(又称SFR)区。对于8032、8052、8752的单片机还有80HFFH单元组成的高128字节地址空间的RAM区。 4组工作寄存区是由程

9、序状态字PSW(特殊功能寄存器,字节地址为0D0H)中的D4、D3位(RS1和RS0)来决定的。PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器区R0 R7000区 (00 07H)011区 (08 0FH)102区 (10 17H)113区 (18 1FH)位寻址区域的字节地址范围是20H2FH(对应的位地址范围是00H7FH)。1-5 特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?答:P0字节地址80H,TCON字节地址88H,P1字节地址90H,SCON字节地址98H,P2字节地址A0H,IE字节地址A8H,P3字节地址B0H,IP字节地址B8H,PSW字节地址

10、D0H,ACC字节地址E0H,B字节地址F0H。1-6 简述程序状态字PSW中各位的含义。答:CY(PSW7)进位标志,AC(PSW6)辅助进位标志,F0(PSW5)用户标志位RS1、RS0(PSW4、PSW3)寄存器区选择控制位,OV(PSW2)溢出标志,P(PSW0)奇偶标志,每个指令周期都由硬件来置位或清“0”,以表示累加器A 中1的位数的奇偶数1-7 一个时钟频率为6MHz的单片机应用系统,它的时钟周期、机器周期、指令周期分别是多少?答:时钟周期=13us、机器周期=2us、指令周期=2us。1-8 单片机有几种主要的工作方式?其特点各是什么?答:有复位、程序执行、低功耗三种主要工作方

11、式。复位操作是单片机的初始化操作,单片机在进入运行前和在运行过程中程序出错或操作失误使系统不能正常运行时,需要进行复位操作,复位操作后,程序将从0000H开始重新执行。单片机的程序的执行过程分为取指令、译码、执行三个过程。 待机方式,也称为空闲工作。系统进入待机工作方式时,振荡器继续工作,中断系统、串行口以及定时器模块由时钟驱动继续工作,但时钟不提供给CPU。单片机进入掉电工作方式,只有内部RAM单元的内容被保存,其它一切工作都停止。1-9 堆栈有何功能?堆栈指针的作用是什么?二者的关系?为什么在程序设计时,要对SP重新赋值?答:堆栈的主要功能:保护断点和程序现场,保存用户数据。堆栈指针的作用

12、是:堆栈指针SP是一个8位特殊功能寄存器,指示出堆栈顶部在内部RAM中的位置。两者的关系:堆栈指针SP给定当前的栈顶,SP的初始值越小,堆栈深度就越深。系统复位后,SP初始化为07H,使得堆栈事实上由08H 单元开始。考虑到08H1FH单元分属于工作寄存器区13,若程序设计中要用到这些区,则最好把SP值改置为1FH或更大的值如60H,SP的初始值越小,堆栈深度就越深,堆栈指针的值可以由软件改变,因此堆栈在内部RAM中的位置比较灵活。 第2章MCS-51指令系统 习题参考答案2-1 判断下列指令的正误: 1)MOV 28H,R2 2)DEC DPTR 3)INC DPTR 4)CLR R0 5)

13、CPL R5 6)MOV R0,R1 7)PUSH DPTR 8)MOV F0,C 9)MOV F0,ACC.3 10)MOVX A,R1 11)MOV C,30H 12)RLC R0答:错、错、对、错 错、错、错、对 错、对、对、错2-2 判断下列说法是否正确。A、 立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。B、 指令周期是执行一条指令的时间。C、 指令中直接给出的操作数称为直接寻址。答:对、对、错2-3 在基址加变址寻址方式中,以( )作变址寄存器,以( )或( )作基址寄存器。答:累加器A,DPTR、PC2-4 指令格式是由( )和( )所组成,也可能仅由( )组成

14、。答:操作码、操作数、操作码2-5 设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值? MOV A,59H ;A=50H MOV R0,A ;R0=50H MOV A,#00H ;A=00H MOV R0,A ;50H=00H MOV A,#25H ;A=25H MOV 51H,A ;51H=25H MOV 52H,#70H ;52H=70H答:A=25H R0=50H 50H=00H 51H=25H 2-6 访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。答:访问外部数据存储器指令有:MOVX DPTR,A

15、 MOV DPTR,#0100H MOV DPTR,A MOVX A,DPTR MOV DPTR,#0200H MOV A,DPTR MOVX A,Ri MOVX A,R0MOVX Ri,A MOVX R1,A 访问程序存储器指令有:MOV A,A+PCMOVC A,A+DPTR2-7 设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH 30H ;61H=24HPUSH 31H ;62H=10H SP=62HPOP DPL ;DPL=10HPOP DPH ;DPH

16、=24H SP=60HMOV 30H,#00H ;30H=00HMOV 31H,#0FFH ;31H=0FFH2-8 设(A)=40H,(R1)=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值? XCH A,R1 ;A=23H R1=40H XCHD A,R1 ;A=25H 40H=03H2-9 两个四位BCD码数相加,被加数和加数分别存于50H,51H和52H,53H单元中(千位、百位在低地址中,十位、个位在高地址中),和存放在54H,55H和56H中(56H用来存放最高位的进位),试编写加法程序。 ORG 0000H LJMP STA

17、RT ORG 0100H START: MOV A,53H ADD A,51H DA A MOV 55H,A MOV A,52H ADDC A,50H DA A MOV 56H,C SJMP $ END2-10 设(A)=01010101B,(R5)=10101010B,分别写出执行下列指令后结果。ANL A , R5 ; 00000000BORL A , R5 ; 11111111BXRL A , R5 ; 11111111B2-11指令SJMP rel中,设rel=60H,并假设该指令存放在2114H和2115H单元中。当该条指令执行后,程序将跳转到何地址?答: 2116H+60H=217

18、6H2-12 简述转移指令AJMP addr11、SJMP rel、 LJMP addr16及JMP A+DPTR的应用场合。 答:AJMP addr11 为2K字节范围内的无条件转跳指令,把程序的执行转移到指定的地址。SJMP rel是无条件转跳指令,执行时在PC加2后,把指令中补码形式的偏移量值加到PC上,并计算出转向目标地址。转向的目标地址可以在这条指令前128字节到后127字节之间。LJMP addr16执行这条指令时把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向指定地址。转移的目标地址可以在64K程序存储器地址空间的任何地方,不影响任何标志。JMP A+DPTR

19、指令的功能是把累加器中8位无符号数与数据指针DPTR中的16位数相加,将结果作为下条指令地址送入PC,利用这条指令能实现程序的散转。2-13 试分析下列程序段,当程序执行后,位地址00H,01H中的内容将为何值?P1口的8条I/O线为何状态? CLR C ;CY=0 MOV A,#66H ;A=66H JC LOOP1 CPL C ;CY=1 SETB 01H ;20H.1=1LOOP1: ORL C, ACC.0 ;CY=1 JB ACC.2,LOOP2 ; CLR 00H LOOP2: MOV P1,A ;P1=01100110B SJMP $ 20H.0=0 20H.1=1 P1=66H

20、2-14 查指令表,写出下列两条指令的机器码,并比较一下机器码中操作数排列次序的特点。MOV 58H,80H 85(80)(58) 直接寻址字节送直接寻址字节: 汇编时源操作数在目标操作数之前。MOV 58H,#80H75(58)(80) 立即数送直接寻址字节: 汇编时目标操作数在原操作数之前。第3章汇编语言程序设计基础习题参考答案3-1 什么是单片机的程序设计语言。答:单片机的程序设计语言是指计算机能理解和执行的语言,人与CPU、MCU交流的语言。MCS-51系列单片机的程序设计语言,按照语言的结构及其功能可以分为三种:机器语言、汇编语言、高级语言。3-2 单片机的程序设计包括哪几个步骤。答

21、:程序设计步骤如下:(1) 分析问题。即仔细分析任务书中要实现的功能和性能指标。(2) 确定算法。即找到解决问题思路、方法。(3) 分配内存单元。即确定数据结构。这一步往往与算法同时考虑。(4) 根据算法和数据结构,画出程序流程图。(5) 根据流程图编写汇编语言源程序。编辑录入,保存为*.ASM文件。(6) 汇编。排除语法错误。(7) 调试(DEBUG)。找出错误并更正,再调试,直至通过。(8) 编写相关说明文档。3-3 画出单片机的三种基本程序结构。答: 顺序结构流程图 分支结构流程图 循环结构流程图3-4 单片机的分支结构程序指令有哪几条?答:分支结构程序指令有JB、JNB、JC、JNC、

22、JZ、JNZ、CJNE、JBC3-5 什么是单片机的程序嵌套?生活中有哪些现象与单片机的嵌套类似?答:一个程序中还会调用别的程序,这称为程序嵌套。 生活例子:在学习,有电话了,去接电话,水开了,放下电话去关掉电水壶,接着打电话,打完电话,接着学习。3-6 能否从一个子程序内部使用转移指令直接跳转到另一个子程序执行?答:可以,为了保证正确地从子程序2返回子程序1,再从1返回主程序,每次调用子程序时必须将下条指令地址保存起来,返回时按后进先出原则依次取出旧PC值。3-7 能否使用转移指令从主程序跳到子程序?答:不可以,当主程序需要执行某子程序的功能时,只需执行一条调用指令。而并非使用转移指令3-8

23、 能否使用转移指令从子程序跳到主程序?答:不可以,子程序的最后一条指令应该是返回指令RET或RETI,以确保子程序能够正确返回主程序。执行RET指令时单片机将原来存在堆栈中的断点地址弹出给PC,保证子程序返回主程序中调用子程序的地方继续执行主程序。子程序从子程序的标号开始,到RET或RETI指令结束。RET指令是一般子程序的返回指令。RETI指令是中断服务子程序的返回指令。3-9已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后: POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,A+DPTR

24、PUSH A MOV A,B INC A MOVC A,A+DPTR PUSH A RET ORG 3000H DB 10H,80H,30H,80H,50H,80H 请问:A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=( )。答:A=80H , SP=40H , (51H)=50H , (52H)=80H , PC=8050H3-10计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为 12MHz)。 MOV R3,#15H ;1个机器周期 DL1:MOV R4,#255 ;1个机器周期 DL2:MOV P1,R3 ;2个机器周期 DJNZ R4,DL2 ;2个机

25、器周期 DJNZ R3,DL1 ;2个机器周期 RET ;2个机器周期答:由于(22)25512)151215348us3-11 子程序的规范化设计包括那几个部分?答:子程序的规范化设计包括:(1) 子程序名称。给子程序起名字,起名的原则是子程序名能够反映子程序功能,该名字就是子程序的入口地址标识符。(2) 子程序功能,对子程序的功能给予简要的描述。(3) 入口参数,子程序所要运算或处理的数据(加工前的原料),在调用子程序之前,主程序要先准备好入口参数。(4)出口参数,子程序运算或处理的结果(加工完成的数据),子程序结束之前,最终结果(出口参数)存放在约定的RAM单元,供主程序取用。(5) 资

26、源占用情况,指出该子程序运行时所使用的片内工作寄存器(R0R7)、SFR(特殊功能寄存器)、片内RAM单元及片外RAM单元,以便在主程序调用该子程序之前,考虑将这些资源中的哪些字节保护入栈。3-12 在片内RAM地址40H到4FH的存储单元中存有16个无符号数,找出其中的最大值,放入50H单元,请用“循环结构”和“分支结构”编程。答:流程图:源程序:ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R2,#0FH MOV R0,#40H MOV A,R0 SUB: INC R0 MOV B,R0 CJNE A,B,NEXT NEXT: JC NEXT1 DJNZ

27、R2,SUB JMP LAST NEXT1: MOV A,B DJNZ R2,SUB JMP LAST LAST: MOV 50H,A SJMP $ 3-13 将片内若干个RAM单元的内容复制到片外RAM单元,请用“主程序”调用“子程序”编程,要求子程序入口参数为:R0存放片内RAM起始地址,DPTR存放片外RAM起始地址,R1存放字节数。请分别编写主程序和子程序。答:流程图 主程序 子程序源程序: ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R1,#10H MOV R0,#40H MOV DPTR,#0000H LCALL COPY SJMP $ COPY

28、: NEXT: MOV A,R0 MOVX DPTR,A INC R0 INC DPL DJNZ R1,NEXT RET 3-14若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令如下: 2000H LCALL LABEL后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL 直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?答:1)SP=SP+1=61H (61H)=PC的低字节=03H SP=SP+1=62H (62H)=PC的高字节=20H 2)PC=3456H 3)可以 4)2KB2048

29、 Byte第4章 中断系统习题参考答案4-1外部中断1所对应的中断入口地址为( )H。答:0013H4-2下列说法错误的是:A、 各中断发出的中断请求信号,都会标记在MCS51系统的IE寄存器中。B、 各中断发出的中断请求信号,都会标记在MCS51系统的TMOD寄存器中。C、 各中断发出的中断请求信号,都会标记在MCS51系统的IP寄存器中。D、 各中断发出的中断请求信号,都会标记在MCS51系统的TCON与SCON寄存器中。答:ABC4-3 中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是:A、 当前正在执行高优先级中断处理B、 当前正在执行RETI指令C、 当前指令是DIV指令,且正处于取指令的机器周期D、 当前指令是MOV A,R3答:D4-4 8031单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把( )的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送( ),使程序执行转向( ) 中的中断地址区。答:PC、PC、程序存储器4-5 编

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

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