当前位置:文档之家› 单片机课后题答案(霍孟友主编)

单片机课后题答案(霍孟友主编)

单片机课后题答案(霍孟友主编)
单片机课后题答案(霍孟友主编)

2-1. 8051单片机芯片部包含哪些主要逻辑功能部件?

答:一个8位微处理器(CPU);片数据存储器RAM;片程序存储器ROM;四个8位并行I/O口P0~P3;两个定时器/计数器;五个中断源的中断控制系统;一个UART (通用异步接收发送器)的串行I/O口;片振荡器和时钟产生电路。

2-2、8051存储器分哪几个地址空间?如何区别不同空间寻址?

答:⑴片、外统一编址的64KB程序存储器;⑵片256B 数据存储器;⑶片外64KB数据存储器。

硬件:引脚接高电平时CPU从片0000H单元开始取指令,接低电平时CPU直接访问片外EPROM。EA

软件:MOV指令访问片数据存储器, MOVX 指令访问片外数据存储器,MOVC指令用于读取程序存储器中的常数。

2-3. 简述8051片RAM的空间分配。

答:低128B位数据存储器区分为:工作寄存器区(00H~1FH);位寻址区(20H~2FH);一般数据存储区(30H~7FH)

高128B数据存储器区离散地分布着21个特殊功能寄存器

2-4. 简述直接位寻址区的空间分配,片RAM中包含哪些可位寻址单元?

答:MCS-51单片机片RAM中有两个区域可进行位寻址:(1)片RAM低128字节的位寻址区,地址为20H~2FH的16个字节单元共128位,每一位都有相应的位地址,可用位寻址方式对其进行置位、复位、容传送、逻辑运算等操作,128位的位地址定义为00H~7FH。

(2)片RAM高128字节的存储器区,有21个特殊功能寄存器。其中字节地址正好能被8整除的字节单元中的每一位都可以按位寻址、操作。14 2-5.8051的P0~P3口有何不同,用作通用I/O口输入数据时应注意什么?

答:P0~P3口功能不完全相同。

(1)访问外扩展存储器时,P2口送出16位地址的高8位地址,P0口先送出16位地址的低8位地址,再做数据的输入/输出通道。

(2)在无片外扩展存储器的系统中,P0、P2口不需要做地址口时,和P1、P3口一样,都可作为准双向通用I/O口使用。P0的输出级无上拉电阻,在作为通用I/O口时需外接上拉电阻,且P0口的每一位输出可驱动8个TTL负载,而P0~P3口的输出级接有上拉负载电阻,每一位输出可驱动4个TTL负载。

在作通用I/O输入数据时应注意:应先对相应的端口锁存器写1,防止误读。2-6. 8051单片机引脚有何功能?在使用8031时,引脚应如何处理?EAEA

答:引脚为外部程序存储器地址允许输入端,其电平的高低决定了系统复位后CPU是从片程序存储器还是片外扩展存储器的0000H字节单元开始取指令。EA

(1)当引脚接成高电平时,CPU首先从片0000H字节单元开始取指令执行程序,当指令地址寄存器PC中的容超过0FFFH后,就自动转向片外扩展的EPROM中取指令执行,这时芯片外部的重叠地址为0000H~0FFFH的低4KB EPROM 忽略不用。EA

(2)当引脚接成低电平时,复位后CPU直接从片外EPROM 的0000H字节单元开始取指令执行,这时芯片部0000H~0FFFH的4KB单元被忽略不用。EA

在使用8031时,由于其部没有ROM/EPROM,所以必须使用外部扩展程序存储器,它的引脚应该接成低电平,CPU直接从片外扩展的EPROM中取指令执行。EA

2-7. 8051单片机有哪些信号需要芯片以第二功能的方式提供?

答:

(1)VPD(9脚):片RAM备用电源的输入端。

(2)(30脚):对于片带有可编程序存储器的芯片,作为编程写入的编程脉冲输入端,把编写好的程序指令代码存入程序存储器中。PROG

(3) VPP (31脚):对于片有EPROM的芯片固化程序时,它作为是加高编程电压的输入端。

(4) RXD (10脚):串行口通信数据输入线。

(5) TXD (11脚):串行口通信数据输出线。

(6) (12脚):外部中断0输入信号。INT0

(7) (13脚):外部中断1输出信号。INT1

(8) T0 (14脚):定时器0的脉冲信号外部输入。

(9) T1 (15脚):定时器1的脉冲信号外部输入。15 (10) (16脚):CPU至片外数据存储器的“写选通控制”输出。WR

(11) (17脚):CPU至片外数据存储器的“读选通控制”输出。RD

2-8. RAM低128B单元划分为哪三个主要区域?各区域主要功能是什么?

答:地址围为00H~7FH的128字节单元,按功能特点划分为不同的几个区,分述如下。

(1)工作寄存器区地址围为00H~1FH的32字节存储器单元,分为四个组,每组有8个工作寄存器字节单元,定名为R0、R1、R2、R3、R4、R5、R6和R7。通过改变程序状态字特殊功能寄存器PSW中RS1,RS0两位的容,每组工作寄存器均可选作CPU的当前工作寄存器组。

(2)位寻址区地址为20H~2FH的16个字节单元中共128位,每一位都有相应的位地址,可用位寻址方式对其进

DOC格式.

行置位、复位、容传送、逻辑运算等操作。

(3)一般数据存储区地址围为30H~7FH的区域,可用于原始数据及运算结果的存储。值得注意的是,30H~7FH中一部分字节单元可以开辟出一块遵守“后进先出”或“先进后出”规则的特殊数据区──堆栈。

2-9. 单片机系统复位有哪几种方法?复位后特殊功能寄存器初始状态如何?

答:使单片机系统复位有两种方法:上电自动复位和按键手动复位

系统复位的主要功能就是把PC初始化为0000H,使单片机从0000H单元开始执行程序,另外,系统复位还使一些特殊功能寄存器恢复到复位状态。

PC: 0000H ACC: 00H PSW: 00H

SP: 07H DPTR:0000H P0~P3: FFH

IP: **000000B IE:0*000000B TMOD: 00H TCON: 00H TL0: 00H TH0: 00H

