文档库 最新最全的文档下载
当前位置:文档库 › 单片机原理及应用作业参考答案

单片机原理及应用作业参考答案

单片机原理及应用作业参考答案
单片机原理及应用作业参考答案

单片机原理及应用作业参考答案

1.2 单片机的结构特点表现在哪些主要方面?

答:(1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使用两个不同的地址指针;

(2)在内部有一个全双工的串行接口;

(3)有一个独立进行操作的位处理器。

1.4 通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则是什么?

答:通用单片机的供应状态主要取决于片内ROM的配置状态。

(1)片内ROM的配置状态

掩膜ROM,适合于低成本。大批量产品的场合

(2)片内EPROM配置状态

可通过高压脉冲写入应用程序到EPROM,适合于开发样机,小批量生产。

(3)片内无ROM配置状态

必须外扩EPROM,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应用场合。

2.3 单片机的EA端有何功用?8031的EA端应如何处理,为什么?

答:EA端是访问外部程序存储器的控制信号:当EA无效时,访问内部ROM,当EA为有效时,访问外部ROM。由于8031没有内部ROM,所以EA端必须接低电平。

2.4 MCS-51引脚中有多少I/O线?它们与单片机对外的地址总线、数据总线和控制总线有什么关系?地址总线和数据总线各是几位?

答:MCS-51引脚中有32根I/O线,一般由P0口提供单片机对外的数据总线,同时作为分时复用的地址总线的低8位,由P2口作为地址总线的高8位,控制总线由第二功能的状态下的P3口以及RST、EA、ALE和PSEN提供。

2.5 8051单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点?

答:数据存储器主要分为两个区域:00H~7FH是真正的RAM区,80H~FFH专门用作特殊功能寄存器的区域。其中00H~7FH可分为三个区域:00H~1FH为四组工作寄存器;20H~2FH为128位位寻址区,30H~7FH为一般RAM区。

2.6 单片机对外有几条专用控制线?其功能是怎样的?

答:单片机对外的专用控制线有4条,分别是:

(1)PSEN:外部取指操作,在访问外部ROM时,PSEN信号自动产生;

(2)ALE/PROG:ALE为地址锁存允许信号,在访问外部ROM或RAM时,用来锁存P0口的低8位地址。第二功能PROG是对8751的EPROM编程时,编程脉冲输入。

(3)EA/V PP:EA是访问外部程序存储器的控制信号,EA无效时,访问内部ROM,EA有效时,访

问外部ROM,第二功能V PP为对8751EPROM的21V编程电源输入。

(4)RST/V PD:RST是复位信号输入端,第二功能V PD是备用电源输入端。

2.8 有哪几种方法使单片机复位?复位后各寄存器、RAM中的状态如何?

答:单片机的复位方式有两种,上电自动复位和按钮复位。复位后各寄存器状态为:

PC 0000H ACC 00H PSW 00H SP 07H DPTR 0000H

P0~P3FFH IP XX000000B IE 0X000000B TMOD 00H

TCON 00H TL0 00H TH0 00H TL1 00H TH1 00H

SCON 00H SBUF XXH PCON 0XXX0000B

2.9 在8051扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线上出现争总线的现象?为什么?

答:不会发生争总线的现象,因为从外部ROM取指令需要用ALE和PSEN信号控制读取操作,由P2和P0提供地址;而片外数据存储器的读写除了地址之外还要RD、WR控制,所以不会争总线。

2.10 如果8051端口P0~P3作为通用I/O口使用,则在输入引脚数据时应注意什么?

答:8051的P1、P2和作为一般输入I/O口的P以及第一功能的P3口均为准双向口,在输入数据时应先向端口写1,然后方可作为高阻输入。以使其场效应管T2截止,才不会影响输入电平。

3.2 若要完成以下的数据传送,应如何用MCS-51的指令实现?

(1)R1的内容传送到R0

MOV A,R1

MOV R0,A

(2)外部RAM20H单元的内容传送到R0 MOV R0,#20H

MOVX A,@R0

MOV R0,A

(3)外部RAM20H单元的内容传送到内部RAM20H单元

MOV R0,#20H

MOVX A,@R0

MOV 20H,A

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

MOV DPTR,#1000H

MOVX A,@DPTR

MOV 20H,A (5)ROM2000H单元的内容传送到R0

MOV DPTR,#2000H

CLR A

MOVC A,@A+DPTR

MOV R0,A

(6)ROM2000H单元的内容传送到内部RAM20H单元MOV DPTR,#2000H

CLR A

MOVC A,@A+DPTR

MOV 20H,A

(7)ROM2000H单元的内容传送到外部RAM20H单元MOV DPTR,#2000H

CLR A

MOVC A,@A+DPTR

MOV R0,#20H

MOVX @R0,A

3.3 间接转移指令JMP @A+DPTR有何优点?为什么它能代替众多的判跳指令?试举例说明。

答:该间接转移指令的转移地址由A的内容和数据指针DPTR的内容之和决定,且两者都是无符号数,由DPTR决定多分支转移程序的首地址,由A的不同值实现多分支转移。因为可以根据A的内容进行分支转移,所以可以替代众多判跳指令。

如:根据A的内容调用相应的程序,如A为0调用OP0,A为1调用OP1,这里A的值小于128。MOV DPTR,#OPTAB

RL A

JMP @A+DPTR

OPTAB: ACALL OP0

ACALL OP1

ACALL OP2

3.4 设内部RAM的30H单元的内容为40H,即(30H)=40H,还知(40H)=10H,(10H)=00H,端口P1=0CAH。问执行以下指令后,各有关存储器单元、寄存器以及端口的内容(即R0、R1、A、B、P1以及40H、30H、10H单元的内容)。

MOV R0,#30H ;(R0)=30H

MOV A,@R0 ;(A)=(30H)=40H

MOV R1,A;(R1)=40H

MOV B,@R1 ;(B)=(40H)=10H

MOV @R1,P1 ;(40H)=0CAH

MOV P2,P1 ;(P2)=0CAH

MOV 10H,#20H ;(10H)=20H

MOV 30H,10H ;(30H)=20H

3.5 已知8751单片机的P1口为输出,经驱动电路接有8只发光二极管。当输出位是1时,发光二极管点亮;输出位是0时发光二极管熄灭。试分析下述程序的执行过程及发光二极管的发光情况。

LP: MOV P1,#81H ;1000 0001B LCALL DELAY

MOV P1,#42H ;0100 0010B

LCALL DELAY

MOV P1,#24H ;0010 0100B

LCALL DELAY

MOV P1,#18H ;0001 1000B LCALL DELAY

MOV P1,#24H ;0010 0100B LCALL DELAY

MOV P1,#42H ;0100 0010B LCALL DELAY

SJMP LP

答:程序执行MOV P1,#DA TA后,根据DA TA的每位的值点亮相应的LED,调用延时程序使点亮的LED 保持一段时间。LED发光的情况为:每次同时点亮两个LED并从两边向中间移动,然后再向两边移动,并一直循环。

3.6 在上题中,若系统的晶体振荡器频率为6MHz,求子程序DELAY的延时时间。

DELAY: MOV R2,#0FAH ;①2μS

L1: MOV R3,#0FAH ;②2μS

L2: DJNZ R3,L2 ;③4μS

DJNZ R2,L1 ;④4μS

RET ;⑤4μS

0FAH=250D

其中③执行250次,执行时间为250×4μS

其中②③④循环250次,该循环执行时间为(2+250×4+4)×250μS

加上①和⑤的执行时间,DELAY的延时时间为2+(2+250×4+4)×250+4=251.506ms

延时程序的设计:

首先设计内循环:

MOV R3,#data1 ;2μs

NOP ;2μs

DJNZ R3,$ ;4μs×data1

延时时间t1=2+2+4×data1=4×(data1+1)=1000μs=1ms,则data1=249

若需要大于1ms时间,则先增加一层循环

MOV R2,#data2 ;2μs

L1: MOV R3,#data1 ;2μs

NOP ;2μs

DJNZ R3,$ ;4μs×data1

DJNZ R2,L2 ;(4μs+t1)×data2

延时时间为:2+(4μs+t1)×data2=2+[4μs+4×(data1+1)]×data2=

=2+4×(data1+2)×data2=250ms,这里将data1修正为248,

2+4×(248+2)×data2=2+1000×data2=250ms则data2=250

3.7 根据图3-3线路,试设计灯亮移位程序,使8只发光二极管每次亮一个,循环右移或左移,一个一个地亮,循环不止。

MOV A,#80H

DIS: MOV P1,A

ACALL DELAY

RR A

AJMP DIS

3.8 设逻辑运算表达式为:

?

+

Y+

=

?

+

A

(F

(

)

)

E

C

D

B

其中变量A,B,C分别为P1.0、P1.4、定时器1溢出标志TF1,D,E,F分别为22H.0、22H.3、外中断方式标志IE1;输出变量为P1.5。试编写实现上述逻辑功能的程序段。

MOV C,P1.4

ORL C,/TF1 ;)

