单片机重点作业题答案整理图文.docx
《单片机重点作业题答案整理图文.docx》由会员分享,可在线阅读,更多相关《单片机重点作业题答案整理图文.docx(8页珍藏版)》请在冰豆网上搜索。
单片机重点作业题答案整理图文
单片机重点作业题答案整理-图文
以下是为大家整理的单片机重点作业题答案整理-图文的相关范文,本文关键词为单片机,重点,作业,答案,整理,图文,第一章,给出,列有,号,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
第一章
1.给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。
+45-89-6+112
答:
【+45】原=00101101,【+45】反=00101101,【+45】补=00101101【-89】原=11011001,【-89】反=10100110,【-89】补=10100111【-6】原=10000110,【-6】反=11111001,【-6】补=11111010【+112】原=01110000,【+45】反=01110000,【+45】补=011100002.指明下列字符在计算机内部的表示形式。
AsendfJFmdsv120
答:
41h73h45h4eh64h66h4Ah46h6Dh64h73h76h31h32h30h3.什么是单片机?
答:
单片机是把微型计算机中的微处理器、存储器、I/o接口、定时器/计数器、串行接口、中断系统等电路集成到一个集成电路芯片上形成的微型计算机。
因而被称为单片微型计算机,简称为单片机。
4.单片机的主要特点是什么?
答:
主要特点如下:
1)在存储器结构上,单片机的存储器采用哈佛(harvard)结构2)在芯片引脚上,大部分采用分时复用技术
3)在内部资源访问上,采用特殊功能寄存器(sFR)的形式4)在指令系统上,采用面向控制的指令系统5)内部一般都集成一个全双工的串行接口6)单片机有很强的外部扩展能力
5.指明单片机的主要应用领域。
答:
单机应用:
1)工业自动化控制;2)智能仪器仪表;3)计算机外部设备和智能接口;4)家用电器
多机应用:
功能弥散系统、并行多机处理系统和局部网络系统。
第二章
1.mcs-51单片机由哪几个部分组成?
答:
mcs-51单片机主要由以下部分组成的:
时钟电路、中央处理器(cpu)、存储器系统(RAm和Rom)、定时/计数器、并行接口、串行接口、中断系统及一些特殊功能寄存器(sFR)。
2.mcs-51的标志寄存器有多少位,各位的含义是什么?
答:
mcs-51的标志寄存器psw有8位;
D7D6D5D4D3D2D1D0cAcF0Rs1Rs0oV-p含义如下:
c(psw.7):
进位或借位标志位。
Ac(psw.6):
辅助进位或借位可标志位。
F0(psw.5):
用户标志位。
是系统预留给用户自己定义的标志位。
Rs1、Rs0(psw.4、psw.3):
寄存器组选择位。
可用软件置位或清零,用于从四组工作寄存器中选定当前的工作寄存器组。
oV(psw.2):
溢出标志位。
在加法或减法运算时,如运算的结果超出8位二进制数的范围,则oV置1,标志溢出,否则oV清零。
p(psw.0):
奇偶标志位。
用于记录指令执行后累加器A中1的个数的奇偶性。
若累加器A中1的个数为奇数,则p置位,若累加器A中1的个数为偶数,则p清零。
其中psw.1未定义,可供用户使用。
3.在8051的存储器结构中,内部数据存储器可分为几个区域?
各有什么特点?
答:
片内数据存储器按功能可以分成以下几个部分:
工作寄存器组区、位寻址区、一般RAm区和特殊功能寄存器区,其中还包含堆栈区。
工作寄存器组区,00h~1Fh单元,可用R0~R7等8个寄存器访问;位寻址区,20h~2Fh单元,可按位方式访问;一般RAm区,30h~7Fh单元;堆栈区,可从08到7F单元;特殊功能寄存器区位于80h~FFh单元。
4.什么是堆栈?
说明mcs-51单片机的堆栈处理过程。
2
错误!
使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。
答:
堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。
cs-51单片机的堆栈是向上生长型的,存入数据是从地址低端向高端延伸,取出数据是从地址高端向低端延伸。
入栈和出栈数据是以字节为单位的。
入栈时,sp指针的内容先自动加1,然后再把数据存入到sp指针指向的单元;出栈时,先把sp指针指向单元的数据取出,然后再把sp指针的内容自动减1。
5.mcs-51单片机有多少根I/o线?
它们和单片机的外部总线有什么关系?
答:
mcs-51单片机有32根I/o线,由p0口经地址锁存器提供低8位(A7~A0),p2口提供高8位(A15~A8)而形成。
数据总线宽度为8位,由p0口直接提供。
控制总线由第二功能状态下的p3口和4根独立的控制线RsT、eA、ALe和psen组成。
6.什么是机器周期?
mcs-51单片机的一个机器周期包括多少个时钟周期?
答:
机器周期:
机器周期是单片机的基本操作周期,每个机器周期包含s1、s2、?
、s6六个状态,每个状态包含两拍p1和p2,每一拍为一个时钟周期(振荡周期)。
因此,一个机器周期包含12个时钟周期。
7.如果时钟周期的频率为12mhz,那么ALe信号的频率为多少?
答:
2mhZ
第三章
1.在mcs-51单片机中,寻址方式有几种?
其中对片内RAm可以用哪几种寻址方式?
对片外RAm可以用哪几种寻址方式?
答:
寻址方式可分为数的寻址和指令寻址,
数的寻址有:
常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,
指令的寻址有绝对寻址和相对寻址。
片内RAm寻址有:
寄存器寻址、直接寻址方式和寄存器间接寻址方式。
片外RAm寻址有:
寄存器间接寻址方式。
2.在对片外RAm单元寻址中,用Ri间接寻址与用DpTR间接寻址有什么区别?
答:
片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DpTR作指针间接访问可访问整个64K字节。
3.在位处理中,位地址的表示方式有哪几种?
答:
1).直接位地址(00h~0FFh)。
例如:
20h
2).字节地址带位号。
例如:
20h.3表示20h单元的3位。
3).特殊功能寄存器名带位号。
例如:
p0.1表示p0口的1位。
4).位符号地址。
例如:
TR0是定时/计数器T0的启动位。
※4.写出完成下列操作的指令。
※
(1)R0的内容送到R1中。
moVA,R0moVR1,A
(2)片内RAm的20h单元内容送到片内RAm的40h单元中。
moV40h,20h
(3)片内RAm的30h单元内容送到片外RAm的50h单元中。
moVA,30hmoVR0,#50hmoVx@R0,A
(4)片内RAm的50h单元内容送到片外RAm的3000h单元中。
moVA,50hmoVDpTR,#3000hmoVx@DpTR,A
(5)片外RAm的2000h单元内容送到片外RAm的20h单元中。
moVDpTR,#2000h
错误!
使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。
3
moVxA,@DpTRmoV20h,A
(6)片外RAm的1000h单元内容送到片外RAm的4000h单元中。
moVDpTR,#1000hmoVxA,@DpTRmoVDpTR,#4000hmoV@DpTR,A
(7)Rom的1000h单元内容送到片内RAm的50h单元中。
moVA,#0moVDpTR,#1000hmoVcA,@A+DpTRmoV20h,A
(8)Rom的1000h单元内容送到片外RAm的1000h单元中。
moVA,#0moVDpTR,#1000hmoVcA,@A+DpTRmoVx@DpTR,A
5.区分下列指令有什么不同?
(1)moVA,20h和moVA,#20h答:
前者源操作数是直接寻址,后者源操作数立即寻址。
(2)moVA,@R1和moVxA,@R1答:
前者源操作数是访问片内数据存储器,后者源操作数访问片外数据存储器低256字节。
(3)moVA,R1和moVA,@R1答:
前者源操作数是寄存器寻址,后者源操作数寄存器间接寻址。
(4)moVxA,@R1和moVxA,@DpTR答:
前者源操作数是访问片外数据存储器低256字节,后者源操作数访问片外数据存储器整个64K字节。
(5)moVxA,@DpTR和moVcA,@A+DpTR答:
前者源操作数是访问片外数据存储器,后者源操作数访问程序数据存储器。
6.设片内RAm的(20h)=40h,(40h)=10h,(10h)=50h,(p1)=0cAh。
分析下列指令执行后片内RAm的20h、40h、10h单元以及p1、p2中的内容。
moVR0,#20h
moVA,@R0;A=40hmoVR1,A;R1=40hmoVA,@R1;A=10h
moV@R0,p1;(20h)=0cAhmoVp2,p1;p2=0cAhmoV10h,A;(10h)=10hmoV20h,10h;(20h)=10h
结果:
(20h)=10h、(10h)=10h、(40h)=10h、p2=0cAh和p1=0cAh
7.已知(A)=02h,(R1)=7Fh,(DpTR)=2FFch,片内RAm(7Fh)=70h,片外RAm(2FFeh)=11h,Rom(2FFeh)=64h,试分别写出以下各条指令执行后目标单元的内容。
(1)moVA,@R1结果:
累加器A等于70h
(2)moVx@DpTR,A结果:
片外RAm(2FFch)单元等于02h(3)moVcA,@A+DpTR结果:
累加器A等于64h
(4)xchDA,@R1结果:
累加器A等于00h,片内RAm(7Fh)单元等于72h
8.已知:
(A)=78h,(R1)=78h,(b)=04h,cY=1,片内RAm(78h)=0DDh,(80h)=6ch,试分别写出下列指令执行后目标单元的结果和相应标志位的值。
(1)ADDA,@R1;累加器A等于55h,cY等于1
(2)subbA,#77h;累加器A等于00h,cY等于0(3)muLAb;累加器A等于e0h,b寄存器等于01h,cY等于1,oV等于0(4)DIVAb;累加器A等于1eh,b寄存器等于00h,cY、oV等于0(5)AnL78h,#78h;片内RAm(78h)单元等于58h(6)oRLA,#0Fh;累加器A等于7Fh(7)xRL80h,A;片内RAm(80h)等于14h
4
错误!
使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。
9.设(A)=83h,(R0)=17h,(17h)=34h,分析当执行完下面指令段后累加器A、R0、17h单元的内容。
AnLA,#17h;A=03h
oRL17h,A;(17h)=37hxRLA,@R0;A=34hcpLA;A=cbh
结果:
A=cbh,(R0)=17h,(17h)=37h※10.写出完成下列要求的指令。
※
(1)累加器A的低2位清零,其余位不变。
与0与AnLA,#11111100b
(2)累加器A的高2位置“1”,其余位不变。
与1或oRLA,#11000000b
(3)累加器的高4位取反,其余位不变。
与1异或xRLA,#11110000b
(4)累加器第0位、2位、4位、6位取反,其余位不变。
与1异或xRLA,#01010101b
11.说明LJmp指令与AJmp指令的区别?
答:
LJmp指令后面提供的是16位目标地址,所以可以转移到64Kb程序存储器的任意位置,缺点是:
执行时间长,字节数多。
AJmp指令后带的是11位直接地址,执行时,先将程序指针pc的值加2(该指令长度为2字节),然后把指令中的11位地址addr11送给程序指针pc的低11位,而程序指针的高5位不变,只能在当前2K范围内转移。
12.设当前指令cJneA,#12h,10h的地址是0FFeh,若累加器A的值为10h,则该指令执行后的pc值为多少?
若累加器A的值为12h呢?
笔记p17
答:
指令执行后的pc值为1011h,若累加器A的值为12h,则指令执行后的pc值为1001h。
13.用位处理指令实现p1.4=p1.0?
(p1.1?
p1.2)?
/p1.3的逻辑功能。
程序:
moVc,p1.1oRLc,p1.2AnLc,p1.0oRLc,/p1.3moVp1.4,c
※14.下列程序段汇编后,从1000h单元开始的单元内容是什么?
※
oRg1000h
TAb:
Db12h,34h;笔记p21
Ds3;笔记p22,保留空间
Dw5567h,87h;笔记p22,高字节→低地址答:
(1000h)=12h,(1001h)=34h,(1002h)=00h,(1003h)=00,(1004h)=00,(1005h)=55h,(1006h)=67h,(1007h)=00h,(1008h)=87h
※15.试编一段程序,将片内RAm的20h、21h、22h单元的内容依次存入片外RAm的20h、21h、22h中。
程序:
moVR0,#20hmoVR2,#03hmoVp2,#00hLoop:
moVA,@R0moVx@R0,AIncR0DJnZR2,LoopsJmp$
※16.编程实现将片外RAm的2000h~2030h单元的内容,全部搬到片内RAm的20h单元开始位置,并将源位置清零。
程序:
moVR0,#20hmoVDpTR,#2000hmoVR2,#31h
Loop:
moVxA,@DpTR
错误!
使用“开始”选项卡将标题1,部分标题1应用于要在此处显示的文字。
5
moV@R0,AmoVA,#00hmoVx@DpTR,AIncDpTRIncR0DJnZR2,LoopsJmp$
※17.编程将片外RAm的1000h单元开始的100个字节数据相加,结果放于R7R6中。
程序:
moVDpTR,#1000hmoVR2,#100moVR7,#00moVR6,#00
Loop:
moVxA,@DpTRADDA,R6moVR6,AmoVA,R7ADDcA,#0moVR7,AIncDpTRDJnZR2,LoopsJmp$
18.编程实现R4R3?
R2,结果放于R7R6R5中。
程序:
oRg0100h
muL1:
moVA,R2
moVb,R3
muLAb;R2?
R3,结果的低字节直接存入积的R5moVR5,A;结果的高字节存入R6中暂存起来moVR6,b
muL2:
moVA,R2
moVb,R4
muLAb;R2?
R4,结果的低字节与R6相加后,再存入R6中ADDA,R6moVR6,A
moVA,b;结果的高字节加上进位位后存入R7中ADDcA,#00moVR7,AsJmp$
19.编程实现把片内RAm的20h单元的0位、1位,21h单元的2位、3位,22h单元的4位、5位,23h单元的6位、7位,按原位置关系拼装在一起放于R2中。
moVc,20h.0moVA.0,cmoVc,20h.1moVA.1,cmoVc,21h.2moVA.2,cmoVc,21h.3moVA.3,cmoVc,22h.4moVA.4,cmoVc,22h.5moVA.5,cmoVc,23h.6
最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。
谢谢支持!