单片机原理与应用戴胜华课后答案.docx

上传人:b****1 文档编号:10342282 上传时间:2023-05-25 格式:DOCX 页数:15 大小:22.01KB
下载 相关 举报
单片机原理与应用戴胜华课后答案.docx_第1页
第1页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第2页
第2页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第3页
第3页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第4页
第4页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第5页
第5页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第6页
第6页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第7页
第7页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第8页
第8页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第9页
第9页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第10页
第10页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第11页
第11页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第12页
第12页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第13页
第13页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第14页
第14页 / 共15页
单片机原理与应用戴胜华课后答案.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机原理与应用戴胜华课后答案.docx

《单片机原理与应用戴胜华课后答案.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用戴胜华课后答案.docx(15页珍藏版)》请在冰点文库上搜索。

单片机原理与应用戴胜华课后答案.docx

单片机原理与应用戴胜华课后答案

单片机原理与应用-戴胜华-课后答案

Lt

D

单片机作业答案

-------------------------------------------------------------

第二章

1、MCS-51系列单片机内部有哪些主要的逻辑部件?

P10

答:

MCS-51系列单片机内部的逻辑部件主要有:

算术/逻辑部件ALU、累加器A、只读存储器ROM、随机存储器RAM、指令存放器IR、程序计数器PC、定时器/计数器、I/O接口电路、程序状态存放器PSW、存放器组。

3、MCS-51内部RAM区功能如何分配?

如何选用4组工作存放器中的一组作为当前的工作存放器组?

位寻址区域的字节地址范围是多少?

P13-P15

答:

MCS-51内部RAM的地址空间为00H-7FH,128B,按功能分为3个区域。

00H-1FH的32B单元是4个工作存放器组,单片机执行程序时,具体使用哪一组是通过对PSW的RS1、RS0两位的设置来实现;20H-2FH的16B共128位,是可以按位寻址的内部RAM区;30H-7FH的80B单元是只能按字节寻址的内部RAM区。

5、8031设有4个8位并行端口,假设实际应用8位I/O口,应使用P0-P3中的哪个端口传送?

16位地址如何形成?

P19-P21

答:

P1口是专门供用户使用的I/O口,是准双向接口,故可以使用P1口传送;

P0口既可作地址/数据总线使用,又可作通用I/O使用。

一方面用来输出外部存储器或I/O的低8位地址,另一方面作为8位数据输入/输出口,故由P0口输出16位地址的低8位;

P2口可作通用I/O口使用,与P1口相同。

当外接存储器或I/O时,P2口给出地址的高8位,故P2口输出16位地址的高8位。

8、MCS-51的时钟周期、机器周期、指令周期是如何分配的?

当振荡频率为10MHz时,一个机器周期为多少微妙?

P25

答:

CPU执行一条指令的时间称为指令周期,它是以机器周期为单位的。

MCS-51典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期〔振荡周期〕组成。

当振荡频率为10MHz时,一个机器周期为12/10MHz=1.2us。

9、在MCS-51扩展系统中,片外程序存储器和片外数据存储器地址一样时,为什么不会发生冲突?

P12;P13、P18

答:

1、程序存储器和数据存储器物理上是独立的,寻址片外程序存储器和片外数据存储器的寻址方式、寻址空间和控制信号不同。

2、对外部程序存储器访问使用MOVC指令;对外部数据存储器访问使用MOVX指令。

10、MCS-51的P3口具有哪些第二种功能?

P19表2-6

答:

P3.0RXD〔串行输入口〕P3.1TXD〔串行输出口〕

P3.2INT0〔外部中断0〕P3.3INT〔外部中断1〕

P3.4T0〔定时器0外部中断〕P3.5T1〔定时器1外部中断〕

P3.6WR〔外部数据存储器写信号〕P3.7RD〔外部数据存储器读信号〕

11、位地址7CH与字节地址7CH有哪些区别?

位地址7CH具体在内存中什么位置?

P14

答:

位地址7CH与字节地址7CH在RAM中的位置不同,寻址方式也不用。

位地址7CH在内部RAM区2FH中,可以位寻址;字节地址7CH在用户区中,只能按字节寻址。

第三章

2、什么是寻址方式?

MCS-51单片机有哪几种寻址方式?

P36

答:

寻址方式是指令中确定操作数的形式。

