欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机练习题及答案(共9页).docx

    • 资源ID:14293216       资源大小:39.51KB        全文页数:9页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机练习题及答案(共9页).docx

    精选优质文档-倾情为你奉上“MCS-51单片机基础”课程习题与解答第一章1-3:单片机与普通计算机的不同之处在于其将( )( )和( )三部分集成于一块芯片上。答:微处理器、存储器、I/O口1-7:8051与8751的区别是:A、内部数据存储但也数目的不同B、内部数据存储器的类型不同C、内部程序存储器的类型不同D、内部的寄存器的数目不同答:C1-8:家用电器中使用单片机属于微机的: 答案:B 控制应用第二章23:在MCS51单片机中,如果采用6MHz晶振,1个机器周期为( )。答:2us。析:机器周期为振荡周期的1/6。25:内部RAM中,位地址为30H的位,该位所在字节的字节地址为( )。答:26H26:若A中的内容为63H,那么,P标志位的值为( )。答:0析:P为偶校验位,因为A中1的个数为偶数,所以P=0。27:判断下列说法是否正确:A、8031的CPU是由RAM和EPROM所组成。B、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。C、在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。D、PC可以看成使程序存储器的地址指针。答:错、错、对、对28:8031单片机复位后,R4所对应的存储单元的地址为( ),因上电时PSW=( )。这时当前的工作寄存器区是( )组工作寄存器区。答:04H、00H、0210:判断以下有关PC和DPTR的结论A、DPTR是可以访问的,而PC不能访问。B、它们都是16位的存储器C、它们都有加1的功能。D、DPTR可以分为两个8位的寄存器使用,但PC不能。答:对、对、对、对211、内部RAM中,哪些单元可作为工作寄存器区,哪些单元可以进行位寻址?写出它们的字节地址。答:地址为00H-1FH的32个单元是4组通用工作寄存器区,每个区包括8个8位工作寄存器,编号为R0-R7。字节地址为20H-2FH的16个单元可进行位寻址。212:使用8031芯片时,需将/EA引脚接( )电平,因为其片内无( )存储器。答:低、程序213:片内RAM低128个单元划分为哪3个主要部分?各部分的主要功能是什么?答:工作寄存器区、位寻址区、用户RAM区214:判断下列说法是否正确A、 程序计数器PC不能为用户编程时直接使用,因为它没有地址。B、 内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。C、 8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。答:对、错、错215:PC的值是A、当前正在执行指令的前一条指令的地址B、当前正在执行指令的地址C、当前正在执行指令的下一条指令的地址D、控制器中指令寄存器的地址答:C216:通过堆栈操作实现子程序调用,首先就要把( )的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到( )。答:PC、PC217:MCS51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS51的PC是16位的,因此其寻址的范围为( )KB。答:64219:当MCS51单片机运行出错或程序陷入死循环时,如何来摆脱困境?答:复位220:判断下列说法是否正确?A、 PC是1个不可寻址的特殊功能寄存器。B、 单片机的主频越高,其运算速度越快。C、 在MCS51单片机中,1个机器周期等于1us。D、 特殊功能寄存器SP内装的是栈顶首地址单元的内容。答:错、对、错、错第三章31:判断下列指令的正误:1)MOV 28H,R2 2)DEC DPTR 3)INC DPTR 4)CLR R05)CPL R5 6)MOV R0,R1 7)PUSH DPTR 8)MOV F0,C9)MOV F0,ACC.3 10)MOVX A,R1 11)MOV C,30H 12)RLC R0答:错、错、对、错 错、错、错、对 错、对、对、错32:判断下列说法是否正确。A、 立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。B、 指令周期是执行一条指令的时间。C、 指令中直接给出的操作数称为直接寻址。答:对、对、错33:在基址加变址寻址方式中,以( )作变址寄存器,以( )或( )作基址寄存器。答:累加器A,DPTR、PC36:访问SFR,可使用哪些寻址方式?答:一般采用直接寻址,对于SFR中字节地址能被8整除的SFR可以使用位寻址,对于SFR中的A、B、DPTR寄存器可以采用寄存器寻址。38:假定累加器A中的内容为30H,执行指令1000H:MOVC A,A+PC后,把程序存储器( )单元的内容送入累加器A中。答:1031H39:在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的( )。答:地址310:下列程序段的功能是什么?PUSHAPUSHBPOPAPOPB答:交换A、B的内容311:已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序执行后:POPDPHPOPDPLMOVDPTR,#4000HRLAMOVB,AMOVCA,A+DPTRPUSHAMOVA,BINCAMOVCA,A+DPTRPUSHARETORG4000HDB10H,80H,30H,50H,30H,50H请问:A=( ),SP=( ),(51H)=( ),(52H)=( ),PC=( )。答:A=50H , SP=50H , (51H)=30H , (52H)=50H , PC=5030H312 写出完成如下要求的指令,但是不能改变未涉及位的内容。(1)把Acc.3,Acc.4,Acc.5和Acc.6清0。解:ANL A,#87H(2)把累加器A的中间4位清0。解:ANL A,#0C3H(3)使Acc.2和Acc.3置1。解:ORL A,#0CH313 试编写1个程序,将内部RAM中38H单元的高4位置1,低4位清0。解: MOV A,38HANL A,#0F0HORL A,#0F0HMOV 38H,A316:假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:ANLA,#17HORL17H,AXRLA,R0CPLA后,A的内容为( )。答:0CBH318:假定A=55H,R3=0AAH,在执行指令ANL A, R3后,A=( ),R3=( )。答:00H、0AAH319:如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POPDPHPOPDPLPOPSP则:DPH=( ),DPL=( ),SP=( )答:DPH=3CH , DPL=5FH , SP=4FH320:指令格式是由( )和( )所组成,也可能仅由( )组成。答:操作码、操作数、操作码321:MCS-51单片机对片外数据存储器采用(寄存器间接)寻址方式。322:试编写程序,查找在内部RAM的20H40H单元中是否有0AAH这一数据。若有,则将41H单元置为“01H”;若未找到,则将41H单元置为“00H”。START:MOVR0, #20HMOVR2, #21H ;设置循环次数LOOP:MOVA, R0CJNEA, #0AAH, NEXT ;比较不相等则转移MOV41H, #01HLJMPEXIT ;跳转指令NEXT:INCR0 ;R0增1DJNZR2, LOOP ;R2先减1,若不为0则转移MOV41H, #00HEXIT:RET323:试编写程序,查找在内部RAM的20H40H单元中出现“00H”这一数据的次数。并将查找到的结果存入41H单元。START:MOV41H, #00HMOVR0, #20HMOVR2, #21HLOOP:MOVA, R0JNZNEXT ;A不为0则转移INC41HNEXT:INCR0DJNZR2, LOOPRET324:若SP=60H,标号LABEL所在的地址为3456H。执行指令2000H:LCALLLABEL后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?答:堆栈指针SP的内容为62H,堆栈内容(61H)=03H,(62H)=20H;PC值为3456H;不能将LCALL换为ACALL,因为LCALL可调用64KB范围内的子程序,而ACALL所调用的子程序地址必须与ACALL指令下一条指令的第一个字节在同一个2KB区内(即16位地址中的高5位地址相同);如果换为ACALL,可调用的地址范围为2000H-27FFH。第四章44:外部中断1所对应的中断入口地址为( )H。答:001345:下列说法错误的是:A、 各中断发出的中断请求信号,都会标记在MCS51系统的IE寄存器中。B、 各中断发出的中断请求信号,都会标记在MCS51系统的TMOD寄存器中。C、 各中断发出的中断请求信号,都会标记在MCS51系统的IP寄存器中。D、 各中断发出的中断请求信号,都会标记在MCS51系统的TCON与SCON寄存器中。答:ABC47:中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是:A、 当前正在执行高优先级中断处理B、 当前正在执行RETI指令C、 当前指令是DIV指令,且正处于取指令的机器周期D、 当前指令是MOVA, R3答:D48:8031单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把( )的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送( ),使程序执行转向( ) 中的中断地址区。答:PC、PC、程序存储器49:编写出外部中断1为跳沿触发的中断初始化程序。答:SETBIT1SETBEX1SETBEA410:在MCS51中,需要外加电路实现中断撤除的是:A、定时中断B、脉冲方式的外部中断C、外部串行中断D、电平方式的外部中断答:D412:下列说法正确的是:A、 同一级别的中断请求按时间的先后顺序响应。B、 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。C、 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。D、 同级中断不能嵌套。答:ACD第五章 51:如果采用晶振的频率为3MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?解答:因为机器周期,所以定时器/计数器工作方式0下,其最大定时时间为;同样可以求得,方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1.024ms。53:定时器/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?答:定时器/计数器被选定为定时器工作模式时,计数输入信号是内部时钟脉冲,每个机器周期产生1个脉冲使计数器增1,因此,定时器/计数器的输入脉冲的周期与机器周期一样,为时钟振荡频率的1/12。定时时间与时钟频率、定时初值、工作方式有关。54:采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶体振荡器的频率为6MHz,请使用方式1实现,要求编写出程序。解答:定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。除了第一次计数工作模式设置在主程序完成外,后面的定时或计数工作模式分别在中断程序完成,用一标志位识别下一轮定时器/计数器T0的工作模式。1、 计算初值机器周期,计数初值:216-100 = 65436 = FF9CH 即TH0=0FFH,TL0=9CH定时初值:(216-X)´ 2´ 10-6 = 10-3 X = 65036 = FE0CH,即 TH0 = 0FEH,TL0= 0CH2、编写程序如下:ORG0000HLJMPMAINORG000BHLJMPPT0JORG 0100HMAIN:MOVTMOD, #05H ; T0为方式1计数MOVTL0, #9CH ;计数100个脉冲的初值赋值MOVTH0, #0FFHSETBTR0;启动T0,开始计数SETBET0;允许T0中断SETBEA;CPU开中断CLRF0;判断下一轮工作模式的标志位HERE: AJMP HEREPT0J: JB F0, PT0D MOVTMOD, #01H ; T0为方式1定时MOVTH0, #0FEH ;定时1ms初值赋值MOVTL0, #0CHSETB F0RETIPT0D: CLR F0 MOV TMOD, #05H MOV TL0, #9CH ;计数100个脉冲的初值赋值MOV TH0, #0FFHRETI END55:定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。56:编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400微秒,占空比为1:10的矩形脉冲。已知时钟频率为6MHz。解答:根据题意,从P1.0输出的矩形脉冲的高低电平的时间为1:9,则高低电平的时间分别为40s和360s。系统采用6MHz晶振,。1、 计算初值机器周期,定时40s的初值:(28-X)´ 2´ 10-6 = 40´ 10-6 X = 236 = 0ECH,即 TH0 = 0ECH,TL0= 0ECH2、编写程序如下:ORG 0000H AJMP MAIN ORG 000BH AJMP PT0 ORG 0100H MAIN: MOV R2, #00H MOV TMOD, #02H MOV TH0, #0ECHMOV TL0, #0ECH SETB P1.0 SETB TR0 SETB ET0 SETB EA HERE: SJMP HERE PT0: CJNE R2, #09H, PT01 SETB P1.0 MOV R2, #00H RETI PT01: CLR P1.0 INC R2 RETI END 58: 当定时器T0用于方式3时,应该如何控制定时器T1的启动和关闭?答:只需设置好工作方式(方式0或1或2),即可自动运行。如要停止它的工作,需送入一个把它设置为方式3的方式控制字即可,这是因为定时/计数器T1不能工作在方式3,如硬把它设置为方式3,自然会停止工作。511:THX与TLX(X=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新?答:THX与TLX(X=0,1)是由特殊功能寄存器构成的计数器,其内容可以随时用指令更改,更改后的新值是立即刷新。512:判断下列的说法是否正确?(1) 特殊功能寄存器SCON,与定时器/计数器的控制无关。(对)(2) 特殊功能寄存器TCON,与定时器/计数器的控制无关。(错)(3) 特殊功能寄存器IE,与定时器/计数器的控制无关。 (错)(4) 特殊功能寄存器TMOD,与定时器/计数器的控制无关。(错)第六章63:帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式( 1 )。64:串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有4种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD/32×定时器T1的溢出率方式2的波特率=2SMOD/64×fosc方式3的波特率=2SMOD/32×定时器T1的溢出率65:假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“A”的帧格式。 起始位0 1 0 0 0 0 0 1 校验位 停止位 即:66:判断下列说法是否正确:(1) 串行口通信的第9数据位的功能可由用户定义。(对)(2) 发送数据的第9数据位的内容在SCON寄存器的TB8位预先准备好的。(对)(3) 串行通讯发送时,指令把TB8位的状态送入发送SBUF。(错)(4) 串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。(对)(5) 串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出设定。(对)67:通过串行口发送或接收数据时,在程序中应使用:( 3)(1)MOVC指令 (2)MOVX指令 (3)MOV指令 (4)XCHD指令68:为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?若已知时钟频率、通讯波特率,如何计算其初值?解答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了重装参数的操作。已知时钟频率、通讯波特率,根据公式:,计算出初值。69:串行口工作方式1的波特率是:( 3 )(1) 固定的,为。(2) 固定的,为。(3) 可变的,通过定时器/计数器T1的溢出率设定。(4) 固定的,为。610:在串行通讯中,收发双方对波特率的设定应该是( 相等 )的。611:若晶体振荡器为11.0592MHz,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值。解答:假设T1工作方式2,SMOD=1, 由于 所以 初值X=244=0F4H控制字:MOV SCON, #40HMOV PCON, #80H MOV TMOD,#20H MOV TL1,#0F4H MOV TH1,#0F4H612:简述利用串行口进行多机通讯的原理。解答:前提条件:采用工作方式2或3进行多机通讯。当SM2=1时,RB8=1则接收该帧;RB8=0则丢弃该帧。SM2=0时,RB8=0或1时都接收该帧。约定发送端TB8=1时为地址帧,TB8=0时为数据帧。发送端:先发送地址帧,帧中携带从机地址,且第9位数据为1。接收端:所有接收端都收到该地址帧,转入中断服务程序,并比较是否与本机地址相符,如相符则清“0”SM2,否则置位SM2,也就是地址相符的从机具备了接收数据帧的能力。发送端,发送数据帧,只有地址帧指明的从机可以接收数据帧,因而完成了多机通信。615:某8031串行口,传送数据的帧格式为1个起始位(0),8个数据位,1个偶校验位和1个停止位(1)组成。当该串行口每分钟传送1800个字符时,试计算出波特率。解答:串口每秒钟传送的字符为:1800/60=30(字符/秒) 所以波特率为:30(字符/秒)×11(位/字符)=330(b/s)专心-专注-专业

    注意事项

    本文(单片机练习题及答案(共9页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开