单片机技术与应用项目教材习题答案.docx

上传人:b****5 文档编号:6370519 上传时间:2023-01-05 格式:DOCX 页数:24 大小:211.33KB
下载 相关 举报
单片机技术与应用项目教材习题答案.docx_第1页
第1页 / 共24页
单片机技术与应用项目教材习题答案.docx_第2页
第2页 / 共24页
单片机技术与应用项目教材习题答案.docx_第3页
第3页 / 共24页
单片机技术与应用项目教材习题答案.docx_第4页
第4页 / 共24页
单片机技术与应用项目教材习题答案.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

单片机技术与应用项目教材习题答案.docx

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

单片机技术与应用项目教材习题答案.docx

单片机技术与应用项目教材习题答案

项目一练习题

一、选择题

CDABDD

二、填空题

1.时钟振荡电路的引脚;2.用作地址指针;口;4.暂存数据和地址;

三、简答题

1.最小系统组成:

包括电源、时钟电路、复位电路、

引脚这几部分

2.发光二极管为共阳极时,阴极送低电平(指令CLR)使其点亮,送高电平(指令SETB)使其熄灭;发光二极管为共阴极时,所送指令相反。

3.SETB、CLR、ORG、LJMP、SJMP、END、ACALL、MOV、DJNZ

四、训练题

1.5BH

2.ORG0000H

START:

MOVC,;读取开关状态,保存在"C"中

ORLC,;两个开关有任意一个闭合(是或的关系),灯就亮

MOV,C;把"C"值输出到,控制发光二极管亮、灭

LJMPSTART

END

项目二练习题

一、选择题

ACDCCDB

二、填空题

1.P2口在通常应用情况下,作为高位地址线使用。

2.50H

3.(C)=1,(OV)=1,(A)=6FH

6EH,-146(6EH)

4.MOVA,#00H;

ANLA,#00H;

MOVA,#dataXRLA,#data;

CLRA

三、指令及编程训练

1.指出以下程序段每条指令执行的结果。

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

MOVDPTR,#2000H;(DPTR)=(2000H)

MOVX@DPTR,A;(2000H)=(10H)

MOVA,#0F0H;(A)=(0F0H)

2.顺序执行下列指令,写出执行结果。

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

MOVR0,#20H;(R0)=(20H)

MOV15H,R0;(15H)=(20H)

MOV@R0,A;(R0)=(20H)

MOV22H,A;(22H)=(20H)

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

MOVA,@R1;(A)=(20H)

MOV22H,A;(22H)=(20H)

MOV11H,22H;(11H)=(20H)

3.执行以上指令后(A)=23H。

4.执行以上指令后(A)=33H。

5.请写出完成下列操作的指令:

ANLA,#0F0H

ORLA,#0FH

XRLA,#0FH

CPLA

6.编写程序:

(1)ORG0000H

LJMPMOVE

ORG0030H

MOVE:

MOVR0,#00H

MOVR2,#10H

MOVA,#00H

M1:

MOV@R0,A

INCR0

INCA

DJNZR2,M1

END

(2)ORG0000H

LJMPMOVE

ORG0030H

MOVE:

MOVR0,#30H

MOVDPTR,#1000H

MOVR2,#10H

M3:

MOVXA,@DPTR

MOV@R0,A

INCR0

INCDPTR;将片外RAM的1000H-100FH单元中的数据搬到

DJNZR2,M3;片内RAM的30H-3FH单元

END

(3)提示:

可调用排序子程序实现。

(4)提示:

利用循环程序控制延时时间。

(5)ORG0000H

LOOP:

MOVR6,#8

MOVDPTR,#TABL

MOVR2,#0

LOOP1:

MOVA,R2

INCR2

MOVCA,@A+DPTR

MOVP1,A

LCALLDELAY;延时

LCALLDELAY;延时

DJNZR6,LOOP1

SJMP$

TABL:

DB4BH,0BFH,59H,0BFH,0FBH,0EH,0A9H

DELAY:

MOVR3,#0FFH;延时程序

DEL2:

MOVR4,#0FFH

DEL1:

NOP

NOP

NOP

NOP

NOP

DJNZR4,DEL1

DJNZR3,DEL2

