单片机4--7章参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

“单片机原理及应用”课程习题与解答第4章4-4:外部中断1所对应的中断入口地址为()H。答:0013H4-5:下列说法错误的是:A、各中断发出的中断请求信号,都会标记在MCS-51系统的IE寄存器中。B、各中断发出的中断请求信号,都会标记在MCS-51系统的TMOD寄存器中。C、各中断发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中。D、各中断发出的中断请求信号,都会标记在MCS-51系统的TCON与SCON寄存器中。答:ABC4-7:中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是:A、当前正在执行高优先级中断处理B、当前正在执行RETI指令C、当前指令是DIV指令,且正处于取指令的机器周期D、当前指令是MOVA,R3答:D4-8:8031单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把()的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(),使程序执行转向()中的中断地址区。答:PC、PC、程序存储器4-9:编写出外部中断1为跳沿触发的中断初始化程序。答:SETBIT1SETBEX1SETBEA4-10:在MCS-51中,需要外加电路实现中断撤除的是:A、定时中断B、脉冲方式的外部中断C、外部串行中断D、电平方式的外部中断答:D4-12:下列说法正确的是:A、同一级别的中断请求按时间的先后顺序响应。B、同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。C、低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。D、同级中断不能嵌套。答:ACD4-13:中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?答:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断第5章MCS-51的定时/计数器1.如果采用晶振的频率为3MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?解答:因为机器周期)(410312126sfTOSCcy,所以定时器/计数器工作方式0下,其最大定时时间为)(192.81042261313msTTCMAX;同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1.024ms。定时/计数器用作计数器时,外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。2.定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率、定时初值和工作方式有关。4.采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶体振荡器的频率为6MHz,请使用方式1实现,要求编写出程序。解答:查询方式ORG0030HMAIN:MOVTMOD,#05H;T0为计数方式1MOVTL0,#9CH;计数初值赋值MOVTH0,#0FFHSETBTR0;启动T0,开始计数JNBTF0,$CLRTF0MOVTMOD,#01H;T0为定时方式1MOVTH0,#0FEH;定时1ms初值赋值MOVTL0,#0CHJNBTF0,$CLRTF0LJMPMAINEND5.定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。6.编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400μs,占空比为10:1的矩形脉冲。解答:根据题意,高低电平输出取整,约为364μs和36μs。编写程序如下:ORG0000HAJMPMAINORG0100HMIAN:MOVTMOD,#02HMOVTL0,#4AHMOVTH0,#0EEHSETBTR0SETBP1.0LOOP:JBCTF0,LOOP1SJMPLOOPLOOP1:CPLP1.0JNBP1.0,L2MOVTH0,#0EEHSJMPLOOPL2:MOVTH0,#4AHSJMPLOOPEND11.THX与TLX(X=0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新值是立即刷新还是等当前计数器计满后才能刷新?答:THX与TLX(X=0,1)是由特殊功能寄存器构成的计数器,其内容可以随时用指令更改,更改后的新值是立即刷新。12.判断下列的说法是否正确?(1)特殊功能寄存器SCON,与定时器/计数器的控制无关。(对)(2)特殊功能寄存器TCON,与定时器/计数器的控制无关。(错)(3)特殊功能寄存器IE,与定时器/计数器的控制无关。(错)(4)特殊功能寄存器TMOD,与定时器/计数器的控制无关。(错)第6章MCS-51的串行口1.串行数据传送的主要优点和用途是什么?答:串行数据传送的主要优点是硬件接口简单,接口端口少(2个)。主要用于多个单片机系统之间的数据通信。2.简述串行口接收和发送数据的过程。答:略3.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式(1)。3.串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有3种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD/32×定时器T1的溢出率方式2的波特率=2SMOD/64×fosc方式3的波特率=2SMOD/32×定时器T1的溢出率4.假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“A”的帧格式。起始位100000101停止位6.判断下列说法是否正确:(1)串行口通信的第9数据位的功能可由用户定义。(对)(2)发送数据的第9数据位的内容在SCON寄存器的TB8位预先准备好的。(对)(3)串行通讯发送时,指令把TB8位的状态送入发送SBUF。(错)(4)串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。(对)(5)串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出设定。(对)7.通过串行口发送或接收数据时,在程序中应使用:(选(3))(1)MOVC指令(2)MOVX指令(3)MOV指令(4)XCHD指令8.为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?若已知时钟频率、通讯波特率,如何计算其初值?解答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了重装参数的操作。已知时钟频率、通讯波特率,根据公式:)256(12322XfOSCSMOD波特率=,计算出初值。9.串行口工作方式1的波特率是:(3)(1)固定的,为32/OSCf。(2)固定的,为16/OSCf。(3)可变的,通过定时器/计数器T1的溢出率设定。(4)固定的,为64/OSCf。10.在串行通讯中,收发双方对波特率的设定应该是(相等)的。11.若晶体振荡器为11.0592MHz,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值。解答:初值计算:查阅P148表7-2可得,FAH控制字:MOVTMOD,#20HMOVTH1,#0F4HMOVTL1,#0F4HMOVSCON,#40H12.简述利用串行口进行多机通讯的原理。解答:略。13.使用8031的串行口按工作方式1进行串行数据通讯,假定波特率为2400b/s,以中断方式传送数据,请编写全双工通讯程序。解答:略14.使用8031的串行口按工作方式3进行串行数据通讯,假定波特率为1200b/s,第9数据位作奇偶校验位,以中断方式传送数据,请编写通讯程序。解答:略15.某8031串行口,传送数据的帧格式为1个起始位(0),8个数据位,1个偶校验位和1个停止位(1)组成。当该串行口每分钟传送1800个字符时,试计算出波特率。解答:串口每秒钟传送的字符为:1800/60=30个字符/秒所以波特率为:30个字符/秒×11位/个字符=330b/s第7章习题解答1.单片机存储器的主要功能是存储(程序)和(数据)。2.试编写一个程序(例如将05H和06H拼为56H),设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H。解:ORG0000HMAIN:MOVDPTR,#2001H;设置数据指针的初值MOVXA,@DPTR;读取2001H的值SWAPAANLA,#0F0H;屏蔽掉低四位MOV30H,A;保存AINCDPTR;指针指向下一个MOVXA,@DPTR;读取2002H的值ANLA,#0FH;屏蔽掉高四位ORLA,30H;进行拼装MOVX@DPTR,A;保存到2002HEND3.编写程序,将外部数据存储器中的4000H—40FFH单元全部清零。解:本题主要考察了对外部数据块的写操作;编程时只要注意循环次数和MOVX指令的使用就可以了。ORG0000HMAIN:MOVA,#0;送预置数给AMOVR0,#00H;设置循环次数MOVDPTR,#4000H;设置数据指针的初值LOOP:MOVX@DPTR,A;当前单元清零INCDPTR;指向下一个单元DJNZR0,LOOP;是否结束END4.在MCS-51单片机系统中,外接程序存储器和数据存储器共16位地址线和8位数据线,为何不会发生冲突?解:因为控制信号线的不同:外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE和WE。外扩RAM的读、写控制引脚分别与MCS-51的RD和WR引脚相连。外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与MCS-51单片机的PSEN相连。5.区分MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是:(1)看其位于地址范围的低端还是高段(2)看其离MCS-51芯片的远近(3)看其芯片的型号是ROM还是RAM(4)看其是与RD信号连接还是与PSEN信号连接解:本题的答案是3,4。7.在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的(片选)端提供信号。9.起止范围为0000H-3FFFH的存储器的容量是(16)KB。10.在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器提供地址。11.11根地址线可选(2K)个存储单元,16KB存储单元需要(14)根地址线。12.32KBRAM存储器的首地址若为2000H,则末地址为(9FFF)H。13.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:(1)画出硬件电路连线图,并标注主要引脚;(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。解:(1)电路图如下所示:(2)2764的地址为C000H-DFFFH;第一个6116的地址为A000H-A7FFH;第二个6116的地址为6000H-67FFH;U474LS373347813141718111256912151619D0D1D2D3D4D5D6D7OCGQ0Q1Q2Q3Q4Q5Q6Q7U28031313938373635343332212223242526272817162930EA/VPP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7RDWRPSENALE/PU5HM611687654321232219182021910111314151617A0A1A2A3A4A5A6A7A8A9A10CSOEWED0D1D2D3D4D5D6D7U3276410987654325242123220222711112131516171819A0A1A2A3A4A5A6A7A8A9A10A11A12

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功