单片机作业题答案.docx

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

单片机作业题答案.docx

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

单片机作业题答案.docx

单片机作业题答案

第一次作业:

1.把下列十进制数转为二进制数和十六进制数

2.把下列二进制数转为十进制数和十六进制数

3.将下列十六进制数转为二进制数和十进制数

4.写出下列各十进制数的机器数

5.写出下列各十进制数在八位微型机中的原码、反码和补码形式

6.先把下列个数转化为二进制,然后按补码运算规则求X+Y及其真值:

8.用十六进制形式写出下列字符的ASCII码:

 

第二次作业:

1.51单片机内部结构由哪几部分组成?

答:

主要组成有CPU、ROM、RAM、可编程I/O口、定时器/计数器、串行口、中断源、片内时钟振荡器。

2.8051单片机只用内部程序存储器时,

引脚如何处理?

若要扩展5K外部程序控件,从2000开始,地址范围是多少?

答:

引脚接高电平,地址范围为3400H

3.程序状态字PSW各位定义是什么?

Cy:

累加器A的进位标志位

AC:

累加器A的半进位标志位

F0、F1:

用户标志位

P:

奇偶标志位

OV:

补码运算溢出标志位

RS1,RS0:

通用工作寄存器组选择位

4.什么是堆栈?

堆栈指针SP初值是什么?

8051单片机堆栈最大容量是多少?

答:

堆栈都是一种数据按序排列的数据结构,只能在一端(称为栈顶(top))对数据进行插入和删除,即所谓的“先进先出、后进后出”,将数据进栈时,栈顶会自动地向地址递增方向变化,最后进栈的那个数所在的地址即为栈顶。

堆栈指针SP初值为07H;8051单片机堆栈最大容量是128B。

5.P0~P3口各有什么功能?

什么是对I/O的“读、修改、写”操作?

P0:

可扩展做数据总线/低8位地址总线

P1:

一般用作通用I/O口,接按键或发光二极管

P2:

可用作通用I/O口,主要用于扩展地址线高8位

P3:

可用作通用I/O口,主要用于第二功能

I/O口用作输出,直接采用指令MOVP1,A实现;

I/O口用作输入,先对I/O口写1,即指令MOVP1,#0FFH,再输入数据:

MOVA,P1;

“读、修改、写”操作:

单片机的一些逻辑操作指令具有数据修改功能,它首先将端口上数据读入,经过运算、修改后再重新写入锁存器,然后从该端口输出。

6.单片机复位方式有几种?

复位后寄存器、片内RAM状态各是什么?

两种复位方式:

上电复位和手动复位,都是高电平复位。

复位后I/O口都是高电平,堆栈指针指向07H,内部RAM保持不变。

7.如何改变当前工作寄存器组?

答:

在程序状态字PSW中,通过修改RS1和RS0的组合。

8.什么是时钟周期、机器周期、指令周期?

它们之间关系如何?

时钟周期:

即单片机时钟电路中晶振的振荡周期,f=12MHz,时钟周期为1/f;

机器周期:

CPU完成一个基本指令所需时间,为12个时钟周期,即1个机器周期=12X(1/f);

指令周期:

执行一条指令所需要的时间,由机器周期表示。

一般为1个、2个、4个机器周期。

 

第三次作业:

三、编程与问答题

2.要访问特殊功能寄存器和外部数据存储器应分别采用哪种寻址方式?

答:

访问特殊功能寄存器可采用直接寻址方式和位寻址方式,不能使用间接寻址;访问外部数据存储器应采用寄存器间接寻址方式MOVXA,@DPTR。

4.基址+变址寄存器间接寻址方式有什么特点?

主要应用与什么场合?

采用DPTR和PC作基址寄存器其寻址范围有何不同?

答:

基址+变址寄存器间接寻址方式指令形式为“@A+DPTR”或“@A+PC”,表示以数据指针DPTR或程序计数器PC的内容为基地址(16位),以累加器A中的内容为地址偏移量(8位),二者之和即为操作数所在的程序存储器的物理地址。

这种寻址方式只适用于访问程序存储器。

采用DPTR作基址寄存器,该查表指令的当前地址与(常数表格)目标地址无关,表格大小和位置可在64KB程序存储器中任意安排,一个表格可被多个程序块共享。

采用PC作基址寄存器,CPU在执行该指令时,PC执行加1操作,指向下一条指令,由于PC值改变,所以计算时要注意。

使用该指令查表时,表格只能存放在指令后面的256B范围内,因A的取值范围为00H-FFH。

5.请写出能完成每一种操作的指令序列

①将R0的内容传送到R1

MOVA,R0

MOVR1,A

②.将内部RAM20H单元的内容传送到R7

MOVR7,20H

③.将外部RAM1000H单元的内容传送到内部RAM30H单元

MOVDPTR,#1000H

MOVXA,@DPTR

MOV30H,A

④.将外部RAM1000H单元的内容传送到R1

MOVDPTR,#1000H

