单片机原理及应用答案

2026/4/23 23:59:26

《单片机原理及应用》思考题与习题参考答案

NET1:

NET2:

NET3:

2.20解:

MAIN:

LOOP:

LOOP1:

2.21解:

MAIN:

LS:

SJMP NET3 JC NET2 INC R4 INC DPTR

DJNZ R2,LOOP SJMP NET3 INC R5 INC DPTR

DJNZ R2,LOOP SJMP $ END

ORG 0000H LJMP MAIN ORG 0030H MOV DPTR,#1000H MOV A,#22H MOVX @DPTR,A MOV DPTR,#1030H MOV A,#33H MOVX @DPTR,A MOV DPTR,#1000H MOV R2,#31H MOV

R0,#30H

MOVX A,@DPTR MOV @R0,A INC DPTR INC R0

DJNZ R2,LOOP MOV DPTR,#1000H MOV A,#00 MOV R2,#31H MOVX @DPTR,A INC DPTR

DJNZ R2,LOOP1 SJMP $ END

ORG 0000H LJMP MAIN ORG 0100H

MOV DPTR,#2040H MOV R2,#50 CLR 7FH DEC R2

MOVX A,@DPTR MOV 20H,A INC DPTR

MOVX A,@DPTR MOV 21H,A MOV A,20H

CJNE A,21H,LOOP LOOP: JNC LOOP1 MOV A,20H MOVX @DPTR,A DEC DPTR MOV A,21H MOVX @DPTR,A INC DPTR SETB 7FH LOOP1: DJNZ R2,LS JB 7FH,MAIN SJMP $ END

2.22解: ORG 0000H LJMP MAIN ORG 0030H MAIN: LCALL SUBONE AJMP $ ; SUBONE use dptr,a,30h,31h SUBONE: MOV DPTR,#2000H LOOP: MOVX A,@DPTR XRL A,#41H JNZ TT MOV A,30H MOV DPTR,#20A0H MOVX @DPTR,A MOV DPTR,#20A1H MOV A,31H MOVX @DPTR,A RET TT: INC DPTR MOV 30H,DPH MOV 31H,DPL MOV A,31H CJNE A,@00H,LOOP RET END

2.23解: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R2,#20 MOV R1,#30H MOV DPTR,#2000H TT: MOVX A,@DPTR CLR C SUBB A,#30H SWAP A MOV 41H,A INC DPTR

9 页 By:Westchan Saturday, March 14, 2009

《单片机原理及应用》思考题与习题参考答案

TT1:

2.24解:

MAIN:

LOOP:

MOVX A,@DPTR CLR C

SUBB A,#30H MOV @R1,A MOV A,41H XCHD A,@R1 MOV @R1,A INC R1 INC DPTR DJNZ R2,TT

MOV DPTR,#3000H MOV R1,#30H MOV R2,#0AH MOV A,@R1

MOVX @DPTR,A INC R1 INC DPTR

DJNZ R2,TT1 SJMP $ END

ORG LJMP ORG MOV MOV MOVX MOV MOV MOVX MOV MOV MOV MOV MOV MOV

0000H MAIN 0030H DPTR,#2400H A,#07H @DPTR,A DPTR,@2450H A,#06H @DPTR,A 30H,#24H 31H,#00H 32H,#25H 33H,#00H R2,#51H DPH,30H

2.25解:

MAIN:

SQR:

TAB:

MOV DPL,31H MOVX A,@DPTR MOV DPH,32H MOV DPL,33H MOVX @DPTR,A INC 31H INC 33H

DJNZ R2,LOOP AJMP $ END

ORG 0000H LJMP MAIN ORG 0030H

MOV DPTR,#2030H MOV A,#03H

MOVX @DPTR,A MOV DPTR,#2031H MOV A,#05H

MOVX @DPTR,A MOV DPTR,#2030H MOVX A,@DPTR LCALL SQR MOV R1,A

MOV DPTR,#2031H MOVX A,@DPTR LCALL SQR ADD A,R1

MOV DPTR,#2040H MOVX @DPTR,A AJMP $ INC A

MOVC A,@A+PC RET

DB 0,1,4,9,16,25 DB 36,49,64,81,100 DB 121,144,169,196,225 END

第2章

3.1解:

当CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理, CPU暂时中止当前的工作,转去处理所发生的事件,处理完该事件以后,再回到原来被中止的地方,继续原来的工作。这种过程为中断,实现这种服务的部件称为中断系统。

功能:①实时处理,能对外界异步发生的事件作出及时的处理。②完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。③实现实时控制。 3.2解:

中断优先级是CPU响应中断的先后顺序。中断优先处理的原则是: (1)先响应优先级高的中断请求,再响应优先级低的中断请求。

(2)如果一个中断请求己被响应,同级的其他中断请求将被禁止。

(3)如果同级的多个中断请求同时出现,CPU则按单片机内部的自然优先级顺序响应各中断请求。 单片机内部自然优先级顺序(由高到低)为:

外部中断0→定时器0中断→外部中断l→定时器1中断→串行接口中断。

10 页 第

By:Westchan Saturday, March 14, 2009

《单片机原理及应用》思考题与习题参考答案

3.3解:

(1)80C51有以下中断源:

① ① 外部中断0(INT0)请求,低电平有效。

② ② 外部中断1(INT1)请求,低电平有效。 ③ ③ T0:定时器/计数器0溢出中断请求。 ④ ④ T1:定时器/计数器1溢出中断请求。 ⑤ ⑤ TI/RI:串行接口中断请求。

(2)通过对特殊功能寄存器TCON、SCON、IE、IP的各位进行置位或复位等操作,可实现对各种中断的控制功能。 3.4解:

中断系统的初始化步骤如下: (1)开相应中断源的中断允许; (2)设定所用中断源的中断优先级;

(3)若为外部中断,则应规定中断触发方式(低电平或负边沿触发)。 3.5解:

单片机一旦响应中断请求, 就由硬件完成以下功能:

 (1) 根据响应的中断源的中断优先级, 使相应的优先级状态触发器置1;

(2) 执行硬件中断服务子程序调用, 并把当前程序计数器PC的内容压入堆栈,保护断点,寻找中断源;  (3) 清除相应的中断请求标志位(串行口中断请求标志RI和TI除外); 

(4) 把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC, 从而转入相应的中断服务程序。 (5)中断返回,程序返回断点处继续执行。 3.6解:

(1)由中断源提出中断请求,由中断控制允许控制决定是否响应中断,如果允许响应中断,则CPU按设定好的优先级的顺序响应中断。如果是同一优先级的中断,则按单片机内部的自然优先级顺序(外部中断0→定时器0中断→外部中断l→定时器1中断→串行接口中断)响应中断。

CPU响应中断请求后,就立即转入执行中断服务程序。保护断点、寻找中断源、中断处理、中断返回,程序返回断点处继续执行。

(2)由中断允许寄存器IE控制开放和禁止中断。欲开放某一中断,则应先开放总中断允许(EA置1),然后开放相应中断的中断允许(相应位置1);若要要禁止中断,则EA置O即可。

(3)由中断优先级控制寄存器IP控制中断优先级,相应位置1,则设为高级中断,置0则为低级。其中:PS为串行中断优先级,PTl(0)为定时中断1(0)优先级,PXl(0)外部中断1(0)优先级。 3.7解:

(1)有中断源发出中断请求。

(2)中断总允许控制位EA=l, CPU开放总中断。

(3)申请中断的中断源的中断允许位为1,即该中断没有被屏蔽。 (4)无同级或更高级中断正在服务。 (5)当前指令周期已经结束。

(6)若现行指令为RETI或访问IE或IP指令时,读指令以及紧接着的另一条指令已执行完毕。 满足以上条件,则CPU响应响应中断元的中断请求。 3.8解:

INT1为低电平触发的中断系统初始化程序如下:

ORG 0000H LJMP MAIN ORG 0013H LJMP INTN1 ORG 0100H MAIN: SETB EA SETB EX1 ; 开INT1中断 CLR PX1 ; 令INT1为低优先级 CLR IT1 ; 令INT1为电平触发 SJMP $ END

3.9解:

中断服务程序的入口地址如下表:

中断源 中断矢量 11 页 第

By:Westchan Saturday, March 14, 2009

《单片机原理及应用》思考题与习题参考答案

外部中断0(INT0) 定时器T0中断 外部中断1(INT1) 定时器T1中断 串行口中断 0003H 000BH 0013H 001BH 0023H 3.10解: (1)符合以下6个条件可响应新的中断请求:

① 有中断源发出中断请求。

② 中断总允许控制位EA=l, CPU开放总中断。

③ 申请中断的中断源的中断允许位为1,即中断没有被屏蔽。 ④ 无同级或更高级中断正在被服务。 ⑤ 当前的指令周期已结束。

⑥ 若现行指令为RETI或访问IE或lP指令时,该指令以及紧接着的另一条指令已执行完。 (2)如果新的中断请求\优先级\低于正在执行的中断请求或与其同级,则不能被响应。 3.11解:

有两种方式:电平触发和边沿触发。

(1)电平触发方式:CPU在每个机器周期的S5P2期间采样外部中断引脚的输人电平。若为低电平,便置IEl(IEO)为“1” ,申请中断;若外部中断引脚为高电平,则IEl(IEO)清零。

(2)边沿触发方式:CPU在每个机器周期的S5P2期间采样外部中断请求引脚的输人电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,接着下一个机器周期采样到外部中断请求为低电平,则使IEl(IEO)置1,申请中断;否则,IEl(1E0)置0。 3.12解:

可以。在相应的中断源的中断程序入口地址处,用一条长跳转指令(LJMP Add16),转到相应64K程序存储器的任意地址(Add16)处,执行相应的中断程序。 3.13 解:

将3个中断源的中断请求经过与门连接到MCS-51的外部中断0的输入引脚INT0上。3、2、1中断源的输入引脚分别接到P1.0、P1.1、P1.2引脚上,以备查询。程序如下:

X1 EQU 2000H ;定义中断源1的入口地址 X2 EQU 2100HH ;定义中断源2的入口地址 X3 EQU 2200H ;定义中断源3的入口地址 ORG 0000H

LJMP START ORG 0003H LJMP INT00 START: ?? ??

INT00: JB P1.0, LP1 ;查询中断源,若此中断源无中断则转LP1

LJMP 2200H ;转入相应的中断服务 LP1: JB P1.1, LP2 ;查询中断源,若此中断源无中断则转LP2

LJMP 2100H ;转入相应的中断服务 LP3: LJMP 2000H ;转入相应的中断服务

?? X1: ?? RETI

X2: ?? RETI

X3: ?? RETI

3.14解:

80C51单片机片内设有2个定时器/计数器:定时器/计数器T0和定时器/计数器T1,T0由TH0、TL0组成,T1由TH1、TLl组成。T0、T1由特殊功能寄存器TMOD、TCON控制。 3.15解:

作定时器用时,计数脉冲来自单片机内部,其频率为振荡频率的1/12。作计数器用时,计数脉冲来自单片机的外部,即P3.4(T0)和P3.5(T1)两个引脚的输入脉冲。 3.16解:

12 页 第

By:Westchan Saturday, March 14, 2009


单片机原理及应用答案.doc 将本文的Word文档下载到电脑
搜索更多关于: 单片机原理及应用答案 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219