MSC-51单片机有立即数寻址、直接寻址、存放器寻址、存放器间接寻址、变址寻址、相对寻址、位寻址。

3、指出以下指令中画线的操作数的寻址方式?

P36

MOVR0,#55H;立即寻址

MOVA,2AH;直接寻址

MOVA,@R1;存放器间接寻址

MOV@R0,A;存放器寻址

DIVA,B;存放器寻址

ADDA,R7;存放器寻址

MOVXA,@DPTR;存放器间接寻址

MOVDPTR,#0123H;立即寻址

MOVCA,@A+DPTR;基址加变址寻址

INCDPTR;存放器寻址

7、为什么要进行十进制调整?

调整方法是什么?

P49

答:

十进制表示用BCD码规那么,相加大于10进位;运算用二进制规那么,相加大于16进位。

所以要进行十进制调整。

调整方法:

数的低四位大于9或标志位AC=1,那么低四位加06H调整。

高四位大于9或标志位CY=1那么高四位加60H。

8、编程实现两个一字节压缩型BCD码的减法。

设被减数地址在R0中,减数地址在R1中,差仍存于被减数地址单元中。

答:

CLRC

MOVA,#9AH

SUBBA,@R1

ADDA,@R0

DAA

MOV@R0,A

9、把片外数据存储器8000H单元中的数据读到累加器中,应用哪几条指令?

P45例3.7

答:

MOVDPTR,#8000H

MOVA,@DPTR

10、内部RAM中,(A)=35H,(R0)=6FH,(P1)=0FCH,(SP)=0C0H。

分别写出以下各条指令的执行结果。

P41-

(1)MOVR0,A;(R0)=35HP41〔2〕

(2)MOV@R0,A;(6FH)=35HP42〔4〕

(3)MOVA,#90H;(A)=90HP41〔1〕

(4)MOVA,90H;(A)=(90H)P41〔1〕

(5)MOV80H,#81H;(80H)=81HP42〔3〕

(6)MOVX@R0,A;(6FH)=35HP452

(7)PUSHA;(0C1H)=35H,(SP)=0C1HP43〔6〕

(8)SWAPA;(A)=53HP44〔8〕

(9)XCHA,R0;(A)=6FH,(R0)=35HP44〔7〕

第四章

2、在汇编语言程序设计中,为什么要采用标号来表示地址?

标号的构成原那么是什么?

使用标号有什么限制?

注释段起什么作用?

P69

答:

采用标号便于在编写程序时,实现跳转、循环等程序控制转移。

标号位于语句的开始,由以字母开头的字母和数字组成,它代表语句的地址。

标号与指令间要用冒号“:

〞分开,标号与“:

〞之间不能有空格,“:

〞与操作码之间可以有空格。

注释段放在语句的最后,以冒号开始,为不可执行局部,对程序进行解释性说明。

3、MCS-51汇编语言有哪几条常用的伪指令?

各起什么作用?

P70-P72

答:

MCS-51汇编语言有以下常用的伪指令:

1、设置起始地址伪指令ORG〔Origin〕

格式:

ORG起始地址

作用:

ORG伪指令总是出现在每段源程序或数据块的开始,可以使程序、子程序和数据快存放在存储器的任何位置。

假设在源程序中不放ORG指令,那么汇编将从0000H单元开始编排目标程序。

ORG定义控件地址应由从小到大,且不能重叠。

2、定义字节伪指令DB〔DefineByte〕

格式:

<标号:

>DB<项或项表>

作用:

把项或项表的数值存入从标号开始的连续单元中。

3、定义字伪指令DW〔DefineWord〕

格式:

<标号:

>DW<项或项表>

作用:

根本含义与DB相同,不同的是DW定义16位数据。

4、预留存储区伪指令DS〔DefineStorage〕

格式:

<标号:

>DS<表达式>

作用:

由标号指定的单元开始,定义一个存储区,以给程序使用。

存储区内预留的存储单元数由表达式的值决定。

5、为标号赋值伪指令EQU

格式:

<标号:

>EQU数或汇编符号

作用:

将操作数中的地址或数据赋给标号字段的标号,故又称为等值指令。

6、数据地址赋值伪指令DATA

格式:

<标号:

>DATA<数或表达式>

作用:

其功能和EQU类似,但有以下区别。

