单片机C51程序设计课后习题答案(复习专用)(3)

2019-08-31 14:00

MOV MOV MOV

R2,#100 R7,#00 R6,#00

LOOP: MOVX A,@DPTR

ADD A,R6 MOV R6,A MOV A,R7 ADDC A,#0 MOV R7,A INC

DPTR

DJNZ R2,LOOP SJMP $

18.编程实现R4R3?R2,结果放于R7R6R5中。 程序:

ORG

0100H

MUL1:MOV A,R2

MOV B,R3

MUL AB ;R2?R3,结果的低字节直接存入积的R5 MOV R5,A ;结果的高字节存入R6中暂存起来 MOV R6,B

MUL2:MOV A,R2

MOV B,R4

MUL AB ;R2?R4,结果的低字节与R6相加后,再存入

R6中

ADD A,R6 MOV R6,A

MOV A,B ;结果的高字节加上进位位后存入R7中 ADDC A,#00 MOV R7,A SJMP

$

19.编程实现把片内RAM的20H单元的0位、1位,21H单元的2位、3位,22H单元的4位、5位,23H单元的6位、7位,按原位置关系拼装在一起放于R2中。

程序:

MOV C,20H.0 MOV A.0,C MOV C,20H.1 MOV A.1,C MOV C,21H.2 MOV A.2,C MOV C,21H.3 MOV A.3,C MOV C,22H.4 MOV A.4,C MOV C,22H.5 MOV A.5,C MOV C,23H.6 MOV A.6,C MOV C,23H.7

MOV A.7,C MOV R2,A

20.用查表的方法实现一位十六进制数转换成ASCII。

程序:(设一位十六进制数放在R2中,轮换的ASCII也放于R2中) C16STASC:MOV

MOV

A,R2

DPTR,#TAB

MOVC A,@A+DPTR MOV RET

R2,A

TAB:DB 30H,31H,32H,33H,34H,35H,36H,37H

DB 38H,391H,41H,42H,43H,44H,45H,46H

21.编程统计从片外RAM2000H开始的100个单元中“0”的个数放于R2中。

程序: MOV MOV MOV

DPTR,#2000H R3,#100 R2,#00

LOOP: MOVX A,@DPTR

JNZ INC

NEXT R2

DPTR

NEXT:INC

DJNZ R3,LOOP SJMP $

第四章

1. C语言有哪些特点? 答:C语言具有以下特点:

1) 语言简洁、紧凑,使用方便、灵活 2) 运算符丰富

3) 数据结构丰富,具有现代化语言的各种数据结构 4) 可进行结构化程序设计

5) 可以直接对计算机硬件进行操作 6) 生成的目标代码质量高,程序执行效率高 7) 可移植性好

2. 有哪些数据类型是MCS-51单片机直接支持的?

答:MCS-51单片机直接支持的数据类型标准分为基本数据类型和组合数据类型,基本数据类型有字符型char、短整型short、整型int、长整型long、浮点型float、双精度型double、特殊功能寄存器型和位类型,其中char型与short型相同,float型与double型相同。组合数据类型有数组类型、结构体类型、共同体类型和枚举类型,另外还有指针类型和空类型。

3. C51特有的数据类型有哪些?

答:C51特有的数据类型有特殊功能寄存器型和位类型。

4. C51中的存储器类型有几种,它们分别表示的存储器区域是什么? 答:C51中的存储器类型有6种,分别如下: data:直接寻址的片内RAM低128B,访问速度快

bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问 idata:间接寻址访问的片内RAM,允许访问全部片内RAM pdata:用Ri间接访问的片外RAM低256B

xdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAM code:程序存储器ROM 64KB空间

5. 在C51中,bit位与sbit位有什么区别?

答:bit位类型符用于定义一般的位变量。存储器类型只能是bdata、data、idata,只能是片内RAM的可位寻址区,严格来说只能是bdata。 sbit位类型符用于定义在可位寻址字节或特殊功能寄存器中的位,定义时需指明其位地址,可以是位直接地址,可以是可位寻址变量带位号,也可以是特殊功能寄存器名带位号。

6. 在C51中,通过绝对地址来访问的存储器有几种?

答:通过绝对地址来访问存储器有三种方法:1. 使用C51运行库中预定义宏。2. 通过指针访问。3. 使用C51扩展关键字_at_

7. 在C51中,中断函数与一般函数有什么不同?

答:中断函数在定义时后面带interrupt m修饰符,m的取值为0~31,对应的中断情况如下:0——外部中断0,1——定时/计数器T0,2——外部中断1,3——定时/计数器T1,4——串行口中断,5——定时/计数器T2,其他值预留。

编写MCS-51中断函数需要注意如下几点。

(1) 中断函数不能进行参数传递,如果中断函数中包含任何参数声明都将导致编译出错。

(2) (3)

中断函数没有返回值。

在任何情况下都不能直接调用中断函数

(4) 如果在中断函数中调用了其他函数,则被调用函数所使用的寄存器必须与中断函数相同,否则会产生不正确的结果。

(5) C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容。

(6) C51编译器从绝对地址8m+3处产生一个中断向量,其中m为中断号,也即interrupt后面的数字。该向量包含一个到中断函数入口地址的绝对跳转。


单片机C51程序设计课后习题答案(复习专用)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:外国近现代建筑史试题库 - 图文

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

马上注册会员

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