单片机应用与实践.docx

上传人:b****5 文档编号:5684509 上传时间:2022-12-31 格式:DOCX 页数:48 大小:47.15KB
下载 相关 举报
单片机应用与实践.docx_第1页
第1页 / 共48页
单片机应用与实践.docx_第2页
第2页 / 共48页
单片机应用与实践.docx_第3页
第3页 / 共48页
单片机应用与实践.docx_第4页
第4页 / 共48页
单片机应用与实践.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

单片机应用与实践.docx

《单片机应用与实践.docx》由会员分享,可在线阅读,更多相关《单片机应用与实践.docx(48页珍藏版)》请在冰豆网上搜索。

单片机应用与实践.docx

单片机应用与实践

《单片机应用与实践》试卷一

一.选择题(正确答案在序号前打√,每小题2分,共30分)

1、下列有关MCS-51中断优先级控制的叙述中,错误的是

(A)低优先级不能中断高优先级,但高优先级能中断低优先级

(B)同级中断不能嵌套

(C)同级中断请求按时间的先后顺序响应

(D)同时同级的多中断请求,将形成阻塞,系统无法响应

2、外中断初始化的内容不包括

(A)设置中断响应方式(B)设置外中断允许

(C)设置中断总允许(D)设置中断方式

3、执行中断返回命令,要从堆栈弹出断点地址,以便去执行被中断了的主程序。

从堆栈弹出的断点地址送给

(A)A(B)CY(C)PC(D)DPTR

4、在MCS-51中,需要外加电路实现中断撤除的是

(A)定时中断(B)脉冲方式的外部中断

(C)串行中断(D)电平方式的外部中断

5、中断查询,查询的是

(A)中断请求信号(B)中断标志位

(C)外中断方式控制位(D)中断允许控制位

6、在下列寄存器中,与定时/计数控制无关的是

(A)TCON(定时控制寄存器)(B)TMOD(工作方式控制寄存器)

(C)SCON(串行控制寄存器)(D)IE(中断允许控制寄存器)

7、下列定时/计数硬件资源中,不是供用户使用的是

(A)高8位计数器TH(B)低8位计数器TL

(C)定时器/计数器控制逻辑(D)用于定时/计数控制的相关寄存器

8、在工作方式0下计数器是由TH的全部8位和TL的5位组成,因此其计数范围是

(A)1~8192(B)0~8191(C)0~8192(D)1~4096

9、与定时工作方式1和0比较,定时工作方式2不具备的特点是

(A)计数溢出后能自动重新加载计数初值

(B)增加计数器位数

(C)提高定时精度

(D)适于循环定时和循环计数应用

10.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为

(A)6H(B)37H(C)38H(D)39H

11.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下程序段

ANLA,#17H

ORL17H,A

XRLA,@R0

CPLA

后,A的内容为

(A)CBH(B)03H(C)EBH(D)C8H

12.串行通信的传送速率单位是波特,而且波特的单位是

(A)字符/秒(B)位/秒(C)帧/秒(D)帧/分

13.三态缓冲器的输出应具有三种状态,其中不包括

(A)高阻抗状态(B)低阻抗状态(C)高电平状态(D)低电平状态

14.为给扫描法工作的键盘提供接口电路,在接口电路中只需要

(A)一个输入口(B)一个输入口和一个输出口

(C)一个输出口(D)两个输入口和一个输出口

15.内部RAM中的位寻址区定义的位是给

(A)位操作准备的(B)移位操作准备的

(C)控制转移操作准备的(D)以上都对

二.填空题(每空1分,共24分)

1.假定外部数据存储器2000H单元的内容为80H,0000H单元的内容为90H,执行下列指令后,累加器A中的内容为(80H)。

MOVP2,#20H

MOVR0,#00H

MOVXA,@R0

2.假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:

PUSHACC

PUSHB

后,SP的内容为(62H),61H单元的内容为(30H),62H单元的内容为(70H)。

3.设A=01××××××B,×表示随机状态,为1或0,执行指令ORLA,#03H后A=(01××××11B)

4.假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H。

执行指令:

INCA

INCR3

INC30H

INC@R0

后,累加器A的内容为(00H),40H的内容为(01H)。

