单片机原理及接口技术段晨东.docx

上传人:b****8 文档编号:10792049 上传时间:2023-02-22 格式:DOCX 页数:21 大小:25.49KB
下载 相关 举报
单片机原理及接口技术段晨东.docx_第1页
第1页 / 共21页
单片机原理及接口技术段晨东.docx_第2页
第2页 / 共21页
单片机原理及接口技术段晨东.docx_第3页
第3页 / 共21页
单片机原理及接口技术段晨东.docx_第4页
第4页 / 共21页
单片机原理及接口技术段晨东.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

单片机原理及接口技术段晨东.docx

《单片机原理及接口技术段晨东.docx》由会员分享,可在线阅读,更多相关《单片机原理及接口技术段晨东.docx(21页珍藏版)》请在冰豆网上搜索。

单片机原理及接口技术段晨东.docx

单片机原理及接口技术段晨东

《单片机原理及接口技术》段晨东

第三章答案

一、基础知识

1、(A)=25H

(R0)=50H

(50H)=00H

(51H)=25H

2、(A)=30H

(B)=20H

3、(A)=80H

4、把片外ROM的1031H单元的内容放到累加器ACC中。

5、把片外ROM的8140H单元的内容放到累加器ACC中。

6、(SP)=62H

(60H)=0F0H

(61H)=30H

(62H)=70H

7、(DPH)=7AH

(SP)=60H

(DPL)=50H

(60H)=0FDH

8、Cy=1

AC=1

OV=1

P=1

9、Cy=1

AC=1

OV=0

P=1

10、(A)=00H

(R3)=10H

(30H)=0F1H

(R0)=40H

(40H)=01H

11、Cy=1(A)=23H

12、(A)=0EH

(R7)=18H

(30H)=0FFH

(R1)=40H

(40H)=0FEH

13、

14、(B)=32H

(A)=00H

Cy=0

OV=1

15、(B)=11H

(A)=0DH

Cy=0

OV=0

16、(A)=0FCH

17、(A)=0DCH

18、所谓的寻址方式就是CPU执行指令时获取操作数的方式。

分为:

立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、位寻址、相对寻址7种寻址方式

19、

ANL:

(A)=00H

(R5)=0AAH

ORL:

(A)=FFH

(R5)=0AAH

XRL:

(A)=FFH

(R5)=0AAH

 

二、选择题

1——5:

BBCBB

6——10:

CCCAB

11——14:

CBDB

 

三、简单程序设计

13题:

MOVR0,20H

MOVR1,21H

MOVA,@R1

CPLA

ADDA,#01H

MOV31H,A

MOVA,@R0

CPLA

ADDCA,#00H

XORA,#80H

MOV30H,A

14题:

MOVDPTR,#TABLE

MOVA,X

RLA

JMP@A+DPTR

TABLE:

AJMPPROG1

AJMPPROG2

AJMPPROG3

AJMPPROG4

16题:

方法一:

MOVA,X

CJNEA,Y,L1

CJNEA,Z,L2

MOV50H,A

L1:

JCM1

RET

M1:

MOVA,Y

RET

L2:

JCM2

RET

M2:

MOVA,Z

方法二:

MOVA,X

CLRC

SUBBA,Y

JCLOW1

CLRC

SUBBA,Z

JCLOW2

MOV50H,A

LOW1:

MOVA,Y

RET

LOW2:

MOVA,Z

RET

19题:

MOVC,P1.2

CPLP3.3

ORLC,P3.3

ANLC,P1.1

MOV20H.0,C

MOVC,/2EH.0

ANLC,28H.1

CPLC

ORLC,20H.0

MOV20H.0,C

MOVC,28H.1

ANLC,/TF0

ANLC,/P1.1

ORLC,20H.0

MOVP1.5,C

20题:

MOVR0,#20H

MOVA,#60H

MOVR7,#00H

LOOP:

CJNE@R0,#65H,GOON

INC

GOON:

INCR0

INCA

JNZLOOP

RET

22题:

MOVA,20H

MOVB,#10

DIVAB

MOV20H,A

MOV24H,B

MOVA,21H

MOVB,#10

DIVAB

MOV22H,A

MOV23H,B

MOVA,24H

MOV21H,A

第四章答案

4.4、在如图4.13所示的电路中,通常情况下,L0~L7一次循环显示,每扳动一次开关K,L0~L7以2灯为1组循环显示1次。

用中断方式实现上述要求。

ORG0000H

LJMPMAIN

ORG0003H

LJMPINT_PR0

ORG0030H

主程序:

MAIN:

MOVSP,#70H

SETBIT0

SETBEA

SETBEX0

CLRPX0

MOVA,#01H

ROT_DIS:

MOVP1,A

