搜档网
当前位置:搜档网 › (完整版)单片机课后题答案(霍孟友主编)

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

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

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位,每一位都有相应的位地址,可用位寻址方式对其进行置位、复位、内容传送、逻辑运算等操作。

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

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

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个机器周期

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

JB 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单元。

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

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请求引脚的输入电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断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

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

第一章 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如何确定和改变当前工作寄存器组?

单片机课后答案

答:中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。中断源指向 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-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 章思考题及习题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

单片机课后习题答案

单片机课后习题答案 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-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、标准键盘、鼠

单片机原理及接口技术课后习题答案 李朝青 第五章

单片机原理及接口技术课后习题答案李朝青 课后习题答案2009-11-22 15:13 阅读696 评论9 字号:大中小第五章 1、什么是中断和中断系统?其主要功能是什么? 答:当CPU正在处理某件事情的时候,外部发生的某一件事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。这种过程称为中断,实现这种功能的部件称为中断系统。功能: (1)使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理 (2)完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率 (3)实现实时控制 2、试编写一段对中断系统初始化的程序,使之允许INT0,INT1,TO,串行口中断,且使T0中断为高优先级中断。 解:MOV IE,#097H MOV IP,#02H 3、在单片机中,中断能实现哪些功能? 答:有三种功能:分时操作,实时处理,故障处理 4、89C51共有哪些中断源?对其中端请求如何进行控制? 答:(1)89C51有如下中断源 ①:外部中断0请求,低电平有效 ②:外部中断1请求,低电平有效 ③T0:定时器、计数器0溢出中断请求 ④T1:定时器、计数器1溢出中断请求 ⑤TX/RX:串行接口中断请求 (2)通过对特殊功能寄存器TCON、SCON、IE、IP的各位进行置位或复位等操作,可实现各种中断控制功能 5、什么是中断优先级?中断优先处理的原则是什么? 答:中断优先级是CPU相应中断的先后顺序。原则: (1)先响应优先级高的中断请求,再响应优先级低的 (2)如果一个中断请求已经被响应,同级的其它中断请求将被禁止

单片机课后习题答案解析

一)填空题 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单片机的硬件结构 (一)填空题

单片机实验考核题目及答案

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

单片机课后习题答案

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

单片机课后习题-答案~

习题答案 习题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微控制器。主要用于三表及超低功耗场合。

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

89c51单片机李朝青版第七章课后习题答案