B+

(C

ANL C,P1.0 ;)

?

A+

B

(C

MOV F0,A;用户自定义标志位,暂存数据

MOV C,22H.3

ORL C,/IE1 ;)

E+

(F

ANL C,22H.0 ;)

?

D+

E

(F

CPL C ;)

?

D+

E

(F

ORL C,/F0 ;)

A+

?

+

+

?

B

)

C

(F

(

E

D

MOV P1.5,C

4.1 试设计数据块传送程序,将起始地址为0400H的100个连续单元中的内容送到以4000H为首址的区域中去

解:分析:地址为16位,且进行数据传送,所以连续单元应为外部的存储器,只能使用外部数据传送指令,由于源和目的地址都为16位,所以要保存DPTR的值,但源低8位和目的低8位相同,可以用一个寄存器保存。

MOV R0,#00

NEXT: MOV DPH,#04H

MOV DPL,R0

MOVX A,@DPTR

MOV DPH,#40H

MOVX @DPTR,A

INC R0

CJNE R0,#100,NEXT

4.2 试编写程序,计算片内RAM区40H~47H8个单元中数的算术平均值,结果存放在4AH中。

解:分析:8个数总和最大值为FFH×8=7F8H,所以求和时必须用两字节加法,设R7保存和高8位,R6保存低8位,求和后再除以8即得算术平均值,这里需使用16/8除法,但因为除数为23,所以可以直

接通过算术右移3位实现除以8,前提存储的数据为无符号数。

MOV R0,#40H

MOV R6,#00H ;和低字节清零

MOV R7,#00H ;和高字节清零

NEXT : MOV A,@R0 ;取出一个字节

INC R0 ;地址指针下移

ADD A,R6 ;低字节求和

MOV R6,A ;保存和的低字节

CLR A

ADDC A,R7 ;如果低字节求和有进位,则加至高字节

MOV R7,A ;保存和的高字节

CJNE R0,#48H,NEXT

MOV R1,#03H ;循环移位3次,实现除以8

DIV8: CLR C

MOV A,R7

RRC A ;高字节先移位,将D0移至C

MOV R7,A

MOV A,R6

RRC A ;将C移入低字节的D7,从而实现16位数据的移位

MOV R6,A

DJNZ R3,DIV8

16位除以8位除法子程序:

被除数R6R5,除数R4,商R3R2,余数R1

DIV168:

MOV R3,#00H

MOV R1,#00H NEXT2:

CLR C

MOV A,R5

SUBB A,R4

MOV R5,A

MOV A,R6

SUBB A,#00H

MOV R6,A

JC NEXT

MOV A,R2

ADD A,#01H

MOV R2,A

JNC NEXT2

INC R3

AJMP NEXT2 NEXT: MOV A,R5

ADD A,R4

MOV R1,A

RET

4.3 设有两个长度为15的数组,分别存放在0200H和0500H为首地址的存储区域中,试编写程序求其对应项之和,结果存放在以0300H为首地址的存储区域中。

解:分析:0200H和0500H都是片外地址,必须利用MOVX指令获取数据,这将导致DPTR使用不方便,解决办法:

(1)0200H,0500H和0300H低字节地址相同,可以共用DPL,DPH单独处理;

(2)可以考虑先将两个存储区的数据先转移到内部RAM中,然后再进行运算。

这里只是求对应项之和,并不是多位数求和,两数相加,可能产生进位,这里应该只考虑没有进位的情况。

这里采用第一种方法

MOV R0,#15

MOV DPL,#00H NEXT: MOV DPH,#02H

MOVX A,@DPTR

MOV B,A

MOV DPH,#05H MOVX A,@DPTR ADD A,B

MOV DPH,#03H MOVX @DPTR,A INC DPTR DJNZ R0,NEXT

4.4 在起始地址为2100H,长度为64的数表中找F的ASCII码,并将其地址送到1000H和1001H单元中去。

解:都为RAM单元,只要找到“F”,则停止查找。利用寄存器R7保存高8位地址,R6保存低8位地址。

SF: MOV DPTR,#2100H

MOV R0,#64

NEXT1:MOVX A,@DPTR

CJNE A,#4FH,NEXT2

MOV R7,DPH

MOV R6,DPL

MOV DPTR,#1000H

MOV A,R6

MOVX @DPTR,A

INC DPTR

MOV A,R7

MOVX @DPTR,A

AJMP SFEND NEXT2:INC DPTR

DJNZ R0,NEXT1 SFEND: RET

4.5 设计一个多字节无符号数加法子程序和减法子程序。解:

(1)多字节无符号数加法

设R0为加数首地址,R1为被加数首地址,R2为字节数

JIAFA: CLR C

NEXT: MOV A,@R0

ADDC A,@R1

MOV @R0,A

INC R0

INC R1

DJNZ R2,NEXT

RET (2)多字节无符号数减法

设R0为被减数首地址,R1为减数首地址,R2为字节数

JIANFA: CLR C

NEXT: MOV A,@R0

SUBB A,@R1

MOV @R0,A

INC R0

INC R1

DJNZ R2,NEXT

RET

4.6 试设计一个双字节无符号数乘法子程序和除法子程序。解:设被乘数为R7R6,乘数为R5R4,结果存于R3R2R1R0

R7 R6

R5 R4

C2 C1

C4 C3

C6 C5

C8 C7R6×R4=C2 C1 R7×R4=C4 C3 R6×R5=C6 C5 R7×R5=C8 C7

设被除数为R7R6,除数为R5R4,商存于R3R2,余数存于R1R0

将被除数减除数,够减商加1,然后将差作为被减数,继续前面的减法操作,直到不够减为止,这时需要恢复余数。

MUL1616:MOV A,R6

MOV B,R4

MUL AB

MOV R0,A

MOV R1,B

MOV A,R7

MOV B,R4

MUL AB

ADD A,R1

MOV R1,A MOV A,B

ADC A,#0

MOV R2,A

MOV A,R6

MOV B,R5

MUL AB

ADD A,R1

MOV R1,A

MOV A,B

ADC A,R2

MOV R2,A

MOV A,R7

MOV B,R5

MUL AB

ADD A,R2

MOV R2,A

MOV A,B

ADC A,#0

MOV R3,A

RET

DIV1616:MOV DPTR,#0 LOOP: CLR C

MOV A,R6

SUBB A,R4

MOV R4,A

MOV A,R7

SUBB A,R5

MOV R7,A

JC NEXT

INC DPTR

JMP LOOP

NEXT: MOV A,R6

ADD A,R4

MOV R0,A

MOV A,R7

ADC A,R5

MOV R1,A

MOV A,DPH

MOV R3,A

MOV A,DPL

MOV R2,A

RET

4.7 在3000H为首的存储器区域中,存放着14个由ASCII码表示的0~9之间的数,试编写程序将它们转换成BCD码,并以压缩BCD码的形式存放在2000H~2006H单元中。

解:0~9的ASCII码为30H~39H,首先必须去掉其中的3,可以通过减去30H实现,也可通过ANL 实现。另外还得将两个BCD码压缩成一个BCD码,注意低地址对应低字节,比如3000H为31H(低字节),3001H为38H(高字节),合并后应为81H,存于2000H单元,可利用ORL或ADD进行合并。由于涉及到源和目的地址都为16位,为了方便操作,现将转换结果存于内部RAM。

MOV R0,#30H

MOV R1,#14

MOV DPTR,#3000H

NEXT: MOVX A,@DPTR ;取出低字节INC DPTR ;源区地址指针下移ANL A,#0FH ;低字节转换为BCD码MOV R4,A;暂存数据

MOVX A,@DPTR ;取出高字节

INC DPTR

ANL A,#0FH ;高字节转换为BCD码SWAP A;高低四位互换

ORL A,R4 ;将两个BCD码合并MOV @R0,A

INC R0

CJNE R1,#37H,NEXT MOV R0,#30H

MOV DPTR,#2000H NEXT2:MOV A,@R0 INC R0

MOVX @DPTR,A

INC DPTR

CJNE R0,#37H,NEXT2

4.8 编写一段程序,模拟如图所示的逻辑电路的逻辑功能,要求将四个输入与非门的逻辑模拟先写成一个子程序,然后以多次调用得到整个电路的功能模拟。设X、Y、Z和W都已定义为位地址,若程序中还需要其他地址标号,也可以另行定义。

解:

方法一:设计四输入与非门子程序,利用子程序必定要传递参数,但位操作的传送指令必须由C完成,所以调用子程序时参数传递较复杂。

MOV C,W MOV 00H,C MOV C,Z CPL C MOV 01H,C MOV C,Y MOV 02H,C MOV C,X MOV 03H,C ACALL NAND4 MOV 04H,C SETB 00H MOV C,X MOV 01H,C MOV C,Y MOV 02H,C MOV C,Z MOV 03H,C ACALL NAND4 MOV 05H,C SETB 00H MOV C,X MOV 01H,C CPL 01H

MOV C,Y

CPL C

MOV 02H,C MOV C,W

MOV 03H,C ACALL NAND4 SETB 00H

MOV 01H,C MOV C,04H MOV 02H,C MOV C,05H MOV 03H,C ACALL NAND4 MOV F,C

AJMP $

NAND4: MOV C,00H ANL C,01H

ANL C,02H

ANL C,03H

CPL C

RET

END

方法二:利用宏实现MACRO,宏可以带参数,所以参数传递将很方便

NAND4 MACRO A1,A2,A3,A4 MOV C,A1

ANL C,A2

ANL C,A3

ANL C,A4

CPL C

ENDM

ORG 0000H

AJMP MAIN

ORG 0030H MAIN: MOV C,Z

CPL C MOV ONE,C

NAND4 X,Y,ONE,W

MOV 04H,C

SETB ONE

NAND4 X,Y,ONE,W

MOV 05H,C

CPL Y

SETB ONE

NAND4 X,Y,ONE,W

MOV 06H,C

SETB ONE

NAND4 04H,05H,06H,ONE MOV F,C

5.3已知8051单片机系统时钟频率为6MHz,试利用定时器T0和P1口输出矩形脉冲,其波形如图所示(建议用方式2)。

解:定时器T0的工作方式:方式2,定时方式,所以TMOD为:0000010(02H)

定时初值:(28-TH0初值)×时钟周期×12=(28-X)×(1/6M)×12=40μs

X=236=0ECH,360μs则为9次定时中断

MOV TMOD,#02H

MOV TH0,#0ECH

MOV TL0,#0ECH

CLR P1.0

SETB TR0

NEXT3: MOV R0,#09H

SETB P1.0

JNB TF0,$

CLR TF0 NEXT1: CLR P1.0 WAIT2: JNB TF0,$

CLR TF0

DJNZ R0,WAIT2

AJMP NEXT3

5.4 要求8051单片机定时器的定时值以内部RAM 的20H 单元的内容为条件而改变;当(20H )=00H 时,定时值为10ms ;当(20H )=01H 时,定时值为20ms 。请根据以上要求编写相应程序。 解:采用定时器T 0,工作方式:方式1,定时方式,所以TMOD 为:0000001(01H ) 定时初值:(216-T 0初值)×时钟周期×12=(216-X )×(1/6M)×12=(216-X )2μs =10[(20H)+1]1000μs H)20(50005000655362

1000

]1)H 20[(1065536?--=+-

=X

)H 20(H 1388H 78)H 20(500060536?-=-=EC

(这里20H 单元的内容最大为12,否则超出16为定时器的范围) TIMER:MOV A,20H

MOV B,#88H MUL AB ;88H ×(20H ) MOV R0,A ;R0保存低字节 MOV R1,B ;R1保存高字节 MOV A,20H MOV B,#13H MUL AB ;13H ×(20H ) ADD A,R1 MOV R1,A ;只要限制20H 单元内容小于13,1388H ×(20H )即为两字节 CLR C MOV A,78H

SUBB A,R0 ;78H 减去1388H ×(20H )的低字节 MOV TL0,A MOV A,#0ECH

SUBB A,R1 ;ECH 减去1388H ×(20H )的高字节 MOV TH0,A MOV TMOD,#01H SETB TR0

WAIT: JNB TF0,W AIT

RET ;定时时间到

上述定时初值的设置适合(20H )为00H ~12H ,即可以实现10ms ~190ms 的定时。 若仅仅是10ms 和20ms 两种情况,初值设置将更简单

H 786053600EC X H == D 8F 0H )01(H 1388H 7801=?-=H EC X H TIMER: MOV

A,20H

CJNE A,#00H,NEXT1 MOV TH0,#0ECH MOV TL0,#78H AJMP

NEXT2

NEXT1: CJNE A,#01H,NEXT2

MOV TH0,#0D8H MOV TL0,#0F0H

NEXT2: MOV TMOD,#01H ;T0工作方式

SETB TR0

WAIT: JNB TF0,W AIT RET ;定时时间到

5.5 试用定时器T1设计外部事件计数器。要求每计数1万个脉冲,就将T1转为10ms 定时方式,当定时到后,又转为计数方式,如此反复循环不止。设系统的时钟频率为6MHz ,建议选用方式1编写相应程序。

解:T 1工作方式为方式1,计数方式:TMOD :01010000(50H ),定时方式:TMOD :00010000(10H ) 计数初值X =M -计数模值=65536-10000=55536=D8F0H 定时初值(65536-X )×2=10000,X =60536=EC78H MAIN: MOV TMOD,#50H

MOV TL1,#0F0H MOV TH1,#0D8H

SETB TR1

WAIT1: JBC TF1,NEXT1 AJMP WAIT1

NEXT1: MOV TMOD,#10H

MOV TL1,#78H

MOV TH1,#0ECH WAIT2: JBC TF1,MAIN AJMP WAIT2

5.7 利用8051单片机定时器测量某正脉冲宽度宽度,采用何种工作方式可以获得最大的量程?若时钟频率为6MHz ,则允许测量的最大脉宽是多少?

解:要获得最大量程,那么定时/计数器的计数值必须达到最大,只有方式1是工作在16位计数模式。 因为测脉宽,所以定时/计数器工作于定时方式,且由外部中断引脚电平启动定时。 最大定时时间为:(M -X )×T =(65536-0)×12×1/6MHz =131.072ms

7.3 某异步通讯接口,其帧格式由一个起始位,7个数据位,1个奇偶校验位和一个停止位组成。当该接口每分钟传送1800个字符时,计算其传送波特率。

解:由帧格式可知:一个字符由1+7+1+1=10位组成,波特率=1800×10/60=300波特。

7.6 为什么定时器T1用作串行口波特率发生器时常采用工作方式2?若已知T1设置成方式2,用作波特率发生器,系统时钟频率为11.0592MHz ,求可能产生的最高和最低的波特率各是多少?

答:因为定时器T1的方式2为自动重装定时初值,这样操作方便,也避免了因重装定时初值引起的定时误差。由波特率=

??

?

??-?

初值25611232

2

OSC SMOD

f 当初值为0,SMOD =0时,得到最低波特率=112.5 当初值为255,SMOD =1时,得到最低波特率=57.6K

7.7在8051应用系统中,时钟频率为6MHz 。现需利用定时器T1方式2产生1200波特的波特率。试计算定时器的初值,并指出实际得到的波特率与所要求的波特率是否有误差。 解:根据波特率计算公式

??

?

??-?

初值25611232

2

OSC SMOD

f ??

? ??

-?=??? ??-?

=

初值初值2561215625256112632

2

1200SMOD SMOD

MHz 当SMOD =0时,初值为243,此时实际的波特率为:1201.92

当SMOD =1时,初值为230,此时实际的波特率为:1201.92 所以实际波特率与要求的波特率有误差。

7.8 试设计一个8051单片机的双机通讯系统,并编写程序将A 机片内RAM40H ~5FH 的数据块通过串行口传送B 机的片内RAM 60H ~7FH 中去。

解:该双机通讯系统,是将A 机数据发送到B 机,所以可以采用单工工作方式 串行口采用方式1 10位异步收发,采用查询方式 A 机:发送

MOV TMOD,#20H MOV TL1,#0F3H MOV TH1,#0F3H SETB TR1

MOV

SCON,#40H

MOV R0,#40H CLR

TI NEXT: MOV

A,@R0 INC R0

MOV SBUF,A JNB

TI,$

CJNE R0,#60H, NEXT

AJMP $

B机:接收

MOV TMOD,#20H

MOV TL1,#0F3H

MOV TH1,#0F3H

SETB TR1

MOV SCON,#50H

MOV R0,#60H NEXT: CLR RI

JNB RI,$

MOV A,SBUF

MOV @R0,A

INC R0

CJNE R0,#80H, NEXT

AJMP $

8.1 8051有几个中断源,各中断标志是如何产生的,又是如何复位的?CPU响应中断时其中断入口地址各是多少?

答:8051有5个中断源,分别是外部中断0,定时器T0中断,外部中断1,定时器T1中断,串行口中断。中断入口地址分别为0003H,000BH,0013H,001BH,0023H。

定时器中断标志TF1和TF0是当计数器溢出时产生的,CPU响应中断时能自动清除;外部中断IE1和IE0则是根据外部INT1和INT0的变化产生的,只有边沿方式的IE1和IE0能在响应中断是自动清除,电平方式的只能软件清除;串行口中断标志RI,TI是在串行口接收和发送是产生的,它们只能利用软件清除。

8.3 如何区分串行通讯中的发送中断和接收中断?

答:串行通讯中,发送和接收中断共用一个中断入口地址,但可以通过RI和TI标志判断是哪种中断,TI=1表示发送中断,RI=1表示接收中断。

8.4 如何设定外部中断源是采用边沿触发还是电平触发?这两种中断触发所产生的中断过程有和不同?

答:可通过IT1和IT0标志位进行设置,IT=0时,为电平触发,IT=1时,为边沿触发。电平触发,CPU 响应中断时不会清除IE标志,所以中断返回前应撤销INT引脚上的低电平;边沿触发方式,CPU连续两个机器周期采样到先高后低的电平,则置位IE标志,CPU响应中断时由硬件清除IE标志。

8.7试用中断方法设计秒、分脉冲发生器,即由8051的P1.0每秒钟产生一个机器周期的正脉冲,由P1.1每分钟产生一个机器周期的正脉冲。

解:设系统时钟为6MHz,由定时器完成定时,最大定时时间为65536×2us=131096us=131.096ms,所以设置定时器定时时间为100ms,10次定时为1秒钟,60次一秒为一分钟,所以设置两个计数器分别对10和60计数

(M-X)×2us=100ms,所以X=15536=3CB0H

ORG 0000H AJMP MAIN ORG 0023H AJMP INTTIMER MAIN:

MOV TH0,#3CH MOV TL0,#0B0H MOV TMOD,#01H SETB TR0

CLR P1.0

CLR P1.1

MOV R4,#60

MOV R3,#10

STB ET0

SETB EA

INTTIMER:

MOV TL0,#0B0H

MOV TH0,#3CH

DJNZ R3,INTEND

SETB P1.0

CLR P1.0

MOV R3,#10 DJNZ R4,INTEND SETB P1.1

CLR P1.1

MOV R4,#60 INTEND: RETI

8.8 试运用定时器中断技术设计一个秒闪电路,其功能是使发光二极管LED每秒钟闪亮400ms,设系统主频为6MHz。

答:分析题目可知每秒钟LED闪亮400ms,也就是600msLED灭,那也就是只要LED亮400ms,灭600ms 即满足要求,即要实现两个延时,根据定时/计数器延时计算公式:(M-X)T=定时值,最大定时值为65536×2us=131.072ms,不足400ms,所以设置基本延时为100ms,400ms和600ms定时通过多次基本延时实现。(M-X)×2us=100ms,所以X=15536=3CB0H

程序如下:

LED EQU P1.0

ORG 0000H

AJMP MAIN

ORG 0023H

AJMP INTTIMER

MAIN:

MOV TH0,#3CH

MOV TL0,#0B0H

MOV TMOD,#01H

SETB LED

MOV R3,#00H

STB ET0

SETB EA

INTTIMER:

MOV TL0,#0B0H

MOV TH0,#3CH

INC R3

CJNE R3,#04H,NEXT

CLR LED

AJMP INTEND

NEXT:

CJNE R3,#0AH,INTEND

SETB LED

MOV R3,#00H

INTEND: RETI

单片机原理与应用作业

网络教育学院《单片机原理及应用》大作业 题目:单片机电子时钟设计 学习中心:汕尾奥鹏 层次:专升本 专业:电气工程及其自动化 年级:13年秋季 学号:131071409971 学生姓名:许仕权

单片机电子时钟设计 一、引言 单片机技术在计算机中作为独立的分支,有着性价比高、集成度高、体积少、可靠性高、控制功能强大、低功耗、低电压、便于生产、便于携带等特点,越来越广泛的被应用于实际生活中。单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 二、时钟的基本原理分析 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min 钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED 显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 三、时钟设计分析 针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。

单片机原理及应用期末考试试卷及答案

苏州经贸职业技术学院 2009-2010学年第二学期 《单片机原理及应用》期终试卷(A) 班级:姓名:学号:成绩: 一﹑填空题(将正确答案填在题干的空白处。1分×35=35分) 1、十进制数-47用8位二进制补码表示为:11010001B。 2、89C51含4KB Flash ROM,128B的RAM,在物理上有4个独立的存储器 空间。 3、若8031单片机的晶振频率fosc=12MHz,则振荡周期为1/12us ,状态周期为1/6us ,机器周期为1us ,执行MUL AB指令需要时间为4us 。 4、假定A=85H,R0=20H,(20H)=0AFH。执行指令:ADD A,@R0后,累加器 A的内容34H ,CY的内容1 ,AC的内容1 ,OV的内容1 。 5、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H 单元的内容。 6、PSW中RS1 RS0=10H时,R2的地址为12H 。 7、ROM在物理上分为片内ROM 和片外ROM ,在逻辑上两者统一编址。 8、MCS-51单片机当EA=1时,首先使用的是片内程序存储器,存储容量超过4KB时开始使用外部程序存储器;EA=0时,则仅仅使用片外程序存储器。 9、MCS—51单片机访问片外存储器时,利用ALE 信号锁存来自P0 口的低8位地址信号。 10、欲使P1口的高4位输出1,而低4位不变,应执行一条ORL P1,#0F0H指令。 11、12根地址线可选4KB个存储单元,32KB存储单元需要15 根地址线。 12、设80C51 fosc=12MHz,定时器工作在方式0,则最大定时时间为8192μs。 13、异步串行数据通讯有单工、半双工和全双工共三种传送方式。 14、51单片机的中断系统最多可以有 2 个嵌套。 15、8031单片机指令MOV是访问内RAM ,最大范围为256B ,MOVX是访问外RAM ,最大范围为64KB,MOVC是访问ROM ,最大范围为64KB 。 二、单项选择(1分×15=15分) 1、MCS-51上电复位后,SP的内容是(B) (A)00H (B)07H (C)60H (D)70H 2、80C51是(C)

大工《单片机原理及应用》大作业

大工《单片机原理及应用》大作业

网络教育学院《单片机原理及应用》大作业 题目:单机片电子时钟设计 学习中心:辽宁本溪奥鹏学习中 心 层次:高起专 专业:机械制造与自动化 年级: 2013年春季 学号: 131080131409 学生姓名:丁志芳

单片机电子时钟设计 1.设计背景 数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。 单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。单片机技术在计算机中作为独立的分支,单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 2.时钟的基本原理分析 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min 钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED 显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对

单片机原理及应用在线考试试题答案

中国石油大学(北京)远程教育学院期末考核 《单片原理及应用》 说明:共100分,每题20分,在下题中任选5题。 1.MCS-51的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为10MHz时,一 个机器周期为多少毫秒? 参考第二章第四节。MCS-51典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期(振荡周期)组成。一个机器周期=6×一个状 态周期=12×一个时钟周期=12× 答: 为使单片机能够完成取指、译码、执行指令等操作,需要为单片机提供时钟信号以产生必要的时序。单片机振荡电路中的振荡信号对应的周期叫振荡周期(时钟周期)。对振荡周期12分频后得到的信号周期叫做机器周期,即12个时钟周期,是1个机器周期。一个机器周期宽度为6个状态周期,并依次表示为S1~S6。每个状态周期由2个时钟周期(振荡周期)组成。Mcs51单片机的111条指令,执行时,所花费的时间,称为指令周期。 一个机器周期=6×一个状态周期=12×一个时钟周期=12×=12×1/10=1.2 us=0.0012ms 2.指出下列指令中画线的操作数的寻址方式? MOV R0, #55H ;立即寻址 MOV A, 2AH ;直接寻址 MOV A, @R1 ;寄存器间接寻址 MOV @R0, A ;寄存器寻址 ADD A, R7 ;寄存器寻址 MOVX A, @DPTR ;寄存器间接寻址 MOV DPTR, #0123H ;立即寻址 MOVC A, @A+DPTR ;基址加变址寻址 INC DPTR;寄存器寻址 参考第三章第二节指令寻址方式 3.外部RAM中从1000H到10FFH有一个数据区,现在将它传送到外部RAM中2500H单元 开始的区域中,编程完成上述功能。 参考第三章第三节数据传送类指令和第六章第二节外部存储器扩展 START: MOV R0,#00H MOV DPTR,#1000H LOOP: MOVX A,@DPTR MOV DPH,#25H MOVX @DPTR,A MOV DPH,#10H

(精校版)单片机原理及应用期末考试试卷及答案

(完整word版)单片机原理及应用期末考试试卷及答案 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)单片机原理及应用期末考试试卷及答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)单片机原理及应用期末考试试卷及答案的全部内容。