5.在MCS—51中PC和DPTR都用于提供地址,但PC是为访问(程序)存储器提供地址,而DPTR是为访问(数据)存储器提供地址。

6.MCS-51可提供(程序)和(数据)两种存储器、最大存储空间可达(64K)的两个并行存储器扩展系统。

7.扩展存储器而构造系统总线,应以P0口的8位口线作为(低位地址/数据)线,以P2口的口线作为(高位地址)线。

8、设A=58H,执行指令ADDA,#99H后,A=(0F1H),C=(0),再执行指令DAA后A=(57H),C=

(1)。

9、计算延时程序的执行时间。

(设时钟f=12MHz)

源程序指令周期(M)指令执行次数

DELAY:

MOVR6,#64H1

(1)

I1:

MOVR7,#0FFH1(100)

I2:

DJNZR7,I22(100*255)

DJNZR6,I12(100)

RET2

(1)

延时时间t=(1×1+1×100+2×100×255+2×100+2×1)×T=51.3ms

三.简答题(每小题5分,共10分)

1.单片机复位的作用是什么?

有几种复位方法?

复位后单片机的状态如何(写出PC、PSW、SP、DPTR、P0、P1、P2、P3寄存器的状态值)?

1.答:

(1)复位的作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作。

(2)复位方法有上电自动复位和按键手动复位

(3)复位后单片机的状态为:

PC=0000H、PSW=00H、SP=07H、DPTR=0000H、P0、P1、P2、P3各为FFH

2.何为单片机的中断系统?

80C51单片机有几个中断源?

CPU响应中断时,中断入口地址各是多少?

2.答:

(1)中断:

程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去;完成中断服务程序后,CPU继续执行原来被打断的程序。

(2)80C51单片机有5个中断源,分别是INT0、INT1、T0、T1和串行中断。

(3)CPU响应中断时,中断入口地址如下:

中断源入口地址

INT00003H

INT1000BH

T00013H

T1001BH

串行中断0023H

四.编程题(每小题8分,共16分)