RET

END

(6)ORG0000H

MAIN:

LOOP:

MOVR6,#16

MOVR5,#5

MOVDPTR,#TABL

MOVR2,#0

LOOP1:

MOVA,R2

INCR2

MOVCA,@A+DPTR

MOVP1,A

LCALLDELAY;延时

LCALLDELAY;延时

DJNZR6,LOOP1

LOOP2:

MOVP1,#00H;全亮

LCALLDELAY;延时

LCALLDELAY;延时

MOVP1,#0FFH;全灭

LCALLDELAY;延时

DJNZR5,LOOP2;循环5遍

SJMP$

TABL:

DB0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H

DB01H,03H,07H,0FH,1FH,3FH,7FH,0FFH

DELAY:

MOVR3,#0FFH;延时程序

DEL2:

MOVR4,#0FFH

DEL1:

NOP

NOP

NOP

NOP

DJNZR4,DEL1

DJNZR3,DEL2

RET

END

项目三练习题

一、选择题

ADDCBBD

二、填空题

1、中断响应;中断返回

2、中断嵌套

3、TCON、SCON、IE、IP;外部中断INT0、INT1,定时器中断T0、T1和串口中断

4、0003H、000BH、0013H、001BH、0023H

5、定时器中断请求、串行口中断请求、外部中断请求的撤除三种形式

6、中断源发出中断请求、CPU开放中断和申请中断的中断源允许;

CPU正在相应同级或高优先级的中断;当前指令未完成;正在执行RETI中断返回指令或访问专用寄存器IE和IP的指令

三、简答题

1、是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原程序的执行,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程。

中断的特点:

分时操作、实时处理、故障处理

2、中断标志

1)TCON寄存器中的中断标志

由IE寄存器产生,其地址为0A8H。

各位的内容及位地址表示如下:

·EA中断允许总控制位

EA=0中断总禁止,禁止所有中断。

EA=1中断总允许,总允许后中断的禁止或允许由各中断源中断允许控制位进行设置。

·EX0(EX1)外部中断允许拉制位

EX0(EX1)=0禁止外中断;EX0(EX1)=l允许外中断

·ET0和ET1定时/计数中断允许控制位

ET0(ET1)=0禁止定时(或计数)中断;ET0(ET1)=1允许定时(或计数)中断

·ES串行中断允许控制位

ES=0禁止串行中断;ES=1允许串行中断

2)SCON寄存器中的中断标志

SCON是串行口控制寄存器,其低2位TI和RI锁存串行口的接收中断标志和发送中断标志。

(1)TI:

串行发送中断标志。

CPU将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件将使TI置位。

但CPU响应中断时并不清除TI,必须由软件清除。

(2)RI:

串行接收中断标志。

在串行口允许接收时,每接收完一个串行帧,硬件将使RI置位。

同样,CPU在响应中断时不会清除RI,必须由软件清除。

3、外部中断可分为边沿触发型和电平触发型。

对于边沿触发的外部中断0或1,CPU在响应中断后由硬件自动清除其中断标志位IE0或IE1,无需采取其它措施。

对于电平触发的外部中断,其中断请求撤除方法较复杂。

因为对于电平触发外中断,CPU在响应中断后,硬件不会自动清除其中断请求标志位IE0或IE1,同时,也不能用软件将其清除,所以,在CPU响应中断后,应立即撤除

引脚上的低电平。

否则,就会引起重复中断而导致错误。

而CPU又不能控制

引脚的信号,因此,只有通过硬件再配合相应软件才能解决这个问题。

4、

(1)可能、其中串行口中断为高优先级,其余为低优先级

(2)、(3)、(4)均不可能

5、TCON、SCON、IE、IP;

四、训练题

1、查询方式中断方式

MAIN:

MOVTMOD,#09HMAIN:

MOVTMOD,#09H

MOVTL0,#00HMOVTL0,#00H

MOVTH0,#00HMOVTH0,#00H

L1:

JB,L1MOVIE,#81H

SETBTR0SETBIT0

L2:

JNB,L2LCALLDISPLAY

L3:

JB,L3INTR_0:

CLRTR0MOV40H,TL0

LCALLDISPLAYMOV41H,TL1

