77范文网 - 专业文章范例文档资料分享平台

《单片微型计算机与接口技术》思考题与习题解答01(2)

来源:网络收集 时间:2018-12-06 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

MUL AB SJMP $ (2) 利用位移指令 RL A RL A

MOV 20H。A ANL A,#03H MOV B,A MOV A,20H ANL A,#OFCH SJMP $

(3) 用加法指令完成 ADD A,ACC

MOV RO,A :RO=2A MOV A,#0 ADDC A。#0

MOV B,A ;B存2A的进位 MOV A,RO ADD A,ACC

MOV R1,A ;R1=4A MOV A,B

ADDC A,B ;进位x 2 MOV B,A ;存积高位 MOV A,R1 ;存积低位 SJMP $

2.14 编程将内部RAM 40H单元的中间4位变反,其余位不变放回原单元。 2.14 方法1:XRL 40H,#3CH SJMP $

方法2:MOV A,40H CPL A

ANL A,#3CH ANL 40H,#OC3H ORL 40H,A

SJMP $

2.15 有两个BCD码数存放在(20H)和(21H)单元,完成(21H)+(20H)=>(23H)(22H)。

(24H)+(25H)=>(23H)(22H)

2.15 MOV A,20H ADD A,21H DA A

MOV 22H,A ;存和低字节 MOV A,#O ADDC A,#0

MOV 23H,A ;存进位 SJMP $

6

2.15 MOV A,24H ADD A,25H DA A

MOV 22H,A ;存和低字节 MOV A,#O ADDC A,#0

MOV 23H,A ;存进位 SJMP $

2.16 如果R0的内容为0,将R1置为0,如R0内容非0,置R1为FFH,试进行编程。 2.16 MOV A.R0 JZ ZE

MOV R1.#OFFH SJMP $

ZE:MOV R1,#O SJMP $

2.17 完成(51H)×(50H)=>(53H)(52H)的编程(式中均为内部RAM)。 2.17 MOV A,50H MOV B,51H MUL AB MOV 53H。B MOV 52H,A

SJMP $

2.18 将P1.1和P1.0同时取反10次。(将P1.2和P1.0同时取反10次) 2.18 MOV R7,#0AH WOP:XRL P1,#03H DJNZ R7,WOP SJMP $

2.18 MOV R7。#0AH

WOP:XRL P1,#05H

DJNZ R7,WOP SJMP $

2.19 将内部RAM单元3字节数(22H)(21H)(20H)×2送(23H)(22H)(21H)(20H)单元。 2.19 单片机的移位指令只对A,且只有循环移位指令,为了使本单元的最高位移进下一单元的最低位,必须用大循环移位指令移位4次。

ORG O CLR C MOV A,20H RLC A MOV 20H,A MOV A,21H RLC A MOV 21H,A MOV A,22H

7

RLC A

MOV 22H.A MOV A,#O RLC A MOV 23H,A SLMP $

第3章 程序设计

3.1 编写程序,把片外数据存储器0000H~0050H中的内容传送到片内数据存储器20H~70H中。

3.1 因为是多个单元操作,为方便修改地址,使用问址操作。片外地址用DPTR指示.只能用M()Vx指令取数到A,片内地址用RO或R1指示,只能用MOV指令操作,因此,循环操作外部数据存储器一A一内部数据存储器。 ORG OOOOH

MOV DPTR,#0000H

MOV R0,#20H

LOOP:MOVX A,@DPTR MOV @R0,A

INC DPTR INC R0

CJNE R0,#71H, LOOP SJMP $

3.2 编写程序,实现双字节加法运算,要求RIR0+R7R6=>(52H)(51H)(50H)(内部RAM)。 3.2 要注意两高字节相加应加低字节相加时产生的进位,同时要考虑最高位的进位。

ORG 0 MOV A,RO ADD A,R6 MOV 50H,A MOV A,R7 ADDC A,R1 MOV 51H,A MOV A,#0 ADDC A,#O MOV 52H,A SJMP$

3.3 设X在累加器A中(0≤X≤20),求X2并将平方数高位存放在R7中,低位存放在R6中。试用查表法编出子程序。 3.3 A中放X(小于14H)的数,平方表的一个数据占2个字节,可用BCD码或二进制数存放(如A中放的是 BCD码,则要先化成二进制数再查表)。

ORG 0

MOV DPTR,#TAB ADD A,ACC ;A*2 PUSH ACC

MOVC A,@A+DPTR

8

MOV R7,A POP ACC INC A

MOVC A,@A+DPTR MOV R6,A

SJMP $

TAB:DB 00,00,00,01,OO,04,OO,09,OO,16H,? DB? 04H,00

3.4设内部RAM的20H和21H单元中有两个带符号数,将其中的大数存放在22H单元中,编出程序。

3.4 先用异或指令判两数是否同号,在同号中判大小,异号中正数为大。 ORG 0 MOV A,20H XRL A.21H ANL A,#80H JZ CMP

JB 20H.7,BG AG:MOV 22H,20H SJMP $

BG:MOV 22H,21H

SJMP $

CMP:MOV A,20H CJNE A,21H,GR GR:JNC AG MOV 22H,21H

SJMP $

3.5若单片机的晶振频率为6MHz,求下列延时子程序的延时时间。 DELAY: MOV R1,#0F8H LOOP: MOV R3,#0FBH DJNZ R3,$ DJNZ R1,LOOP RET

3.5 fosc=6MHz,MC=2us

机器周期数 DELAY:MOV R1,#OF8H 1 LOOP: MOV R3,#0FBH 1 DJNZ R3,$ 2 DJNZ R1,LOOP 2

RET 2 (1+2+(1+2×251+2)×248)×2us=250.48ms

3.6 编程将内部数据存储器20H~24H单元压缩的BCD码转换成ASCII码存放在25H开始的单元内。

3.6 将待转换的数分离出高半字节并移到低4位加30H;再将待转换的数分离出低半字节并加30H,安排好源地址和转换后数的地址指针,置好循环次数。 ORG 0000H

9

MOV R7,#05H MOV RO,#20H

MOV R1,#25H NET:MOV A,@RO ANL A,#OFOH SWAP

ADD A,#30H MOV @R1,A INC R1

MOV A,@RO ANL A,#OFH ADD A,#30H MOV @R1,A INC R0 INC R1

DJNZ R7,NE SJMP $ END

3.7 从内部存储器30H单元开始,有16个数据,试编一个程序,把其中的正数、负数分别送40H和50H开始的存储单元,并分别将正数、负数和零的个数送R4,R5,R6。 3.7 片内RAM间址寄存器只有Ro和R1,而正数、负数和零共需3个寄存器指示地址,这时可用堆栈指针指示第3个地址,POP和PUSH指令可自动修改地址。RO指正数存放地址,Rl指负数存放地址,SP指源数据存放的末地址,POP指令取源数据,每取一个数地址减1。 ORG 0000H MOV R7,#10H MOV A,#0 MOV R4,A MOV R5,A MOV R6,A MOV R0,#40H MOV R1,#50H

MOV SP,#2FH NEXT:POP ACC JZ ZER0 JB ACC.7,NE INC R4 MOV @RO,A INC R0 AJMP DJ NE:INC R5 MOV @R1,A INC R1

AJMP DJ ZER0:INC R6

DJ:DJNZ R7,NEXT

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《单片微型计算机与接口技术》思考题与习题解答01(2)在线全文阅读。

《单片微型计算机与接口技术》思考题与习题解答01(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/347921.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: