“单片机原理及应用”课程习题与解答
第4章
4-4:外部中断1所对应的中断入口地址为( )H。
答:0013H
4-5:下列说法错误的是:
A、 各中断发出的中断请求信号,都会标记在MCS-51系统的IE寄存器中。 B、 各中断发出的中断请求信号,都会标记在MCS-51系统的TMOD寄存器中。 C、 各中断发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中。 D、 各中断发出的中断请求信号,都会标记在MCS-51系统的TCON与SCON寄存器
中。 答:ABC
4-7:中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是:
A、 当前正在执行高优先级中断处理 B、 当前正在执行RETI指令 C、 当前指令是DIV指令,且正处于取指令的机器周期 D、 当前指令是MOV A,R3 答:D
4-8:8031单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把
( )的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送( ),使程序执行转向( ) 中的中断地址区。 答:PC、PC、程序存储器
4-9:编写出外部中断1为跳沿触发的中断初始化程序。 答:SETB IT1 SETB EX1 SETB EA
4-10:在MCS-51中,需要外加电路实现中断撤除的是: A、定时中断 B、脉冲方式的外部中断 C、外部串行中断 D、电平方式的外部中断 答:D
4-12:下列说法正确的是:
A、 同一级别的中断请求按时间的先后顺序响应。 B、 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。 C、 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优
先级中断请求。
D、 同级中断不能嵌套。 答:ACD
4-13:中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?
答:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断
第5章 MCS-51的定时/计数器
1. 如果采用晶振的频率为3MHz,定时器/计数器工作方式0、1、2下,其最大的定时时间
为多少?
解答:因为机器周期
Tcy?1212??4(?s)6fOSC3?10,
所以定时器/计数器工作方式0下,其最大定时时间为
TMAX?213?TC?213?4?10?6?8.192(ms);
同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为
1.024ms。
定时/计数器用作计数器时,外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。 2. 定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?
答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率、定时初值和工作方式有关。
4.采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶体振荡器的频率为6MHz,请使用方式1实现,要求编写出程序。 解答: 查询方式
ORG 0030H
MAIN: MOV TMOD,#05H ;T0为计数方式1 MOV TL0,#9CH ;计数初值赋值 MOV TH0,#0FFH SETB TR0 ;启动T0,开始计数 JNB TF0,$ CLR TF0 MOV TMOD,#01H ;T0为定时方式1 MOV TH0,#0FEH ;定时1ms初值赋值 MOV TL0,#0CH JNB TF0,$ CLR TF0 LJMP MAIN END
5. 定时器/计数器的工作方式2有什么特点?适用于哪些应用场合?
答:定时器/计数器的工作方式2具有自动恢复初值的特点,适用于精确定时,比如波特率的产生。
6. 编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400μs,占空比为10:1的矩形脉冲。
解答:根据题意,高低电平输出取整,约为364μs和36μs。编写程序如下: ORG 0000H AJMP MAIN ORG 0100H
MIAN: MOV TMOD, #02H MOV TL0, #4AH MOV TH0, #0EEH SETB TR0
SETB P1.0
LOOP: JBC TF0, LOOP1 SJMP LOOP LOOP1: CPL P1.0 JNB P1.0, L2 MOV TH0, #0EEH SJMP LOOP
L2: MOV TH0, #4AH SJMP LOOP END
11. 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”的帧格式。
起始位1 0 0 0 0 0 1 0 1 停止位 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下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了重装参数的操作。
fOSC2SMOD波特率=?3212?(256?X),计算已知时钟频率、通讯波特率,根据公式:
出初值。
9.串行口工作方式1的波特率是:( 3 ) (1) 固定的,为fOSC/32。 (2) 固定的,为fOSC/16。
(3) 可变的,通过定时器/计数器T1的溢出率设定。 (4) 固定的,为fOSC/64。
10.在串行通讯中,收发双方对波特率的设定应该是( 相等 )的。
11.若晶体振荡器为11.0592MHz,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值。 解答:初值计算:查阅P148表7-2可得,FAH
控制字:MOV TMOD,#20H
MOV TH1,#0F4H MOV TL1,#0F4H MOV SCON,#40H
12.简述利用串行口进行多机通讯的原理。 解答:略。
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。 解: ORG 0000H MAIN: MOV DPTR,#2001H ;设置数据指针的初值 MOVX A,@DPTR ;读取2001H的值 SWAP A ANL A,#0F0H ;屏蔽掉低四位 MOV 30H,A ;保存A INC DPTR ;指针指向下一个 MOVX A,@DPTR ;读取2002H的值 ANL A,#0FH ;屏蔽掉高四位 ORL A,30H ;进行拼装 MOVX @DPTR,A ;保存到2002H END
3.编写程序,将外部数据存储器中的4000H—40FFH单元全部清零。 解:本题主要考察了对外部数据块的写操作;编程时只要注意循环次数和MOVX指令的使用就可以了。 ORG 0000H MAIN: MOV A,#0 ;送预置数给A MOV R0,#00H ;设置循环次数 MOV DPTR,#4000H ;设置数据指针的初值 LOOP: MOVX @DPTR,A ;当前单元清零 INC DPTR ;指向下一个单元 DJNZ R0,LOOP ;是否结束 END
4.在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.在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的(片选)端提供信号。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机4--7章参考答案在线全文阅读。
相关推荐: