单片机原理与应用习题答案.docx

上传人:b****6 文档编号:5996190 上传时间:2023-01-02 格式:DOCX 页数:19 大小:1.05MB
下载 相关 举报
单片机原理与应用习题答案.docx_第1页
第1页 / 共19页
单片机原理与应用习题答案.docx_第2页
第2页 / 共19页
单片机原理与应用习题答案.docx_第3页
第3页 / 共19页
单片机原理与应用习题答案.docx_第4页
第4页 / 共19页
单片机原理与应用习题答案.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

单片机原理与应用习题答案.docx

《单片机原理与应用习题答案.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用习题答案.docx(19页珍藏版)》请在冰豆网上搜索。

单片机原理与应用习题答案.docx

单片机原理与应用习题答案

《单片机原理与应用》课后习题参考答案

第1章

1.

(1)15

(2)0.(3)14.6875

2.

(1)

(2)11(3).1011

3.原码:

正数的符号位用0表示,负数符号位用1表示,而数值位保持原样的机器码称为原码。

反码:

在计算机中,对于正数,其反码的符号位为“0”,数值部分保持不变;对于负数,其反码除了在符号位上表示“1”外,数值部分的各位都取与它相反的数码,即“0”变“1”、“1”变“0”。

也就是说:

正数的反码与它的原码相同;负数的反码由其绝对值按位求反后得到。

补码:

在计算机中,对于正数,其补码的符号位为“0”,数值部分保持不变;对于负数,其补码除了在符号位上表示“1”外,数值部分的各位都取与它相反的数码,然后在最低位加“1”。

也就是说:

正数的补码与它的原码相同;负数的补码由其对应的绝对值按位求反后加1得到。

4.

(1)原码:

反码:

补码:

(2)原码:

10.反码:

10.补码:

10.

(3)原码:

00.反码:

00.补码:

00.

5.[N]原=1.1010[N]补=1.0110N=-0.625

6.原码0.1010-0.1011=-0.0001

补码0.1010+(1.0101)=(1.1111)

7.单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

微处理器是是指计算机内部对数据进行处理并对处理过程进行控制的部件,采用大规模集成电路工艺在一块或几块芯片上制成的中央处理器。

如果将构成微型计算机的各功能部件(CPU,RAM,ROM及I/O接口电路)集成在同一块大规模集成电路芯片上,一个芯片就是一台微型机,则该微型机就称为单片微型计算机。

8.MCS-51系列单片机是美国INTEL公司于1980年推出的一种8位单片机系列。

该系列的基本型产品是8051、8031和8751。

这3种产品之间的区别只是在片内程序存储器方面。

8051的片内程序存储器(ROM)是掩膜型的,即在制造芯片时已将应用程序固化进去;8031片内没有程序存储器;8751内部包含有用作程序存储器的4KB的EPROM。

由于8051的编程需要制造商的支持,8751的价格昂贵,因此8031获得了更为广泛的使用。

第2章

1.MCS-51系列单片机内部主要有一个8位中央处理器CPU,4KB程序存储器ROM(有的型号没有),256B数据存储器RAM,两个16位定时/计数器(T0、T1),可寻址64KB外部数据存储空间和64KB外部程序存储器的控制电路,1个可编程的并行I/O端口、4个8位并行I/O端口(P0~P3),21个特殊功能寄存器。

2.8位数据信息由P0口传送,16位地址底8位是与数据信息复用P0口,高8位是P2口提供。

P3口是多功能复用口。

3.51单片机的存储器结构是哈弗结构,即程序存储器和数据存储器是独立编址的,程序存储器可放程序和只读的数据,数据存储器放数据不能放程序。

4.51内部RAM区功能结构是:

00H~1FH为4组8个通用寄存器R0—R7,20H~2FH是位寻址区16个字节128位和字节数据区,30H~到7FH是字节数据区。

4组8个通用寄存器R0~R7是由PSW标志寄存器中RS1、RS0决定,复位后=00。

0组00H~07H00

1组08H~0FH01

2组10H~17H10

3组18H~1FH11

5.特殊功能寄存器中字节地址(16进制表示)个位数是0、8的特殊功能寄存器都是可位寻址的。

特殊功能寄存器的字节地址在80H—FFH范围,必须采用直接寻址访问。

6.见2.2.1节表2-3

7.因为读写控制信号线不一样。

程序存储器的读信号线是PSEN,没有写;数据存储器的读是RD,写是WR。

8.位地址7CH是字节地址2FH单元中的最高位,可用2FH.7表示。

9.PSW中各位表示程序运行中运算器运算的状态,以及CPU的状态。

表示运算器运算的状态有CY、AC、P。

CPU的状态有RS1、RS0和软件标志位F0。

10.在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元是存放中断程序的入口地址。

11.51单片机复位后,P0~P3都被置位为FFH。

第3章

1.立即寻址,直接寻址,寄存器间接寻址,变址寻址,相对寻址,累加器隐含寻址,位置接寻址。

2.A=50HR0=50H50H51H52H为30H50H00H

HMOV50H,#50H

E550HMOVA,50H

F8HMOVR0,A

7430HMOVA,#30H

F6HMOV@R0,A

7450HMOVA,#50H

F551HMOV51H,A

HMOV52H,#00H

3.B直接寻址SP寄存器间接寻址

4.SP=23HPC=3412H

5.MOVA,30H

MOVDPTR,#1000H

MOVX@DPTR,A

INCDPTR

MOVA,#31H

MOVX@DPTR,A

6.08FFH

7.地址偏移量=FEH

8.MOV是操作片内RAM指令,最大地址=FFH

MOVX是操作片外RAM指令,最大地址=FFFFH

MOVC是读程序存储器ROM指令,最大地址=FFFFH

9.FFHMOVR7,A

C0HE0HPUSHA

E5HF0HMOVA,B

F0HMOV@DPTR,A

10.

(1)错

(2)错(3)对(4)错(5)错(6)错(7)错(8)对(9)错(10)对

第4章

1.MOVDPTR,#3000H

MOVR0,#35H

MOVR7,#20H

LOOP:

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,LOOP

2.MOVA,5AH

RRA

ADDA,#8

ADDA,5AH

MOV5BH,A

3.MOVR0,#50H

MOVR7,#8

CLRA

LOOP:

ADDA,@R0

INCR0

DJNZR7,LOOP

MOV54H,A

4.设被乘数是两个字节在R3R4中,结果放回

MOVA,R4

CLRC

LLA

MOVR6,A

MOVA,R3

LLA

MOVR5,A

MOVA,R6

CLRC

LLA

MOVR6,A

MOVA,R5

LLA

MOVR5,A

MOVA,R6

CLRC

LLA

MOVR6,A

MOVA,R5

LLA

MOVR5,A

MOVA,R4

ADDA,R6

MOVR4,A

MOVA,R3

ADCA,R5

MOVR3,A

5.MOVDPTR,#2000H

MOVR0,#50H

MOVR7,#15

LOOP1:

MOVXA,@DPTR

MOV@R0,A

INCR0

INCDPTR

DJNZR7,LOOP1

MOVDPTR,#2100H

MOVR7,#15

MOVR0,50H

LOOP2:

MOVXA,@DPTR

ADDA,@R0

MOV@R0,A

INCR0

INCDPTR

DJNZR7,LOOP2

MOVDPTR,#2200H

MOVR0,#50H

MOVR7,#15

LOOP3:

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,LOOP3

6.MOVDPTR,#2000H

MOVR0,#30H;在片内RAM中数据地址

MOVR7,#50;50个数排序

LOOP:

MOVXA,@DPTR

MOV@R0,A

INCDPTR

INCR0

DJNZR7,LOOP

SORT:

MOVR0,#30H

MOVR7,#50

CLRTAg

COON:

MOVA,@R0

MOVR2,A

INCR0

MOVB,@R0

CJNEA,B,NOTEqUAL

SJMPNEXT

NOTEQUAL:

JCNEXT;前小后大,不交换

SETBTAg;前大后小,置交换标志

XCHA,@R0;交换

DECR0

XCHA,@R0

INCR0

NEXT:

DJNZR7,COON

JBTAG,SORT

MOVDPTR,#3000H

MOVR0,#30H

MOVR7,#50

CUN:

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,CUN

7

MOVDPTR,#2000H

MOVR7,#100

MOVR3,#0;奇数计数

MOVR4,#0;偶数计数

LOOP:

MOVXA,@DPTR

RRA

JCODD

INCR4

SJMPCON

ODD:

INCR3

CON:

INCDPTR

DJNZR7,LOOP

8

MOVDPTR,#1000H

MOVR7,#31H

MOVR0,#30H

LOOP:

MOVXA,@DPTR

MOV@R0,A

CLRA

MOVX@DPTR,A

INCDPTR

INCR0

DJNZR7,LOOP

9

MOVDPTR,#1000H

MOVR7,#31H

MOVR0,#30H

LOOP:

MOVXA,@DPTR

MOV@R0,A

CLRA

MOVX@DPTR,A

INCDPTR

INCR0

DJNZR7,LOOP

10

MOVDPTR,#2000H

MOVR7,#10

MOVR0,#30H

MOVSP,#60H

LOOP:

MOVXA,@DPTR

ANLA,#0FH

MOVR3,A

INCDPTR

MOVXA,@DPTR

