南邮单片机习题秋.docx
《南邮单片机习题秋.docx》由会员分享,可在线阅读,更多相关《南邮单片机习题秋.docx(12页珍藏版)》请在冰豆网上搜索。
![南邮单片机习题秋.docx](https://file1.bdocx.com/fileroot1/2023-4/28/6f1fa1b0-26aa-40f2-a363-2c9562f99b38/6f1fa1b0-26aa-40f2-a363-2c9562f99b381.gif)
南邮单片机习题秋
第一章
4.把下列十六进制数转换为二进制数和十进制数。
(3)0F1.CH11110001.11B241.75
(4)20FAH100000111110108442
13.什么是单片机?
单片机与微机相比有何特点?
单片机(Single-Chip-Microcomputer)又称单片微控制器,其基本结构是将微型计算机的基本功能部件:
中央处理机(CPU)、存储器、输入接口、输出接口、定时器/计数器、中断系统等全部集成在一个半导体芯片上。
1).单片机其体积小、功耗低、价格低廉;
2).单片机结构上的设计,在硬件、指令系统及I/O能力等方面都有独到之处,具有较强而有效的控制功能;
3).单片机是一个芯片,只有外加所需的输入、输出设备,才可以构成实用的单片机应用系统。
第二章
2.8051单片机内部包含哪些主要功能部件?
各功能部件的主要作用是什么?
8051单片机内部由CPU、4KB的ROM、128B的RAM、4个8位的I/O并行端口、一个串行口、两个16位定时/计数器及中断系统等组成。
5.MCS-51单片机内部RAM可分为几个区?
各区的主要作用是什么?
内部数据存储器分为高、低128B两大部分。
低128B为RAM区,地址空间为00H~7FH,可分为:
寄存器区、位寻址区、堆栈及数据存储区。
存放程序运算的中间结果、状态标志位等。
高128B为特殊功能寄存器(SFR)区,地址空间为80H~FFH,其中仅有21个字节单元是有定义的。
6.MCS-51单片机的P0~P3四个I/O端口在结构上有何特点?
使用时应注意哪些事项?
答:
(1)4个并行I/O端口都是双向的。
P0口为漏极开路;
P1、P2、P3口均有内部上拉电路,称为准双向口。
(2)所有32条并行I/O线都能独立地用作输入或输出。
(3)当并行I/O线作为输入时,该口的锁存器必须写入‘1’。
(4)P0、P2口除了可用于数据的输入/输出外,通常是用来构建系统的数据总线和地址总线。
(5)P3口的口线具有的第二功能,为系统提供了一些控制信号。
9.指出8051可进行位寻址的存储空间。
答:
00~7FH(即20H.0~2FH.7)及SFR地址能被8整除的寄存器中的各位。
12.什么是时钟周期?
什么是机器周期?
什么是指令周期?
当振荡频率为12MHz时,一个机器周期为多少微秒?
答:
时钟周期:
也称振荡周期,即振荡器的振荡频率fosc的倒数,是时序中最小的时间单位。
机器周期:
执行一条指令的过程可分若干个阶段,每一阶段完成一规定的操作,完成一个规定操作所需要的时间称为一个机器周期,一个机器周期包含12个时钟周期。
当振荡频率为12MHz时,一个机器周期为12/(12×1000000)秒=1微秒
指令周期:
定义为执行一条指令所用的时间。
当振荡频率为12MHz时,一个指令周期为1、2、4
us。
第三章
8.查找20H~4FH单元中出现00H的次数,并将查找结果存入50H单元。
MOVR3,#30H
MOVR0,#20H
MOVA,#0
MOV50H,#00H
LOP:
MOVA,@R0
JZLOP1
LOP3:
INCR0
DJNZR3,LOP
AJMPLOP2
LOP1:
INC50H
AJMPLOP3
LOP2:
AJMPLOP2
21.内部RAM的DATA1和DATA2单元开始存放着两个等长的数据块,数据块的长度在LEN单元中。
请编程检查这两个数据块是否相等,若相等,将0FFH写入RESULT单元,否则将0写入RESULT单元。
MOVR0,#DATA1
MOVR3,LEN
LOP:
MOVA,@R0
CJNZA,DATA2,LOP1
INCR0
INCDATA2
DJNZR3,LOP
MOVA,#0FFH
MOVRESULT,A
AJMPLOP2
LOP1:
MOVA,#0
MOVRESULT,A
LOP2:
AJMPLOP2
END
补充:
填空以完善下列程序中每句后的注释。
已知片内和片外RAM部分数据如下图所示。
MOVA,1FHA=H
MOVR0,20HR0=H
XCHA,39HA=H,
(39H)=H
PUSHACC(SP)=H
MOVDPTR,#1000H
MOVXA,@DPTRA=H
XCHDA,@R0A=H,
R0=H
答:
MOVA,1FHA=___39H____
MOVR0,20HR0=___24H___
XCHA,39HA=___67H_,(39H)=__39H_
PUSHACC(SP)=__20H__
MOVDPTR,#1000H
MOVXA,@DPTRA=__10H___
XCHDA,@R0A=___1CH__,@R0=___0B0H_
R0=___24H_
第4章习题答案
7.当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?
在什么情况下不能响应新的中断请求?
答:
当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,当新中断源中断级别比正在执行中断源的中断级别高时可响应新的中断请求,否则不能响应新的中断请求。
9.8051单片机有5个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。
问以下几种中断优先级顺序的安排(级别由高到低)是否可能?
如可能,则应如何设置中断源的中断级别?
否则,请叙述不可能的理由。
(1)定时器0,定时器1,外中断0,外中断1,串行口中断。
可能。
其中:
定时器0,定时器1为高优先级。
(2)串行口中断,外中断0,定时器0,外中断1,定时器1。
可能。
其中:
串行口中断为高优先级。
(3)外中断0,定时器1,外中断1,定时器0,串行口中断。
不可能。
(4)外中断0,外中断1,串行口中断,定时器0,定时器1。
可能。
其中:
外中断0,外中断1,串行口中断为高优先级。
(5)串行口中断,定时器0,外中断0,外中断1,定时器1。
不可能。
(6)外中断0,外中断1,定时器0,串行口中断,定时器1。
不可能。
(7)外中断0,定时器1,定时器0,外中断1,串行口中断。
可能。
其中:
外中断0,定时器1为高优先级。
第5章习题答案
4.定时器/计数器0已预置为156,且选定用于模式2的计数方式,现在T0引脚上输入周期为1ms的脉冲,问:
(1)此时定时器/计数器0的实际用途是什么?
(2)在什么情况下,定时器/计数器0溢出?
答:
(1)此时定时器/计数器0的实际用途是0.1S脉冲信号发生器。
(2)当T0每记数100次后定时器/计数器0溢出。
8.已知8051单片机的fosc=6MHz,试利用T0和P1.0输出矩形波。
矩形波高电平宽100μs,低电平宽300μs。
解:
先确定T0作为定时器工作于模式2时初值为:
高电平为50,低电平为150。
采用中断方式编程。
ORG0000H
AJMPMAIN
ORG000BH
AJMPTIM0
ORG0030H
MAIN:
MOVSP,#30H;设置栈底
MOVTMOD,#02H
MOVTL0,#206
MOVTH0,#206
MOVIE,#82H
SETBP1.0
SETBTR0
SJMP$
ORG0100H
TIM0:
CLRTR0
JNBP1.0,AA
CLRP1.0
MOVTL0,#106
MOVTH0,#106
SETBTR0
RETI
AA:
SETBP1.0
MOVTL0,#206
MOVTH0,#206
SETBTR0
RETI
END
第6章习题答案
4.试分析比较MCS-51串行口在四种工作方式下发送和接收数据的基本条件和波特率的产生方法。
答案:
发送数据的基本条件:
方式0、1、2、3:
CPU执行一条将数据写入发送缓冲器SBUF的指令;
接收数据的基本条件:
方式0:
用软件使REN=1(同时RI=0);方式1:
用软件使REN=1,一帧数据接收完毕后,必须同时满足以下两个条件:
①RI=0;②SM2=0或接收到的停止位为1,这次接收才真正有效,将8位数据送入SBUF,停止位送RB8,置位RI。
否则,这次接收到的数据将因不能装入SBUF而丢失。
方式2、3:
软件使REN=1,同时满足以下两个条件:
①RI=0;②SM2=0或接收到的第9位数据为1(SM2=1),则这次接收有效,8位数据装入SBUF,第9位数据装入RB8,并由硬件置位RI。
否则,接收的这一帧数据将丢失。
波特率的产生方法:
在方式0下,串行口的波特率是固定的,即波特率=fosc/12;在方式1、3下,串行口波特率由定时器T1的溢出率和SMOD值同时决定。
相应公式为:
波特率=2SMOD×T1溢出率/32;在方式2下,串行口的波特率可由PCON中的SMOD位控制:
若使SMOD=0,则所选波特率为fosc/64;若使SMOD=1,则波特率为fosc/32。
即
8.试设计一个8051单片机的双机通信系统,串行口工作在方式1,波特率为2400bps,编程将甲机片内RAM中40H~4FH的数据块通过串行口传送到乙机片内RAM的40H~4FH单元中。
答:
双方约定的通信协议如下:
甲机采用查询方式进行数据发送,乙机采用中断方式进行数据接收。
双方约定传输波特率为2400bps,两机主频均为11.059MHz,双机串行口都工作于方式1,查表6-2可知SMOD=0,定时器T1采用工作模式2,初值为F4H。
甲机发送子程序:
ORG2000H
SEND:
MOVTMOD,#20H;定时器1设为模式2
MOVTL1,#0F4H
MOVTH1,#0F4H;置定时器初值
MOVSCON,#40H;设串行口为方式2
MOVPCON,#00H;SMOD=0
SETBTR1;启动T1
MOVR0,#40H
MOVR1,#10H
SEND1:
MOVA,@R0
MOVSBUF,A
INCR0
SEND2:
JBCTI,RYD1;等待发送
SJMPSEND2
RYD1:
DJNZR1,SEND1
RET
乙机接收子程序:
ORG0000H
LJMPMAIN
ORG0023H
LJMPSERUART
ORG0030H
MAIN:
MOVTMOD,#20H;定时器1设为模式2
MOVTL1,#0F4H
MOVTH1,#0F4H;置定时器初值
SETBTR1;启动T1
MOVSCON,#50H;设串行口为方式2
MOVPCON,#00H;SMOD=0
MOVR0,#40H;首地址40H→R0
MOVR1,#10H;数据个数→R1
SETBES;允许接收中断
SETBEA;开中断
LOOP:
SJMPLOOP;等待中断
SERUART:
JNBRI,UARTRET;中断服务子程序
CLRRI;清中断
DATA:
MOVA,SBUF;接收数据
MOV@R0,A
INCR0
UARTRET:
RETI;开中断
第7章习题答案
7.现要求为8031扩展2片2732作为外部程序存储器,试画出电路图,并指出各芯片的地址范围。
答:
电路图如下
各芯片的地址范围:
2732
(1):
0000H~0FFFH;
2732
(2):
7800H~7FFFH。
15.试用6264为8051单片机扩展24K数据存储器,画出系统电路图,并分别写出各芯片的地址。
答:
电路图如下:
各芯片的地址如下:
6264
(1):
0C000H~0DFFFH;
6264
(2):
0A000H~0BFFFH;
6264(3):
6000H~7FFFH。
第8章习题答案
2.简述软件消除键盘抖动的原理。
答案:
软件消除键盘抖动的原理:
当CPU发现有键按下的情况下,为了防止是机械抖动的误动作,可以采用软件延时10ms,然后再次检测按键是否仍然为闭合状态,若仍然闭合,则确定有键按下,否则就是键盘抖动,不予理睬。
补充:
什么叫矩阵式键盘?
矩阵式键盘的子程序控制扫描的步骤是什么?
答:
当按键数量较多时,为节省I/O线,常将其按矩阵方式连接。
每条行线与列线的交叉处通过一个按键来连接,则只需N条行线和M条列线,即可组成N×M个按键的键盘。
矩阵式键盘的子程序控制扫描的步骤是:
1)判断是否有键按下;
2)调用延时去抖动;
3)判断键号;
4)检查按键是否已释放。