单片机作业及答案2.docx

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

单片机作业及答案2.docx

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

单片机作业及答案2.docx

单片机作业及答案2

1.CS-51系列单片机串行口中断标志TI和RI在执行中断程序后,能否自动清零,这样设计的意图是什么?

答:

不能,由于串行通信的收发电路使用一个中断源,因而,有利于单片机查询是接收中断还是发送中断。

同时有利于全双工通信。

2.写出8051单片机的复位及5个中断服务程序的入口地址。

答:

(1)复位入口地址:

0000H;

(2)外部中断0中断服务程序入口地址为0003H;

(3)定时器/计数器0中断服务程序入口地址为000BH;

(4)外部中断1中断服务程序入口地址为0013H;

(5)定时器/计数器1中断服务程序入口地址为001BH;

(6)串行口中断服务程序入口地址为0023H。

3.简述MCS-51单片机的工作寄存器的分布结构(包括:

几个区、如何选择、每个区几个寄存器、如何表示)?

答:

(1)四个通用寄存器区;

(2)通过PSW的RS1、RS0选择:

00--0区、01—1区、10—2区、11—3区;

(3)每个区有8个工作寄存器R0—R7;

4.MCS-51单片机的P0口作为一般的I/O口使用时应注意什么?

答:

应注意:

1由于P0口的输出级是漏极开路的开漏电路,所以作为一般的I/O口使用时需接外部上拉电阻;

2P0口的输出级的输出驱动能力,可以驱动8个LS的TTL电路,使用必须确认是否能驱动的外部电路,否则应加驱动电路;

3由于P0口为准双向口,在读引脚时,应先把口置1。

5.画出MCS-51单片机的三总线图(控制总线应包括三条)并注明几条数据线、几条地址线、各个控制线的意义。

答:

(1)

(2)8条数据线、16条地址线

(3)/RD:

对外部RAM及I/O口的读允许;

/WR:

对外部RAM及I/O口的写允许;

/PSEN:

对外部ROM的读允许;

6.MCS-51系列单片机内部有哪些主要逻辑部件组成?

(书)

答:

CPU、RAM、程序存储器、定时器、I/O接口、中断系统、串行接口等。

7.简述P3口的特殊专用功能(第2功能)。

答:

P3.0----串行通信收;P3.1-----串行通信发;P3.2-----外部中断0;P3.3-----外部中断1;P3.4-----T0的计数输入;P3.5-----T1的计数输入;P3.6-----外部数据区写有效;P3.7-----外部数据区读有效。

8.MCS-51单片机内部RAM区功能结构如何分配的?

(书)

答:

00H---1FH通用寄存器区

20H---2FH位寻址区

30H---7FH通用RAM和堆栈区

9.写出将片内RAM20H单元、片外RAM20H单元的内容读入A中的指令。

(4分)

答:

片内:

MOVA,20H

片外:

MOVDPTR,#20H

MOVXA,@DPTR

10.8052单片机的低128字节的RAM、高128字节RAM与位寻址空间、特殊功能寄存器区和外部数据区都出现地址重叠,单片机如何正确访问这些单元?

答:

内部位寻址区、内部RAM、特殊功能寄存器区与外部数据区采用不同的命令格式加以区分。

而内部RAM和特殊功能寄存器区采用不同的寻址方式:

11.8051单片机最多可能外部扩展多少字节的程序存储器?

为什么?

答:

64K,因为8051最多可以提供16条地址线。

12.8051单片机最多外部扩展多少字节的数据存储器?

程序存储器和数据存储器地址空间重叠,单片机是如何加以区分的?

答:

64K;通过指令及PSEN和WR、RD线区分的。

13.简述8051单片机EA、ALE、PSEN这三个引脚的作用。

答:

EA为内部、外部程序存储器的选择线;

ALE锁存低8位地址信号控制;PSEN访问程序存储器有效。

14.当中断允许寄存器IE的内容为97H时的含义是什么?

答:

允许总中断,允许INT0、T0、INT1、串口中断;禁止T1中断。

15.当中断优先级寄存器IP的内容为93H时的含义是什么?

答:

串行口、INT0、T0为高优先级,INT1、T1为低优先级。

16.写出8051单片机5个中断服务程序的入口地址。

答:

INT0-----0003H;T0------000BH;串行口-----0023H;INT1-----0013H;T1----001BH。

17.当串行口控制寄存器SCON的内容为F0H时的含义如何?

答:

串口工作于方式3,多机通信使能位为1,即收到RB8=1时通信中断有效,可接收数据,发射第九位TB8=0。

18.(实验题目1)单片机采用晶振6MHZ,P1口接有8个发光管,围成圆形(跑马灯)。

要求:

1发光管每次只亮一个,一次从P1.0~P1.7循环发光,切换时间为1秒(低电平亮);

2延时采用T0定时器,工作于自动装入时间常数的定时器工作方式,允许T0中断,试写出完整的可调试程序。

答:

ORG0000H

LJMPstart

ORG000BH

LJMPtimer0

ORG30H

start:

MOVTMOD,#02H;T0工作于方式2—自动重装载

MOVTL0,#06;定时器自动重装初值

MOVTH0,#06

MOVR7,#100

MOVR6,#20;R6、R7中断次数,一次中断500uS,即500*100*20=1s

MOVA,#0FEH;循环送出的控制字节

MOVP1,A;送出控制字节,P1.0灯亮

SETBTR0

SETBET0

SETBEA

wait:

SJMPwait;主程序,无限循环

timer0:

DJNZR7,EXIT

MOVR7,#100

DJNZR6,EXIT

MOVR6,#20

RLA;左循环一位

MOVP1,A

EXIT:

RETI

END

19.简述程序状态字PSW每位的作用。

(书)

答:

Cy---借、进位;AC—半借、进位;P—奇/偶位;RS1、RS2—工作寄存器区选择位;OV—溢出标志位;F0—辅助位。

20.简述单片机多机通信的原理。

答:

单片机构成的多机系统为主从式结构,系统中只有一个主机,其他为从机;此时,单片机的串口工作于方式2或者方式3,发送和接收的帧信息是11位,其中第9位用于地址或数据位的辨识,该位为1表示地址码,为零表示数据码,该位是通过TB8、RB8发送和接收的。

在主机通信时,所有的从机置SM2=1,这时主机先发送地址码,这时所有的从机将都收到,从机分别将收到的地址码与自己的地址码比较,当地址码相同时,该分机置SM2=0;其他分机不变,此后,主机与该分机建立了一对一的通信关系,此时交换的数据帧为TB8=0,而SM2=1的分机收不到数据帧,当通信完毕后,分机将SM2=1;等待主机的下一次的通信。

21.一个单片机系统,时钟频率fosc=11.059Mhz,现要求串行口通信的波特率为9600bps,采用T1作为波特率发生器,试计算出定时器T1的自动重装载值、实际波特率并验算实际波特率与理论波特率的相对误差?

答:

取:

SMOD=0;

T1自动重装载值:

演算:

误差计算:

程序段:

MOVTMOD,#20H

MOVTH1,#0FDH

MOVTL1,#0FDH

SETBTR1

22.下列指令哪些是错误的:

①MOVA,@R2②MOV45H,C③MOVR1,R7④ADDA,DPTR

答:

①③④错

23.简述DIVABJMP@A+DPTR的功能。

答:

DIVAB--------(A)/(B)=商→A,余数→B

JMP@A+DPTR---程序无条件转移到(A)+(DPTR)中去,即(A)+(DPTR)→PC

24.设T0为定时器,以方式1工作,定时时间为10ms,并且每到1次P1.1取反,T1作为计数器以方式2工作,外界发生二次事件溢出,晶振频率为12MHZ。

⑴写出对应的TMOD的内容,计算出时间常数;

⑵写出对应的程序段。

答:

初值计算:

N=65536-10000=55536=D8F0H

T1=256-2=254=0FEH

程序段:

MOVTMOD,#61H

MOVTH0,#0D8H

MOVTL0,#0F0H

MOVTH1,#0FEH

MOVTL1,#0FEH

SETBTR0

SETBTR1

CPLP1.1

25.利用单片机的P1口扩展一个4*4的键盘电路,画出原理图,并简述工作原理。

答:

若P1.0-P1.3为键盘的列线输入线,P1.4-P1.7为键盘的行输出线,接线如图所示。

当CPU输出行线全为0;若读取的列线全为高电平,表示无键按下,当不为全高时,表示有键按下。

当有键按下时,循环使一条行线输出为低电平,读取列线,当出现列线不全为零时,即将此时的列线和行线构成一个字节,表示为该键的键值,在键盘处理时,可通过延时再读取键值的办法去抖。

26.写出8052单片机内部低128字节、高128字节RAM单元和SFR区的地址空间,详细说明单片机是如何访问这些单元的?

