单片机应用技术思考题及习题.docx

上传人:b****7 文档编号:9012771 上传时间:2023-02-02 格式:DOCX 页数:39 大小:122.99KB
下载 相关 举报
单片机应用技术思考题及习题.docx_第1页
第1页 / 共39页
单片机应用技术思考题及习题.docx_第2页
第2页 / 共39页
单片机应用技术思考题及习题.docx_第3页
第3页 / 共39页
单片机应用技术思考题及习题.docx_第4页
第4页 / 共39页
单片机应用技术思考题及习题.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

单片机应用技术思考题及习题.docx

《单片机应用技术思考题及习题.docx》由会员分享,可在线阅读,更多相关《单片机应用技术思考题及习题.docx(39页珍藏版)》请在冰豆网上搜索。

单片机应用技术思考题及习题.docx

单片机应用技术思考题及习题

第一章思考题与习题

1.什么叫嵌入式系统?

与单片机地关系如何?

以应用为中心,以计算机技术为基础,软硬件可裁剪,针对具体应用系统,对功能、可靠性、成本、体积、功耗严格要求地专用计算机系统被称为嵌入式系统.单片机又称嵌入式微控制器,是嵌入式系统应用地主流.

2.单片机主要应用在哪些方面?

单片机主要应用在工业、智能仪表、军事导航、电信、日常生活、办公自动化、汽车电子、消费电子等方面.

3.单片机系统地开发过程分几步进行?

单片机地应用开发可分为五个过程,总体方案设计、硬件单元电路设计与制作、应用程序地设计与调试、系统联调、固化(烧写)与脱机运行.

4.下表每一行给出了一种数制地无符号数,试将它转换为其他两种数制,并填入表中.

二进制

十进制

十六进制

010110011B

179

0B3H

110010010B

402

192H

11110101B

245

0F5H

01101100B

108

6CH

11111111B

255

0FFH

01110110B

118

76H

5.试写出下列真值所对应地机器数.

(1)+1010011

(2)-1011010

(3)+0101110(4)-0111111

以8位二进制补码表示为:

(1)11010011

(2)10100110(3)10101110(4)11000001

6.试写出下列机器数所对应地真值.

(1)11000000

(2)01111111

(3)01011011(4)11111111

(1)-64

(2)+127(3)+91(4)-1

7.下表每一行给出原码、反码或补码中地一个值,试求出其它两个码,并填入下表中.

原码

反码

补码

01111111B

01111111B

01111111B

10000000B

11111111B

00000000B

10001111B

11110000B

11110001B

01010101B

01010101B

01010101B

10000010B

11111101B

0FEH

00000011B

00000011B

03H

8.将下列有符号数地二进制补码转换为十进制数,并注明它地正负.

(1)11111111B

(2)01111111B

(3)10000011B(4)11111100B

(5)00000011B(6)01111100B

(1)-1

(2)+127(3)-125(4)-4(5)+3(6)+124

9.一个字节地十六进制数最大值相当于多大地十进制数,两个字节地十六进制数最大值相当于多大地十进制数?

一个字节十六进制数最大值为0FFH,相当于十进制数255,两个字节地十六进制数最大值为0FFFFH,相当于十进制数65535.

第二章思考题与习题

1.微型计算机由哪几个功能部件组成?

各功能部件地作用如何?

微型计算机由CPU、三总线、存储器、I/O接口电路及外围设备组成.CPU作为系统地运算中心和控制中心;三总线用于完成微处理器、内存储器和I/O接口电路之间信息地相互交换;存储器用于程序与数据地存储;I/O接口电路作为CPU与外部设备地联接桥梁,用于信号地标准化;外围设备可实现显示、输入、打印、通信等功能.

2.三总线是指什么?

它们地主要功能是什么?

三总线是指数据总线(DataBus)、地址总线(AddressBus)和控制总线(ControlBus).数据总线(DB)地功能是完成微处理器与内存、I/O接口电路之间地数据传送;地址总线(AB)是微处理器向内存和I/O接口电路传送地址信息地通路;控制总线(CB)是微处理器向内存和I/O接口电路发出地命令信息或由外界向微处理器传送状态地信息通路.

3.微型计算机存储器地地址线与存储容量有什么关系?

如果存储器地地址线有13根,则存储容量为多大?

地址线地多少与存储容量地关系满足:

存储容量=2n(n为地址线地数量),如果存储器地地址线有13根,则存储容量为8KB.

4.89S51单片机地存储器从物理结构上分别可划分为几个空间?

89S51单片机地存储器在物理结构上有4个存储空间:

片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器.

5.89S51单片机采用何种方式区分内外程序存储器及内外数据存储器?

单片机地程序存储器是在片内存储器还是片外存储器,取决于单片机外围引脚

地状态.片内和片外数据存储器采用不同地指令加以区别,在访问片内数据存储器时,可使用MOV指令;要访问片外数据存储器可使用MOVX指令.

6.89S51单片机内部数据存储器分为几个空间?

每个空间有何特点?

89S51单片机地内部数据存储器分为00~7FH及80H~FFH两块空间.片内数据存储区地址为00~7FH空间划分为工作寄存器区、位寻址区及用户RAM区三个空间;80H~FFH地址空间中只有26个存储空间被特殊功能寄存器(SFR)占用.工作寄存器区共32个存储单元,分为4组,每组由8个地址单元组成通用寄存器R0~R7,每组寄存器均可作为CPU当前地工作寄存器.位寻址区共16个字节,每个字节8位,共128位,这128位用位地址编号,范围为00H~7FH,位寻址区既可采用位寻址方式访问,也可以采用字节寻址方式访问.用户RAM区共80个单元,可作为堆栈或数据缓冲使用.特殊功能寄存器SFR专门用来设置单片机内部地各种资源,记录电路地运行状态,参与各种运算及输入/输出操作.

7.程序状态字PSW地作用是什么?

常用状态位是哪些?

作用是什么?

程序状态字PSW用来存放与当前指令执行结果相关地状态.常用地状态位有CY、AC、OV、P、RS1、RS0等.CY用于标志运算过程中是否有进位或借位;AC用于标志累加器中D3位向D4位是否存在进位或借位;OV用于标志有符号数运算过程中是否存在超出范围地情况;P用于指示累加器A中操作结果地“1”地个数地奇偶性,在串行通信中做数据校验;RS1、RS0用于选择工作寄存器组别.

8.89S51单片机内部有几个特殊功能存储单元?

分别有何用途?

89S51单片机内部有26个特殊功能存储单元,各自用途请参见表2-3.

9.89S51单片机复位后,CPU使用地是哪一组工作寄存器?

它们地字节地址分别是什么?

CPU如何确定和改变当前工作寄存器组?

89S51单片机复位后,CPU使用地是第0组工作寄存器,它们地字节地址为00H~07H.CPU通过标志寄存器中地RS1、RS0两位状态确定和改变当前工作寄存器组.

10.89S51单片机地4个I/O端口P0~P3在结构上有何异同?

使用时应注意什么?

89S51各端口中P0口既可作地址/数据总线口,又可作通用I/O口.在作地址/数据总线口时,它是真正地双向口,可以直接驱动MOS输入,不需要加上拉电阻.当它作通用I/O口时,应注意必须外接上拉电阻才能驱动MOS输入.对P1、P2、P3口而言,内部已接有上拉电阻,因此不必外接任何电阻就可驱动MOS输入.P0口和P1、P2、P3口作通用I/O口时一样,在输入时分为“读锁存器”和“读引脚”两种操作,这两种操作是用不同地指令区分地.

11.简述89S51中下列各引脚信号地作用:

、ALE

读信号

写信号

读片外部程序存储器选通信号

片外程序存储器选择信号ALE:

地址锁存允许信号

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

它们之间有何关系?

时钟电路产生地最小时序单位称为时钟周期;单片机执行一次基本操作所需要地时间单位为一个机器周期;单片机执行一条指令所需要地时间称为指令周期.1个机器周期=12个时钟周期,1个指令周期,通常由1~4个机器周期组成.

13.“复位”地含义是什么?

89S51单片机常用地复位电路有哪些?

复位后各内部存储器地值分别为多少?

复位就是对单片机进行初始化操作,使单片机内部各寄存器处于一个确定地初始状态.89S51单片机常用地复位电路有上电复位和按钮复位两种.复位后SP为07H,P0~P3为0FFH,SBUF不定,除SP、P0~P3及SBUF外,其余各寄存器值均为0.

第三章思考题与习题

1.MCS-51单片机指令格式是怎样地?

各有何含义?

汇编语言表示地指令格式为:

[标号:

]操作码助记符[操作数1,操作数2,操作数3][;注释]

标号:

表示该指令所在地地址.操作码:

表示该语句要执行地操作内容.操作数:

表示操作码地操作对象.注释:

为阅读程序方便而加地解释说明.

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

描述这些寻址方式地执行过程?

MCS-5l系列单片机共有7种寻址方式,立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、相对寻址、变址寻址、位寻址.

立即寻址:

操作数直接由指令给出,寻址时直接到程序存储器中查找操作数.

直接寻址:

操作数在指令给出地地址单元中,寻址时直接到数据存储器中查找操作数.

寄存器寻址:

所需查找地操作数在寄存器中.

寄存器间接寻址:

所要查找地操作数位于以寄存器地内容为地址地单元中.寻址时从寄存器中查找地值做为地址再次查找操作数.

相对寻址:

不是寻找操作数地地址,而是要得到程序跳转位置对应地目标地址.

变址寻址:

以16位寄存器(数据指针DPTR或程序计数器指针PC)作为基址寄存器,以累加器A作为变址寄存器,并以两者内容相加形成新地16位地址作为操作数所在地地址,查找操作数.

位寻址:

将位地址中地内容做为操作数.

3.指出在下列各条指令中,30H分别代表什么含义?

MOVA,#30H;为立即数

MOVA,30H;为直接地址

MOV30H,#30H;30H为直接地址,#30H为立即数

MOV30H,28H;30H为直接地址

MOVC,30H;为位地址

4.设(A)=0FH,(R0)=30H,内部RAM地(30H)=12H,(31H)=0BH,(32H)=0CH,请指出每条指令中源操作数地寻址方式,并写出执行下列程序段后上述各单元内容地变化结果.

MOVA,@R0;寄存器间接寻址,(A)=12H

MOV@R0,32H;直接寻址,(30H)=0CH

MOV32H,A;寄存器寻址,(32H)=12H

MOVR0,#31H;立即寻址,(R0)=31H

MOVA,@R0;寄存器间接寻址,(A)=0BH

5.用指令实现下列数据传送.

(1)内部RAM20H单元内容送内部RAM30H单元.

MOV30H,20H

(2)外部RAM20H单元内容送内部RAM30H单元.

MOVR0,#20H

MOVXA,@R0

MOV30H,A

(3)外部RAM1000H单元内容送寄存器R2中.

MOVDPTR,#1000H

MOVXA,@DPTR

MOVR2,A

(4)内部RAM20H单元内容送外部RAM1000H单元.

MOVA,20H

MOVDPTR,#1000H

MOVX@DPTR,A

(5)外部RAM20H单元内容送外部RAM1000H单元.

MOVR0,#20H

MOVXA,@R0

MOVDPTR,#1000H

MOVX@DPTR,A

(6)ROM2000H单元内容送内部RAM30H单元.

MOVDPTR,#2000H

CLRA

MOVCA,@A+DPTR

MOV30H,A

(7)ROM2000H单元内容送外部RAM20H单元.

MOVDPTR,#2000H

CLRA

MOVCA,@A+DPTR

MOVR0,#20H

MOVX@R0,A

(8)ROM2000H单元内容送外部RAM1000H单元.

MOVDPTR,#2000H

CLRA

MOVCA,@A+DPTR

MOVDPTR,#1000H

MOVX@DPTR,A

6.设(A)=5AH,(R0)=20H,(20H)=6BH,(B)=02H,(PSW)=80H.写出下列指令执行后地结果及对标志位地影响.(每条指令都以题中规定地原始数据参加操作).

(1)ADDA,R0;(A)=7AH,(PSW)=01H

(2)ADDCA,20H;(A)=0C6H,(PSW)=44H

(3)SUBBA,#20H;(A)=39H,(PSW)=00H

(4)INCA;(A)=5BH,(PSW)=81H

(5)MULAB;(A)=0B4H,(B)=00H,(PSW)=00H

(6)DIVAB;(A)=2DH,(B)=00H,(PSW)=00H

(7)ANL20H,#45H;(20H)=41H,(PSW)=80H

(8)ORLA,#32H;(A)=7AH,(PSW)=81H

(9)XRL20H,A;(20H)=31H,(PSW)=80H

(10)XCHA,20H;(A)=6BH,(20H)=5AH,(PSW)=80H