单片机原理及应用期末考试试卷 班级:_______________学号:_______________姓名:_______________得分:_______________(卷面共有100题,总分100分,各大题标有题量和总分,每小题标号后有小分) 一、单项选择题(33小题,共33分) [1分](1)要MCS—51系统中,若晶振频率屡8MHz,一个机器周期等于( A )μs A 1。5 B 3 C 1 D 0.5 [1分](2)MCS—51的时钟最高频率是 ( A )。 A 12MHz B 6 MHz C 8 MHz D 10 MHz [1分](3)下列不是单片机总线是( D ) A 地址总线 B 控制总线 C 数据总线 D 输出总线 [1分](4)十进制29的二进制表示为原码( C ) A 11100010 B 10101111 C 00011101 D 00001111 [1分](5)电子计算机技术在半个世纪中虽有很大进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:( D ) (A)牛顿(B)爱国斯坦(C)爱迪生(D)冯·诺伊曼 [1分](6)在CPU中,控制器的功能是:( C ) (A)进行逻辑运算(B)进行算术运算 (C)分析指令并发出相应的控制信号(D)只控制CPU的工作 [1分](7)下列数据中有可能是八进制数的是:( A) (A)764 (B)238 (C)396 (D)789 [1分](8)MCS—51的时钟最高频率是 (D ) A、6MHz B、8MHz C、10MHz D、12MHz [1分](9)-49D的二进制补码为.( B) A、 11101111 B、11101101 C、0001000 D、11101100 [1分](10)要用传送指令访问MCS—51片外RAM,它的指令操作码助记符应是( B) A、 MOV B、 MOVX C、 MOVC D、以上都行 [1分](11)若某存储芯片地址线为12根,那么它的存储容量为(C ) A、1KB B、2KB C、 4KB D、 8KB [1分](12)PSW=18H时,则当前工作寄存器是(D ) A、 0组成 B、 1组成 C、2组成 D、3组成 [1分](13)所谓CPU是指( B) A、运算器与存储器 B、运算器与控制器 C、输入输出设备 D、控制器与存储器 [1分](14)PSW=18H时,则当前工作寄存器是(D ) (A)0组(B)1组(C)2组(D)3组 [1分](15)P1口的每一位能驱动( B ) (A)2个TTL低电平负载有(B)4个TTL低电平负载 (C)8个TTL低电平负载有(D)10个TTL低电平负载 [1分](16)二进制数110010010对应的十六进制数可表示为( A) A、192H B、C90H C、1A2H D、CA0H [1分](17)一3的补码是( D ) A、10000011 B、11111100 C、11111110 D、11111101 [1分](18)对于8031来说,脚总是( A ) A、接地 B、接电源 C、悬空 D、不用 [1分](19)进位标志CY在( C)中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存器PSW D、DPOR