JB,$

SETBTR0

JNB,$

JB,$

CLRTR0

MOVTL0,#00H

MOVTH0,#00H

2、ORG0000H

MOVP3,#0FFH;开关控制二极管

MOVP1,#0FFH

MAIN:

JB,LOOP1

LOOP:

MOVR1,#5

MOVP1,#0FFH;8灯全灭

LCALLDELAY

MOVP1,#00H;8灯全亮

LCALLDELAY

DJNZR1,LOOP

SJMPNEXT2

LOOP1:

JB,LOOP2

MOVR2,#10H;

MOVA,#0FEH;送显示字

NEXT:

MOVP1,A

RLA

ACALLDELAY

DJNZR2,NEXT

MOVR2,#10H;右循环2次

MOVA,#07FH;送显示字

NEXT1:

MOVP1,A

RRA

ACALLDELAY

DJNZR2,NEXT1

SJMPNEXT2

LOOP2:

MOVP1,#0FFH;正常情况二极管常亮

NEXT:

SJMPMAIN

DELAY:

MOVR5,#10;延时时间:

2*250*100*10=500000us=

DEL1:

MOVR6,#100

DEL2:

MOVR7,#250

DEL3:

DJNZR7,DEL3;2us

DJNZR6,DEL2

DJNZR5,DEL1

RET

END

3、提示:

由于是多人参加选举,所以至少需要2位LED数

码管显示票数,但要区分当前显示是谁的票数,可采用LED

信号灯表示。

主程序、外部中断0和外部中断1的程序

流程图可参考如下:

 

主程序流程图

 

外部中断0流程图外部中断1流程图

项目四练习题

一、选择题

BACACBADD

二、填空题

1、工作方式、定时时间、计数值、计数启动/停止、中断请求

2、定时器T0、定时器T1、定时器方式寄存器TMOD、定时器控制寄存器TCON

3、GATE=0

4、JNBTF0,$

5、05H

6、控制定时器的工作方式;控制定时器的启停及溢出标志位

三、简答题

1、当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。

定时器的定时时间与系统的振荡频率紧密相关,因MCS-51单片机的一个机器周期由12个振荡脉冲组成,所以,计数频率

当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0()和T1()的外部信号计数,外部脉冲的下降沿将触发计数。

检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。

定时器一般常用在计时器、电子时钟、波形发生器、音乐演奏等计时场合,计数器用于计数场合。

2、MCS-51单片机的定时器/计数器是增1计数器。

增1和减1计数器在计数和计算计数初值的区别是增1计数器从初值开始,每次加法计数器加1,而减1计数器每次是减法计数器减1,一直减到初值。

3、当定时器/计数器工作于方式1下,晶振频率为6MHz,最短定时时间为2us,最长定时时间为。

4、定时器方式选择

M1M0

工作方式

功能说明

00

方式0

13位计数器

01

方式1

16位计数器

10

方式2

自动再装入8位计数器

11

方式3

定时器0:

分成两个8位计数器

定时器1:

停止计数

5、抖动时间的长短与开关的机械特性有关,一般为5-10ms。

为了保证CPU对键的一次闭合仅作一次键输入处理,克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。

在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。

独立式键盘其特点是:

配置灵活,软件结构简单,但是每个按键必须占用一个I/O口线,在按键数目较多时,占用I/O口资源较大。

一般仅用于按键数目不多的场合;矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。

在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。

因此通常用于按键较多的情况。

6、略。

7、ORG0000H

MOVTMOD,#02H;采用T0方式2

A1:

CLR

MOVTH0,#6AH;装入初值,定时300us的初值为6AH

MOVTL0,#6AH

SETBTR0;启动定时器

A2:

JBCTF0,A3;查询TF0,是否计满溢出

SJMPA2

A3:

SETB;P3。

0引脚电平值1

CLRTR0

MOVTL0,#0E7H;装初值,定时50us的初值为0E7H

MOVTH0,#0E7H

SETBTR0

A4:

JBCTF0,A1

SJMPA4

END

8、ORG0000H

MOVP3,#0FFH

MOVP2,#00H

KEY:

MOVA,P3

CJNEA,#0FFH,KK;是否有键按下?

AJMPKEY