TL1: 00H TH1: 00H SCON: 00H

SBUF:不定PCON: 0***0000B

2-10. 开机复位后,CPU使用那组工作寄存器作为当前工作寄存器?它们的地址是什么?

答:开机复位后,由于(RS1=0,RS0=0),CPU使用第0组工作寄存器作为当前工作寄存器,它的地址为00H~07H.

2-11. CPU如何确定和改变当前工作寄存器组?

答:通过改变程序状态字特殊功能寄存器PSW中RS1,RS0两位的容,每组工作寄存器均可被选作当前工作寄存器。

RS1 RS0 当前工作寄存器

0 0 第0组 0 1 第1组16 1 0 第2组 1 1 第3组

2-13.位寻址与字节单元地址7CH如何区别?位地址7CH、具体在片RAM的什么位置?

答:8051采用不同的寻址方式和指令分别对位和字节进行不同的操作,如SETB 20H指的是20H位单元的容置为1,而MOV 20H,#0FFH指的是RAM20H字节单元的容变为FFH。

位地址7CH在RAM低128字节的2FH字节单元的第四位。2-14. 8051单片机时钟周期与振荡周期之间有什么关系?

答:8051单片机的时钟周期为振荡周期的两倍。

2-15.一个机器周期的时序是怎样划分的?

答:MCS-51系列单片机工作的一个机器周期由6个S状态周期组成,即S1~S6,每个状态又持续两个振荡周期,即P1和P2两拍,故一个机器周期包括12个振荡周期。一个机器周期具体分为S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,

S5P2,S6P1,S6P2共12状态拍。若采用12MHZ晶体振荡器,则每个机器周期恰为1μs。

2-16. 什么叫堆栈?堆栈指针SP的作用是什么?8051单片机堆栈容量不能超过多少字节?

答:一般在30H~7FH的地址围,有一部分字节单元可开辟出一块遵守“后进先出”或“先进后出”规则的特殊数据区,就叫堆栈。

SP为堆栈指针,它始终存放堆栈顶部字节单元的地址(栈顶指针),数据压栈时,SP首先自动加1,然后数据压入SP容指示的字节单元中;而数据出栈时,SP容指示的字节单元中的数据弹出,然后SP自动减1,这样SP始终指向堆栈顶部字节单元的地址。

8051单片机堆栈容量最多不能超过128字节。初始化后,(SP)=07H,如果CPU使用工作寄存器1组,那么堆栈和工作寄存器将发生冲突,因此常把堆栈移至30~7FH区域之中。

2-17. 分析原教材中说明图2-16系统中各信号线的作用。

答:P1口用作一般I/O口,P1.0,P1.1,P1.2通过光电隔离电路向三相步进电机的功率放大电路顺序地发出步进脉冲信号;P1.6和P1.7作为输入,检测控制步进电机的正反转的按键状态;XTAL1和XTAL2接外部时钟电路,为系统提供振荡时钟;P0口分时用作地址/数据总线,取指令时输出低8位地址,经地址锁存器74LS373锁存,其它时间P0口用作数据总线输出8位数据;高5位地址由P2.0~P2.4提供; ALE作为地址输出锁存控制端;接地,CPU直接从外扩EPROM中取指令执行;为程序存储器输出允许控制端,在CPU读取EPROM中数据时,EA PSEN17

使EPROM输出指令。

3-1 什么是寻址方式?MCS-51单片机有哪几种寻址方式?对8031部RAM的128~255字节地址的空间寻址要注意什么?

答:寻址方式是如何找到存放被操作数据的位置(地址)的方法;MCS-51单片机有七种寻址方式:寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址间接寻址、相对寻址和位寻址;8031部RAM的128~255字节为特殊功能寄存器区,只允许使用直接寻址方式。

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

(1) R1的容传送到R0:

MOV A, R1

MOV R0, A

(2)外部RAM 20H单元的容送入R0:

DOC格式.

MOV R1, #20H

MOVX A, R1

MOV R0, A

(1)外部RAM 0020H单元的容送部RAM 20H单元:

MOV R0, #20H

MOVX A, R0

MOV 20H, A

(2)外部RAM 1000H单元容送部RAM 20H单元:

MOV DPTR, #1000H

MOVX A, DPTR31 MOV 20H, A

(3)外部ROM 2000H单元容送R0:

MOV A, #00H

MOV DPTR, #2000H

MOVC A, A+DPTR

MOV R0, A

(4)外部ROM 2000H单元容送部RAM 20H单元:

MOV A, #00H

MOV DPTR, #2000H

MOVC A, A+DPTR

MOV 20H, A

(5)外部ROM 2000H单元容送外部RAM 0020H单元:

MOV A, #00H

MOV R0, #20H

MOV DPTR, #2000H

MOVC A, A+DPTR

MOVX R0, A

3-8 已知SP=25H,PC=2345H,标号LABEL所在的地址为3456H,问执行长调用指令LCALL LABEL后,堆栈指针和堆栈的容发生什么变化?PC值等于什么?

答:(SP)=27H,(26H)=48H,(27H)=23H;(PC)=3456H 3-9 上题中的LCALL指令能否直接换成ACALL指令,为什么?如果使用ACALL指令,则可调用的地址围是什么?

答:不能,因为LABEL所在地址3456H与PC不在同一2 KB 围,即高5位地址不同。若要使用ACALL指令,可调用的地址围是2000H~27FFH。

3-10 有一个16位二进制数,高8位存于21H单元,低8位存于20H单元。执行如下程序段,试问:

⑴程序段功能是什么?

⑵能否用MOV代替程序段中的XCH语句而不改变程序的逻辑功能?写出相应程序段。

⑶两个程序段结果是否相同?差别在哪里?

CLR C

XCH A,21H

RRC A

XCH A,21H32

XCH A,20H

RRC A

XCH A,20H

答:(1)程序段的功能是将此16位二进制数除2后取整(2)能用MOV代替程序段中的XCH语句而不改变程序的逻辑功能,如下:

CLR C

MOV A,21H

RRC A

MOV 21H,A

MOV A,20H

RRC A

MOV 20H,A

两个程序段结果不相同。原程序执行后A的容为程序运行前A中容,即

此程序没有改变A中容;MOV语句程序中A 的容为原20H单元容右移一位后的容。

3-11 分析以下程序段运行的结果。若将DA A指令取消,则结果会有什么不同?

CLR C

MOV 20H,#99H

MOV A,20H

ADD A,#01H

DA A

MOV 20H,A

答:结果为(20H)=00H,CY=1。若取消DA A指令,(20H)=9AH,CY=0。

3-12 由于SJMP指令的转移围是256B,而AJMP指令转移围是2KB,所以在程序中SJMP指令都可以用AJMP指令来代替。”请问这种说法是否正确,为什么?

答:不正确。AJMP转移的目标地址必须在AJMP后面指令的第一个字节开始的同一2KB围,不能改变高5位地址,因此,即使相邻很近的两个地址,只要它的高5位发生改变,就不能跳转。而SJMP可以通过几次跳转,最终到任意目标地址。

3-13 使用位操作指令实现下列逻辑操作,要求不更改单元其他位的容。

解:(1)使Acc.0置1: SETB Acc.0

(2)清除累加器的高四位: ANL A,#0FH

或 CLR Acc.733

DOC格式.

CLR Acc.6

CLR Acc.5

CLR Acc.4

(3)清除Acc.3,Acc.4,Acc.5,Acc.6:

ANL A,#87H

或 CLR Acc.3

CLR Acc.4

CLR Acc.5

CLR Acc.6

3-14 将片RAM 中0FH单元的容传送到寄存器B,对0FH 单元的寻址可有三种方法:R寻址、R间址、Direct 寻址。请分别编出相应的程序,比较其字节数、机器周期和优缺点。

答:R寻址: MOV R0,0FH; 2字节,双周期

MOV 0F0H, R0; 2字节,双周期

R间址: MOV R0,#0FH; 2字节,单周期

MOV 0F0H ,R0; 2字节,双周期

Direct寻址:MOV A,#0FH ; 2字节,单周期

MOV 0F0H,A ; 2字节,单周期

3-15 怎样把位40H的容移至30H位?

答: MOV C,40H

MOV 30H,C

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

提示:首先用伪指令定义X,Y, Z , W,F是单片机引脚端口位,然后再编程,注意34

操作对象是位单元,应该使用位逻辑指令。

4-1 两个4位BCD码数相加求和。设被加数存于部RAM 的40H、41H单元,加数存于45H、46H单元,要求和数存于50H、51H单元(均前者为低二位,后者为高二位)。请编制加法程序段。若进行BCD码减法运算,应如何考虑。

解:程序如下:

CLR C

MOV A, 40H

ADD A,45H

DA A

MOV 50H,A

MOV A,41H

ADDC A,46H

DA A

MOV 51H,A CLR A

ADDC A,#00H

MOV 52H,A

编写多字节十进制(BCD码)减法程序段:

设被减数低字节地址存R0中,减数低字节地址存R1中,字节数存R3中。相减的结果依次存于原被减数单元。START: SETB C

SUBA: CLR A

ADDC A,#99H ;加99

SUBB A,@R1 ;减去减数

ADD A,@R0 ;作加法,加上被加数

DA A ;十进制调整

MOV @R0,A ;存入对应的被减数单元

INC R0 ;指向下一个字节单元

INC R1

DJNZ R3,SUBA ;若(R3)一1≠0,继续作减法

RET

注意:80C51中的十进制调整指令(DA A)只能用于二进制加法指令之后,不能用于二进制减法结果的调整。进行十进制(BCD码)减法只能采用先求减数的十进制补码,然后把结果与被减数相加。

如果被减数为A,减数为B,十进制的位数为n,则A-B=A+B bu=A+10n-B=A+9…9+1-B=9…9+1-B+A

式中:9…9的个数为n。

4-2 试编写程序,查找在部RAM 20H-50H单元中出现00H 的次数,并将查找的结果存入51H单元。

解:程序如下:

MOV R0,#20H

MOV R7,#31H

MOV 51H,#00H

LOOP1: CJNE R0, #00H, LOOP

INC 51H

LOOP: INC R0

DJNZ R7, LOOP1

HERE: SJMP HERE

4-3 晶振频率为12MHz,请用循环转移指令编制延时20ms 的延时子程序。

解:一个机器周期为1us,延时20ms需要机器周期数20000us/1us=20000

延时程序如下:

MOV R5, #T1 ;1个机器周期

LOOP2: MOV R4,#T2 ;T1个机器周期

LOOP1: NOP ;T1*T2个机器周期

NOP ;T1*T2个机器周期

DJNZ R4,LOOP1 ;2* T1*T2个机器周期

DJNZ R5, LOOP2 ;2* T1个机器周期

DOC格式.

RET ;1个机器周期

总计时:1+3×T1+4×T1×T2+1=20000

则:T1=202=0CAH, T2=24=18H (答案不唯一,T1与T2的值≤255)

4-4 已知两个八位无符号数a、b存放在BUF和BUF+1单元,编写程序计算5a+b,结果可能大于8位,仍放回BUF和BUF+1单元(BUF+1单元为高字节)。

解:根据题意,编写程序如下:

MOV A, BUF

MOV B,#05H

MUL AB

CLR C

ADD A, BUF+1

MOV BUF,A

MOV A,B

ADDC A,#00H

MOV BUF+1,A

4-5 外部数据RAM从2000H到2100H有—个数据块,现要将它们传送到从3000H到3100H的区域,试编写有关程序。

方法1: MOV P2, #20H

MOV R0, #00H

MOV R2, #00H

LOOP: MOVX A, R0 ;P2口即高八位地址

SETB P2.4 ;20H→30H

MOVX R0, A

CLR P2.4 ;30H→20H

INC R0

DJNZ R2, LOOP

MOV DPTR, #2100H

MOVX A, DPTR

MOV DPTR, #3100H

MOVX DPTR, A

方法2 MOV DPTR,#3000H

PUSH DPL

PUSH DPH ;压栈保护目标地址

MOV DPTR, #2000H

MOV R2, #01H

MOV R3, #01H ;数据长度送R3R2

LOOP: MOVX A, DPTR

INC DPTR

MOV R5,DPH

MOV R4,DPL ;源地址加1保护