单片机原理与应用技术实验报告(实验项目:发光二极管闪烁)

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:发光二极管闪烁 一实验目的和要求 1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。 2.掌握单片机使用。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。 4. 在弹出的对话框中选择 CPU 厂商及型号。 5.选择好 Atmel 公司的 89c51 后 , 单击确定。 6.在接着出现的对话框中选择“是”。 7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。 8.保存新建的文件,单击SAVE。 9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。 10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。 11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。 12.在编辑框里输入代码如下: #include "reg51.h" //包含头文件 sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT #define uchar unsigned char #define uint unsigned int

单片机原理及应用试卷和答案(三套试卷和答案)

试卷一 一、填空题(20分,每小题2分) 1、-19D的二进制的补码表示为11101101B。 2、89C51含4KB掩膜ROM,128B的RAM,在物理上有4个独立的存储器空间。 3、通过堆栈操作实现子程序调用,首先要把PC 的内容入栈,以进行断点保护。调 用返回时再进行出栈操作,把保护的断点弹回 PC。 4、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 块芯片。 5、PSW中RS1 RS0=10H时,R2的地址为12H。 6、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H单元的内容。 7、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填执 行结果。 PUSH 30H ;SP=61H,(SP)=24H PUSH 31H ;SP=62H,(SP)=10H POP DPL ;SP=61H,DPL=10H POP DPH ;SP=60H,DPH=24H MOV A,#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、执行PUSH ACC指令,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)以上都不对