ANLA,#0FH

SWAP

ORLA,R3

MOV@R0,A

INCDPTR

DJNZR7,LOOP

MOVDPTR,#3000H

MOVR7,#10

MOVR0,#30H

CUN:

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,CUN

第5章

1、并行通信:

是指数据的各位同时进行传送的通信方式。

串行通信:

是指数据一位一位顺序传送的通信方式。

串行通信的两种基本形式:

同步通信和异步通信。

异步通信所传输的数据帧格式是由1个起始位、1~9个数据位、1~2个停止位组成,依靠起始位和停止位保持同步;同步所传输数据帧格式是由多个字节组成的一个帧,每个帧都有两个(或一个)同步字符作为起始位以触发同步时钟开始发送或接收数据。

波特率是指每秒钟传送二进制数码的位数(bit),单位bps(bitpersecond),bit/s。

2、单工方式(Simplex):

只允许数据向一个方向传送(A→B)。

半双工方式(HalfDuplex):

允许数据向两个方向中的一个方向传送,但每次只能一个站发送。

全双工方式(FullDuplex):

允许数据同时双向传送。

3、660bps

4、300bps

5、

MOVSCON,#00H

CLRP1.1

MOVR7,#16

MOVA,#B

LOOP:

MOVSBUF,A

JNBTI,$

ACALLDELAY1S

RAA

DJNZR7,LOOP

RET

6、Baud=

smod=1时,x=208=D0H

smod=0时,x=232=E8H

MAIN:

MOVSCON,#B

MOVTMOD,#B

MOVTH1,#0D0H

MOVTL1,#0D0H

CLREA

MOVPCON,#80H

SETBTR1

LOOP:

JNBRI,$

MOVA,SBUF

CLRRI

MOVSBUF,A

JNBTI,$

CLRTI

SJMPLOOP

7、

甲机:

MAIN:

MOVSCON,#B

MOVTMOD,#B

MOVTH1,#0D0H

MOVTL1,#0D0H

CLREA

MOVPCON,#80H

SETBTR1

MOVR7,#16

MOVR0,#30H

LOOP:

MOVSBUF,@R0

JNBTI,$

CLRTI

INCr0

djnzr7,loop

sjmp$

乙机:

org000h

ljmpmain