〔1〕用DATA定义的标识符汇编时作为标号登记在符号表中,所以可以先使用后定义;而EQU定义的标识符必须先定义后使用。

〔2〕用EQU可以把一个汇编符号赋给字符名,而DATA只能把数据赋给字符名。

〔3〕DATA可以把一个表达式赋给字符名,而DATA只能把数据赋给字符名。

〔4〕DATA常在程序中用来定义数据地址。

7、位地址符号伪指令BIT

格式:

字符名BIT位地址

作用:

把位地址赋给字符名称

8、源程序结束伪指令END

格式:

<标号:

>END<表达式>

作用:

END命令通知汇编程序结束汇编。

在END之后,所有的汇编语言指令均不作处理。

如果没有这条指令,汇编程序通常会给出“警告〞指示。

6、外部RAM中从1000H到10FFH有一个数据区,现在将它传送到外部RAM中2500H单元开始的区域中,编写有关程序。

COMPAREWITHP80例4.10

答:

START:

MOVR0,#00H

MOVDPTR,#1000H

LOOP:

MOVXA,@DPTR

MOVDPH,#25H

MOVX@DPTR,A

MOVDPH,#10H

INCDPTR

INCR0

DJNZR0,LOOP

SJMP$

11、设系统晶体振荡频率为12MHz,请编写延时50ms的延时子程序。

P81例4.11

答:

使用12MHz晶振时,1个机器周期为1us,一条DJNZ耗时2us,采用双重循环方法,50ms=2us*250*100,程序如下:

DL50MS:

MOVR4,#100

DELAY1:

MOVR3,#250

DELAY2:

DJNZR3,DELAY2

DJNZR4,DELAY1

RET

12、分析以下程序中各条指令的作用,并说明运行后相应存放器和内存单元的结果。

MOVA,#34H;(A)=34H

MOVB,#0ABH;(B)=0ABH

MOV34H,#78H;(34H)=78H

XCHA,R0;(A),(R0)互换

XCHA,@R0;(A),((R0))互换

XCHA,B;(A),(B)互换

SJMP$;暂停

第五章:

2、8051单片机的定时器/计数器有哪几种工作方式?

各有什么特点?

P105

答:

8051单片机的定时器/计数器有4种工作方式,分别是:

工作方式0:

M1M0=00,为13位定位器/计数器,其计数器由THi的全8位和TLi的低5位构成,TLi的高3位未用。

当TLi的低5位计满时,向THi进位,THi溢出后对中断标志位TFi置“1〞,并申请中断。

Ti是否溢出可用软件查询TFi是否为“1〞。

计数器范围为1-8192,如需再次定时或计数,需要用指令重置时间常数。

工作方式1:

M1M2=01,与工作方式0根本相同,不同之处在于其为16位定时器/计数器,计数值范围为1-65536,如需再次定时或计数,需要用指令重置时间常数。

工作方式2:

M1M0=10,为可重装初值的8位定时器/计数器。

把16位的计数器拆成两个8位计数器,TLi用作8位计数器,THi用来保存初值。

每当TLi计满溢出时,可自动将THi的初值再装入TLi,继续计数,循环重复。

其计数范围为1-256。

这种工作方式可省去用户软件中重装初值的程序,并可产生相当精度的定时时间,特别适合于产生周期性脉冲及作为串行口波特率发生器,缺点是计数长度太小。

工作方式3:

M1M0=11,该工作方式只适用于T0。

T0在该工作方式被分成两个相互独立的8位计数器,其中TL0既可以作计数器使用,又可以作定时器使用。

而TH0只能作8位定时使用,并占用了T1的控制启动位TR1和溢出标志位TF1。

T1只能工作在方式0、方式1或方式2,只能用在不需中断控制的场合。

工作方式3是为了在使用串行口时,需要两个独立的计数器而特别提供的。

因为此时把定时器1规定用作串行通信的波特率发生器,并设定为工作方式2,使用时只要将计数器初值送到计数器存放器即开始工作,启动后不需要软件干预,也不使用溢出标志。

9、设晶振频率为6MHz。

编程实现:

使用定时器T0工作在方式2、定时,在P1.4输出周期为100us,占空比为4:

1的矩形脉冲。

答:

使用晶体振荡器频率为6MHz时,1个机器周期为2us。

欲使占空比为4:

1,可将矩形脉冲分为5份,前4份P1.4输出高电平,第5份输出低电平。

计数初值:

计数初值满足:

〔256-Y〕*2us=20us,解得计数初值为Y=246=0F6H,那么TH0=TL0=0F6H。

TMOD存放器定义:

D7

D6

D5

D4

D3

D2

D1

D0

GATE

C/

M1

M0

GATE

C/

M1

M0

定时器1

定时器0

定时器工作方式定义:

M1

M0

工作方式

说明

0

0

0

13位定时器/计数器

0

1

1

16位定时器/计数器

1

0

2

可重装8位定时器/计数器

1

1

3

T0分成两个8位定时器/计数器,T1停止计数

定时器0,定时方式2,故TMOD设置:

00000010=02H,。

程序如下:

ORG2000H

START:

MOVTMOD,#02H//定时器0,定时方式2

MOVTL0,0F6H//初值送TL0

MOVTH0,0F6H//初值送TH0

SETBP1.4//P1.4置高

SETBTR0//允许T0计数

LOOP:

MOVR0,#4//由于是4:

1,故计数周期定为4

WAIT1:

JNBTF0,WAIT1//等待定时器T0溢出标志位

CLRTF0//软件清零TF0

DJNZR0,WAIT1//判断R0是否等于0,即判断是否循环了四次

CPLP1.4//对P1.4取反

WAIT2:

JNBTF0,WAIT2//等待定时器T0溢出标志位,即判断是否循环一次

CLRTF0//软件清零TF0

CPLP1.4//对P1.4再次取反

SJMPLOOP//程序循环运行

第六章

2、MCS-51单片机的串行口共有哪几种工作方式?

各有什么特点和功能?

P129

答:

MCS-51单片机的串行口共有以下四种工作方式:

工作方式0:

SM1SM0=00,为同步移位存放器。

当一个数据写入串行口发送缓冲器时,串行口即将8位数据以fosc/12的固定波特率从RXD引脚输出,低位在先,TXD为移位脉冲信号输出端。

发送完8位数据后中断标志位T1置“1〞。

特点是:

移位存放器的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后,波特率固定,一个机器周期移位一次。

工作方式1:

SM1SM0=01,串行口被定义为波特率可变的8位异步通信接口。

方式1的波特率=(2smod/32)x定时器T1的溢出率

特点为:

一帧信息为10位,其中1位起始位“0〞,8位数据位〔地位在前〕和一位停止位“1〞,其波特率可变。

工作方式2:

SM1SM0=10,串行口被定义为9位异步通信接口。

方式2的波特率=(2smod/64)x振荡器频率

特点是:

一帧信息为11位,1位起始位“0〞,8位数据位〔低位再前〕,1位可编程为“1〞或“0〞的第9位数据,1位停止位“1〞。

工作方式3:

SM1SM0=11,串行口被定义为波特率可变的9位异步通信方式,除了波特率外,方式3和方式2完全相同。

方式3的波特率=(2smod/32)x定时器T1的溢出率

特点:

一帧信息为11位,1位起始位“0〞,8位数据位〔低位在先〕,1位可编程为“1〞或“0〞的第9位数据,1位停止位“1〞。

3、MCS-51单片机4种工作方式的波特率应如何确定?

P134

答:

MCS-51单片机波特率确实定方法:

〔1〕方式0的波特率=fosc/12

〔2〕方式1的波特率=(2smod/32)x定时器T1的溢出率。

〔3〕方式2的波特率=(2smod/64)x振荡器频率

〔4〕方式3的波特率=(2smod/32)x定时器T1的溢出率

7、请用查询法编写程序实现串行口工作方式1下的发送程序。

设单片机主频为11.0592MHz,波特率为1200bps、发送数据缓冲区在外部RAM,起始地址为1000H,数据块长度为30B,采用偶校验〔其他条件自设〕。

答:

1〕设数据为ASCII码形式,最高位作为奇偶校验位。

2〕T1作为波特率发生器,工作于方式2。

TMOD存放器定义:

D7

D6

D5

D4

D3

D2

D1

D0

GATE

C/

M1

M0

GATE

C/

M1

M0

定时器1

定时器0

定时器工作方式定义:

M1

M0

工作方式

说明

0

0

0

13位定时器/计数器

0

1

1

16位定时器/计数器

1

0

2

可重装8位定时器/计数器

1

1

3

T0分成两个8位定时器/计数器,T1停止计数

故,TMOD=20H;

3〕设SMOD=0。

4〕串行口工作在方式1

SCOD存放器定义:

D7

D6

D5

D4

D3

D2

D1

D0

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

串行口工作方式定义:

SM0

SM1

工作方式

方式简单描述

波特率

0

0

0

移位存放器I/O

主振频率/12

0

1

1

8位UART

可变

1

0

2

9位UART

主振频率/32或主振频率/64

1

1

3

9位UART

可变

故,SCON=40H;

5〕波特率为1200bps

通过计算得T1的时间常数为0E8H。

程序如下:

ORG1000H

START:

MOVTMOD,#20H;T1工作方式2

MOVTL1,#0E8H

MOVTH1,#0E8H

MOVPCON,#00H;SMOD=0波特率不倍增

SETBTR1;启动T1

MOVSCON,#40H;串行口工作方式1

MOVDPTR,#1000H;

MOVR2,#30;计数值30

LOOP:

MOVXA,@DPTR

MOVC,P;送奇偶标志

MOVACC.7,C;

MOVSBUF,A;发送字符

WAIT:

JNBTI,WAIT;

CLRTI;

INCDPTR

DJNZR2,LOOP

AJMPSTART

第七章

1、MCS-51有几个中断源?

有几级中断优先级?

各中断标志如何产生?

又如何去除?

P149

答:

5个中断源:

2个外部中断INT0、INT1,3个内部中断T0、T1、串行口。

2个优先级:

高级中断和低级中断,由用户定义。

中断标志的产生:

(1)外部中断可以设置边沿触发或者电平触发,边沿触发进入中断程序后硬件自动清中断标志,电平触发需要软件清标志位;

(2)定时器T0,T1计数溢出产生中断,进入中断程序硬件自动清标志位;

(3)串行口发送完成或者接收到数据就触发中断,由于是两个中断标志共享一个中断向量,所以需要在中断程序里由软件判断是发送中断还是接受中断,并且只能由软件清标志位;

中断请求的去除:

(1)定时中断由硬件自动撤除定时中断响应后,硬件自动把标志位〔TFx〕清零。

(2)外部中断的自动与强制撤除

假设外部中断以脉冲方式触发,那么由硬件自动地把标志位〔IEx〕清零。

24假设以电平方式触发,那么需由外部电路和软件配合撤除。

(3)串行中断软件撤除CLRTI;CLRRI;

2、什么是中断优先级?

优先级的处理原那么是什么?

P151

答:

CPU一般与多个中断源相连,因此有多个中断同时发生的可能,为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程序,将中断源分为假设干个级别,称作中断优先级;

中断优先级的处理原那么:

1、低优先级中断请求不能打断高优先级的中断效劳;但高优先级中断请求可以打断低优先级的中断效劳,从而实现中断嵌套。

2、如果一个中断请求已被响应,那么同级的其他中断响应将被禁止。

3、如果同级的多个请求同时出现,那么按CPU查询次序确定哪个中断请求被响应。

其查询次序为:

外部中断0→定时中断0→外部中断1→定时中断1→串行中断。

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

P150、P151

答:

允许INT0、INT1、T0和串行口中断

中断控制存放器IE定义:

D7

D6

D5

D4

D3

D2

D1

D0

EA

ET2

ES

ET1

EX1

ET0

EX0

EA=1〔中断使能〕,ES=1〔串行口中断〕,EX1=1〔中断〕,ET0=1〔T0中断〕,EX0=1〔中断〕。

故IE=97H;

串行口中断为高优先级中断

优先级存放器IP定义:

D7

D6

D5

D4

D3

D2

D1

D0

PT2

PS

PT1

PX1

PT0

PX0

PS=1〔串行口中断高优先级〕,故IP=10H;

MOVIE#97H

MOVIP#10H

第八章

9、MCS-51单片机利用4KB的EPROM2764和2KB的SRAM6116及74HC138译码器,构成一个具有8KBROM,16KBRAM的存储器系统,给出硬件连接图并指出各芯片地址范围。

答:

需要两个2764和8个6116。

 

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

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

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