MOVXA,@DPTR

MOVR1,A

增:

将内部RAM30H单元的内容传送到外部RAM1000H单元

MOVDPTR#1000H

MOVXA,@DRTR

MOV30H,A

增:

将外部ROM1000H单元的内容传送到内部RAM30H单元

MOVA,#00H

MOVDPTR#1000H

MOVCA,@A+DPTR

MOV30H,A

6.阅读下面的程序。

要求:

说明程序的功能;写出涉及的寄存器及片内RAM单元的最后结果。

答:

该程序是将内部RAM40H中的内容与41H的内容相加,和放在43H,42H中。

指令执行后:

A的内容为01H,42H的内容为5AH,43H的内容为01H。

第四次作业:

一填空题

1.指令

2.111;49条单;45条双;17条三

3.7

4.操作数;A;B;AB

5.操作数;地址;R0;R1;DPTR;

6.直接;

7.DPTR;PC;A;程序存储器

8.DPTR;SP;MOVX

9.直接;立即

10.80H

11.68H

12.68H

13.62H;68H;36H

14.41H;39H;88H

15.BFH;0;0;0

16.2EH;1;1;0

17.26H;1

18.90H;06H;0;1

19.16H;05H;0;0

20.06H;09H

21.00H;96H

二选择题

1.4

2.3

3.4

4.2

补充题:

简单分析指令70A0H:

AJMP0500H的机器码和目标地址

0500H=0000010100000000B

当前地址PC=PC+2=0A0H+2=70A2H

目标地址PC=0111010100000000(高5位由PC的高5位组成,低11位由addr11=0100H的低11位组成)7500H

机器码1010000100000000

第五次作业:

8、写出16位数相加程序,设被加数存放在内RAM20H,21H单元,加数存放在22H,23H单元,并将结果存放在后续单元24H、25H中(要求低位数存放在低地址单元中)。

ORG1000H

CLRC

MOVA,20H

ADDA,22H

MOV24H,A

MOVA,21H

ADDCA,23H

MOV25H,A

END

9、试编写程序:

采用“与”运算,判断内RAM20H单元的8位二进制数是正数还是负数。

解:

根据30H中的值编写程序判断20H单元中数的两种情况,在30H中存放‘0’代表正数,存放‘1’代表负数。

ORG1000H

MOVA,#80

ANLA,20H

JZNEXT0

MOV30H,#1

SJMPNEXT1

NEXT0:

MOV30H,#0

NEXT1:

SJMP$

END

11、编写程序,将内RAM从20H开始存放的16个数传送到从18H开始的单元中。

ORG1000H

MOVR0,#20H

MOVR1,#18H

MOVR2,#16

loop:

MOVA,@R0

MOV@R1,A

INCR0

INCR1

DJNZR2,loop

SJMP$

END

13、编写程序,将片外RAM从2000H开始存放的8个数传送到片内RAM从30H开始的单元中。

ORG1000H

MOVDPTR,#2000H

MOVR1,#30H

MOVR2,#8

loop:

MOVXA,@DPTR

MOV@R1,A

INCDPTR

INCR1

DJNZR2,loop

SJMP$

END

第六次作业:

一、填空

1.共享

2.外部

3.PC;PC;外部中断0矢量地址

4.外部中断0

5.电平;边沿

二、选择

1.

(2)2.(3)3.(4)4.

(1)5.(3)6.(4)7.

(2)8.

(2)

三、补充题

1.8051单片机提供几个中断源?

有几个中断优先级?

各中断标志是如何产生的又如何清除这些中断标志?

各中断源所对应的中断入口地址是多少?

答:

有5个中断源:

两个外部中断(

),两个定时器中断(

),一个串口中断;有两个中断优先级;

外部中断标志是IE0,IE1;定时器中断标志是TF0,TF1;串口中断标志是TI,RI;

外中断和定时器中断硬件置位,硬件清零,软件不用管,串口中断必须使用软件清零;

中断源中断入口地址

0003H

000BH

0013H

001BH

串行端口0023H

2.试分析以下几个中断优先级的排列顺序(级别由高到低)是否有可能实现?

若能,应如何设置中断源的中断优先级别?

若不能,试述理由。

1)T0、T1、/INT0、/INT1、串行口;

2)串行口、/INT0、T0、/INT1、T1;

3)/INT0、T1、/INT1、T0、串行口;

4)/INT0、/INT1、串行口、T0、T1;

5)串行口、T0、/INT0、/INT1、T1;

6)/INT0、/INT1、T0、串行口、T1;

答案:

(1)可以,MOVIP,#00001010B

(2)可以,MOVIP,#00010000B

(3)不能

(4)可以,MOVIP,#00010101B

(5)不能

(6)不能

3.编写一段对中断系统初始化的程序,使之允许INT0,INT1,T0,串行口中断,且使T0中断为高优先级中断。

MOVIE,#B

MOVIP,#00000010B

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

当前位置:首页 > 农林牧渔 > 林学

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

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