单片机原理接口技术及应用课后答案黄建新.docx

上传人:b****0 文档编号:9731065 上传时间:2023-05-20 格式:DOCX 页数:26 大小:174.47KB
下载 相关 举报
单片机原理接口技术及应用课后答案黄建新.docx_第1页
第1页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第2页
第2页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第3页
第3页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第4页
第4页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第5页
第5页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第6页
第6页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第7页
第7页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第8页
第8页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第9页
第9页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第10页
第10页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第11页
第11页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第12页
第12页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第13页
第13页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第14页
第14页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第15页
第15页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第16页
第16页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第17页
第17页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第18页
第18页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第19页
第19页 / 共26页
单片机原理接口技术及应用课后答案黄建新.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机原理接口技术及应用课后答案黄建新.docx

《单片机原理接口技术及应用课后答案黄建新.docx》由会员分享,可在线阅读,更多相关《单片机原理接口技术及应用课后答案黄建新.docx(26页珍藏版)》请在冰点文库上搜索。

单片机原理接口技术及应用课后答案黄建新.docx

单片机原理接口技术及应用课后答案黄建新

作业题及答案

第1章

1.9完成下列数制的转换。

(1)1011.1101B=(11.8125)D=(B.D)H

(2)110.101B=(6.625)D=(6.A)H

(3)166.25=(10100110.0100)B=(A6.4)H

(4)1011011.101B=(5B.A)H=(10010001.011000100101)BCD

(5)100001100011.01000101BCD=(863.45)D

1.10写出下列真值对应的原码、反码和补码。

(1)+1100110B

【+1100110B】原码=66H

【+1100110B】反吗=66H

【+1100110B】补码=66H

(2)-1000100B

【-1000100B】原码=C4H

【-1000100B】反码=BBH

【-1000100B】补码=BCH

(3)-86

【-86】原码=D6H

【-86】反码=A9H

【-86】补码=AAH

1.11写出下列机器数分别作为原码、反码和补码时,其表示的真值分别是多少?

(1)01101110B

+110(6EH)

(2)10110101B

-53(35H),-74(-4AH),-75(-4BH)

1.12已知X和Y的真值,试分别计算[X+Y]补和[X-Y]补,并指出是否产生溢出(设补码均用8位二进制表示)。

(1)X=+1000100B,Y=-0010010B

X补=01000100B,Y补=11101110B

[X+Y]补:

C7=1,C6=1,相同,所以无溢出。

[X-Y]补

 

C7=0,C6=0,相同,所以无溢出。

(2)X=+1100001B,Y=+1000010B

[X+Y]补:

有溢出

[X-Y]补无溢出

(3)X=-1101001B,Y=-1010101B

[X+Y]补:

有溢出

[X-Y]补:

无溢出

1.13用十六进制写出下列字符的ASCII码。

(1)NBA

‘NBA’=4E4241H

(2)HELLO!

2009

‘HELLO!

2009’=48454C4C4F2132303039H

 

第2章

2.680C51单片机的

信号有何功能?

在使用80C31和89C51单片机时,

信号应如何处理?

答:

是访问外部程序存储器选通信号。

当其为低电平时,对ROM的读操作限定为外部存储器;当其为高电平时,对ROM的读操作是从内部开始的,当PC值大于内部程序存储器地址范围时,CPU自动转向读外部程序存储器。

80C31单片机片内无ROM,应将

引脚固定接低电平,以迫使系统全部执行片外程序存储器程序。

89C51单片机应将

引脚接+5V电源。

2.9系统复位后,CPU使用哪一组工作寄存器?

它们的地址是什么?

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

答:

系统复位后,CPU使用0组寄存器,它们的地址分别是:

R0--R7:

00H—07H.

可以通过改变PSW寄存器的PSW.4和PSW.3两位的值来改变工作寄存器组。

2.1080C51单片机具有很强的布尔(位)处理功能?

共有多少单元可以位寻址?

采用布尔处理有哪些优点?

答:

是的,80C51单片机具有很强的布尔处理功能,在内部RAM区20H—2FH的16个单元都可以位寻址;同时21个特殊功能寄存器中还有部分特殊功能寄存器可以位寻址。

布尔(位)处理机,是80C5l系列单片机的突出优点之一,给“面向控制”的实际应用带来了极大的方便。