ACALLDLY

RLA

AJMPROT_DIS

延时子程序:

DLY:

MOVR7,#100

DL1:

MOVR6,#200

DL0:

DJNZR6,DL0

DJNZR7,DL1

RET

中断服务子程序:

ORG0300H

INT_PRO:

PUSHACC

PUSHPSW

MOVR0,#08

MOVA,#03H

CONT:

MOVP1,A

ACALLDLY

RLA

DJNZR0,CONT

POPPSW

POPA

RETI

END

4-6、路灯控制器如图4.18所示,要求当黑夜降临时,路灯自动启动,当白天到来时,路灯自动熄灭。

采用外部事件中断实现。

要求用电平触发方式。

黑夜,路灯自动启动;白天,路灯自动熄灭;终端实现,电平触发。

ORG0000H

AJMPMAIN

ORG0003H

AJMPINI_PR0

ORG0030H

MAIN:

MOVSP,#70H

CLRIT1

SETBEX1

SETBEA

HERE:

SETBP1.7

AJMPHERE

ORG0200H

INT_PR0:

CPLP1.7

REI

END

4-7、如图4.19所示的单片机应用系统,4个外部扩展中断源EXINT0~EXINT3共享外部事件中断/INT0,当其中有一个或几个出现高电平,是/INT0脚为低电平,向单片机发出中断请求。

设它们的优先级别顺序为EXINT0——>EXINT3,当EXINT0~EXINT3为高电平时,分别执行处理程序PREX0、PREX1、PREX2和PREX3,请用中断方式实现上述要求。

ORG0000H

LJMPMAIN

ORG0003H

LJMPP_INT0

ORG0030H

MAIN:

MOVSP,#70H

CLRIT0

SETBEA

SETBEX0

SETBPX0

P_INT0:

CLREA

PUSHACC

PUSHPSW

SETBEA

JBP1.0,PREX0

JBP1.1,PREX1

JBP1.2,PREX2

JBP1.3,PREX3

RETURN:

CLREA

POPPSW

POPACC

SETBEA

RETI

PREX0:

……

AJMPRETURN

PREX1:

……

AJMPRETURN

PREX2:

……

AJMPRETURN

PREX3:

……

AJMPRETURN

END

第五章

5-1:

用单片机内部定时方法产生100KHZ的等宽脉冲,从P1.1输出,假定单片机的晶振平率为12MHZ,请编程实现。

查询法:

MOVTMOD,#00H

MOVTH0,#1FH

MOVTL0,#16H

SETBTR0

LOOP:

JBCTF0,OVFLOW

AJMPLOOP

OVFLOW:

MOVTH0,#1FH

MOVTL0,#16H

CPLP1.1

AJMPLOOP

中断法:

ORG0000H

LJMPMAIN

ORG000BH

LJMPP_INT0

ORG0030H

MAIN:

MOVSP,#60H

MOVTMOD,#00H

MOVTH0,#1FH

MOVTL0,#16H

SETBTR0

SETBEA

SETBET0

HERE:

AJMPHERE

P_INT0:

PUSHACC

PUSHPSW

MOVTH0,#1FH

MOVTL0,#16H

CPLP1.0

POPPSW

POPACC

RETI

5-6:

航标灯控制器如图5.19所示,要求当黑夜降临时,航标灯自动启动,亮2s,灭2s,指明航向,当白天到来时,航标灯自动熄灭,不发光。

采用外部事件中断和定时中断来实现上诉要求。

ORG0000H

AJMPMAIN

ORG0003H

AJMPINT_PR0

ORG0030H

MAIN:

MOVSP,#60H

CLRIT0

SETBEX0

SETBEA

HERE:

AJMPHERE

LOOP:

JNBTF0,LOOP

DJNZR6,INT_PR0

CPLP1.7

MOVR6,#50

AJMPINT_PR0

INT_PRO:

MOVR6,#50

MOVTMOD,#00H

MOVTH0,#(8192-40)/256

MOVTL0,#(8192-40)%256

SETBTR0

SETBEA

SETBET0

RET

5-7:

晶振频率为6MHZ的MCS-51单片机,使用定时器T0以定时方法在P1.0输出周期为400us、占空比为10:

1的矩形脉冲,以定时工作方式1编程实现。

X=216-Td/TM=216-(400-1/11)/2=65354

TH0=0FFH

TL0=D7H

程序部分:

ORG0030H

MAIN:

MOVR5,#10

MOVTMOD,#01H

MOVTH0,#0FFH

MOVTL0,#0D7H

SETBTR0

SETBP1.0

CLR20H.0

CONT:

JBCTF0,OVERF

SJMPCONT

OVERF:

MOVTH0,#0FFH

MOVTL0,#0D7H