KK:

MOVA,P3

CJNEA,#0FFH,KK1;消除按键抖动

AJMPKEY

KK1:

CJNEA,#0FEH,KK2

MOVP2,#06H

LCALLDELAY

AJMPLP

KK2:

CJNEA,#0FDH,KK3

MOVP2,#5BH

LCALLDELAY

AJMPLP

KK3:

CJNEA,#0FBH,KK4

MOVP2,#4FH

LCALLDELAY

AJMPLP

KK4:

CJNEA,#0F7H,KK5

MOVP2,#66H

LCALLDELAY

AJMPLP

KK5:

CJNEA,#0EFH,KK6

MOVP2,#6DH

LCALLDELAY

AJMPLP

KK6:

CJNEA,#0DFH,KK7

MOVP2,#7DH

LCALLDELAY

AJMPLP

KK7:

CJNEA,#0BFH,KK8

MOVP2,#07H

LCALLDELAY

AJMPLP

KK8:

CJNEA,#7FH,LP

MOVP2,#7FH

LCALLDELAY

LP:

AJMPKEY

DELAY:

MOVR5,#01H;延时子程序

D1:

MOVR6,#28H

D2:

MOVR7,#5AH

DJNZR7,$

DJNZR6,D2

DJNZR5,D1

RET

END

9、通常键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。

项目五练习题

一、选择题

ABAADBAC

二、简答题

1、LED数码管就结构而言有:

共阴接法与共阳接法

不同的接法针对不同的数码管结构而设置,同时对同一字符显示需要输入的16进制代码也不同(共阴与共阳接法需输入的16进制代码呈反相关系);

2、多位LED数码管显示方法有两种:

并行显示与串行显示

并行显示速度快,占用机时少,显示可靠,但占用单片机引脚资源较多。

串行显示采用单片机串口进行输出数据,不占用单片机其他引脚资源,但显示时输出数据时间长,占用机时多。

3、LED静态显示这种显示占用机时少,显示可靠,但是使用元件比较多,价格相对较高,且线路比较复杂。

LED动态显示的优点是使用硬件少,因而价格低,线路简单,但是它需要微机循环执行显示程序,占用机时长,只要微机不执行显示程序,就立刻停止显示。

LED动态显示原理是微机定时对显示器件扫描,显示器件分时工作,每次只能有一个器件显示,利用人眼的暂停现象实现同时显示的假象。

三、问答题

(1)共阳极数码管

(2)数码管静态显示电路(3)74LS47是输出低电平有效的七段字形译码器,完成BCD码——数码管7段码的转换。

(4)

START:

MOVDPTR,#64FFH

MOVA,DATABUFF1

MOVX@DPTR,A

MOVDPTR,#63FFH

MOVA,DATBUFF2

MOV@DPTR,A

项目六练习题

一、选择题

BABCCAAD

二、判断题

××××××√

三、简答题

1、因为P0口是扩展储存器系统的多路低8位地址和数据总线,在访问外部存储器时,P0口分时用作输出外部储存器低8位地址和传送数据,为了在整个访问外部存储器期间,对外部存储器存在着有效的低8位地址信号,所以P0口需要外接一个地址锁存器。

ALE信号就是用来把P0口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低8位地址。

而P2口只用作扩展存储器系统的高8位地址线,并在整个访问外部存储器期间不变,所以不必外接地址锁存器。

2、由于对片外数据存储器和程序存储器的访问使用不同的指令及控制信号,所以允许两者地址重合,因为地址线为16位,故在片外可扩展的存储器最大容量为64KB,地址为0000-FFFFH。

3、因为P0口是扩展储存器系统的多路低8位地址和数据总线,在访问外部存储器时,P0口分时用作输出外部储存器低8位地址和传送数据,为了在整个访问外部存储器期间,对外部存储器存在着有效的低8位地址信号,所以P0口需要外接一个地址锁存器。

ALE信号就是用来把P0口输出的地址字节锁存在这个外接的锁存器中,再从锁存器输出外部存储器的低8位地址。

而P2口只用作扩展存储器系统的高8位地址线,并在整个访问外部存储器期间不变,所以不必外接地址锁存器。