POP DPH

POP DPL ;弹出目标地址

MOVX DPTR, A INC DPTR

PUSH DPL

PUSH DPH ;目标地址加1 压栈保护

MOV DPH, R5

MOV DPL, R4 ;取出源地址37

CLR C

MOV A, R2

SUBB A, #01H

MOV R2,A ;数据区长度低8位减1

MOV A, R3

SUBB A,#00H

MOV R3,A ;数据区长度高8位减借位位

ORL A, R2 ;(R3)与(R2)相或

JNZ LOOP ;两者全零时,101H个数传送完毕。

HERE: SJMP HERE

4-6 求16位带符号二进制补码数的绝对值。假定补码放在部RAM的num和num+1单元,求得的绝对值仍放在原单元中。(设num+1中容为高8位)

解:根据题意,编写子程序如下:

ABC: MOV A, num+1

ACC.7,FUSHU ;最高位为1,负数,转移处理

RET ;正数,补码即绝对值

FUSHU: MOV R0, #num

MOV A, R0

CPL A

ADD A, #01H ;低8位取反加1

MOV R0,A

INC R0

MOV A, R0

CPL A

ADDC A, #00H ;高8位取反加1,同时加进位位

MOV R0, A

RET

4-7 下列程序段经汇编后,从1000H开始的各有关存储单元的容是什么?

ORG 1000H

TAB1 EQU 1234H

TAB2 EQU 3000H

DB “START”

DW TAB1,TAB2,70H

答:1000H:53H;1001H:54H;1002H:41H;1003H:52H;1004H:54H

1005H:12H;1006H:34H;1007H:30H;1008H:00H;1009H:00H38 100AH:70H

4-8 编程将20H单元中的两个BCD数拆开,并变成相应的ASCII码存入21H和22H单元。

DOC格式.

解:根据题意,编写程序如下:

MOV R0,#22H

MOV R0,#00H

MOV A, 20H

XCHD A, R0

ORL 22H,#30H ;转换低4位

SWAP A

ORL A, #30H ;转换高4位

MOV 21H,A

HERE: SJMP HERE

4-9 存放在片RAM的DAT单元中的自变量X中是一个无符号数,试编写程序求下面函数的函数值并存放到片RAM的FUNC单元中。

