单片机重点作业题答案整理图文.docx

上传人:b****5 文档编号:28934030 上传时间:2023-07-20 格式:DOCX 页数:8 大小:20.03KB
下载 相关 举报
单片机重点作业题答案整理图文.docx_第1页
第1页 / 共8页
单片机重点作业题答案整理图文.docx_第2页
第2页 / 共8页
单片机重点作业题答案整理图文.docx_第3页
第3页 / 共8页
单片机重点作业题答案整理图文.docx_第4页
第4页 / 共8页
单片机重点作业题答案整理图文.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

单片机重点作业题答案整理图文.docx

《单片机重点作业题答案整理图文.docx》由会员分享,可在线阅读,更多相关《单片机重点作业题答案整理图文.docx(8页珍藏版)》请在冰豆网上搜索。

单片机重点作业题答案整理图文.docx

单片机重点作业题答案整理图文

单片机重点作业题答案整理-图文

  

以下是为大家整理的单片机重点作业题答案整理-图文的相关范文,本文关键词为单片机,重点,作业,答案,整理,图文,第一章,给出,列有,号,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。

  

  

  第一章

  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

  

  

  

最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。

谢谢支持!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1