哈尔滨工业大学威海单片机原理及接口技术期末期终.docx

上传人:b****7 文档编号:10559079 上传时间:2023-02-21 格式:DOCX 页数:31 大小:210.74KB
下载 相关 举报
哈尔滨工业大学威海单片机原理及接口技术期末期终.docx_第1页
第1页 / 共31页
哈尔滨工业大学威海单片机原理及接口技术期末期终.docx_第2页
第2页 / 共31页
哈尔滨工业大学威海单片机原理及接口技术期末期终.docx_第3页
第3页 / 共31页
哈尔滨工业大学威海单片机原理及接口技术期末期终.docx_第4页
第4页 / 共31页
哈尔滨工业大学威海单片机原理及接口技术期末期终.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

哈尔滨工业大学威海单片机原理及接口技术期末期终.docx

《哈尔滨工业大学威海单片机原理及接口技术期末期终.docx》由会员分享,可在线阅读,更多相关《哈尔滨工业大学威海单片机原理及接口技术期末期终.docx(31页珍藏版)》请在冰豆网上搜索。

哈尔滨工业大学威海单片机原理及接口技术期末期终.docx

哈尔滨工业大学威海单片机原理及接口技术期末期终

2009年7月

《单片机原理及接口技术》期末

班级:

姓名:

学号:

成绩:

一、填空题(20分,每小题2分)

1、-19D的二进制的补码表示为11101101B。

2、89C51含4KB掩膜ROM,128B的RAM,在物理上有4个独立的存储器空间。

3、通过堆栈操作实现子程序调用,首先要把PC的内容入栈,以进行断点保护。

调用返回时再进行出栈操作,把保护的断点弹回PC。

4、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8块芯片。

5、PSW中RS1RS0=10H时,R2的地址为12H。

6、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令:

MOVCA,@A+DPTR

后,送入A的是程序存储器8140H单元的内容。

7、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填执行结果。

PUSH30H;SP=61H,(SP)=24H

PUSH31H;SP=62H,(SP)=10H

POPDPL;SP=61H,DPL=10H

POPDPH;SP=60H,DPH=24H

MOVA,#00H

MOVX@DPTR,A

最后执行结果是执行结果将0送外部数据存储器的2410H单元。

8、在中断系统中,T0和T1两引脚扩展成外部中断源时,计数初值应当是(TH)=(TL)=0FFH。

9、12根地址线可寻址4KB存储单元。

二、选择题(10分,每小题1分)

1、MCS-51响应中断时,下面哪一个条件不是必须的(C)

(A)当前指令执行完毕(B)中断是开放的

(C)没有同级或高级中断服务(D)必须有RETI

2、执行PUSHACC指令,MCS-51完成的操作是(A)

(A)SP+1→SP,(ACC)→(SP);(B)(ACC)→(SP),SP-1→SP

(C)SP-1→SP,(ACC)→(SP);(D)(ACC)→(SP),SP+1→SP

3、89C51是(C)

(A)CPU(B)微处理器

(C)单片微机(D)控制器

4、关于MCS-51的堆栈操作,正确的说法是(C)

(A)先入栈,再修改栈指针(B)先修改栈指针,再出栈

(C)先修改栈指针,再入栈(D)以上都不对

5、某种存储器芯片是8KB×4片,那么它的地址线根数是(B)

(A)11根(B)13根(C)12根(D)14根

6、MOVC,#00H的寻址方式是(A)