单片机原理及应用习题答案第三版

单片机原理及应用习题 答案第三版 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

第一章习题参考答案 1-1:何谓单片机与通用微机相比,两者在结构上有何异同 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用

单片机原理与应用期末考试试题

单片机原理及应用期末考试试题 一、填空题(每空1分,共20分) 1.相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。 2.AT89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。 3.AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2口作为地址总线高8位。 4.假定累加器A的容30H,执行指令:1000H:MOVC A,A+PC后,把程序存储器1031H单元的容送累加器A中 5.指令格式是由操作码和操作数部分组成。 6. AT89S51单片机的串行口控制寄存器中有2个中断标志位,它们是TI和RI 7.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是DA A 指令 8. JNC rel指令执行时,当CY位为0时程序发生跳转。 9.单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单元 的地址应该是22H 。 10.外部中断0的中断入口地址为0003H,定时/记数器T1的中断入口地址为001BH。 11.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特率为6×106/64 b/s 12.堆栈应遵循先进后出规律,堆栈指针的符号为SP 二、单项选择题(每小题1分,共20分) 1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在(b) a)RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为00010 则其表示的十进制数值为(b) a) 7542H b) 7542 c) 75.42H d) 75.42

单片机原理与应用试题及答案

单片机原理与应用试题 及答案 https://www.wendangku.net/doc/7611919289.html,work Information Technology Company.2020YEAR