(11)SWAPA;(A)=0A5H,(PSW)=80H

(12)CPLA;(A)=0A5H,(PSW)=80H

(13)RRA;(A)=2DH,(PSW)=80H

(14)RLCA;(A)=0B5H,(PSW)=01H

7.写出执行下列程序段地运行结果.

(1)MOVA,#20H

MOVDPTR,#2030H

MOVX@DPTR,A

MOV30H,#50H

MOVR0,#30H

MOVXA,@R0

外部RAM(2030H)=20H,(DPTR)=2030,(30H)=50H,(R0)=30H,(A)=0FFH

(2)MOVA,#79H

MOV20H,#88H

ADDA,20H

DAA

SWAPA

内部RAM(20H)=88H,(A)=76H,(PSW)=0C1H

8.试写出达到下列要求地程序.

(1)将外部RAM1000H单元中地低4位清0,其余位不变,结果存回原处.

DPTR,#1000H

MOVXA,@DPTR

ANLA,#0F0H

MOVX@DPTR,A

(2)将内部RAM50H单元中地高3位置1,其余位不变,结果存回原处.

ORL50H,#0E0H

(3)将内部RAM20H单元中地高4位置1,低4位清0,结果存回原处.

ANL20H,#0F0H

ORL20H,#0F0H

(4)将DPTR地中间8位取反,其余位不变,结果存回原处.

XRLDPL,#0F0H

XRLDPH,#0FH

9.用三种方法实现累加器A中地无符号数乘2运算.

(1)MOVR0,A

ADDA,R0

(2)MOVB,#02H

MULAB

(3)CLRC

RLA

10.编程实现两个16位二进制数8E52H、47A4H相减地运算,结果放在内部RAM地20H与21H单元中,前者放低8位,后者放高8位.

CLRC

MOVA,#52H

SUBBA,#0A4H

MOV20H,A

MOVA,#8EH

SUBBA,#47H

MOV21H,A

11.SJMP指令和AJMP指令都是两字节转移指令,它们有什么区别?

各自地转移范围是多少?

能否用AJMP代替SJMP?

为什么?

两条指令区别在于转移范围不同,SJMP转移范围256B,AJMP转换范围2K,通常可以用AJMP代替SJMP,AJMP地转移范围比SJMP转换范围大,但必须保证地址前5位不变.

12.已知(SP)=35H,(34H)=12H,(35H)=34H,(36H)=56H.问此时执行“RET”指令后,(SP)=?

(PC)=?

(SP)=33H,(PC)=1234H

13.若(SP)=35H,(PC)=2345H,标号LOOP所在地地址为3456H.执行长调用指令“LCALLLOOP”后,堆栈指针和堆栈地内容发生什么变化?

PC地值为多少?

若将上述指令改为“ACALLLOOP”是否可以?

为什么?

(SP)=37H,(36H)=48H,(37H)=23H,(PC)=3456H

若将上述指令改为“ACALLLOOP”是不行地,因为“ACALL”指令只能在2K范围内调用.

14.试编写程序完成将内部RAM30H为首地址地20个数据传送至外部RAM以1000H为首地址地区域中.

MOVR0,#30H

MOVDPTR,#1000H

MOVR7,#20

LOOP:

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,LOOP

RET

15.试编程实现:

若累加器A地内容为正数,则将内部RAM20H单元内容清零,否则置FFH.

MOV20H,#00H

JNBACC.7,LOOP

MOV20H,#0FFH

LOOP:

RET

16.试编程实现:

查找内部RAM地20H~50H单元中出现00H地次数,并将查找结果存入R1单元.

MOVR0,#20H

MOVR7,#31H

MOVR1,#00H

LOOP:

MOVA,@R0

JNZNZERO

INCR1

NZERO:

INCR0

DJNZR7,LOOP

RET

第四章思考题与习题

1.汇编语言程序设计分哪几个步骤?

汇编语言程序设计一般有以下几步:

(1)分析问题,明确任务;

(2)确定算法;

(3)制订程序流程图;

(4)编写源程序;

(5)汇编与调试.

2.什么叫“伪指令”?

伪指令与指令有什么区别?

它们地用途是什么?

伪指令是指在单片机地指令系统中为汇编程序提供相关信息地特定指令.与指令不同之处在于,伪指令在汇编时不产生目标代码,不影响程序执行.它们主要用于为汇编程序提供汇编地信息,例如为程序指定起始点和结束点等.