63731 .s16 63729 .<≥>≥=20)(X2X20)X(505X50)(XXY 解:根据题意设计程序如下:

MOV A, DAT

CJNE A, #32H, LOOP

LOOP: JNC DONE

CJNE A,#14H,LOOP1

LOOP1: JC LOOP2

RL A

RL A

ADD A, DAT

SJMP DONE

LOOP2: RL A

DONE: MOV FUNC,A

HERE: SJMP HERE

4-11 已知片RAM以ADDR为起始地址的区域中存放着24个无符号数,试编写程序找出最小值,并存入MIN 单元。

解:根据题意,编写程序如下:

MOV R0, #ADDR ;数据区首地址39

MOV R7, #18H ;数据区长度

MOV A, R0 ;读第一个数

DEC R7

LOOP: INC R0

MOV 2AH, R0 ;读下一个数

CJNE A,2AH,CHK ;数值比较

CHK: JC LOOP1 ;A值小转移

MOV A,R0

LOOP1: DJNZ R7,LOOP ;继续

MOV 2BH,A ;极值送2BH单元

HERE: AJMP HERE ;停止

6-1·什么是中断?什么是中断源?

答:当CPU正在运行时,外部发生的某一随机事件(如一个电平的变化,一个脉冲沿的发生或定时器计数溢出等)请求CPU迅速去处理,于是,CPU暂时中止现行的程序,转去处理所发生的事件。处理完该事件以后,再回到原来被中止的地方,继续原来的工作。这种在程序执行过程中由于外界的原因而被中间打断的情况称为中断。产生中断的请求源称为中断源。

6-2·MCS-51提供了哪几种中断源?在中断管理上有什么特点?各中断源中断优先权的高低是如何排列确定的?

答:MCS-51单片机设立了5个中断源,其中两个为外部中断源,外部中断0即,外部中断1即,三个为片中断源(部中断源),分别为定时器/计数器T0溢出中断、定时器/计数器T1溢出中断和串行口中断。由特殊功能寄存器TCON 和SCON的相应位表示了各中断源的状态。提供2个中断优先级,中断处理程序可实现二级中断嵌套。各中断源可以由中断优先级控制寄存器IP程控为高优先级或低优先级中断。中断源的排列顺序由中断优先级控制寄存器和部查询电路共同决定,并且各中断源可以由中断允许控制寄存器IE定义为开放或屏蔽状态。0INT1INT

6-3·MCS-51响应中断的条件是什么?CPU响应中断时,不同的中断源,其中断入口地址各是多少?

答:MCS-51响应中断的基本条件有:

1.有中断源发出中断请求。

2.中断总允许位EA=l,即CPU开中断。

3.发出中断请求的中断源所对应的中断允许位为1,即该中断没有被屏蔽。

若上述条件满足,并且不存在任意一种下列情况,则CPU 会相应中断:

1、CPU正在执行同级或更高级中断服务程序。

2、当前的指令周期还未结束。这样可保证指令的完整,防止中断返回后出现错误指令。

3、现行指令为RETI或者是访问IE或IP的指令,该指令以及紧接着的另一条指令还未执行完。为了保证CPU能正确返回,CPU在执行RETI或访问IE、IP的指令后,至少需要再执行一条指令,才会响应新的中断请求。

若存在上述任何一种情况,则CPU将丢弃中断查询结果,此次中断申请无效,不会再被响应。若没有上述情况,CPU将在紧接着的下一个机器周期响应中断。

各中断源及与之对应的矢量地址略。

6-4·MCS-51的外部中断有哪两种触发方式?它们对触发脉冲或电平有什么要求?应如何选择和设定?

答:MCS-51的外部中断有两种触发方式:边沿触发方式和电平触发方式。对于边沿触发方式,CPU在每一个机器周期S5P2期间采样外部中断l请求引脚的输入电平。如果在相继的两个机器周期采样过程中,一个机器周期采样

DOC格式.

到外部中断1请求信号为高电平,接着的下一个机器周期采样到外部中断1请求信号为低电平,出现了下跳沿,则使IEl置1。直到CPU响应该中断时,才由硬件使IEl清0。对于电平触发方式,CPU在每一个机器周期S5P2期间采样外部中断1请求引脚的输入电平。若外部中断l请求信号为低电平,则使IE1置1,若外部中断1请求信号为高电平,则使IEl清0。可由TCON 中对应的IT0(或IT1)位程控为低电平或下降沿有效。IT0(或IT1)=1时,外部中断0(或1)程控为边沿触发方式。IT0(或IT1)=0时,外部中断0(或1)程控为电平触发方式。

6-5·MCS-51单片机的中断系统中有几个优先级?如何设定?

答:MCS-51单片机的中断系统中有两个中断优先级。每一个中断请求源均可编程为高优先级中断或低优先级中断,可以实现二级中断嵌套。MCS-51的中断系统中设置了一个中断优先级寄存器IP,可按位寻址。IP中的低5位为各中断源优先级的控制位,可用软件来设定。若某几个控制位为1,则相应的中断源就规定为高级中断;反之,若某几个控制位为0,则相应的中断源就规定为低级中断。

6-6·某MCS-51系统用于定时测试压力、温度,定时用T0来实现,压力超限和温度超限的报警信号分别由和输入,中断优先权排列顺序依次为压力超限→温度超限→定时检测,试确定专用寄存器IE和IP的容,并编写初始化程序。0INT1INT

DOC格式.

单片机课后习题答案部分筛选

第一章 2单片机具有哪些特点 (1)片内存储容量越来越大。 (2抗干扰性好,可靠性高。 (3)芯片引线齐全,容易扩展。 (4)运行速度高,控制功能强。 (5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。 第二章 6. 如何简捷地判断89C51正在工作? 答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?) ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频用示波器观察ALE是否有脉冲输出(判断 8051芯片的好坏?) 观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN接外部EPROM(ROM)的/OE端子 OE=Output Enable(输出允许) 9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANL P0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚的,意思就是把端口p1输入数据送给A) 传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。 13. 内部RAM低128字节单元划分为哪3个主要部分?各部分主要功能是什么? 答:片内RAM低128单元的划分及主要功能: (l)工作寄存器组(00H~lFH) 这是一个用寄存器直接寻址的区域,内部数据RAM区的0~31(00H~lFH),共32个单元。它是4个通用工作寄存器组,每个组包含8个8位寄存器,编号为R0~R7。 (2)位寻址区(20H~2FH) 从内部数据RAM区的32~47(20H~2FH)的16个字节单元,共包含128位,是可位寻 址的RAM区。这16个字节单元,既可进行字节寻址,又可实现位寻址。 (3)字节寻址区(30H~7FH) 从内部数据RAM区的48~127(30H~7FH),共80个字节单元,可以采用间接字节寻址 的方法访问。 15. 开机复位后,CPU使用的是哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组?

单片机原理及应用(第三版)课后习题答案完整版

第1 章思考题及习题1 参考答案 一、填空 1.除了单片机这一名称之外,单片机还可称为或。答:微控制器,嵌入式控制 器. 2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接 在一起,集成于一块芯片上。答:CPU、存储器、I/O 口、总线 3.AT89S52 单片机工作频率上限为MHz 。答:33 MHz。 4.专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提 高。答:成本,可靠性。 二、单选 1.单片机内部数据之所以用二进制形式表示,主要是 A.为了编程方便B.受器件的物理性能限制 C.为了通用性D.为了提高运算速度 答:B 2.在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用B.测量、控制应用 C.数值计算应用D.数据处理应用 答:B 3.下面的哪一项应用,不属于单片机的应用范围。 A.工业控制B .家用电器的控制C .数据库管理D .汽车电子设备 答:C

三、判断对错 1.STC 系列单片机是8051内核的单片机。对 2.AT89S52 与AT89S51相比,片内多出了4KB的Flash 程序存储器、128B 的RAM、1 个中断源、1 个定时器(且具有捕捉功能)。对 3.单片机是一种CPU。错 4.AT89S52 单片机是微处理器。错 5.AT89C52片内的Flash 程序存储器可在线写入,而AT89S52则不能。错 6.为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。对 7.为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。对 8.单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功 能则是DSP 的长处。对 四、简答 1.微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别? 答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。 2.AT89S51 单片机相当于MCS-51系列单片机中的哪一型号的产品?“ S”的含义是什么? 答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash 存储器取代了87C51片内的4K 字节的EPRO。M

单片机课后答案

答:中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。中断源指向 CPU 提出中断申请的设备,包括中断请求信号的产生及该信号怎样被CPU 有效地识别,要求中断请求信号产生一次,只能被CPU 接收处理一次,即不能一 次中断申请被CPU 多次响应。当 CPU 正在执行中断服务程序时,又有中断优先级更高的中断申请产生,CPU 就会暂停原来的中断处理程序而转去处理优先级更高的中断请求,处理完毕后再返回原低级中断服务程序,这一过程称为中断嵌套.中断优先级指在实际应用系统中往往有多个中断源,且中断申请是随机的,有时还可能会有多个中断源同时提出中断申请,但CPU 一次只能响应一个中断源发出的中断请求,CPU 响应哪个中断请求,就需要用软件或硬件安排一个优先顺序,即中断优先级排队。 6-2 MCS-51 单片机提供了几个中断源有几级中断优先级别各中断标志是如何产生的又如何清除这些中断标志各中断源所对应的中断矢量地址是多少 答:(1)MCS-51 单片机提供了5 个中断源: INT0 、INT1 、T0、T1、串行口。 (2)MCS-51 系列单片机有两个中断优先级,每一个中断请求源均可编程为高优先级中 断或低优先级中断,从而实现两级中断嵌套。 (3)外部中断可以设置边沿触发或者电平触发,靠软件置位。边沿触发进入中断程序后硬件自动清中断标志。电平触发需要软件清除中断标志位,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。 (4)定时器T0、T1 计数溢出产生中断,进入中断程序后由硬件自动清除标志位TF0 或TF1。(5)串行口发送完成或者接收到数据就触发中断,由于是两个中断标志共享一个中断向量,所以需要在中断程序里由软件判断是发送中断还是接受中断,并且只能由软件清除中断标志位。使用软件清除中断标志位的方法是: CLR TI ;清TI 标志位 CLR RI ;清RI 标志位 (6)各中断源对应的中断矢量地址分别为: 中断源中断矢量 外部中断 0 0003H 定时器T0 中断000BH 外部中断1 0013H 定时器T1 中断001BH 串行口中断0023H 定时器中断T2(仅52 系列有) 002BH 6-3 外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同怎样设定 答:采用中断电平触发方式时,中断请求标志IT0=0,CPU 在每个机器周期的S5P2 期间采样,一旦在( INT0 )引脚上检测到低电平,则有中断申请,使IE0 置位(置1),向CPU 申请中断。在电平触发方式中,在中断响应后中断标志位IE0 的清0 由硬件自动完成,但由于CPU 对( INT0 )引脚没有控制作用,使中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清0 的IE0 标志位重新置1,所以, 在中断响应后必须采用其它方法撤消该引脚上的低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。采用边沿触发方式时,IT0=1,CPU 在每个机器的S5P2 期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0 置1,向CPU 申请中断,此标志位一直保持到CPU 响应中断后,才由硬件自动清除。在边沿触发方式中,为保证CPU 在两个机器周期内检测到由高到低的负跳变,高电平与低电平的持续时间不得少于一个机器周

单片机原理习题及答案

习题 1. 何为“准双向I/O接口”?在MCS-51单片机的四个并口中,哪些是“准双向I/O接口”? 答:准双向I/O接口是能实现输入输出功能,但在使用时只能从输入和输出中选择一个。MCS-51单片机的四个并口中P1、P2、P3是准双向I/O接口。 2. 80C51单片机内部有几个定时/计数器?它们由哪些功能寄存器组成?怎样实现定时功能和计数功能? 答:80C51单片机内部有两个16位的可编程定时/计数器,由TH0,TL0,TH1,TL1,TMOD和TCON功能寄存器组成。通过TMOD中的C/T位选择对机器周期计数实现计数功能,选择对外部脉冲计数实现计数功能。 3. 定时/计数器T0有几种工作方式?各自的特点是什么? 答:有四种工作方式,特点见下表: M1 M0 工作方式方式说明 0 0 0 13位定时/计数器 0 1 1 16位定时/计数器 1 0 2 8位自动重置定时/计数器 1 1 3 两个8位定时/计数器(只有T0有) 4. 定时/计数器的四种工作方式各自的计数范围是多少?如果要计10个单位,不同的方式初值应为多少? 答:有四种方式。方式0计数范围:1~8192;方式1计数范围:1~65536;方式2计数范围:1~256;方式3计数范围:1~256。 如果计10个单位,方式0初值为:8192-10=8182;方式1初值为:65536-10=65526;方式2初值为:256-10=246;方式2初值为:256-10=246。 5. 设振荡频率为12MHz,如果用定时/计数器T0产生周期为100ms的方波,可以选择哪几种方式,其初值分别设为多少? 答:只能选择方式1,初值为65536-50000=15536。

单片机课后习题答案

单片机课后习题答案 1.89C51单片机内包含哪些主要逻辑功能部件? 答:80C51系列单片机在片内集成了以下主要逻辑功能部件: (l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB (5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个 2.89C51的EA端有何用途? 答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器。/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。/EA端保持高电平时,CPU执行内部存储器中的指令。 3.89C51的存储器分哪几个空间?如何区别不同空间的寻址? 答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB)片内RAM (MOV)(8bits地址)(256B) 4.简述89C51片内RAM的空间分配。 答:片内RAM有256B,低128B是真正的RAM区,高128B是SFR(特殊功能寄存器)区。 5.简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。 答:片内RAM区从00H~FFH(256B) 其中20H~2FH(字节地址)是位寻址区对应的位地址是00H~7FH 6. 如何简捷地判断89C51正在工作? 答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?)ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频 用示波器观察ALE是否有脉冲输出(判断8051芯片的好坏?) 观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN接外部EPROM(ROM)的/OE端子OE=Output Enable(输出允许) 7. 89C51如何确定和改变当前工作寄存器组? 答:PSW(程序状态字)(Program Status Word)中的RS1和RS0 可以给出4中组合,用来从4组工作寄存器组中进行选择PSW属于SFR(Special Function Register)(特殊功能寄存器) 9.读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANLP0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1这条指令就是读引脚的,意思就是把端口p1输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ

单片机课后习题答案解析

一)填空题 1. 十进制数14对应的二进制数表示为(1110B),十六进制数表 示为(0EH)。十进制数-100的补码为(9CH),+100的补码为(64H)。 2. 在一个非零的无符号二进制整数的末尾加两个0后,形成一个新的无符号二进制整数,则新数是原数的(4)倍。 3. 8位无符号二进制数能表示的最大十进制数是(255)。带符号二进制数11001101转换成十进制数是(-51)。 4. 可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去的设备统称为(输入设备)。 5. 已知字符D的ASCII码是十六进制数44,则字符T的ASCII码是十进制数(84)。 6. 若某存储器容量为640KB,则表示该存储器共有(655360)个存储单元。 7. 在计算机中,二进制数的单位从小到大依次为(位)、(字节)和(字),对应的英文名称分别是(bit)、(Byte)和(Word)。 8. 设二进制数A=10101101,B=01110110,则逻辑运算A∨B=(11111111),A ∧B=(00100100),A⊕B=(11011011)。 9. 机器数01101110的真值是(+110),机器数01011001的真值是(+89),机器数10011101的真值是(+157或-115),机器数10001101的真值是(+206或-50)。(二)单项选择题 1. 用8位二进制补码数所能表示的十进制数范围是(D) (A)-127 ~ +127 (B)-128 ~ +128 (C)-127 ~ +128 (D)-128 ~ +127 2. 下列等式中,正确的是(B) (A)1 KB = 1024×1024 B (B)1 MB = 1024×1024 B (C)1 KB = 1024 M B (D)1 MB = 1024 B 3. 程序与软件的区别是(C) (A)程序小而软件大(B)程序便宜而软件昂贵 (C)软件包括程序(D)程序包括软件 4. 存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A) (A)地址(B)字节(C)列号(D)容量 5. 8位二进制数所能表示的最大无符号数是(B) (A)255 (B)256 (C)128 (D)127 6. 下列4个无符号数中,最小的数是(B) (A)11011001(二进制)(B)37(八进制) (C)75(十进制)(D)24(十六进制) 7. 下列字符中,ASCII码最小的是(B) (A)a (B)A (C)x (D)X 8. 下列字符中,ASCII码最大的是(C) (A)a (B)A (C)x (D)X 9. 有一个数152,它与十六进制数6A相等,那么该数是(B) (A)二进制数(B)八进制数(C)十进制数(D)十六进制数 第2章80C51单片机的硬件结构 (一)填空题

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