单片机原理与应用试卷及答案 一、填空题 1、10110110B 作为无字符数时,十进制数值为182;作为补码时,十进制数值为—74. 2、原码01101011B 的反码为01101011B ;补码为01101011B 。 3、由8051的最小系统电路除芯片外,外部只需要复位电路和时钟(晶振)电路,如果由8031的最小系统,还需要扩展外部ROM 电路。 4、若已知8051RAM 的某位地址为09H ,则该位所处的单元地址为21H 。 5、C51语言中,指令#define ADC XBYTE[OXFFEO]能够正确编译的前提是包含头文件absacc.h ,该指令的作用是定义一个外部地址单元为OXFFEO 。 二、选择题 1、程序和常数都是以(二进制)的形式存放在单片机程序的存储器中。 2、下列哪一个选项的指令语句不是任何时候都可以被C51正确编译(uchar; k=ox20) 3、当PSW 的RS0和RS1位分别为1和0时,系统选用的寄存器组为(1组) 4、若某存储器芯片地址线为12根,那么它的存储容量为(4KB ) 5、已知T osc =12MHZ ,TH1=177,TL1=224,TMOD=ox10,则从定时器启动到正常溢出的时间间隔为(20ms ) 三、简答题 答:①新建工程项目②配置工程项目属性③创建源文件④将源文件加入项目⑤保存项目 3、PSW 寄存器有何作用其各位是如何定义的 4、 答:标志寄存器PSW 是一个8位的寄存器,它用于保存指令执行结果的状态,以供工程查询和判别。 C (PWS.7):进位标志位 AC (PWS.6):辅助进位标志位 FO (PWS.5):用户标志位 RS1、RS0(PWS.4、PWS.3 PSW DOH