答:

低128—0~7FH;高128---80H~FFH;SFR-----80~FFH

低128字节RAM区---采用寄存器间接寻址和直接寻址方式

特殊功能寄存器区-----直接寻址方式

高128字节RAM区---采用寄存器间接寻址方式

27.在单片机应用系统中设置看门狗的作用是什么?

答:

为了防止单片机程序跑飞或者系统死机。

28.单片机采用晶振6Mhz,用P1口控制交通信号灯(P10、P11接红灯、P12、P13接绿灯,输出高电平灭)。

要求:

红、绿灯切换时间为6秒,试写出完整的可调试的程序。

答:

ORG0000HSETBTR0

LJMPSTARTSETBET0

ORG000BHSETBEA

LJMPTIME0WAIT:

LJMPWAIT

ORG30HTIME0:

DJNZR7,EXIT

START:

MOVSP,#30HMOVR7,#100

MOVTMOD,#02HDJNZR6,EXIT

MOVTH0,#06MOVR6,#120

MOVTL0,#06MOVA,R5

MOVR7,#100CPLA

MOVR6,#120MOVP1,A

MOVR5,#05MOVR5,A

MOVA,R5EXIT:

RETI

MOVP1,AEND

29.采用单片机的P0口和P2.0~P2.3扩展4位数码管显示电路,由单片机的I/O口直接控制(可不考虑驱动电路),试画出相应的电路原理图;在内部RAM设置一个显示缓冲区,编写显示该显示缓冲区内容的显示子程序。

答:

30H,31H,32H,33H为显示缓冲区

DIS:

MOVR0,#30HINCR0

MOVR5,#0FEHDJNZR1,LOOP

MOVR1,#4MOVP2,A

LOOP:

MOVA,@R0RET

MOVDPTR,#TABDELAY:

MOVR3,#10H

MOVCA,@A+DPTRLLL1:

MOVR4,#0FFH

MOVP0,ALLL:

NOP

MOVA,R5DJNZR4,LLL

MOVP2,ADJNZR3,LLL1

LCALLDELAYRET

MOVA,R5TAB:

DB(略)

RLA

MOVR5,A

30.编程将片内30H~39H单元中的内容送到以3000H为首的存储区中。

(书)

答:

SUB:

MOVR0,#30H

MOVDPTR,#3000H

MOVR1,#10

LOOP:

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR1,LOOP

RET

31.片内RAM的60H开始连续存放100个数据,试统计正数、负数及为零的数据个数,并将结果分别存放在50H,51H,52H单元中。

(10分)

答:

START:

MOVR0,#60HCLRC

MOVR1,#100SUBBA,B

MOV50H,#00JNCLOOP3

MOV51H,#00INC51H

MOV52H,#00LJMPLOOP4

LOOP:

MOVA,@R0LOOP3:

INC50H

CJNEA,#0,LOOP1LOOP4:

INCR0

INC52HDJNZR1,LOOP

LJMPLOOP4RET

LOOP1:

MOVB,#7FHEND

XCHA,B

32.单片机设有几个通用工作寄存器区?

从实际编程方面说明设置多个通用工作寄存器区的意义如何?

如何实现当前通用工作寄存器区的切换?

答:

4个通用工作寄存器区;

主程序和不同的中断程序采用不同的工作寄存器,可实现快速的保护现场;

是通过设置程序状态字psw来实现的(D4、D3即:

RS1、RS0)。

33.机器周期是指:

完成MCS-51一个典型的指令花费的振荡周期称为一个机器周期;一个机器周期由六个状态组成,包含有12个振荡周期;

34.当外部中断采用低电平触发方式时,为了避免在中断返回后再次响应该中断,要求外部中断源在执行的中断程序返回前撤销中断请求信号(使引脚电平变高);

35.全双工串行通信方式是指:

能同时发送和接收数据;

36.程序计数器PC是用来存放下一条将要执行的指令地址,共16位。

单片机上电复位后,PC=0000H;

37.当单片机的P1口做为一般的I/O口使用时,为8位准双向口的意思是指:

当输入信号时,需先向P1口锁存器写1,以保证读引脚的正确性;

38.8051单片机外部扩展一片8K的RAM6264,画出详细的电路原理图(可不标注芯片的管脚号,但引脚功能符号应标注清楚),地址锁所存器采用74LS373,线选方式译码,并算出相应RAM的地址空间。

答:

6264的地址空间为:

0000H~01FFFH。

39.何谓堆栈?

它设置在哪个存储区?

在实际编程中,它有何应用价值?

答:

堆栈是一个后进先出的特殊的数据缓冲区,并由栈指针SP指示堆栈中的数据深度。

在MCS-51系列单片机中,堆栈设置在内部RAM数据存储区内。

在实际编程中,可用于数据的传递,数据的交换、保存CPU现场等作用。

40.编制一个计算符号函数y=SGN(x)的完整的可调试的程序。

Y=

设自变量已经存入外部数据存储区的100h单元,范围-128≤x≤127;y存入外部数据区的200h单元。

答:

ORG0000HSUL:

MOVDPTR,#200H

LJMPSTARTMOVX@DPTR,A

ORG0030HRET

START:

MOVDPTR,#100HNEG:

MOVA,#0FFH

MOVXA,@DPTR;SJMPSUL

JZSULWAIT:

LJMPWAIT

JBACC.7,NEGEND

MOVA,#01

41.已知有10个单字节的数据,依次存放在内部RAM的40H单元开始的连续单元中。

要求将这些数据求和,并将计算结果存入R2、R3中(高位存R2,低位存R3),试写出完整的可调试的程序。

答:

ORG0000HMOVR3,A

LJMPSTARTJNCLOP1

ORG0030HINCR2

START:

MOVR0,#40HLOP1:

INCR0

MOVR5,#10DJNZR5,LOOP

MOVR2,#0WAITLJMPWAIT

MOVR3,#0END

LOOP:

MOVA,R3

ADDA,@R0

42.一组数据存放在内部RAM的40H单元开始的连续单元中,该组数据是以0ffH为结束标志,试编写出计算出该组数据个数的程序。

答:

ORG30H

ABC:

MOVR2,#0FFH

MOVR0,#3FH

LOOP:

INCR0

INCR2

CJNE@R0,#0FFH,LOOP

RET

43.用一片2764和一片6264扩展8k的程序存储器(从2000H~3FFFH)和8K的数据存储器(6000H~7FFFH),不采用线译码,试完成用8051与之连接的连接图。

答:

 

44.当8255的控制字为DAH时,8255的A口、B口、C口工作于什么状态?

答:

A口工作于方式2,双向选通输入/输出;

B口工作于方式1,选通输入;

C口作为控制应答线。

45.已知晶振频率为11.0592MHz,要求波特率为4800bit/s,如何实现?

答:

⑴波特率的参数计算:

X=

⑵实现方式:

MOVTMOD,#20H

MOVTH1,#0FAH

MOVTL1,#0FAH

SETBTR1

46.已知30H31H和32H33H存放两个16位带符号数,比较大小后大数存放在41H42H中,试用汇编语言编成完成。

(30H、32H存放高8位)

答:

47.用8051与DAC0832完成如下波形,8051与DAC0832采用单缓冲双极性连接,口地址为6EFFH,(参考电压为+5V)画出8051与DAC0832完成上述要求的连线图,编写程序完成所要求的波形。

(晶振为6MHz)

答:

 

48.位地址7FH与字节地址7FH有何区别?

位地址7FH具体在片内RAM中什么位置?

(书)

答:

位地址7FH为一个可位寻址的位单元,存放一位二进制数;字节地址7FH为一个可字节寻址的字节单元,存放8位二进制数,二者访问的指令不同;

位地址7FH位于片内RAM的字节地址2FH单元的最高位。

49.若采用MCS-51的串行口扩展并行输出口,应如何实现?

答:

使串行口工作于方式0(移位寄存器方式),外部扩展传入并出移位寄存器芯片,单片机的P3.0为数据输出端,P3.1为移位脉冲输出端。