单片机原理及应用习题 答案第三版 集团标准化工作小组 [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接口实际上是向用

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

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间: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

单片机课后习题答案

1.1 计算机经过了哪些主要发展阶段? 解:单片机的发展大致经历了四个阶段: 第一阶段(1970—1974年),为4位单片机阶段; 第二阶段(1974—1978年),为低中档8位单片机阶段; 第三阶段(1978—1983年),为高档8位单片机阶段; 第四阶段(1983年至今),为8位单片机巩固发展阶段及16位单片机、32位单片机推出阶段。 1.2 写出下列机器数的真值: (1)01101110 (2)10001101 (3)01011001 (4)11001110 解:(1)01101110的真值=+110 (2)10001101的真值=+141或-115 (3)01011001的真值=+89 (4)11001110的真值=+206或-50 说明:机器数是指计算机中使用的二进制数,机器数的值称为真值。机器数可表示为无符号数也可表示为带符号数,其中计算机中的带符号数一般为补码形式。10001101若为无符号数。则其真值为+141;若为带符号数,由于最高位(符号位)为1.所以为负数(补码形式),则其真值为-115。 1.4 写出下列二进制数的原码、反码和补码(设字长为8位)。 (1)010111 (2)101011 (3)-101000 (4)-111111 解:(1) [x]原=00010111 [x]反= 00010111 [x]补= 00010111 (2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011 (3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000 (4)[x]原=10111111 [x]反= 11000000 [x]补=11000001 1.5 已知X=10110110,Y=11001111,求X 和Y 的逻辑与、逻辑或和逻辑异或。 解:10000110X Y ?= 11111111X Y += 01111001X Y ⊕= 1.6 已知X 和Y ,试计算下列各题的[]X Y +补和[]-X Y 补(设字长为8位)。 (1)X=1011 Y=0011 (2)X=1011 Y=0101 (3)X=1001 Y=-0100 (4)X=-1000 Y=0101 (5)X=-1100 Y=-0100 解:(1)X 补码=00001011 Y 补码=00000011 [X+Y]补=00001110 [X-Y]补=00001000 (2)X 补码=00001011 Y 补码=00000101 [X+Y]补=00010000 [X-Y]补=00000110 (3)X 补码=00001001 Y 补码=11111100 [X+Y]补=00010000 [X-Y]补=00000110

单片机原理试题库答案

单片机原理及应用复习题及答案 一、选择题(在每个小题四个备选答案中选出一个或几个正确答案,填在题的括号中) 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

单片机课后习题-答案~

习题答案 习题0 1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM 和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。 2.什么叫单片机?其主要特点有哪些? 将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。 单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。 3. 单片机有哪几个发展阶段? (1)第一阶段(1974—1976年):制造工艺落后,集成度低,而且采用了双片形式。典型的代表产品有Fairchild公司的F8系列。其特点是:片内只包括了8位CPU,64B的RAM 和两个并行口,需要外加一块3851芯片(内部具有1KB的ROM、定时器/计数器和两个并行口)才能组成一台完整的单片机。 (2)第二阶段(1977—1978年):在单片芯片内集成CPU、并行口、定时器/计数器、RAM和ROM等功能部件,但性能低,品种少,应用范围也不是很广。典型的产品有Intel 公司的MCS-48系列。其特点是,片内集成有8位的CPU,1KB或2KB的ROM,64B或128B的RAM,只有并行接口,无串行接口,有1个8位的定时器/计数器,中断源有2个。片外寻址范围为4KB,芯片引脚为40个。 (3)第三阶段(1979—1982年):8位单片机成熟的阶段。其存储容量和寻址范围增大,而且中断源、并行I/O口和定时器/计数器个数都有了不同程度的增加,并且集成有全双工串行通信接口。在指令系统方面增设了乘除法、位操作和比较指令。其特点是,片内包括了8位的CPU,4KB或8KB的ROM,128B或256B的RAM,具有串/并行接口,2个或3个16位的定时器/计数器,有5~7个中断源。片外寻址范围可达64KB,芯片引脚为40个。代表产品有Intel公司的MCS-51系列,Motorola公司的MC6805系列,TI公司的TMS7000系列,Zilog公司的Z8系列等。 (4)第四阶段(1983年至今):16位单片机和8位高性能单片机并行发展的时代。16位机的工艺先进,集成度高,内部功能强,运算速度快,而且允许用户采用面向工业控制的专用语言,其特点是,片内包括了16位的CPU,8KB的ROM,232B 的RAM,具有串/并行接口,4个16位的定时器/计数器,有8个中断源,具有看门狗(Watchdog),总线控制部件,增加了D/A和A/D转换电路,片外寻址范围可达64KB。代表产品有Intel公司的MCS-96系列,Motorola公司的MC68HC16系列,TI公司的TMS9900系列,NEC公司的783××系列和NS公司的HPC16040等。然而,由于16位单片机价格比较贵,销售量不大,大量应用领域需要的是高性能、大容量和多功能的新型8位单片机。 近年来出现的32位单片机,是单片机的顶级产品,具有较高的运算速度。代表产品有Motorola公司的M68300系列和Hitachi(日立)公司的SH系列、ARM等。 4.在实际应用中,如何选择单片机的类型? 选择原则:主要从指令结构、运行速度、程序存储方式和功能等几个方面选择单片机。 MCS-51为主流产品。 Motorola是世界上最大的单片机厂商。品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。 Microchip单片机是市场份额增长较快的单片机。它的主要产品是PIC系列8位单片机。其特点是运行速度快,低价位,适用于量大、档次低、价格敏感的产品。 美国德州仪器(TI)公司生产的MSP430系列单片机是一种特低功耗的Flash微控制器。主要用于三表及超低功耗场合。

单片机原理和应用习题答案解析(第三版)

第一章习题参考答案 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存储器,开发过程中可以容易地进行

单片机原理及应用课后习题参考答案1~6章(DOC)

《单片机原理及应用》习题答案 第一章计算机基础知识 1-1 微型计算机主要由哪几部分组成?各部分有何功能? 答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。 CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。 存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。按其功能可分为RAM和ROM。 输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。 总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。 1-3 什么叫单片机?其主要由哪几部分组成? 答:单片机(Single Chip Microcomputer)是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。 1-4 在各种系列的单片机中,片内ROM的配置有几种形式?用户应根据什么原则来选用? 答:单片机片内ROM的配置状态可分四种: (1)片内掩膜(Mask)ROM型单片机(如8051),适合于定型大批量应用产品的生产; (2)片内EPROM型单片机(如8751),适合于研制产品样机; (3)片内无ROM型单片机(如8031),需外接EPROM,单片机扩展灵活,适用于研制新产品; (4)EEPROM(或Flash ROM)型单片机(如89C51),内部程序存储器电可擦除,使用更方便。 1-5 写出下列各数的另两种数制的表达形式(二、十、十六进制) 1-6 写出下列各数的BCD参与: 59:01011001,1996:0001100110010110,4859.2:0100100001011001.0010

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

思考与练习题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 一、选择题 1.B 2.C 3.C 4.C 5.B 二、填空题 1.微控制器;嵌入式微控制器 2.CPU;存储器;I/O口 3.Flash存储器 4.8751 三、简答题 1.MCS-51系列单片机的基本型芯片分别是8031、8051和8751。它们的差别是在片内程序存储器上。8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。 2.MCS-51系列单片机是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。 习题2 一、选择题 1.D 2.B 3.B 4.C 5.C 6.B 7.B 8.A 9.A 10.D 二、填空题 1.8;0 2.16;64 KB 3.内部RAM的00H~7FH;8 4.PC;PC 5.4;00H;1FH 6.128;28H 7.50H;88H 8.8位并行的;P0;P1、P2、P3;地址总线 9.12;1μs;12μs 10.按下复位按钮;2 11.04H;00H;0

12.07H;08H 三、简答题 1.A T89C51片内都集成下列功能部件: (1)1个微处理器(CPU); (2)128个数据存储器(RAM)单元; (3)4KB Flash程序存储器; (4)4个8位可编程并行I/O口(P0口、P1口、P2口、P3口); (5)1个全双工串行口; (6)2个16位定时器/计数器; (7)一个中断系统,5个中断源,2个优先级; (8)21个特殊功能寄存器(SFR)。 2.当EA接低电平时,只访问外部程序存储器,地址为0000H~FFFFH。此时,片内4KB的程序存储器没有用到。 当EA接+5V高电平时,首先访问片内4KB的程序存储器,当PC值超过0FFFH时,即超出片内程序存储器的4KB地址范围时,自动转向外部程序存储器执行程序。此时,片外4KB的程序存储器没有用到。 3.5个中断源的中断服务子程序的入口地址见下表。 4.读外部ROM的控制线是PSEN,读外部RAM的控制线是P3.6(WR)、P3.7(RD)。 5.P3口各个引脚的第二功能如下表所示。 6.读写位地址与字节地址不会混淆,因为读写位地址的指令与读写字节地址的指令

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

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

实验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);

单片机课后习题答案--胡汉才编

单片机部由哪几部分电路组成各部分电路的主要功能是什么 解:单片机部由CPU、存储器和I/O接口等电路组成。CPU的主要功能是对二进制数进行算术和逻辑运算、执行指令(从ROM中取指令,对指令译码,发各种控制信号使CPU和其他部分协调一致的工作,完成指令的功能),存储器由ROM和RAM组成,ROM的主要功能是存储单片机应用系统的程序,RAM的主要功能是存储实时数据或作为通用寄存器、堆栈、数据缓冲区。I/O接口的主要功能是负责单片机和外设、外部存储器间的通信。 第二章 存在的错别字问题:“振荡”写出“推荡”;“芯片”写成“蕊片”。 、程序状态字PSW各位的定义是什么 解:PSW的各位定义如下: @ Cy:进位标志位;AC:辅助进位位; F0:用户标志位;RS1、RS0:寄存器选择位; OV:溢出标志位;P:奇偶标志位; PSW1:未定义。 、什么叫堆栈8031堆栈的最大容量是多少MCS51堆栈指示器SP有多少位,作用是什么单片机初始化后SP中的容是什么 解:堆栈:符合“先进后出”或“后进先出”存取规律的RAM区域。 8031堆栈的最大容量是128B; 】 MCS-51堆栈指针SP有8位,作用是存放栈顶(/栈低)地址; 单片机初始化后(即单片机复位后)SP中的容是07H。 存在的问题:1、堆栈的定义中,未答出“RAM区域”,而用了“部件”; 2、只说了“单片机初始化后(即单片机复位后)SP中的容是栈底地址”,未说明具体值07H; 3、8031堆栈的最大容量错成128M或256B。 、数据指针DPTR有多少位,作用是什么 解:数据指针DPTR有16位;作用是存放ROM或外部RAM的地址。 | 、8051片RAM容量有多少可以分为哪几个区各有什么特点 解:8051的片RAM容量有128B;分为三个区:工作寄存器区、位寻址区和便笺区; 存在的问题:1、8051的片RAM容量错成256B。 、8051的特殊功能寄存器SFR有多少个可以位寻址的有哪些 解:8051的SFR有21个,可位寻址的有11个:ACC、B、PSW、IP、P3、IE、P2、SCON、P1、TCON 和P0。 存在的问题:SFR有21个错成了26个;可位寻址的SFR中多了一个T2CON,个别同学甚至在T2CON 用了一个“+”号。 :

相关主题
文本预览
相关文档 最新文档