单片机应用与实践Word格式文档下载.docx

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

单片机应用与实践Word格式文档下载.docx

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

单片机应用与实践Word格式文档下载.docx

(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×

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:

再加入”$”这个字符

MOV30H,A;

存结果

END

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

参考程序:

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

DJNZR2,LP

CLRP3.5

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,执行以下程序段

9.执行以下程序段

MOVR0,#data

MOVA,@R0

RLA

MOVR1,A

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

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:

CJNEA,#0,L1

INC32H

SJMPL2

L2:

JCL3

INC30H

L3:

INC31H

DJNZR1,L4

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

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

MOVR7,#05H;

R7为转换字节数

MOVR0,#20H;

R0为源操作数地址

MOVR1,#25H;

R1为目的操作数地址

NE:

MOVA,@R0

ANLA,#0FH;

先取低位BCD码

ADDA,#30H;

将BCD码转换成ASCⅡ码

MOV@R1,A

ANLA,#0F0H;

取高位BCD码

SWAPA;

半字节交换

将高位BCD码转换成ASCⅡ码

DJNZR7,NE

五、编程设计题(每小题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

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

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

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

一、填空题(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

DJNZR7,DL2

DJNZR6,DL1

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

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

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

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

边沿触发。

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

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

(15%,每小题5分)

1、执行下列程序:

MOV21H,#0A7H

MOV22H,#10H

MOVR0,#22H

MOV31H,21H

ANL31H,#2FH

SWAPA

结果:

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

2、执行下列程序:

MOVR0,#60H

MOVA,#0AH

RRA

ADDA,#0FH

DECR0

(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

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

MOVDPTR,#0020H

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

MOVDPTR,#1000H

MOVDPTR,#0020H

MOVX@DPTR,A

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

MOVDPTR,#2000H

MOVA,#0

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

SETBET1

ORG2000H

T1_INT:

CPLP1.7

五、有一脉冲信号如下图

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

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

(15%)

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

LJMPI_INT0

ORG0050H

SETBEX0

MOVR7,#0

I_INT0:

INCR7

CJNER7,#2,GORETI

CPLP1.0

GORETI:

六、下图为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