(可以用文字叙述,也可以绘图表示。

第一步3分,第二步2分。

50.写出实现下列要求的指令或程序片段。

(书)

⑴将内部RAM20H单元内容与累加器A内容相加,结果存放在20H单元中;

⑵将内部RAM30H单元内容与内部RAM的31H单元内容相加,结果存放到内部RAM的31H单元中;

⑶将内部RAM20H单元内容传送到外部RAM的2000H单元中;

⑷使内部RAM20H单元的D7和D3位清零,其它位保持不变;

⑸使内部RAM20H单元的D7和D3位置1,D5位清零,其它位保持不变;

⑹使内部RAM20H单元的D7和D3位置1,D5位取反,其它位保持不变;

答:

⑴ADDA,20H

MOV20H,A

⑵MOVA,30H

ADDA,31H

MOV31H,A

⑶MOVA,20H

MOVDPTR,#2000H

MOV@DPTR,A

说明:

由于20H单元是在位寻址区,所以可以使用布尔指令

⑷CLR07H;

CLR03H

⑸SETB07H

SETB03H

⑹SETB07H

SETB03H

CPL05H

51.试用下列4种方式编程将立即数EFH送入内部RAM的40H单元中。

(书)

⑴用立即寻址;

⑵用直接寻址;

⑶用寄存器寻址;

⑷用寄存器间接寻址;

答:

⑴MOV40H,#0EFH

⑵MOVA,#0EFH

MOV40H,A

或者:

MOV40H,#0EFH

⑶MOVR0,#0EFH

MOV40H,R0

⑷MOVR0,#40H

MOV@R0,#0EFH

52.简述波特率、A/D的分辨率的概念。

答:

串行通信的波特率:

每秒钟发送的二进制数的位数。

A/D转换器分辨率:

对模拟输入的分辨能力。

53.单片机与8255A的连接图如下图所示,8255A的PA口接8个发光二极管,PB口上接了二个按键开关,按键开关状态按下表控制PA口的发光二极管点亮,试编写按不同状态控制二极管点亮程序。

K1K2

实现功能

00

全灭

01

只有L1、L3、L5、L7亮

10

只有L2、L4、L6、L8亮

11

全亮

54.从20H单元开始有一无符号的数据块,其长度在20H单元。

求出数据块中的最小者,并存入21H单元。

(书)

答:

MOVA,20H;取出数据长度

JZOUT;如果数据长度=0,跳出,注意跳出后,没有修改21H单元的内容

MOVR0,A

MOVR1,#21H;指向数据块的首地址

MOVA,@R1;读取数据块首的第一数据存A,这样虽然第一个数被重复比较了,但当仅有一个数据时,不会出错

MOVR4,A;R4存放最小数据

LOOP:

MOVA,R4

SUBBA,@R1

JCNEXT;有借位,说明R4中内容小

MOVA,R4

XCHA,@R1;否则将最小换到R4中

MOVR4,A

NEXT:

INCR1

DJNZR0,LOOP

MOV21H,R4

OUT:

LJMP$

(本程序调试通过)

55.设片内RAM中以20H开始的单元,连续存放10个非压缩BCD码,试将其转换为ASCⅡ码,存放到片内以50开始的单元中。

(书)

答:

MOVR2,#10

MOVR0,#20H

MOVR1,#50H

LOOP1:

MOVA,@R0

ADDA,#30H

MOV@R1,A

INCR0

INCR1

DJNZR2,LOOP1

SJMP$

(调试通过)

56.设10次采样值依次存放在片内RAM50H~59H的连续单元中。

试编程去掉一个最大值,去掉一个最小值,求其余8个数的平均值,并将结果存放在60H中。

(书)

答:

MOVR0,#50H

MOVR1,#51H

LOOP:

MOVA,@R0

SUBBA,@R1

JCNEXT

MOVA,@R0

XCHA,@R1

MOV@R0,A

NEXT:

INCR1

CJNER1,#5AH,LOOP;内部循环,从此单元与以后的单元比较大小

INCR0

MOVA,R0

MOVR1,A

INCR1

CJNER0,#59H,LOOP;以上从小到大排序

MOVR7,#8;8个数求和

MOVB,#0;和的高8位

MOVA,#0;和的低8位

MOVR0,#51H

LOOP1:

ADDA,@R0

JNCLOOP4

INCB;和的高8位累加

LOOP4:

INCR0

DJNZR7,LOOP1;以上8个数求和,B--和高8,A-和低8

MOVR3,B;R3---和高8

MOVR4,A;R4---和低8

MOVR7,#3

LOOP2:

CLRC

MOVA,R3

RRCA

MOVR3,A;高8位

MOVA,R4

RRCA

MOVR4,A;低8位

DJNZR7,LOOP2;以上用移位法除以8

MOV60H,R4

LJMP$

(已经验证)

57.MCS-51单片机4个I/O口的作用是什么?

三总线是如何分配的?

为什么说能作为I/O口使用的一般只有P1口?

(书)

答:

①P0~P3做一般的I/O口使用,且P0,P2,P3可用于三总线,P3口的部分引脚有第二功能;

②P0-

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

当前位置:首页 > PPT模板 > 中国风

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

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