1.设在内RAM40H开始的存储区有若干个字符和数字,已知最后一个为字符“$“(并且只有一个,试统计这些字符数字的个数,结果存入30H单元中。

参考程序:

ORG0000H

START:

MOVR1,#40H;R1作为地址指针

CLRA;A作为计数器

LOOP:

CJNE@R1,#24H,NEXT;与“$”号比较,不等转移

SJMPNEXT1;找到“$“结束循环

NEXT:

INCA;计数器加1

INCR1;指针加1

SJMPLOOP;循环

NEXT1:

INCA;再加入”$”这个字符

MOV30H,A;存结果

END

2.试编一程序,分别统计在内部RAM的30H~50H单元的数据区中奇数和偶数的个数,并将奇数和偶数的个数分别存放在51H和52H单元中。

参考程序:

ORG0000H

MOV51H,#0H

MOV52#,#0H

MOVR1,#30H

MOVR0,#20H

MOVA,@R1

INCR1

ANLA,#01H

JZLOOP1

INC51H

SJMPLOOP2

LOOP1:

INC52H

LOOP2:

DJNZR0,LOOP3

RET

五.编程设计题(每小题10分,共20分)

1.用8XX51的P1口接8个LED发光二极管,由INT0接一消抖按键开关,开始P1.0的LED亮,以后由INT0按键每中断一次,下一个LED亮,顺序下移,且每次只一个LED亮,周而复始。

请编制程序。

参考程序:

ORG0000H

AJMPMAIN

ORG0003H

RLA;中断服务

MOVP1,A

RETI

MAIN:

MOVA,#0FFH

MOVP1,A;第一灯亮

SETBEA

SETBEX0;允许INT0外部中断

SETBIT0;中断触发方式为下降沿触发

SJMP$;等待中断

2.如图示,为应用串行口扩展并行静态显示电路,试编一子程序将内RAM中50H、51H单元内容(0~9)分别在数码管上显示出来(只要求编写发送子程序)。

LED数码管为共阳顺序,其0~9的字段码分别为C0H、F9H、A4H、B0H、99H、92H、82H、F8H、80H、90H。

参考程序:

DIR2:

SETBP3.5

MOVR2,#02H

MOVR1,#50H

MOVDPTR,#TAB

LP:

MOVA,@R1

MOVCA,@A+DPTR

MOVSBUF,A

JNBTI,$

CLRTI

INCR1

DJNZR2,LP

CLRP3.5

RET

TAB:

DB0C0H、F9H、A4H、B0H、99H、92H、82H、F8H、80H、90H。

 

《单片机应用与实践》试卷二

一.选择题(正确答案在序号前打√,每小题2分,共20分)

1.单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS—51的PC为16位,因此其寻址范围是

(A)4KB(B)64KB(C)8KB(D)128KB

2.PC的值是

(A)当前指令前一条指令的地址(B)当前正在执行指令的地址

(C)下一条指令的地址(D)控制器中指令寄存器的地址

3.以下运算中对溢出标志OV没有影响或不受OV影响的运算是

(A)逻辑运算(B)符号数加减法运算

(C)乘法运算(D)除法运算

4.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为

(B)6H(B)37H(C)38H(D)39H

5.在MCS—51中

(A)具有独立的专用的地址线

(B)由P0口和P1口的口线作地址线

(C)由P0口和P2口的口线作地址线

(D)由P1口和P2口的口线作地址线

6.在寄存器间接寻址方式中,指定寄存器中存放的是

(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量

7.执行返回指令时,返回的断点是

(A)调用指令的首地址(B)调用指令的末地址

(C)调用指令下一条指令的首地址(D)返回指令的末地址

8.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下程序段

ANLA,#17H

ORL17H,A

XRLA,@R0

CPLA

后,A的内容为

(A)CBH(B)03H(C)EBH(D)C8H

9.执行以下程序段

MOVR0,#data

MOVA,@R0

RLA

MOVR1,A

RLA

RLA

ADDA,R1

MOV@R0,A

后,实现的功能是

(A)把立即数data循环左移3次(B)把立即数data乘以10

(C)把data单元的内容循环左移3次(D)把data单元的内容乘以10

10.如在系统中只扩展一片Intel2732(4KХ8),除应使用P0口的8条口线外,至少还应使用P2口的口线

(A)4条(B)5条(C)6条(D)7条

二、判断题(正确打√,错误打ⅹ,每小题1分,共5分)

1.用户构建单片机应用系统,只能使用芯片提供的信号引脚。

()

2.程序计数器(PC)不能为用户使用,因此它就没有地址。

()

3.内部RAM的位寻址区,只能供位寻址使用而不能供字节寻址使用。

()

4.在程序执行过程中,由PC提供数据存储器的读/写地址。

()

5.80C51共有21个专用寄存器,它们的位都是可用软件设置的,因此是可以进行位寻址的。

()

三、指出下列程序的功能(每小题5分,共10分)

1.

ORG0200H

MOVDPTR,#1000H

MOVR0,#20H

LOOP:

MOVXA,@DPTR

MOV@R0,A

INCDPTR

INCR0

CJNER0,#71H,LOOP

SJMP$

程序功能:

把片外数据存储器1000H~1050H中的内容传送到片内数据存储器20H~70H中。

2.ORG0200H

MOVA,R0

ANLA,#0FH

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVR0,A

SJMP$

TAB:

DB30H,31H,32H,33H,34H,35H,36H,37H,38H,39H;0~9的ASCⅡ码

DB41H,42H,43H,44H,45H,46H;A~F的ASCⅡ码

程序功能:

利用查表的方法实现RO中的十六进制数转换为ASCⅡ码

四、编程题(每小题10分,共20分)

1.设有100个有符号数,连续存放在以2000H为首地址的存储区中,试编程统计其中正数、负数、零的个数并分别存放在30H、31H、32H单元中。

参考程序:

MOV30H,#0

MOV31H,#0

MOV32H,#0

MOVDPTR,#2000H

MOVR1,#100

L4:

MOVXA,@DPTR

INCDPTR

CJNEA,#0,L1

INC32H

SJMPL2

L2:

JCL3

INC30H

SJMPL2

L3:

INC31H

L2:

DJNZR1,L4

SJMP$

2.编程将内部数据存储器20H~24H单元压缩的BCD码转换成ASCⅡ存放在于25H开始的单元。

参考程序:

注意压缩的BCD码为一个字节占两位BCD码。

ORG0000H

MOVR7,#05H;R7为转换字节数

MOVR0,#20H;R0为源操作数地址

MOVR1,#25H;R1为目的操作数地址

NE:

MOVA,@R0

ANLA,#0FH;先取低位BCD码

ADDA,#30H;将BCD码转换成ASCⅡ码

MOV@R1,A

INCR1

MOVA,@R0

ANLA,#0F0H;取高位BCD码

SWAPA;半字节交换

ADDA,#30H;将高位BCD码转换成ASCⅡ码

MOV@R1,A

INCR0

INCR1

DJNZR7,NE

SJMP$

END

五、编程设计题(每小题15分,共45分)

1、设计一串行通信接收程序,将接收的16个数据存入片内50H~5FH中,串行口为方式1,波特率为1200bps,SMOD=0,fosc=6MHz。

T1工作方式2:

,x=243=f3h

MOVTMOD,#00100000B

MOVSCON,#01010000B

MOVPCON,#00H

MOVTH1,#0F3H

MOVTL1,#0F3H

CLRES

MOVR7,#16

MOVR0,#50H

SETBTR1

WAIT:

JNBRI,WAIT

CLRRI

MOV@R0,SBUF

INCR0

DJNZR7,WAIT

2.如下图所示。

每按一次开关K产生一个负脉冲作用于INT0,作为中断请求信号。

单片机每响应一次中断请求,就从开关读入数据,然后送到发光二极管显示(开关合上使对应的灯亮)。

参考程序:

ORG0000H

AJMPMAIN

ORG0003H

AJMPSINT0

ORG0100H

SETBIT0

SETBEX0

SETBEA

HERE:

AJMPHERE

SINT0:

MOVA,#0FFH

MOVP1,A

MOVA,P1

SWAPA

ORLA,#0FH

MOVP1,A

RETI

3.编制一个循环闪烁灯的程序。

设80C51单片机的P1口作为输出口,经驱动电路(74LS240:

8反相三态缓冲/驱动器)接8只发光二极管,如图所示。

当输出位为"1"时,发光二极管点亮,输出位为“0”时为暗。

试编程实现:

每个灯闪烁点亮10次,再转移到下一个灯闪烁点亮10次,循环不止。

(不要求编写子程序,设延时1秒的子程序名为DY1S)

参考程序:

ORG0200H

FLASH:

MOVA,#01H

FSH0:

MOVR2,#0AH

FLOP:

MOVP1,A

LCALLDY1S

MOVP1,#00H

LCALLFLOP

DJNZR2,FLOP

RLA

SJMPFSH0

RET

《单片机应用与实践》试卷三

一、填空题(20%,每空1分)

1、MCS-51单片机的存储空间包括程序存储器____和数据存储器,它们的可寻址范围分别为

64KB和64KB。

2、若PSW的内容是10H,那么R3的地址是13H。

3、指令MOVA,@R0中,R0中的内容是指操作数的地址。

4、已知SP=25H,PC=2345H,标号Label的地址为3456H,问执行LCALLLabel指令后,堆栈指针SP=27H,(26H)=48H,(27H)=23H,PC=3456H。

5、当晶振频率为12MHZ时,下面这个子程序延时时间为4.3ms。

DL:

MOVR6,#100

DL1:

MOVR7,#4

DL2:

MULAB

MULAB

DJNZR7,DL2

DJNZR6,DL1

RET

6、决定程序执行的顺序是PC寄存器,该寄存器复位时的值为0000H。

7、当定时/计数器选定为定时器方式时,是对片内机器周期脉冲数进行计数,选定为计数器方式时,是对片外脉冲进行计数。

8、51单片机的中断系统最多可以有2个嵌套。

9、MCS-51的外部中断的触发方式有两种,分别为电平触发和

边沿触发。

10、串行通信根据通信的数据格式分有两种方式,分别是同步方式和异步方式。

二、下列列出几个程序段,请分别求出执行后的结果。

(15%,每小题5分)

1、执行下列程序:

MOV21H,#0A7H

MOV22H,#10H

MOVR0,#22H

MOV31H,21H

ANL31H,#2FH

MOVA,@R0

SWAPA

结果:

(31H)=27h,A=01h。

2、执行下列程序:

MOVR0,#60H

MOVA,#0AH

RRA

MOV@R0,A

ADDA,#0FH

DECR0

MOV@R0,A

结果:

(60H)=05h,(5FH)=14h。

3、执行下列程序:

MOVA,#83H

MOVR0,#47H

MOV47H,#34H

ANLA,#47H

ORL47H,A

XRLA,@R0

结果:

R0=47h,A=34h。

三、编写指令段完成下列数据传送。

(15%,第1小题3分,其余每小题4分)

(1)R1内容送给R0;

MOVA,R1

MOVR0,A

(2)外部RAM0020H单元内容送给R0;

MOVDPTR,#0020H

MOVXA,@DPTR

MOVR0,A

(3)外部RAM1000H单元内容送给外部RAM0020H单元;

MOVDPTR,#1000H

MOVXA,@DPTR

MOVDPTR,#0020H

MOVX@DPTR,A

(4)ROM2000H单元内容送给外部RAM0020H单元。

MOVDPTR,#2000H

MOVA,#0

MOVCA,@A+DPTR

MOVDPTR,#0020H

MOVX@DPTR,A

4、试编程要求用T1定时器控制P1.7引脚输出周期为40ms、占空比为50%的矩形脉冲。

要求主程序入口地址0050H及中断服务子程序入口地址2000H。

fosc=6MHz(15%)

方式1:

(216-x)×2=20000,x=dbf0h

ORG000H

LJMPMAIN

ORG001BH

LJMPT1_INT

ORG050H

MAIN:

MOVTMOD,#00010000B

MOVTH1,#0D8H

MOVTL1,#0F0H

SETBEA

SETBET1

SETBTR1

SJMP$

ORG2000H

T1_INT:

CPLP1.7

MOVTH1,#0D8H

MOVTL1,#0F0H

RETI

五、有一脉冲信号如下图

(1),要求用8051单片机将该信号进行4分频,即输出信号如下图

(2)所示,请说明清楚信号的输入和输出引脚,且编程实现该功能。

(15%)

 

采用外部中断0方式,信号从INT0(P3.2)引脚输入,从P1.0引脚输出

ORG0000H

LJMPMAIN

ORG0003H

LJMPI_INT0

ORG0050H

MAIN:

SETBIT0

SETBEA

SETBEX0

MOVR7,#0

SJMP$

I_INT0:

INCR7

CJNER7,#2,GORETI

CPLP1.0

MOVR7,#0

GORETI:

RETI

六、下图为8031扩展3片8K的程序存储器2764,图中硬件电路已经连接了一部分,请用片选法将剩下的相关硬件电路连接完成,并写出每一片2764的地址范围。

(20%)

地址范围:

(1):

c000h~dfffh

(2):

a000h~bfffh

(3):

6000h~7fffh

《单片机应用与实践》试卷四

一、填空题(35%)

1、MCS-51的复位条件是在RST端保持至少2个机器周期的高电平。

复位后,CPU从0000H单元开始执行程序,PC=0000H,SP=07H,PSW=00H。

2、在下列情况引脚应接何种电平?

(1)只有片内ROM,=1;

(2)只有片外ROM,=0;

(3)有片内、片外ROM,=1;(4)有片内ROM但不用,而用片外ROM,=0。

3、若PSW的内容为18H,则工作寄存器R0的地址是18H。

4、10根地址线可选1024个存储单元,32KB存储单元需要15根地址线。

5、若8031单片机的晶振频率fosc=12MHz,则时钟周期为1/12us,状态周期为1/6us,机器周期为1us,执行MULAB指令需要时间为4us。

6、8031单片机指令MOV是访问内RAM及FSR,最大范围为256B,MOVX是访问外RAM,最大范围为64KB,MOVC是访问ROM,最大范围为64KB。

7、指令POPB的源操作数是SP,是寄存器间接寻址寻址方式,目的操作数是B,

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

当前位置:首页 > 医药卫生 > 基础医学

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

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