第七章 第7 章习题 1、什么是串行异步通信,它有哪些作用?答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。通信采用帧格式,无需同步字符。存在空闲位也是异步通信的特征之一。 2、89C51 单片机的串行口由哪些功能部件组成?各有什么作用? 答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、 串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。 由发送缓冲期SBUF 发送数据,接收缓冲期SBUF 接收数据。串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。定时器T1产生串行 通信所需的波特率。 3、简述串行口接收和发送数据的过程。 答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。当向SBUF 发“写”命令时(执行“ MOV SBUF,A ”),即向缓冲期SBUF 装载并开始TXD 引脚向外发送一帧数据,发送完便使发送中断标志位TI=1 。 在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN(SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF 中,同时使RI=1 。当发读SBUF 命令时(执行“ MOV A, SBUF ”),便由接收缓冲期SBUF取出信息通过89C51内部总线送CPU。 4、89C51 串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定? 答:89C51 串行口有4种工作方式: 方式0(8位同步移位寄存器),方式1(10 位异步收发),方式2(11 位异步收发),方式 3 (11 位异步收发)。 有 2 种帧格式:10 位,11 位 方式0:方式0的波特率也fosc/12(波特率固定为振荡频率1/12) 方式2:方式2波特率也2SMOD/64 X fosc 方式1和方式3 :方式1和方式3波特率也2SMOD/32 X (T1溢出速率) 如果T1 采用模式 2 则: 5、若异步通信接口按方式3 传送,已知其每分钟传送3600 个字符,其波特率是多少?答:已知每分钟传送3600 个字符,方式 3 每个字符11 位,则: 波特率=(11b/字符)X(3600 字符/60s)=660b/s 6、89C51 中SCON 的SM2, TB8 , RB8 有何作用? 答:89c51SCON 的SM2 是多机通信控制位,主要用于方式 2 和方式3.若置SM2=1 ,则允许多机通信。 TB8 是发送数据的第9位,在方式2或方式3中,根据发送数据的需要由软件置位或复位。它在许多通信协议中可用作奇偶校验位;在多机通信中作为发送地址帧或数据帧的标志位。 RB8是接收数据的第9位,在方式2或方式3中接收到的第9位数据放在RB8位。它或是约定的奇偶校验位,或是约定的地址/数据标示位。 7、设fosc= 11.059MHz,试编写一段程序,其功能为对串行口初始化,使之工作与方式 1 , 波特率为1200b/s;并用查询串行口状态的方法,读出接收缓冲器的数据并回送到发送缓冲 器。 解: START:MOV SCON,#40H ;串行接口工作于方式1

单片机原理及应用课后习题参考答案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

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

《单片机原理与应用》第三版赵德安课后习题答案.docx

第一章 1.单片机内部至少包含哪些部件? 答:中央处理器CPU、I/O口、随机存储器RAM、只读存储器ROM。 2.根据程序存储器的差别,单片机可以分为哪几种类型? 答:MCS-51系列单片机按片内不同程序存储器的配置来分,可以分为以下3种类型: 1、片内带Mask ROM(掩膜ROM)型:例如8051、80C51、805 2、80C52。此类芯片是由半导体厂家在芯片生产过程中,将用户的应用程序代码通过掩膜工艺制作到ROM中。其应用程序只能委托半导体厂家“写入”,一旦写入后不能修改。此类单片机适合大批量使用。 2、片内带EPROM型:例如8751、87C51、8752。此类芯片带有透明窗口,可通过紫外线擦除存储器中的程序代码,应用程序可通过专门的编程器写入到单片机中,需要更改时可擦除重新写入。此类单片机价格较贵,不宜于大批量使用。 3、片内带EEPROM(电可擦可编程只读存储器)型:例如8951、89C51、8952。此类芯片可以在电脑上或专用设备上擦除已有信息,重新编程。此类单片机目前应用很广。 4、片内无ROM(ROMLess)型:例如8031、80C31、8032。此类芯片的片内没有程序存储器,使用时必须在外部并行扩展程序存储器存储芯片。此类单片机由于必须在外部并行扩展程序存储器存储芯片,造成系统电路复杂,目前较少使用。 3.单片机的主要特点是什么?它适宜构成通用微机系统还是专用微机系统?为什么? 答:单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。其主要特点如下: 1、价格便宜。 2、功能不大。只能专用在适用的领域,但在适用的领域中,性价比却是最佳。 3、可靠性高,抗干扰能力强。 4、功耗比较低。对电源要求低,适用面广。 5、外围扩展能力强。可以应用到不同的控制系统中。 根据其特点可知,单片机功能不大,不适宜构成通用微机系统,只适宜构成专用微机系统。 4.研制微机应用系统时,应如何选择单片机的型号? 答:在单片机应用研究系统开发中,单片机是整个设计的核心。在进行正式的单片机应用研究系统开发之前,需要根据不同单片机的特性,从中作出合理的选择。 1.仔细调查市场,尽量选用主流的、货源充足的单片机型号,这些器件使用比较广泛,有许多设计资料供学习或参考。 2.尽量选择所需硬件集成在单片机内部的型号,例如ADC、DAC、I2C、SPI和USB等。这样便于整个控制系统的软件管理,减少外部硬件的投入,缩小整体电路板的面积,从而减少总体投资等。 3.对于手持设备,移动设备或者其他需要低功耗的设备,尽量选择低电压、低功耗的单片机型号,这样可以减少能量的消耗,延长设备的使用寿命。 4.在资金等条件允许的情况下,尽量选择功能丰富,扩展能力强的单片机,这样便于以

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

单片机部由哪几部分电路组成各部分电路的主要功能是什么 解:单片机部由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 用了一个“+”号。 :

相关主题