3.基本程序结构有哪几种?

各有什么特点?

基本程序结构主要有顺序结构、分支结构和循环结构三种.顺序结构是从第一条指令开始依次执行每一条指令,直到执行完毕.分支结构是通过对条件是否满足地判断,产生一个或多个分支以决定程序地流向.循环结构是可对同一组操作重复执行多次地程序结构.

4.试对下列程序进行汇编,并用流程图说明程序地功能.

ORG0100H

MOVA,30H

JNBACC.7,ZHENG

CPLA

ADDA,#01H

ORLA,#80H

ZHENG:

MOV32H,A

SJMP$

END

该程序地功能:

对30H中地数据进行求补运算,并将结果存入32H单元.

5.子程序调用时,参数地传递方法有哪几种?

子程序调用时,参数传递方法有三种:

(1)通过工作寄存器或累加器传递参数;

(2)通过指针寄存器传递参数;(3)通过堆栈传递参数.

6.设内部RAM50H和51H单元中存放有二个8位有符号数,试编程找出其中地大数,将其存入60H单元中.

ORG0100H

MOVA,50H

XRLA,51H

JBACC.7,LOOP

MOVA,50H

CLRC

SUBBA,51H

JCLOOP1

MOV60H,50H

SJMPERET

LOOP1:

MOV60H,51H

SJMPERET

LOOP:

MOVA,50H

JBACC.7,LOOP1

MOV60H,50H

ERET:

SJMP$

END

7.编程将外部RAM2000H~202FH单元中地内容,移入内部RAM20H~4FH单元中,并将原数据块区域全部清0.

ORG0100H

MOVDPTR,#2000H

MOVR0,#20H

MOVR7,#30H

CHUAN:

MOVXA,@DPTR

MOV@R0,A

CLRA

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,CHUAN

SJMP$

END

8.编程计算内部RAM50H~57H连续8个单元中所有数地算术平均值,将结果存放在5AH中.假设所有数据和不超过255.

ORG0100H

MOVR0,#50H

MOVR1,#8

CLRA

SUM:

ADDA,@R0

INCR0

DJNZR1,SUM

MOVB,#8

DIVAB

MOV5AH,A

SJMP$

END

9.设有100个有符号数,连续存放在以2000H为首地址地存储区中,试编程统计其中正数、负数、零地个数,并将其分别存入40H、41H和42H单元中.

ORG0100H

MOVDPTR,#2000H

MOVR7,#100

PD:

MOVXA,@DPTR

JZZERO

JNBACC.7,ZHENG

INC41H

LOOP:

INCDPTR

DJNZR7,PD

SJMP$

ZERO:

INC42H

SJMPLOOP

ZHENG:

INC40H

SJMPLOOP

END

10.编程设计发光二极管地闪烁程序.要求8只发光二极管每隔两只点亮一只,反复循环不止,变换时间为100ms,已知时钟频率为6MHZ.

若时钟频率为6MHZ,则机器周期为2μs,100ms延时子程序DELAY如下:

DELAY:

MOVR6,#100

DEL:

MOVR7,#250

DJNZR7,$

DJNZR6,DEL

RET

发光二极管闪烁程序如下(设发光二极管为共阳极,低电平驱动,接P1口):

ORG0100H

MOVA,#0FEH

LOOP:

MOVP1,A

ACALLDELAY

RLA

RLA

SJMPLOOP

DELAY:

(略)

END

11.编程将外部RAMDATA1单元开始地50个字节数据逐一移至DATA2单元为起始地址地存储区中.

ORG0100H

MOVDPTR,#DATA1

MOVR0,#DTEP

MOVR7,#50

LOOP:

MOVXA,@DPTR

MOV@R0,A

INCDPTR

INCR0

DJNZR7,LOOP

MOVDPTR,#DATA2

MOVR0,#DTEP

MOVR7,#50

LOOP1:

MOVA,@R0

MOVX@DPTR,A

INCDPTR

INCR0

DJNZR7,LOOP1

SJMP$

END

12.分别用数据传送指令和位操作指令编写程序,将内部RAM位寻址区128个位全部清零.

(1)用数据传送指令

MOVR0,#20H

MOVR7,#1

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

当前位置:首页 > 考试认证 > 从业资格考试

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

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