单片机原理及应用期末考试试题汇总

单片机原理及应用期末考试试题汇总

单片机原理及应用期末考试试题汇总 1、单片机是将微处理器、一定容量的 RAM 和ROM 以及 器等电路集成在一块芯片上而构成的微型计算机 2、 单片机89C51片内集成了 有 5 个中断 源。 3、 两位十六进制数最多可以表示 4、 89C51是以下哪个公司的产 品? 4 KB 的 FLASH RO ,共 256 个存储单元。 C ) A 、INTEL B 、AMD C 、ATMEL D 、PHILIPS 8、当CPU 访问片外的存储器时,其低八位地址由 P0 口提供,高八位 地址由 P2 口提供,8位数据由 P0 口提供。 9、在I/O 口中, P0 口在接LED 时,必须提供上拉电 阻, P3 口具有第二功能。 10、是非题:MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同 的。F 11、 是非题:是读端口还是读锁存器是用指令来区别的。 T 12、 是非题:在89C51的片内RAM 区中,位地址和部分字节地址是冲突的。 F 13、 是非题:中断的矢量地址位于 RAM 区中。F 14、 M CS-51系列单片机是属于( B )体系结构。 A 、冯诺依曼 B 、普林斯顿 C 、哈佛 D 、图 灵 15、 89C51具有 64 KB 的字节寻址能力。 16、 是非题:在89C51中,当CPU 访问片内、夕卜ROM 区时用MOV 指令,访问片 外RAM 区时用MOV 指令,访问片内 RAM 区时用MOV 旨令。T I/O 口、定时 5、在89C51中,只有当EA 引脚接 Flash ROM 。 高 电平时,CPU 才访问片内的 6、是非题:当89C51的EA 引脚接低电平时, 内是否有程序存储器。T CPL 只能访问片外ROM 而不管片 7、是非题:当89C51的EA 引脚接高电平时, CPU 只能访问片内的4KB 空间。F

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

单片机原理试题库答案

单片机原理及应用复习题及答案 一、选择题(在每个小题四个备选答案中选出一个或几个正确答案,填在题的括号中) 1、80C51基本型单片机内部程序存储器容量为(C)。 (A)16KB (B)8KB (C)4KB (D)2KB 2、在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。 (A)EA(B)RST (C)ALE (D)PSEN 3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是(C)。 (A)P0 (B)P1 (C)P2 (D)P3 4、当优先级的设置相同时,若以下几个中断同时发生,(D)中断优先响应。 (A)并口(B)T1 (C)串口(D)T0 5、在80C51中,要访问SFR使用的寻址方式为(AB)。 (A)直接寻址(B)寄存器寻址(C)变址寻址(D)寄存器间接寻址 6、以下的4条指令中,不合法的指令为(D)。 (A)INC A (B)DEC A (C)INC DPTR (D)SWAP ACC 7、当需要扩展一片8KB的RAM时,应选用的存储器芯片为(B)。 (A)2764 (B)6264 (C)6116 (D)62128 8、若想扩展键盘和显示,并希望增加256字节的RAM时,应选择(A)芯片。 (A)8155 (B)8255 (C)8253 (D)8251 9、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B )。 (A)方式0 (B)方式1 (C)方式2 (D)方式3 10、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为(A)。 (A)08H (B)80H (C)00H (D)07H 11、MCS—51单片机的复位信号是( A )有效。 A.高电平 B.低电平 C.脉冲 D.下降沿 12、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( B )。 A.2μs B.4μs C.8μs D.1ms 13、若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用( D )指令。 A.PUSH R0 B.PUSH @R0 C.PUSH 00H D.PUSH 08H 14、能够用紫外光擦除ROM中程序的只读存储器称为( C )。 A.掩膜ROM B.PROM C.EPROM D.EEPROM 15、在片外扩展一片2764程序存储器芯片要( B )地址线。 A.8根 B.13根 C.16根 D.20根 16、定时器/计数器工作方式1是( D )。 A.8位计数器结构 B.2个8位计数器结构 C.13位计数结构 D.16位计数结构 17、设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为 ( C ) A.2MHz B.1MHz C.500KHz D.250KHz 18、已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为( A )。 A.06H B.F9H C.30H D.CFH

单片机原理及应用习题答案第三版(供参考)

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都是独立的芯片 1-4 IAP、ISP的含义是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器和数据存储器是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常是多功能的; (4)产品系列齐全,功能扩展性强; (5)功能是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。此系列三种基本产品是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行程序修改。有8位Flash子系列、ISP_Flash子系列、I2C_Flash子系列; (3)SST公司的SST89系列单片机:具有独特的超级Flash技术和小扇区结构设计,采用IAP和ISP技术;

单片机原理及应用期末考试试题

单片机原理及应用期末考试试题