4、2716是2K×8位的EPROM,6116是2K×8位的静态RAM,两者都仅需要11根地址线。

由于没有规定地址范围,故可按最简单的方式来连接,即省去地址译码器,程序存储器的地址必须从0开始,基本地址为0000H~07FFH。

数据存储器的地址为0000H~07FFH。

控制线的连接为/PSEN控制EPROM的读出,/RD和/WR控制RAM的读写,两个芯片的片选端都固定接地,连线图如图所示。

四、编程题

1、MOVR2,#00H;源数据缓冲器地址偏移量00H

MOVR3,#0AH;字节长度R3

MOVDPTR,#0100H;源数据缓冲区首地址DPTR

MOVA,R2;源地址偏移量A

MOVCA,@A+DPTR;传送一个数据

MOVX@DPTR,A

INCDPTR;源地址(目的地址)加1

DJNZR3,L1;数据全部传送完?

没传送完,转L1继续传送

SJMP$;结束

2、2×2行列式键盘电路如图所示

键盘扫描子程序:

KEY1:

ACALLKS1;调用判断有无键按下子程序

JNZLK1;有键按下,转LK1

AJMPKEY1;无键按下,返回

LK1:

ACALLT12MS;调延时12ms子程序

ACALLKS1;查有无键按下

JNZLK2;若有,则为键确实按下,转逐列扫描

AJMPKEY1;无键按下,返回

LK2:

MOVR4,#00H;首列号R4

MOVR2,#FEH;首列扫描字R2

LK4:

MOVA,R2;列扫描字P1口

MOVP1,A;使第一列线为0

MOVA,P1;读入行状态

JB,LONE;第0行无键按下,转查第一行

MOVA,#00H;第0行有键按下,该行首键号#00H   A

AJMPLKP;转求键号

LONE:

JB,NEXT;第一行无键按下,转查下一列

MOVA,#02;第一行有键按下,该行首键号#02  A

LKP:

ADDA,R4;键号=首行号+列号

PUSHACC;键号进栈保护

LK3:

ACALLKS1;等待键释放

JNZLK3;未释放,等待

POPAC;键释放,键号A

RET;键扫描结束

NEXT:

INCR4;列号加1,指向下一列

MOVA,R2;列扫描字A

JNB,KND;判断2列全扫描完?

扫描完,转KND

RLA;没扫描完,扫描字左移一位,形成下一列扫描字

MOVR2,A;扫描字R2

AJMPLK4;扫描下一列

AJMPKEY1;全扫描完,返回

MOVA,#FCH;全扫描字B

MOVP1,A;全扫描字所有行

MOVA,P1;读取列值

CPLA;取正逻辑,高电平表示有键按下

ANLA,#0C0H;屏蔽低6位,取高2位

RET;出口状态(A)!

=0,有键按

3、ORG1000H;指向显示缓冲区

MOVR0,#30H;显示字节数

MOVR2,#04;初始显示位置(最高位)

MOVP1,#08H;取1B

SDLAY:

MOVA,@R0;备份

MOVB,A;截取字节高位

ANLA,#0F0H;装入—

ORLP1,A;准备显示右一位

INCP1;取备份

MOVA,B;截取字节低位

SWAPA;

ANLA,#0F0H

ORLP1,A;装入并显示

INCP1;准备显示下一字节

INCR0

DJNZR2,SDLAY;4B未显示完循环

RET;显示完成

 

项目七练习题

一、选择题

DADACD

二、简答题

1、D/A转换器是将数字量转换成模拟量。

它的基本要求是输出电压V0应该和输入数字量D成正比,即:

V0=D*

其中:

为参考电压

每一个数字量都是数字代码的按位组合,每一位数字代码都有一定的“权”,对应一定大小的模拟量。

为了将数字量转换成模拟量,应该将其每一位都转换成相应的模拟量,然后求和即得到与数字量成正比的模拟量。

一般的D/A转换器都是按这一原理设计的。

D/A转换器的类型很多,实际应用的D/A转换器多采用T形电阻网络。

3、控制信号有:

START:

启动信号。

当START为高电平时,A/D转换开始。

EOC:

转换结束信号。

当A/D转换开始10us后EOC变为低电平;当A/D转换

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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