org`023h

ljmprxd_int

org100h

main:

movscon,#b

movtmod,#b

movth1,#0d0h

movtl1,#0d0h

setbes

setbea

movpcon,#80h

setbtr1

movr7,#16

movr0,#40h

sjmp$

rxd_int:

mov@r0,sbuf

clrri

incr0

djnzr7,goret

movr7,#16

movr0,#40h

goret:

reti

第6章

1.中断是指CPU在正常运行程序时,由于内部/外部事件,或由程序预先安排的事件引起CPU暂时停止正在运行的程序,转到为该内部/外部事件或预先安排的事件服务的程序中去,服务完毕,再返回去继续运行被暂时中断的程序,这个过程称为中断。

2.MCS-51单片机设有5个中断源,分别是2个外部中断

、2个内部定时器/计数器溢出中断TF0、TFl和1个内部串行口中断TI或RI。

这些中断请求分别由特殊功能寄存器TCON和SCON的相应位锁存。

中断可分为:

外部中断,定时/记数中断,串行口中断。

3.优先级,其实就是当两个中断同时需要执行的时候,那个会先响应。

又或者一个中断正在执行,另外一个中断又再来临的时候,单片机是否会跳出本来执行的中断程序而执行新的中断程序。

中断分为2个中断优先级,即高优先级和低优先级,每个中断源的优先级都可以由软件来设定.同一优先级内其自然优先级顺序,排列如下:

    中断源    同级自然优先级

    外部中断0    最高级

    定时器0中断    ↓

    外部中断1     ┆

    定时器1中断    ↓

    串行口中断    最低级

    定时器2中断  最低级(52系列单片机中)

4.中断源有中断请求;此中断源的中断允许位为1;CPU开中断(即EA=1)。

同时满足时,CPU才有可能响应中断。

5.TCON为定时器/计数器的控制器,它也锁存外部中断请求标志,

(1)IEl(TCON.3)为外部中断1(

)的中断请求标志位,位地址为8BH。

 

(2)ITl(TCON.2)为外部中断1(

)的触发控制标志位,位地址为8AH。

 (3)IE0(TCON.1)为外部中断0(

)的中断请求标志位,位地址为89H。

 (4)IT0(TCON.0)为外部中断0(

)的触发控制标志位,位地址是88H。

第7章

1.MCS-51单片机有两个16位的定时/计数器:

定时器0和定时器1。

定时器/计数器T0由TH0、TL0构成,T1由TH1、TL1构成。

另外还有定时器工作方式寄存器TMOD,控制寄存器TCON。

2.定时/计数器还有4种工作模式,

方式0为13位方式

,方式1为16位方式

,方式2为8位自动装入时间常数方式

,方式3为2个8位方式

TMOD用于控制

4种工作模式。

TMOD中的

M1、M0位:

工作方式选择位。

当M1、M0为00时,选择方式0;为01时,选择方式1;为10时,选择方式2;为11时,选择方式3。

3.定时时间与时钟频率和定时初值有关。

由于确认1次负跳变要花2个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为系统振荡器频率的1/24。

4.定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。

作计数器时,其计数脉冲来源于单片机外部引脚T0(或T1)的脉冲。

5.对一8031单片机应用系统,已知其时钟频率为6MHZ,需将8031片内定时计数器设置成:

T0:

50μS定时,申请中断,自启动;此时TMOD值应为多少?

TH0/TL0应取值多少?

根据题意,采用方式2定时,TMOD=02H

晶振频率为6MHz,Tp=2μS

X=Tc/Tp=50μS/2μS=25

计数初值为:

28-25=231

TH0/TL0=231=E7H

6.

根据题意,Tc=1/(2*10KHZ)=250μS,Tp=2μS

X=Tc/Tp=250μS/2μS=125

采用T0方式2定时

计数初值为:

28-125=131=83H

编写程序如下:

ORG0000H

LJMPMAIN

ORG000BH

LJMPIT0P

MAIN:

MOVTMOD,#02H;定时器/计数器T0为定时方式2

MOVTL0,#83H;定时364μs初值赋值

SETBTR0;启动T0,开始计数

SETBET0;允许T0中断

SETBEA;CPU开中断

SETBP1.0

WAIT:

AJMPWAIT

IT0P:

CPLP1.0

RETI

7.根据题意,采用方式2定时,Tp=2μS

X=Tc/Tp=50μS/2μS=25

计数初值为:

28-25=231=E7H

编写程序如下:

ORG0000H

LJMPMAIN

ORG000BH

LJMPIT0P

MAIN:

MOVTMOD,#02H;定时器/计数器T0为定时方式2

MOVTL0,#0E7H;定时364μs初值赋值

SETBTR0;启动T0,开始计数

SETBET0;允许T0中断

SETBEA;CPU开中断

SETBP1.0

MOVB,#0

WAIT:

AJMPWAIT

IT0P:

INCB

CJNEB,#1,IT01

CLRBP1.0

RETI

ITO1:

CJNEB,#5,IT02

SETBP1.0

CLRB

IT02:

RETI

8.据题意,采用方式2定时,Tp=2μS

X=Tc/Tp=500μS/2μS=250

计数初值为:

28-250=6=06H

编写程序如下:

ORG0000H

LJMPMAIN

ORG000BH

LJMPIT0P

MAIN:

MOVTMOD,#02H;定时器/计数器T0为定时方式2

MOVTL0,#0E7H;定时364μs初值赋值

SETBTR0;启动T0,开始计数

SETBET0;允许T0中断

SETBEA;CPU开中断

SETBP1.0

SETBP1.1

MOVB,#0

WAIT:

AJMPWAIT

IT0P:

CPLP1.0

INCB

CJNEB,#4,IT01

CPLP1.1

CLRB

IT01:

RETI

第8章

1.线选法就是直接以系统的地址线作为存储器芯片的片选信号,为此只需把用到的地址线与存储器芯片的片选端直接相连即可。

译码法就是使用地址译码器对系统的片外地址进行译码,以其译码输出作为存储器芯片的片选信号。

2.8031单片机没有内部存储器,而复位时把PC初始化为0000H,使单片机从程序存储器的0000H单元开始执行程序,所以要求其片外程序存储器的起始地址必须从0000H开始设置。

3.

电路图如下:

4.电路图如下:

第9章

1.

A、通过互感器把0----250V转换为0---5V,通过放大器到A/D转换器0809的IN0接单片机。

(具体图见下一页)

89C51

P0口

IN0

互感器

0809

放大器

由图可知

A15A14A13

011ADC0809

100LED

B、单片机外扩LS74LS244接四位LED显示器,用P1口P1.4P1.5P1.6P1.7选择哪一位LED。

C、用单片机的P1口P1.0P1.1P1.2P1.3四个引脚接KEY1KEY2KEY3KEY4四个键作↑↓功能复位键

D、单片机接MAX232接口与PC机通讯,通信协议仿本章例子。

基本格式

①②③

I

DATA

CC

1I:

指令1字节

2DATA:

电压值1字节

3CC:

校验和码(①~②的和值)1字节

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

当前位置:首页 > 自然科学

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

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