单片机原理及应用期末考试试题 一、填空题(每空1分,共20分) 1.相对寻址是以PC 的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。 2.AT89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。 3.AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2 口作为地址总线高8位。 4.假定累加器A的内容30H,执行指令:1000H:MOVC A,@A+PC后,把 程序存储器1031H单元的内容送累加器A中5.指令格式是由操作码和操作数部分 组成。 6.AT89S51单片机的串行口控制寄存器中有2 个中断标志位,它们是TI和RI 7.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是DA A 指令 8.JNC rel指令执行时,当CY位为0时程序发生跳转。 9.单片机位寻址区的单元地址是从20H单元到 2FH单元,若某位地址是10H,它所在单元 的地址应该是22H 。 10.外部中断0的中断入口地址为0003H ,定时/记数器T1的中断入口地址为 001BH。 11.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特 率为6×106/64 b/s

12.堆栈应遵循先进后出规律,堆栈指针的符号为SP 二、单项选择题(每小题1分,共20分) 1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c) P2 d)P3 2.单片机应用程序一般存放在(b) a)RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为0111010101000010 则 其表示的十进制数值为(b) a) 7542H b) 7542 c) 75.42H d) 75.42 4.下列指令中不影响标志位CY的指令有(d)。 a)ADD A,20H b)CLR c)RRC A d)INC A 5.CPU主要的组成部部分为(a) a)运算器、控制器b)加法器、寄存器 c)运算器、寄存器d)运算器、指令译 码器 6.AT89S51 的CPU是(c)位的单片机 a)16 b) 4 c)8 d)准16 7.AT89S51复位后,PC与SP的值为(b) a )0000H,00H b)0000H, 07H c) 0003H,07H d)0800H,00H 8.当需要从AT89S51单片机程序存储器取数据时,采用的指令为(b)。

单片机原理及应用实验报告

单片机原理实验报告 专业:计算机科学与技术 学号: :

实验1 计数显示器 【实验目的】 熟悉Proteus仿真软件,掌握单片机原理图的绘图方法 【实验容】 (1)熟悉Proteus仿真软件,了解软件的结构组成与功能 (2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、修改属性等基本操作 (3)学会可执行文件加载及程序仿真运行方法 (4)理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制【实验步骤】 (1)观察Proteus软件的菜单、工具栏、对话框等基本结构 (2)在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中(3)在Proteus中加载程序,观察仿真结果,检测电路图绘制的正确性 表A.1

Switches&Relays BUT BUTTON 【实验原理图】 【实验源程序】 #include sbit P3_7=P3^7; unsigned char x1=0;x2=0 ; unsigned char count=0; unsigned char idata buf[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(int time) { int k,j;

for(;time<0;time--) for(k=200;k>0;k--) for(j=500;j<0;j--); } void init() { P0=buf[x1]; delay(10); P2=buf[x2]; delay(10); } void main() { init(); while(1) { x1=count/10; x2=count%10; P0=buf[x1]; delay(10);

单片机原理及应用试题库答案

《单片机原理及应用》试题库 一、填空题 1.单片机就是把(CPU)、( 输入/输出)、和( 存储器)等部件都集成在一个电路芯片上,并具备一套功能完善的( 指令系统),有的型号同时还具备( AD )和( DA )等功能部件,其简称为( 微处理器)或(微控制器)。 2.Intel公司典型的单片机有( MCS-51系列)和( MCS-96系列)。 3.单片机具有体积( 下)、重量( 轻)、价格( 低)、功耗( 小)、控制功能强、运算速度快、运用灵活、易于产品化、抗扰能力( 强)等特点,故在国民经济建设、军事及家用电器等领域均得到了广泛的应用。 4.微处理器本身不是计算机,它是微型计算机的核心部件,又称它为(CPU )。它包括两个主要部分:(运算器)、(控制器)。 5.当扩展外部存储器或I/O口时,P2口用作(地址线的高8位)。 6.MCS-51单片机内部RAM区有( 4 )个工作寄存器区。 7.MCS-51单片机内部RAM区有(128 )个位地址。 8.89C51单片机片内RAM中位寻址区的地址范围是(20H—2FH ),工作寄存器区的地址范围是(00H—1FH ),片内程序存储器中寻址区的地址范围是(0000H—07FFH )。 9.MCS-51有( 4 )个并行I\O口。 10.MCS-51的堆栈是软件填写堆栈指针临时在(30H—7FH )内开辟的区域. 11.MCS-51片内(20H—2FH )范围内的数据存储器,既可以字节寻址又可以位寻址。 12.程序状态标志字寄存器PSW中的PSW.7的含义是(进位和借位标志位);PSW.0的含义是(奇偶校验位)。 13.若不使用89C51片内的程序存储器,引脚(EA’)必须接地。 14.MCS-51中凡字节地址能被(0和8 )整除的特殊功能寄存器均能寻址。 15.MCS-51有4组工作寄存器,它们的字节地址范围是(00H—1FH )。 16.当MCS-51引脚(ALE )信号有效时,表示从P0口稳定地送出了低8位地址. 17.在单片机的RESET端出现(两个机器周期以上的高电平时),便可以可靠复位,复位后的程序指针PC指向(0000H )地址。 18.MCS-51系列单片机有:(外部中断0), (外部中断1 ), (定时/计数器T0溢出中断), (定时/计数器T1溢出中断), (串行口)等5个中断请求源。 39.KeiL C51软件中,工程文件的扩展名是__UV2______,编译连接后生成可烧写的文件扩展名是__hex_______。

《单片机原理及应用》实验报告

《单片机原理及应用》 实验报告 2017/2018 学年第1 学期 系别计算机学院 专业软件工程 班级17软件工程班 姓名XXXXXX 学号8888888888 授课老师******

实验一:流水灯实验 1.实验目的 (1)学习编译和仿真环境使用 (2)学习P3口的使用方法 (3)学习延时子程序的编写 2实验内容 (1)通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的接口;(2)通过改变并行口输出电平控制LED灯的点亮与否,通过延时程序控制亮灯时间。 3.实验运行结果图 4.源代码 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

操作 /**************************************** 函数功能:延时一段时间 *****************************************/ void delay(void) { unsigned char i,j; for(i=0;i<255i++) for(j=0;j<255j++) ; //利用循环等待若干机器周期,从而延时一段时间 } /***************************************** 函数功能:主函数 ******************************************/ void main(void) { while(1) { x=0xfe; //第一个灯亮 delay(); //调用延时函数 x=0xfd; //第二个灯亮 delay(); //调用延时函数 x=0xfb; //第三个灯亮 delay(); //调用延时函数 x=0xf7; //第四个灯亮 delay(); //调用延时函数 x=0xef; //第五个灯亮 delay(); //调用延时函数 x=0xdf; //第六个灯亮

相关文档
相关文档 最新文档