(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址

7、必须进行十进制调整的十进制运算(C)

(A)有加法和减法(B)有乘法和除法

(C)只有加法(D)只有减法

8、ORG0000H

AJMP0040H

ORG0040H

MOVSP,#00H当执行完左边的程序后,PC的值是(C)

(A)0040H(B)0041H(C)0042H(D)0043H

9、MCS-51复位时,下述说法正确的是(D)

(A)(20H)=00H(B)SP=00H(C)SBUF=00H(D)TH0=00H

三、简答分析题(30分,每小题10分)

1、简述89C51定时器的四种工作模式的特点,如何选择和设定。

答:

89C51定时器的四种工作模式有,模式1,模式2,模式3。

模式0时:

选择定时器的高8位和低5位组成13位定时器/计数器。

TL低5位溢出时向TL进位,TH溢出时向中断标志位TF0进位,并申请中断。

定时时间t=(213-初值)×振荡周期×12;计数长度为213=8192个外部脉冲。

模式1时:

当TMOD中的M1M0置成01时,定时器工作于方式1,构成16位定时器/计数器。

定时时间t=(216-初值)×振荡周期×12;计数长度为216=65536个外部脉冲。

模式2时:

把TL0和TL1配置成一个可以自动重装载的8位定时器/计数器。

TL担任8位计数器,TH保存初值,TL溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载在TL中。

定时时间t=(28-初值)×振荡周期×12;计数长度为28=256个外部脉冲。

模式3时:

方式3是两个8位定时/计数器模式,只适用于T0。

TH0和TL0成为两个独立的8位计数器。

TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。

TH0仅用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭受TR1的控制。

T1无此模式。

选择和设定:

由定时器的2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON两个8位寄存器,设置各个定时器的操作模式和控制功能。

2、位地址7CH与字节地址7CH如何区别?

位地址7CH具体在片内RAM中的什么位置?

答:

字节地址是片内RAM的单元地址,而位地址是片内RAM单元的某一位。

7CH字节地址RAM的7CH单元,而7CH位地址是RAM2FH单元中的D4位。

四、编程题(任选2题,20分,每题10分)

1、编写一程序,实现下图中的逻辑运算电路。

其中P3.1、P1.1、P1.0分别是单片机端口线上的信息,RS0、RS1是PSW寄存器中的两个标志位,30H、31H是两个位地址,运算结果由P1.0输出。

ORG0000H

MOVC,P3.1

ANLC,P1.1

CPLC

MOV20H,C;暂存数据

MOVC,30H

ORLC,/31H

ANLC,RS1

ANLC,20H

ANLC,RS0

MOVP1.0,C;输出结果

SJMP$

2、写一个软件延时1S和1min的子程序。

设fosc=6MHz,则1个机器周期=2μs。

解:

(1)1s=2μs×5×105

5×105=250×2000=250×200×5×2

ORG0000H

DELAY1S:

MOVR5,#5

DEL1:

MOVR6,#200

DEL2:

MOVR7,#250

DEL3:

DJNZR7,DEL3

DJNZR6,DEL2

DJNZR5,DEL1

RET

(3)1min=60S,调用上面1s子程序60次

ORG0100H

DELAY1M:

MOVR0,#60

LOOP:

LCALLDELAY1S

DJNZR0,LOOP

RET

 

3、编一子程序,从串行接口接受一个字符.

解:

START:

MOVTMOD,#20H;定时器T1工作于模式2

MOVTH1,#0E6H;设置波特率为1200b/s

MOVTL1,#0E6H

SETBTR1;启动T1

MOVSCON,#50H;串行接口工作于方式1,允许接收

L1:

JNBRI,L1;等待接收数据,末接收到数据,继续等待

CLRRI;接收到数据,清RI

MOVA,SBUF;接收到数据送A

RET

 

五、设计题(任选1题,20分,评分标准硬件设计、程序设计各10分)

1、利用89C51的P0口控制8个发光二极管LED。

相邻的4个LED为一组,使2组每隔1s交替发光一次,周而复始。

设计出硬件电路图,编写程序。

解:

(1)程序设计(设fosc=12MHz)

ORG0100H

MOVA,#0FH

ABC:

MOVP0,A

ACALLDELAY1S

SWAPA

SJMPABC

DELAY1S:

MOVR5,#04

DEL1:

MOVR6,#250

DEL2:

MOVR7,#250

DEL3:

NOP

NOP

DJNZR7,DEL3

DJNZR6,DEL2

DJNZR5,DEL1

RET

END

(2)硬件电路图如图:

2、现有一蜂鸣器,用89C51设计一系统,使蜂鸣器周而复始地响20ms,停20ms,编程。

解:

设fosc=12MHz,电路图如下:

定时时间:

应用公式t=(216-X)×12/fosc

X=216-t(fosc/12)=216-20000=45536=B1E0H

程序清单:

ORG0000H

LJMPSTART

ORG0040H

START:

MOVTMOD,#01H

MOVTL0,#OB1H

MOVTHO,#OE0H

SETBTR0

LOOP:

JNBTFO,DONE

CLRTF0

DONE:

MOVTL0,#OB1H

MOVTHO,#OE0H

CPLP1.0

SJMPLOOP

2008年7月

《单片机原理及接口技术》期末

班级:

姓名:

学号:

成绩:

一、填空题(20分,每小题2分)

1、十进制数-47用8位二进制补码表示为11010001B。

2、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制。

3、JBC00H,rel操作码的地址为2000H,rel=70H,它的转移目的地址为2073H。

4、一个机器周期=12时钟周期,一个时钟周期=2个振荡周期,一个振荡周期=1个节拍。

5、用串口扩展并行口时,串行接口工作方式应选为方式0。

6、A/D转换器的三个最重要指标是转换速度、分辨率、转换精度。

7、当89C51的RST引脚上保持2个机器周期以上的低电平,8051即发生复位。

8、MCS-51中,外部中断请求标志位是IE0和IE1。

9、假定(SP)=60H,(ACC)=30H,(B)=70H。

执行下列指令:

PUSHACC

PUSHB

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

10、在直接寻址方式中,以8位二进制数作为直接地址,因此其寻址对象只限于片内RAM。

二、选择题(10分,每小题2分)

1、MCS-51在响应中断时,下列哪种操作不会发生(A)

(A)保存累加器A(B)保护PC

(C)找到中断入口(D)保护PC转入中断入口

2、MCS-51上电复位后,SP的内容是(B)

(A)00H(B)07H(C)60H(D)70H

3、PC中存放的是(A)

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

(C)当前正在执行的指令的地址(D)下一条要执行的指令

4、当8031外扩程序存储器8KB时,需使用EPROM2716(C)

(A)2片(B)3片(C)4片(D)5片

5、可以为访问程序存储器提供或构成地址的有(C)

(A)只有程序计数器PC(B)只有PC和累加器A

(C)只有PC、A和数据指针DPTR(D)PC、A、DPTR和SP

6、对程序存储器的读操作,只能使用(D)

(A)MOV指令(B)PUSH指令

(C)MOVX指令(D)MOVC指令

7、下面哪种设备不是输入设备(C)

(A)A/D转换器(B)键盘

(C)打印机(D)扫描仪

8、要访问MCS-51的特殊功能寄存器应使用的寻址方式是(A)

(A)直接寻址(B)寄存器间接寻址

(C)变址寻址(D)相对寻址

9、执行MOVXA,@DPTR指令时,MCS-51产生的控制信号(C)

(A)/PSEN(B)ALE(C)/RD(D)/WR

10、下面哪种指令将MCS-51的工作寄存器置成3区(B)

(A)MOVPSW,#13H(B)MOVPSW,#18H

(C)SETBPSW.4CLRPSW.3(D)SETBPSW.3CLRPSW.4

三、简答分析题(30分,评分标准:

每小题各10分)

1、89C51单片机片内设有几个定时器/计数器?

它们是由哪些特殊功能寄存器组成?

作定时器时,定时时间与哪些因数有关?

作计数器时,对外界计数频率有何限制?

答:

8051单片机片内设有2个定时器/计数器:

定时器/计数器1和定时器/计数器0,由THO、TLO、TH1、TL1、TMOD、TCON特殊功能寄存器组成。

作定时器时,定时时间与定时器的工作模式、定时器的计数初值以及单片机的晶振频率有关。

作计数器时,对外界计数频率不能高于振荡频率的1/24。

2、简述程序状态字寄存器PSW中各位的含义。

并说出选择工作寄存器组位的编码。

答:

程序状态字寄存器PSW:

程序状态字寄存器PSW:

是一个8位寄存器,用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。

定义格式如下。

其中,CY:

进借位标志;AC:

辅助进借位标志;F0:

软件标志;OV:

溢出标志;F1:

用户标志位;P:

奇偶校验标志;RS1、RS0:

工作寄存器组选择(如表所示)。

表工作寄存器组选择控制表

RS1RS0

寄存器组

对应RAM地址

00

0

00H∽07H

01

1

08H∽0FH

10

2

10H∽17H

11

3

18H∽1FH

3、阅读下列程序,并要求:

(1)说明程序功能;

(2)写出涉及的寄存器及片内RAM单元的最后结果

MOVR0,#40H

MOVA,@R0

INCR0

ADDA,@R0

INCR0

MOV@R0,A

CLRA

ADDCA,#0

INCR0

MOV@R0,A

答:

(1)功能:

将40H,41H单元中的内容相加结果放在42H单元,进位放在43H,

(2)(R0)=43H;(A)=1;(40H)=98H,(41H)=AFH;(42H)=47H,(43H)=01H。

四、编程题(任选2题,20分,评分标准:

每小题各10分)

1、将以7000H为首址的连续100个单元清零。

解:

MAIN:

MOVDPTR,#7000H

MOVR0,#100

CLRA

NEXT:

MOVX@DPTR,A

INCDPTR

DJNZR0,NEXT

RET

2、在AT89S51片内RAM20H~3FH单元中有32B数据,若采用方式1进行串行通讯,波特率为1200波特,fOSC=12MHz,编写发送/接收程序对。

解:

(1)T1工作于方式2作为波特率发生器,取SMOD=0,T1的计数如下:

波特率=

1200=

得:

X=230=E6H

(2)发送程序:

(采用查询方式编程)

ORG0000H

LJMPSTART

ORG0030H

START:

MOVTMOD,#20H

MOVTH1,#0E6H

MOVTL1,#0E6H

SETBTR1

MOVSCON,#40H

MOVR0,#20H

MOVR7,#32

LOOP:

MOVSBUF,@R0

JNBTI,$

CLRTI

INCR0

DJNZR7,LOOP

SJMP$

(3)接收程序

ORG0000H

LJMPSTART

ORG0030H

START:

MOVTMOD,#20H

MOVTH1,#0E6H

MOVTL1,#0E6H

Loop1:

SETBTR1

MOVSCON,#50H

MOVR0,#20H

MOVR7,#32

LOOP:

JNBRI,$

CLRRI

MOV@R0,SBUF

INCR0

DJNZR7,LOOP1

SJMP$

3、设单片机采用89C51,未扩展片外ROM,片外RAM采用一片6116,编程将其片内ROM从0100H单元开始的10B得内容依次外接到片外RAM从100H单元开始的10B中去。

解:

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

MOVR3,#0AH;字节长度→R3

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

MOVA,R2;源地址偏移量→A

L1:

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

MOVX@DPTR,A

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

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

没传送完,转L1继续传送

SJMP$;结束

五、设计题(20分)

设计89C51和ADC0809接口,采集2通道10个数据,存入内部RAM的50H~59H单元,画出电路图,编出程序,IN2的地址。

解:

硬件电路设计如图:

(评分标准:

10分)

IN2的地址为7FFAH,P1.0查询转换结束信号。

(评分标准:

2分)

程序设计如下:

(评分标准:

8分)

ORG0100H

MOVR7,#0AH

MOVR0,#50H

MOVDPTR,#7FFAH

NEXT:

MOVX@DPTR,A

JBP1.0.$

MOVXA,@DPTR

MOV@R0,A

INCR0

DJNZR7,NEXT

SJMP$

 

2007年7月

《单片机原理及接口技术》期末

班级:

姓名:

学号:

成绩:

一、填空题(20分,评分标准:

每小题各2)

1、十进制数-29的8位补码表示为11100011B。

2、MCS-51有7种寻址方式,特殊功能寄存器只能采用直接寻址方式。

3、MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器SCON加以选择。

4、MCS-51有5个中断源,有2个中断优先级,优先级由软件填写特殊功能寄存器IP加以选择。

5、假定(A)=56H,(R5)=67H。

执行指令:

ADDA,R5

DAA

后,累加器A的内容为23H,CY的内容为1。

6、假定标号qaz的地址为0100H,标号qwe值为0123H(即跳转的目标地址为0123H)。

执行指令:

qaz:

SJMPqwe

该指令的相对偏移量为0123H-0102H=21H。

7、MCS-51单片机访问片外存储器时,利用ALE信号锁存来自P0口的低8位地址信号。

8、MCS-51单片机片内RAM的工作寄存器区共有32个单元,分为4组寄存器,每组8个单元,以R0~R7作为寄存器名。

9、MCS-51单片机中P0口作地址/数据总线,传送地址码的低8

位;P2口作地址总线,传送地址码的高8位。

二、选择题(20分,评分标准:

每小题各2分)

1、在中断服务程序中,至少应有一条(D)

(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令

2、ORG2000H

LCALL3000H

0RG3000H

RET左边程序执行完RET指令后,PC=(C)

(A)2000H(B)3000H(C)2003H(D)3003H

3、要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是(A)

(A)98H(B)84H(C)42H(D)22H

4、若某存储器芯片地址线为12根,那么它的存储容量为(C)

(A)1KB(B)2KB(C)4KB(D)8KB

5、下面哪种外设是输出设备(A)

(A)打印机(B)纸带读出机(C)键盘(D)A/D转换器

6、下面哪一个部件不是CPU的指令部件(C)

(A)PC(B)IR(C)PSW(D)ID

7、以下运算中对溢出标志OV没有影响或不受OV影响的运算是(A)

(A)逻辑运算(B)符号数加减法运算(C)乘法运算(D)除法运算

8、以下指令中,属于单纯读引脚的指令是(C)

(A)MOVP1,A(B)ORLP1,#0FH

(C)MOVC,P1.5(D)DJNZP1,short-lable

9、在异步通讯接口,其帧格式由1个起始位(0)、7个数据位、1个偶校验和1个停止位“1”组成。

当该接口每分钟传送1800个字符时,传送波特率为(D)

(A)1800b/s(B)10b/s(C)3000b/s(D)300b/s

10、各中断源发出的中断请求信号,都会标记在MCS-51系统的(B)

(A)TMOD(B)TCON/SCON(C)IE(D)IP

三、判断题(10分,评分标准:

每小题各1分)

1、MCS-51的程序存储器只是用来存放程序的。

(×)

2、当MCS-51上电复位时,堆栈指针(SP)=00H。

(×)

3、判断以下指令段的正误。

(×)

MOVP2,#30H

MOVR2,#57H

MOVXA,@R2

4、0070H80FEHERE:

SJMPHERE执行该指令后,程序将原地踏步。

(√)

5、51单片机内部有两片寄存器,既是工作寄存器和专用寄存器,因在同片内RAM,则它们是统一编址。

(√)

6、要进行多机通讯,MCS-51串行接口的工作方式应选方式1。

(×)

7、定时器工作于方式2,若GATE=1、TR0=1、INT0=1就可启动定时/计数器。

(√)

8、使用89C51且/EA=1时,仍可外扩64KB的程序存储器。

(×)

9、MCS-51的相对转移指令最大负跳距是127B。

(×)

10、PC存放的是当前正在执行的指令。

(×)

四、简答分析编程题(任选3题,30分,评分标准:

每小题各10分)

1、89C51单片机片内设有几个定时器/计数器?

它们是由哪些SFR组成?

定时器/计数器作定时和计数时,其计数脉冲分别由谁提供?

答:

89C51单片机片内设有2个定时器/计数器:

定时器/计数器0和定时器/计数器1。

由TH0、TL0、TH1、TL1、TMOD、TCON特殊功能寄存器组成。

作定时器时,计数脉冲来自单片机内部,其频率为振荡频率的1/12;

作计数器时,计数脉冲来自单片机外部,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。

计数的最高频率一般为振荡频率的1/24。

2、简述89C51单片机的中断响应过程。

答:

单片机如查询到某个中断标志为1,将按优先级进行中断处理。

中断得到响应后,对于有些中断源,CPU在响应中断后会自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。

3、编程实现多字节无符号数加法

解:

编程说明:

多字节运算一般是按从低字节到高字节的顺序依次进行的

入口:

(R0)=被加数低位地址指针

(R1)=加数低位地址指针

(R2)=字节数

出口:

(R0)=和数低位地址指针

程序清单如下:

ADDBIN:

CLRC

LOOP1:

MOVA,@R0

ADDCA,@R1

MOV@R0,A

INCR0

INCR1

DJNZR2,LOOP1

JNCLOOP2

MOV@R0,#01H

RET

LOOP2:

DECR0

RET

4、将定时器/计数器做脉冲信号发生器。

编程利用定时器T0定时,在P1.0端输出周期性方波信号,方波周期为2ms,已知晶振频率为6MHz。

答:

1)T0工作模式的设定:

选择模式1(16位方式)(最大定时131ms)

2)定时初值的设定:

X=216-(1ms×6×106/12)=65036=FE0CH,即:

TH0应装0FEH,TL0应装0CH。

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

当前位置:首页 > 自然科学 > 化学

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

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