新编单片机原理与应用课后答案汇总Word格式.docx
- 文档编号:22666213
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:26
- 大小:69.10KB
新编单片机原理与应用课后答案汇总Word格式.docx
《新编单片机原理与应用课后答案汇总Word格式.docx》由会员分享,可在线阅读,更多相关《新编单片机原理与应用课后答案汇总Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
1.汇编语言程序指由汇编语言指令构成的程序;
2.汇编程序指将完成汇编语言指令转换为机器语言指令的程序
1-11、什么是寻址方式?
对于双操作数指令来说,为什么不需要指定操作结果存放位置?
【1】确定指令中操作数所在存储单元地址的方式
【2】在现代计算机系统中,对于双操作数指令,一般将指令执行后的结果放在第一个操作数(即目标操作数),这样可以减少指令码的长度
1-12、指出下列指令中每一操作数的寻址方式?
【1】目标操作数为寄存器寻址,源操作数为立即数寻址
【2】目标操作数为直接寻址,源操作数为寄存器寻址
【3】目标操作数为直接寻址,源操作数为直接寻址
【4】目标操作数为直接寻址,源操作数为寄存器间接寻址
【5】寄存器寻址
注:
在单片机中,问到指令的寻址方式,既要答目标操作数的寻址方式,也要答源操作数的寻址方式,这与微机不同,请切记!
1-13、单片机的主要用途是什么?
新一代8位单片机芯片具有哪些主要技术特征?
列举目前应用较为广泛的8位、32位单片机品种。
【1】数值计算,能实时监测系统的输入量,控制系统的输出量,从而实现自动控制功能,主要面向工业控制等
【2】可参考23页
【3】可参考21~22页
习题二参考答案
2-180C54、80C32、87C54、89C54CPU有什么不同?
在由80C32芯片组成的应用系统中引脚是如何连接的?
为什么要这样连接?
略
2-28XC5X,如89C52单片机内部含有哪几类存储器?
各自的容量分别是多少?
包括程序存储器8K和数据存储器256B。
2-38XC5X系列CPU共有多少根I/O引脚?
在什么情况下,不能将P0口作为通常意义上的输入/输出引脚使用?
共有I/O引脚32根;
在P0作为地址数据总线端口使用时就不能作为普通I/O口使用。
2-4简述P1口的内部结构。
为什么将P1口引脚作为输入引脚使用前,一定要向P1口锁存器相应位写入“1”?
主要由两个三态门、一个D型锁存器、一个MOS管和一个上拉电阻构成;
P1作为输入引脚使用时一定要先写入“1”,其目的是使内部MOS管处于截止状态,避免MOS管对输入信号构成影响。
2-5根据8XC5X系列CPUP1~P3口结构,如果用引脚驱动NPN三极管,则最大集电极电流ICMAX为多少?
(假设β取100)。
假设内部上拉电阻的阻值为
,三极管发射结正向导通电压为
,则:
基极电流:
集电极电流:
2-6地址/数据分时复用的含义是什么?
8XC5XP0口与存储器,如62256相连时,两者之间需要接什么功能的芯片,才能锁存低8位地址信息?
试画出8XC5X与SRAM62256芯片(作数据存储器使用)之间的连接图。
地址/数据分时复用是指总线既可作为数据线,也可作为地址线,但是具体到某一时刻只能作为数据线或者地址线;
与62256相连时,在存储芯片和单片机芯片之间必须加锁存芯片,如74LS373等,用来锁存低8位地址信息;
连接电路图(见课本,略)
2-78XC5X单片机CPU复位后,使用了哪一工作寄存器区?
其中R1对应的物理存储单元地址是什么?
8XC5X单片机CPU复位后,使用了工作寄存器区0;
此时R1对应的物理存储单元的地址为01H。
2-8如果希望工作寄存器组中R0对应的物理存储单元为10H,请写出系统复位后,实现这一要求的指令。
SETBCS1
CLRCS0
2-9说出访问下列寄存器或存储空间可以使用的寻址方式,并举例:
(1) 8XC5X系列内部RAM前128字节。
直接和寄存器间接寻址。
(2) 8XC52/54/58系列内部RAM后128字节。
寄存器间接寻址
(3)特殊功能寄存器。
直接寻址。
(4)外部数据存储器。
2-108XC5XCPU的机器周期与时钟周期是什么关系?
如果晶振频率为12 MHz,则一个机器周期是多少微秒?
1)、12个时钟周期构成1个机器周期。
2)、1uS
2-118XC5XX2CPU的机器周期与时钟周期是什么关系?
为什么说当CKCON寄存器为01H时,时钟频率为6 MHz的8XC5XX2系统运行速度与时钟频率为12 MHz的8XC5X系统的运行速度相同?
可以选择“机器周期/12时钟”或“机器周期/6时钟”。
当CKCON寄存器为01H时,时钟频率为6 MHz的的8XC5XX2机器周期为:
。
而时钟频率为12 MHz的8XC5X系统的机器周期为:
2-12在晶振输出端X2引脚应观察到什么样的波形?
当晶振频率较低时,如何使X2引脚输出为理想状态下的波形?
方波。
2-13分析MCS-51写外部数据存储器写时序,说明为什么可使用74LS573或74LS373芯片扩展MCS-51的输入口,而不能扩展输出口。
请画出使用两片74LS373芯片扩展MCS-51的输入口、使用两片74LS237扩展输出口的电路图(假设系统中无需扩展外部存储器)。
使用边沿触发器作为输出锁存器时可以可靠的锁存输出数据。
2-148XC5XCPU复位后内部RAM各单元的内容是否改变?
程序计数器PC的值是什么?
否。
此时PC=0000H.
2-15MCS-51单片机通过什么指令读/写外部数据存储器?
通过什么引脚选通外部数据存储器?
使用MOVX读写外部数据存储器。
通过
或者
.
2-16画出由一片80C32CPU、一片27128 EPROM和一片6264SRAM组成的单片机应用系统,要求给出有关信号的连接以及各自存储空间的地址范围。
2-17在图2-7所示的电路中,假设驱动引脚为,则执行了如下程序段后,累加器Acc的内容为什么?
这又说明了什么?
SETB
JB,NEXT1
MOVA,#0AAH
SJMPEXIT
NEXT1:
MOVA,#55H
EXIT:
NOP
Acc的内容为AAH。
因为JB,NEXT1是根据的电平进行判断转移,如果引脚的电平为高则转移。
因为三极管导通时引脚被钳位到低电平。
习题三参考答案
3-1MCS-51内部RAM低128字节支持哪些寻址方式?
请写出用不同寻址方式将内部RAM30H单元信息传送到累加器A的指令或程序片段;
内部RAM高128字节支持哪些寻址方式?
请写出将内部RAM80H单元内容传送到累加器A的指令或程序片段。
略:
3-2简述“RET”与“RETI”指令的区别。
1)RET是子程序返回指令,RETI是中断服务程序返回指令;
2)RETI在返回时会清除有关中断标志位,而RET不具有此功能。
3-3指出下列指令中每一操作数的寻址方式。
(1) MOV40H,A
(2) MOVA,@R0
(3) MOVX@DPTR,A
(4) MOVCA,@A+DPTR
(5) ADDA,#23H
(6) PUSHAcc
(7) MOVP1,32H
(8) MOVC,
(9) INCP0
(10) DECR2
(11) SJMPEXIT
3-4执行“CJNEA,#60,NEXT”指令后,寄存器A中的内容是否被改变?
请验证。
3-5写出实现下列要求的指令或程序片段,并在仿真机上验证。
(1)将内部RAM20H单元内容与累加器A相加,结果存放在20H单元中。
ADDA,20H
MOV20H,A
(2)将内部RAM80H单元内容与内部RAM31H单元内容相加,结果存放到内部RAM的31H单元中。
MOVR0,#80H
MOVA,@R0
ADDA,31H
MOV31H,A
(3)将内部RAM20H单元内容传送到外部RAM20H单元中。
MOVA,20H
MOVDPTR,#0020H
MOVX@DPTR,A
(4)将程序状态字寄存器PSW内容传送到外部RAM的0D0H单元中。
MOVA,PSW
MOVDPTR,#00D0H
(5)将内部RAM08H~7FH单元,共120字节传送到以8000H为首地址的外部RAM中。
MOVDPTR,#8000H
MOVR0,#08H
MOVR2,#120
LOOP:
MOVA,@R0
INCR0
INCDPTR
DJNZR2,LOOP
END
(6)将外部RAM8000H~0803FH单元,共64字节传送到以40H为首地址的内部RAM中。
MOVR0,#40H
MOVR2,#64
MOVXA,@DPTR
MOV@R0,A
(7)将外部RAM8000H~0807FH单元,共128字节传送到以0000H为首地址的外部RAM中。
AURX1EQU0A2H;
注意要自己定义
MOVDPTR,#8000H
INCAUXR1
MOVDPTR,#0000H
MOVR0,#128
INCDPTR
DJNZR0,LOOP
(8)将存放在内部RAM的40H、41H和外部RAM的8000H、8001H的16位二进制数相加,结果存放在内部RAM的40H和41H单元中(假设低位字节存放在低地址中)。
MOVXA,@DPTR;
注意使用MOVX指令,下同
ADDA,40H
MOV40H,A
MOVXA,@DPTR
ADDCA,41H
MOV41H,A
(9)如果0~9七段数码显示器对应的字模码3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH存放在1000H为首地址的程序存储器中,写出将数字4对应的字模码输出到外部RAM3003H单元(即扩展I/O端口地址)的程序段。
MOVDPTR,#1000H
MOVA,#4
MOVCA,@A+DPTR;
注意使用MOVC指令
MOVDPTR,#3003H
MOVX@DPTR,A;
注意使用MOVX指令
ORG1000H
DB03FH,06H,5BH,4FH,55H,66H,6DH,6DH,07H,7FH,6FH
(10)将内部RAM01H~0FFH单元内容清零。
MOVR0,#01H
MOV@R0,#0
INCR0
CJNER0,#0FFH,LOOP
(11)我国FSK来电显示采用单数据消息格式,其中第0字节为消息类型(固定为04,即单数据消息格式标志),随后的一个字节为消息体长度,消息体内的消息字包括了来电日期(月、日)与时间(时、分)(8个字节)及主叫号码,最后一个字节为校验信息(校验算法可概括为:
从消息类型字节到主叫号码最后一个字节按256模式累加和,再求补码)。
试写出相应的校验程序片段(假设来电信息从内部RAM30H单元开始存放)。
(12)使内部RAM20H单元的b7、b3位清零,b6、b2位置1,b4、b0位取反,其他位不变。
SETB;
如果给定的地址不在20H~2FH之间,则不能用位寻址
SETB
CLR
CPL
(13)将IPH寄存器的b7、b5位清零,b2、b0位置1,其他位不变。
IPHEQU0B7H
MOVA,IPH
ANLA,#01011111B
ORLA,#00000101B
MOVIPH,A
END
(14)将内部RAM30H单元乘4(假设30H单元内容不超过63)。
MOV30H,#4
MOVA,30H
RLA
MOV30H,A
(15)将存放在内部RAM40H、41H和外部RAM8000H、8001H的四位BCD码相加,结果存放在内部RAM40H、41H、42H单元中(假设低位字节存放在低地址中,高位字节存放在高地址中)。
MOVDPTR,#8000H
MOVXA,@DPTR
CLRC
ADDA,40H
DAA
MOV40H,A
INCDPTR
ADDCA,41H
MOV41H,A
MOV42H,C
(16)将立即数32H传送到内部RAM30H单元中。
MOV30H,#32H
(17)将立即数32H传送到内部RAM88H单元中。
MOVR0,#88H
MOV@R0,32H
(18)将位送位。
MOVC,
MOV,C
(19)用MCS-51位指令,实现
的逻辑运算。
ANLC,/
MOV,C;
暂存
MOVC,
ORLC,
CPLC
3-6假设4位BCD码压缩存放在R3、R2中,试编写BCD减1的程序段,并在仿真机上验证。
;
相当于WXYZ+10000-1=WXYZ+9999
CLRC;
MOVA,R2
ADDA,#99
DAA
MOVR2,A
MOVA,R3
ADDCA,#99
MOVR3,A
3-7利用双DPTR功能,将存放在程序存储区内的数表(共计16字节,首地址为DATATAB)传送到以4000H为首地址的外部RAM中。
AUXR1EQU0A2H
MOVDPTR,#DATATAB
INCAUXR1
MOVDPTR,#4000H
MOVR7,#16;
16个字节
MOVA,#0;
最开始的位置
MOVR6,A;
暂存A的值
MOVCA,@A+DPTR;
注意用MOVC,同时职能用A做变址寄存器
MOVX@DPTR,A;
MOVA,R6
INCDPTR
IINCA;
A的值增1,指向下一个字节
DJNZR7,LOOP
DATATAB:
DB01H,02H,03H,04H,01H,02H,03H,04H
END
3-8将存放在R3、R2中的三位压缩BCD码转换为二进制形式。
三位BCD码<
999
MAIN:
MOVA,R2
ANLA,#0F0H
SWAPA
MOVB,#10
MULAB
MOVB,A
(2)SETBRS1
CLRRS0
3-13简述顺序程序结构与分时操作程序结构的异同,以及这两种程序设计的注意事项。
习题四参考答案
4-1增强型MCS-51有几个中断优先级?
试通过修改IP、IPH寄存器内容,使串行口的中断优先级最高,定时器T1的中断优先级最低。
(1)4;
(2)MOVIPH,#00010000B,MOVIP,#00010000B
4-2MCS-51外中断有几种触发方式?
一般情况下,采用哪种触发方式较好?
两种,边沿触发
4-3CPU响应中断请求后,不能自动清除哪些中断请求标志?
串行发送结束中断标志TI;
串行接收有效中断标志RI;
定时\计数器T2溢出中断标志TF2;
定时\计数器T2外触发标志EXF2;
电平触发方式下的外部中断标志IE0和IE1
4-4MCS-51CPU在什么时候查询中断请求标志?
满足什么条件才响应?
(1)每个机器周期S5P2相锁存引脚的电平状态,设置中断请求标志,并在下一周的S6状态按优先级的顺序查询没有被禁止的中断请求标志,如果满足中断响应条件,则在下一个机械周期的S1状态响应优先级别最高的中断请求,并执行相应的终端服务程序,否则继续执行当前的程序。
(2)a此中断源的允许位为1;
bCPU已经开中断(即EA=1);
c当前的中断请求比现在服务的中断优先级比高;
d必须在当前的指令执行完才响应中断;
e在RETI或读写IE或IP或IPH之后,不会马上响应中断请求,而至少执行一条其它指令之后才会响应)。
4-5子程序和中断服务程序有何异同?
为什么子程序返回指令RET和中断返回指令RETI不能相互替代?
为什么同优先级中断服务可以使用同一工作寄存器区?
(1)子程序由程序员调用,中断服务程序在满足条件的时候被调用;
中断服务程序入口地址固定,子程序入口地址由用户决定;
中断服务程序存在优先级的问题,子程序不存在优先级;
(2)不能;
(3)可以,因为同级的中断服务程序不能嵌套中断,必须等正在运行的中断服务程序返回后才能响应其它同级中断,此时资源已经释放。
4-7如果某一中断服务程序中没有改写工作寄存器R0~R7指令,则进入中断服务程序后是否需要切换工作寄存器区?
简要说明原因。
不需要,因为不存在共用工作寄存器资源而产生的矛盾的问题。
4-8如果
引脚出现100~200 ms低电平信号时,在引脚输出低电平,但引脚存在尖脉冲干扰。
请问应选择哪种触发方式?
请写出中断服务程序。
由于有尖峰脉冲干扰,宜采用电平触发,但由于
的低电平持续时间长,考虑增加在
变高后清除中断标志的指令,避免程序重复响应,程序如下:
EXINT0:
PUSHACC
PUSHPSW
CLR
JNB,$//等待INT0变为高电平
CLRIE0//清除外中断0标志
POPPSW
POPACC
RETI
4-9MCS-51子系列具有几个定时/计数器?
简述定时/计数器T1的主要用途。
3个;
T1作为定时器和串口波特率发生器;
4-10如果系统的晶振频率为12 MHz,分别指出定时/计数器方式1和方式2的最长定时时间。
定时/计数器方式1:
65536uS;
方式2:
256uS。
4-11如果系统的晶振频率为12 MHz,试利用定时/计数器T0在引脚输出周期为100 ms的方波。
ORG0000H
LJMPMAIN
ORG000BH
LJMPTIMER0
ORG0030H
MAIN:
MOVSP,#5FH
;
ANLTMOD,#0F0H
ORLTMOD,#01H//方式1
MOVTH,#(65536-5000)/256//定时50ms
MOVTL,#(65536-5000)MOD256
SETBET0
SETBEA
SETBTR0
SJMP$
TIMER0:
CPL
4-12试利用定时/计数器T2的时钟输出功能,在引脚上输出周期为10 ms的方波。
TL2EQU0CCH
TH2EQU0CDH
RCAP2LEQU0CAH
RCAP2HEQU0CBH
T2MODEQU0C9H
T2CONEQU0C8H
ORG0000H
MOVSP,#60H
MOVTH2,#(35536/256)
MOVTL2,#(35536MOD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编 单片机 原理 应用 课后 答案 汇总
![提示](https://static.bdocx.com/images/bang_tan.gif)