JB20H.0,HIGH

CLRP1.0

SETB20H.0

SJMPCONT

REI

HIGH:

SETBP1.0

DJNZR5,CONT

MOVR5,#10

CLR20H.0

REI

5-8:

以定时器/计数器T1进行外部事件计数。

每计数1000个脉冲后,定时器/计数器转为定时工作方式,定时10us后,又转为计数方式,如此循环。

假定单片机晶振平率为6MHZ.

计数器初值设定:

X=216-1000=64536

TH1=0FCH

TL1=18H

定时器初值设定:

X=216-10/2=65531

TH1=0FFH

TL1=0FBH

主程序:

START:

MOVTMOD,#50H

MOVTH1,#0FCH

MOVTL1,#18H

SETBTR1

LOOP1:

JBCTF1,L2

SJMPLOOP1

L1:

CLRTR1

MOVTMOD,#40H

MOVTH1,#0FFH

MOVTL1,#0FBH

SETBTR1

LOOP2:

JBCTF1,START

SJMPLOOP2

第六章

6-3、简述MCS-51单片机多机通信原理

答:

MCS-51单片机的串行口控制器SCON中的SM2位为多机通信控制位。

在串行口工作在方式2或方式3时,如果SM2=1,只有在接收器收到第9位数据为1时,数据才装入接收缓冲器SBUF中,并将接收中断标志位RI置1,向CPU请求中断,如果接收器收到的第9位为0,则接收中断标志位不置1,并把接收到的数据丢弃。

当SM2为0时,接收到一个数据帧后,不管第9位数据是0还是1,都会把接收中断标志RI置1,并将接收到的数据装入接收缓冲器SBUF。

利用这个特点,可以实现多个MCS-51单片机之间的通信。

6-4、当系统晶振为11.0592MHz时,采用方式1实现异步通信串行通信,波特率为9600bit/s,用T1作为波特率发生器,计算计数初值。

答:

定时/计数器工作方式为方式2、定时模式,则T1计数器初始值为:

即X=11111101B=0FDH

第七章

7-4题:

假设0~44的平方值以表的形式存储在程序存储器中,采用查表的方法编制一个实现获取x(0<=x<=40)平方值的子程序。

MOVDPTR,#TABLE

MOVA,R2

MOVCA,@A+DPTR

MOVR2,A

TABLE:

DW:

0~9

DW:

10~19

DW:

20~29

DW:

30~39

DW:

40

7-11题:

5个双字节无符号数求和,数据存放在外部RAM的5000H单元开始的区域,把结果存放在以SUM开始的内部RAM单元中。

MOVR0,#SUM

MOVR1,SUM+1

MOVR5,#04H

MAIN:

MOVDPTR,#5000H

MOVXA,@DPTR

MOV@R0,A

INCDPTR

MOVXA,@DPTR

MOV@R1,A

L1:

INCDPTR

MOVXA,@DPTR

MOVR2,A

INCDPTR

MOVXA,@DPTR

MOVR3,A

ADD_PC:

MOVA,@R0

ADDA,R2

MOV@R0,A

MOVA,@R1

ADDCA,R3

MOV@R1,A

DJNZR5,L1

RET

7-17题:

查找内部RAM的20H------50H单元是否含有0AAH,若有,则置51H单元为0FFH,否则将51H单元清零。

MOVR0,#20H

CJNE@R0,#0AAH,L1

L1:

MOVA,R0

CJNEA,#50H,L2

MOV51H,#00H

RET

L2:

INCR0

CJNE@R0,#0AAH,L1

MOV51H,#0FFH

RET

7-20题:

已知无符号数二进制数x存于20H单元,y存放于21H单元,编制程序实现下列表达式:

MOVR0,20H

CJNE@R0,#50H,L

AJMPL2

L:

JBL1

CJNE@R0,#0F,L3

AJMPL3

L3:

JBL2

MOV21H,#30

RET

L1:

MOVA,20H

MOVB,#2

DIVAB

MOV21H,A

RET

L2:

MOVA,20H

MOVB,#05H

MULAB

SUBBA,#07

MOV21H,A

RET

7-21题:

已知逻辑表达式

,其中,Q为P1.5,X为P1.0,U为P1.1,V为P1.2,W为22H.5,E为定时计数器T0的溢出标志TF0,请编制程序实现上述逻辑功能。

MOVC,22H.0

ORLC,P1.2

CPLC

MOV30H.0,C

MOVC,22H.5

ANLC,TF0

CPLC

ANLC,/P1.1

ORLC,P1.0

CPLC

ORLC,30H.0

MOVP1.5,C

(注:

可编辑下载,若有不当之处,请指正,谢谢!

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

当前位置:首页 > 高等教育 > 经济学

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

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