《单片微型机原理、应用与实验-习题手册》(2)

2019-03-11 10:25

MOVC A,@A+DPTR MOV R7 ,A

7.完成下列求最大值程序 MOV R0,#20H MOV R7,#08H MOV A,@R0 DEC R7 LOOP:INC R0

MOV 2AH,@R0 ( )A,2AH,CHK CHK:JNC LOOP1 ( )

LOOP1:DJNZ( ),LOOP MOV 2BH,A RET

2.最大值放在()单元

3.若变为求最小值,则应改变的指令是()改为()。 8.程序分析题

设在MCS-51单片机片内RAM中,(20H)=40H,(40H)=22H,(22H)=10H,P1=0CFH,当下列程序执行完毕后,各单元的内容分别为多少?请填入给定的各个寄存器及片内单元中。

MOV R0,#20H MOV A,@R0 MOV R1,A MOV B,@R1 MOV P3,P1 MOV R3,22H MOV @R3,20H (A)= (B)= (R0)= (R1)= (P1)= (P3)= (20H)= (22H)=

四、问答题

1. 请画出单片机基本系统结构图?(P35) 2. 8051片上硬件的内部资源有哪些?(P37)

3. 什么叫机器周期?它与时钟周期的关系如何?(P44) 4. 什么叫中断?MCS-51中断优先级分为几级?(P51~P54)

5. 8051有哪几个中断源?哪些是内部中断源?哪些是外部中断源?

(P51~P54)

6. 简述堆栈概念及其存取原则?(P48、P68)

第 6 页 共 32 页

7. 请说出程序状态字(PSW)各位的名称及含义?(P64)

8.已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少? 9. 如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该

作何种设置?请举例加以说明。 五、编程题

1.从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。

2编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A。若是非法的BCD码,则A返回值为255。

答 案:

一、添空题

1.中央处理器(CPU) 存贮器(memory) (I/O)接口电路 外围设备 软件

2.ROM型 EPROM型 E2PROM型 Flash Memory型 无ROM型

3.上电自动复位 人工复位 系统复位 4.48 8

5.工作寄存器区 位寻址区 堆栈或数据缓冲区 80H~0FFH

6.INT0 INT1 定时器/计数器T0、T1的溢出中断源 串

行口的发送接收中断 TCON SCON

7.定位伪指令 定义字节伪指令 字定义伪指令 字或字节赋

值伪指令 位赋值伪指令 汇编结束伪指令 8.寄存器寻址 直接寻址 寄存器间接寻址 立即寻址 基

寄存器加变寄存器间接寻址 9.数据传送指令 算术运算指令 逻辑运算指令 位操作指令

控制转移指令

10.无条件转移指令 条件转移指令 比较不相等转移指令 减

1不为0转移指令

11.短调用指令(ACALL) 长调用指令(LCALL) 从子程

序返回指令(RET) 从中断返回指令(RETI) 12.2

第 7 页 共 32 页

13.18~1FH

14.20H~27h 128

15. 8 40 16 体积小、价格低、功能全 16.指令存储器与数据存储器分开编址 数据 17.低8位地址锁存 18.0 高 0FFF

19.若P2口的第7位为1则跳转到ABC 20.ORL C,/ACC.0 0 21.边沿方式 低电平 22.运算器 控制器 24.外部程序存储器

二、判断题

1、○ 2、×3、○ 4、× 5、× 6、× 7、×○×○××○××○ 8、○×○×○×○×○×○×○×○×○×○×○×○×○×○×

三、程序分析

1. MOV R1,#30H ;(R1)= 30H

MOV A,#64H ;(A)= 64H

ADD A,#47H ;(A)= ABH (CY)= 0 (AC)= 0 DA A ;(A)= 11H ,(CY)= 1 (AC)= 1 MOV @R1,A ;(R1)= 30H ,(30H)= 11H

此程序段完成的功能:求两个BCD码数(64H和47H)的和,并将结果放在内部RAM的30H单元。 2. 寄存器寻址 直接寻址 寄存器间接寻址 立即寻址 基寄存

器加变寄存器间接寻址 基寄存器加变寄存器间接寻址 3. 直接寻址 立即寻址 相对寻址 位寻址 寄存器寻址 4. 程序,指出程序功能,并给循环体内指令加上注释。

LOOP: MOVX A,@R0 ;取一个加数 ADDC A, R2 ;单字节数相加 MOV R2, A ;和低位送R2 JNC LOOP1 ;无进位转移 INC R1 ;有进位高位加1

LOOP1:INC R0 ;指向下一单元

DJNZ R3,LOOP ;次数减1,不为0转移

功能: 存储在外部数据存储器31H开始的3个字节数相加,结果低字节送R2,高字节送R1。 5.下面程序所完成的功能

第 8 页 共 32 页

请将片外RAM20H-25单元清零程序 6. 分析下面程序所完成的功能

将ROM 3000H单元内容送R7 7.完成下列求最大值程序

CJNE MOV A,2AH R7 2BH JNC LOOP1 JC LOOP1

8.程序分析题 (A)=40H (B)=22H (R0)=20H (R1)=40H (P1)= 0CFH (P3)=0CFH (20H)=40H (22H)=40H 四、问答题

8. OV:0、CY:1、AC:1、P:1 A:-95

9. 如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通

过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行。 例如:外部中断0的中断服务程序INTOP放置在程序存储区的任意区域,此时,通过以下方式,可实现对中断服务程序的执行:(4分)

ORG 0003H

JMP INTOP 五、编程题

1.从内部RAM30H单元开始,有10个单字节数据。试编一个程序,把其中的正数、负数分别送40H和50H开始的内部RAM单元。

MOV R0,#30H MOV R1,#40H MOV A,#50H MOV R7,#10

LOOP: MOV 20H,@R0

JB 20H.7,FSHU

ZSHU: MOV @R1,20H

INC R1 INC R0 SJMP NEXT

FSHU: XCH A,R1

MOV @R1,20H XCH A,R1 INC A INC R0

NEXT: DJNZ R7,LOOP

第 9 页 共 32 页

2、编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A。若是非法的BCD码,则A返回值为255。 SUBP:MOV R1,A

ANL A, #0F0H SWAP A

CJNE A, #10, NEXT1

NEXT1:JNC ERROR

MOV B, #10 MUL AB XCH A, R1 ANL A, #0FH CJNE A, #10,NEXT2

NEXT2:JNC ERROR

ADD A, R1 RET

ERROR:MOV A,#255 RET

第 10 页 共 32 页


《单片微型机原理、应用与实验-习题手册》(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新田径裁判法0(2012)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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