布尔(位)处理机借用进位标志CY作为位累加器,在布尔运算中,CY是数据源之一,又是运算结果的存放处,位数据传送的中心。

布尔(位)处理机指令系统中有专门进行位处理的指令集,利用位逻辑操作功能进行随机逻辑设计,可把逻辑表达式直接变换成软件执行,方法简便,免去了过多的数据往返传送、字节屏蔽和测试分支,大大简化了编程,节省了存储器空间,加快了处理速度,增强了实时性能。

还可实现复杂的组合逻辑处理功能。

所有这些,特别适用于某些数据采集、实时测控等应用系统。

2.12单片机的复位方法有哪两种?

复位后各寄存器及RAM中的状态如何?

答:

按键复位和外部脉冲复位。

单片机复位后,21个寄存器中,SP=07H,P0—P3均为FFH,SBUF为不定值,其余均为0.

2.1380C51单片机的

、XTAL1和XTAL2引脚各有何作用?

单片机时钟电路分别采用内部和外部振荡方式时,XTAL1和XTAL2引脚应如何连接?

答:

是片外程序存储器选通信号,低电平有效。

(片外数据存储器读选通),输出,低电平有效。

(片外数据存储器写选通),输出,低电平有效。

XTAL1和XTAL2

内部振荡方式:

在80C51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTALl,其输出端为引脚XTAL2。

当使用芯片内部时钟时,这两根引线用于外接石英晶体和微调电容。

外部振荡方式:

把外部已有的时钟信号引入单片机内。

该方式适宜用来使单片机的时钟信号与外部信号保持同步。

外部振荡信号由XTAL1引入,XTAL2端悬空不用。

 

第3章

3.7用指令实现下述功能。

(1)内部RAM30H单元内容送R0。

MOVR0,30H

(2)将立即数10H送入内部RAM30H单元。

MOV30H,#10H

(3)R0内容送入R1。

MOVA,R0

MOVR1,A

(4)内部RAM30H单元内容送外部RAM30H单元。

MOVR0,#30H

MOVA,@R0

MOVX@R0,A

(5)外部RAM3000H单元内容送内部RAM30H单元。

MOVDPTR,#3000H

MOVXA,@DPTR

MOV30H,A

(6)ROM3000H单元内容送内部RAM30H单元。

MOVDPTR,#3000H

MOVA,#00H

MOVCA,@(A+DPTR)

MOV30H,A

3.8已知内部RAM中,(30H)=40H,(40H)=50H,(50H)=5AH,(5AH)=60H,ROM中(125AH)=88H,试分析下面程序的运行结果,并指出每条指令的源操作数寻址方式。

MOVA,50H;直接寻址

MOVR0,A;寄存器寻址

MOVP1,#0F0H;立即寻址

MOV@R0,30H;直接寻址

MOVDPTR,#1200H;立即寻址

MOVX@DPTR,A;寄存器寻址

MOVCA,@A+DPTR;变址寻址

MOV40H,50H;直接寻址

MOVP2,P1;直接寻址

程序执行后,P2=F0H;(40H)=5AH;(A)=88H;(1200H)=5AH;(5AH)=40H

3.9设(R1)=31H,内部RAM31H的内容为68H,32H单元的内容为60H,(A)=10H。

请指出运行下面的程序后各单元内容的变化。

MOVA,@R1;(A)=68H

MOV@R1,32H;(31H)60H

MOV32H,A;(32H)=68H

MOVR1,#45H;(R1)=45H

程序前3条指令将内部RAM31H和32H单元内容互换。

3.10已知当前PC值为2000H,用两种方法将ROM207FH单元中的常数送入累加器A。

(1)MOVDPTR,#207FH

MOVA,#00H

MOVCA,@A+DPTR

(2)

MOVA,#7CH

MOVCA,@A+PC

3.16已知延时程序为

DELAY:

MOVR0,#0A0H

LOOP1:

MOVR1,#0FFH

LOOP2:

NOP

DJNZR1,LOOP2

DJNZR0,LOOP1

若系统的晶振频率为12MHz,请指出该延时子程序的延时时间。

机器周期数

DELAY:

MOVR0,#0A0H1

LOOP1:

MOVR1,#0FFH1

LOOP2:

NOP1

DJNZR1,LOOP22

DJNZR0,LOOP12

由于晶振频率为12MHz,1M=1μs

该程序延时时间为:

【1+(1+2)*255+2】*160+1=122.881ms

 

第4章

4.13编写程序将内部RAM40H~60H单元清0

MOVR7,#21H

MOVR0,#40H

LOOP:

MOV@R0,#00H

INCR0

DJNZR7,LOOP

SJMP$

4.15编程将外部RAM的1000H~1FFF区域的数据送到2000H~2FFFH区域。

ORG0100H

MOVDPTR,#1000H

MOVR7,#10H

LL1:

MOVR6,#00H

LL:

MOVXA,@DPTR

MOVB,A

MOVA,DPH

ADDA,#10H

MOVDPH,A

MOVA,B

MOVX@DPTR,A

MOVA,DPH

CLRC

SUBBA,#10H

MOVDPH,A

INCDPTR

DJNZR6,LL

INCDPH

DJNZR7,LL1

SJMP$

4.16已知一内部RAM以BLOCK1和BLOCK2为起始地址的存储区中分别有5字节无符号被减数和减数(低位在前,高位在后。

请编写减法子程序令它们相减,并把差放入以BLOCK1为起始地址的存储单元。

BLOCK1EQU30H

BLOCK2EQU40H

ORG0000H

LJMPSTART

START:

MOVR0,#BLOCK1

MOVR1,#BLOCK2

MOVR7,#1

LP:

MOVR6,#5

CLRC

LP1:

MOVA,@R0

SUBBA,@R1

MOV@R0,A

INCR0

INCR1

DJNZR6,LP1

DJNZR7,LP

SJMP$

END

4.17从内部RAM20H单元开始存有一组带符号数,其个数已存放在1FH单元中。

要求统计出大于0、等于0和小于0的数的数目,并把统计结果分别存放在ONE、TWO、THREE三个单元中。

ONEEQU1EH

TWOEQU1DH

THREEEQU1CH

ORG0000H

LJMPSTART

START:

MOVONE,#00H

MOVTWO,#00H

MOVTHREE,#00H

MOVR0,#20H

MOVR7,1FH

LOOP3:

MOVA,@R0

INCR0

JZLOOP1

JBACC.7,LOOP2

INCONE

SJMPHALT

LOOP1:

INCTWO

SJMPHALT

LOOP2:

INCTHREE

HALT:

DJNZR7,LOOP3

SJMP$

4.18设内部RAM30H单元有两个非零的BCD数,请编写求两个BCD数的积,并将积以压缩型BCD数形式送入31H单元的程序。

ORG0000H

MOVA,30H

ANLA,#0F0H

SWAPA

MOVB,A

MOVA,30H

ANLA,#0FH

MULA,B

MOVB,#0AH

DIVAB

SWAPA

ORLA,B

MOV31H,A

SJMP$

4.20编制绝对值函数程序。

绝对值函数方程如下:

 

假设X存于30H单元,Y存于40H单元。

X及Y均为补码数.

XEQU30H

YEQU40H

ORG0000H

LJMPSTART

START:

MOVA,X

JZLOOP

JNBACC.7,LOOP

CPLA

ADDA,#01H

LOOP:

MOVY,A

SJMP$

END

4.21试编写统计数据区长度的程序,设数据区从内RAM30H开始,该数据区以0结束,统计结果送人2FH中。

且数据区结束字符,也计入统计数据区的长度中去.

ORG0000H

LJMPSTART

START:

MOVR0,#30H

MOVR7,#00H

LOOP:

MOVA,@R0

INCR0

INCR7

CJNEA,#00H,LOOP

MOV2FH,R7

SJMP$

4.23巳知R7中为2位十六进制数,试编程将其转换为ASCII码,存人内部RAM31H、32H中(低字节在前)。

英文字母为大写.

ORG0000H

LJMPSTART

START:

MOVSP,#60H

MOVA,R7

LCALLBCDASCII

MOV31H,A

MOVA,R7

SWAPA

LCALLBCDASCII

MOV32H,A

SJMP$

BCDASCII:

ANLA,#0FH

CJNEA,#10,LOOP

LOOP:

JCAD30H

ADDA,#07H

AD30H:

ADDA,#30H

HT:

RET

END

解法2

ORG0000H

LJMPSTART

START:

MOVDPTR,#TAB

MOVA,R7

ANLA,#0FH

MOVCA,@A+DPTR

MOV31H,A

MOVA,R7

ANLA,#0F0H

SWAPA

MOVCA,@A+DPTR

MOV32H,A

SJMP$

TAB:

DB30H,31H,32H,33H,34H,35H,36H,37H,38H

DB39H,41H,42H,43H,44H,45H,46H

END

4.24设在MA和MB单元中有两个补码形式的8位二进制带符号数。

请编写求两数之和并把它放在SUML和SUMH单元(低8位在SUML单元)的子程序。

提示:

在两个8位二进制带符号数相加时,其和很可能会超过8位数所能表示的范围,从而需要采用16位数形式来表示。

因此,在进行加法时、可以预先把这两个加数扩张成16位二进制补码形式,然后对它完成双字节相加。

ORG0000H

LJMPSTART

START:

MOVA,MA

JBACC.7,LLA

MOVR7,#00H

SJMPLLL

LLA:

MOVR7,#0FFH

LLL:

MOVA,MB

JBACC.7,LLB

MOVR6,#00H

SJMPLADD

LLB:

MOVR6,#0FFH

LADD:

MOVA,MA

ADDA,MB

MOVSUML,A

MOVA,R6

ADDCA,R7

MOVSUMH,A

SJMP$

4.25设外部RAM1000H~10FFH数据区中的数均为无符号数。

试编写程序,找出该区域中的数的最大值,并放人内部RAM30H单元中。

MOVDPTR,#1000H

MOVR7,#00H;计数器

MOVB,#00H;放中间结果

L1:

MOVXA,@DPTR

CJNEA,B,L2

L2:

JCL3

MOVB,A;B中放大值

L3:

INCDPTR

DJNZR7,L1

MOV30H,B

SJMP$

4.28已知a、b、c均为0~9的整数,试编程求解表达式Y=(a-b)2+(b-c)2+(c-a)2的值

•AAEQU31H

•BBEQU32H

•CCEQU33H

•YEQU34H

•ORG0000H

•LJMPSTART

•START:

MOVSP,#60H

•MOVA,AA

•CLRC

•SUBBA,BB

•ACALLCHUNCI

•MOVR6,A

•MOVA,BB

•CLRC

•SUBBA,CC

•ACALLCHUNCI

•ADDA,R6

•MOVR6,A

MOVA,CC

CLRC

SUBBA,AA

ACALLCHUNCI

ADDA,R6

MOVR6,A

MOVY,R6

SJMP$

CHUNCI:

JNBACC.7,SQR

CPLA

ADDA,#01H

SQR:

ADDA,#01H

MOVCA,@A+PC

RET

SQRTAB:

DB0,1,4,9,16,25,36,49,64,81

4.29从内部RAM的SCORE单元开始放有16位同学某门课程的考试成绩,试编程求平均成绩,存入AVERAGE单元。

ORG0100H

MOVR5,#00H

MOVR6,#00H

MOVR0,#SCORE

MOVR7,#16

LL:

MOVA,@R0

ADDA,R5

MOVR5,A

MOVA,R6

ADDCA,#00H

MOVR6,A

INCR0

DJNZR7,LL

MOVR4,#04H

LL1:

CLRC

MOVA,R6

RRCA

MOVR6,A

MOVA,R5

RRCA

MOVR5,A

DJNZR4,LL1

MOVAVERAGE,R5

SJMP$

 

第5章

5.880C51外扩ROM时,为什么P0口要接一个8位锁存器,而P2口却不接?

答:

P0口既作为地址线传送地址的低8位,又要作为数据线传送8位数据,只能分时用做地址线,故P0口输出的低8位地址数据必须用锁存器锁存。

锁存器的锁存控制信号为引脚ALE输出的控制信号。

P2口只用作地址高8位。

5.9若要设计一个32K×8位的外RAM存储器,分别采用2114(1K×4位)和6264(8K×8位)芯片,各需多少块存储芯片?

答:

2114芯片需要:

(8/4)*(32/1)=64片

6264芯片需要:

32/8=4片

5.1280C51扩展2片6264存储器芯片,试用P2.6、P2.7对其片选,并指出它们的地址范围。

答:

地址范围:

6264

(1)10*00000000000000000

11111111111111111

8000H—9FFFH

6264

(2)01*00000000000000000

11111111111111111

4000H—5FFFH

 

 

第6章

6.1输入/输出信息有哪几种?

答:

通过接口传送的信息包括数据信息、状态信息和控制信息。

6.2什么是接口?

接口应具有哪些功能?

接口是将外设连接到总线上的一组逻辑电路的总称。

功能:

1.地址译码与设备选择

2.缓冲锁存数据

3.信息的输入输出

4.信息转换

6.7什么是中断源?

80C51有哪些中断源?

CPU响应中断时,其入口地址是什么?

答:

能引起中断的外部设备或内部原因称为中断源,包括外部中断源和内部中断源。

80C51中有5个中断源:

(1)

(P3.2):

外部中断0。

(2)

(P3.3):

外部中断1。

(3)TF0(P3.4):

定时器/计数器T0溢出中断。

(4)TF1(P3.5):

定时器/计数器T1溢出中断。

(5)RX,TX:

串行中断

入口地址:

外部中断0(

):

0003H

定时器/计数器0(T0):

000BH

外部中断1(

):

0013H

定时器/计数器1(T1):

001BH

串行口(RI、TI):

0023H

定时器/计数器2(T2)(仅80C52有):

002BH

6.1180C51的外部中断有哪几种触发方式?

如何选择?

答:

有电平触发方式和边沿触发方式。

通过对ICON寄存器的D0位IT0和D2位IT1置位或清0实现。

该为为0,为低电平触发方式,该位为1,为下降沿触发方式。

 

第7章

7.88255A各端口可以工作在几种方式下?

当端口A工作在方式2时,端口B和C工作于什么方式下?

答:

8255A共有三种工作方式:

方式0、方式1和方式2。

其中A口可以工作在方式0、方式1和方式2,B口可以工作在方式0、方式1,而C口只能工作在方式0。

在A口工作在方式2时,B口可以工作在方式0或方式1。

C口高5位为A口提供联络信号,C口低3位可作为输入输出线使用或用作B口方式1之下的控制线。

7.9某8255A芯片的地址范围为7F80H—7F83H,工作于方式0,A口、B口为输出口。

C口低4位为输入,高4位为输出,试编写初始化程序。

MOVDPTR,#7F83H

MOVA,#10000001B

MOVX@DPTR,A

7.118255A的方式控制字和C口按位置位/复位控制字都可以写入8255A的同一控制寄存器,8255A是如何区分这两个控制字的?

答:

看控制字的最高位D7,如果该位的值为“1”,则认为是方式控制字;反之,则认为是C口置位/复位控制字。

7.12编写程序,采用8255A的C口按位置位/复位控制字,将PC7置0,PC4置1,(已知8255A各端口的地址为7FFCH-7FFFH)。

MOVDPTR,#7FFFH

MOVA,#0EH

MOVX@DPTR,A

MOVDPTR,#7FFFH

MOVA,#09H

MOVX@DPTR,A

7.13设8255A接到系统中,端口A、B、C及控制口地址分别为220H、221H、222H及223H,工作在方式0,试编程将端口B的数据输入后,从端口C输出,同时,将其取反后从端口A输出。

MOVDPTR,#223H

MOVA,#82H

MOVX@DPTR,A

MOVDPTR,#221H

MOVXA,@DPTR

INCDPTR

MOVX@DPTR,A

CPLA

MOVDPTR,#220H

MOVX@DPTR,A

SJMP$

 

第8章

8.3定时器T1用于对外部脉冲计数,每计满1000个脉冲后使内部RAM60H单元内容加一,要求T1以方式1中断实现,TR1启动。

解:

计数常数为:

TC=216-1000=64536=FC18H,

由于采用T1方式1计数方式,故方式控制字为:

01010000B=50H

程序如下:

ORG0000H

AJMPMAIN

ORG001BH

LJMPT1INT

ORG0200H

MAIN:

MOVTMOD,#50H

MOVTH1,#0FCH

MOVTL1,#18H

SETBET1

SETBEA

SETBTR1

SJMP$

ORG0800H

T1INT:

INC60H

MOVTH1,#0FCH

MOVTL1,#18H

RETI

8.4利用定时器T0方式2产生一个5KHz的方波,已

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2