单片机原理与应用-----四川省第一批省级精品课程(选修部分和课后习题及模拟试题)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

选修部分包括第10章测控接口、第11章C51入门和第12章串行总线扩展技术

第12章IIC、SPI

单片机原理与应用习题第1章思考题及习题

1. 什么是单片机,它与一般计算机有何区别?

2. 单片机内部采用的是什么数制?为什么在计算机编程中常用十六进制?

3. 单片机主要应用与哪些方面?请举一些你所知道的例子。

4. 16位),用十六进制表达。

第2章思考题及习题

1.MCS-51单片机中的51子系列单片机内部包含哪些主要功能器件?

2.51子系列单片机存储器空间从逻辑上可分为哪几部分,各部分作用是什么?

3.简述51子系列单片机片内RAM的空间分配?各部分功能?

4.51单片机EA引脚有何功能?在使用89c51时EA引脚因如何处理?

5.特殊型MCS-51单片机对基本型的功能进行了那些方面的扩展?

6.使单片机系统复位常见有哪几种方法?绘出其原理图,复位后特殊功能寄存器的初始值如何?

7.开机复位后,CPU使用哪组工作寄存器?它们的地址是多少?

8.内部RAM中,什么是字节地址?什么是位地址?

第3章思考题与习题

1问答题

1.1 什么是寻址方式?51单片机有几种寻址方式?举例说明。

1.2 51单片机无条件转移指令有几种?如何选用?

1.3 51单片机条件转移指令有几种?如何求rel?

1.4 ACALL、LCAll有何区别?AJMP、SJMP、LJMP有何区别?

2 读程序题

2.1 设(A)=0FH ,(R0)=30H

内部RAM (30H)=0AH,(31H)=0BH,(32H)=0CH请写出在执行各条列指令后,所示单元的内容。

MOV A,@R0 ;(A)=

MOV @R0,32H ;(30H)=

MOV 32H, A ;(32H)=

MOV R0,#31H ;(R0)=

MOV A, @R0 ;(A)=

2.2分析下面个程序段中指令的执行结果

(1) MOV SP,#50H

MOV A,#0F0H

MOV B,#0FH

PUSH ACC ;(SP)= ;(51H)=

PUSH B ;(SP)= ;(52H)=

POP B ;(SP)= ;(B)=

POP ACC ;(SP)= ;(A)=

(2) ORG 0100H

CLR C

MOV R0, #0FFH

INC R0

INC R0

END

运行后:(Cy)=________; (R0)=________

(3) MOV A,#30H

MOV B,#0AFH

MOV R0,#31H

MOV 30H,#87H

XCH A,R0 ;(A)= ;(R0)=

SWAP A ;(A)=

(4) MOV A, #83H

MOV R0H, #47H

MOV 47H, #34H

ANL A, #47H ;(A)=

ORL 47H, A ;(A)= ;(47H)=

XRL A, @R0 ;(A)=

(5)若内部RAM的(30H)=33H (31H)=32H (32H)=31H (33H)=30H

外部RAM的(0030H)=33H (0031H)=31H (0032H)=32H (0033H)=30H

ROM的(0030H)=78H (0031H)=32H (0032H)=E6H (0033H)=F9H

(DPTR)=0

执行下列程序后(A)= H

ORG 0030H

MOV R0, #32H

MOV A, @R0

MOV R1, A

MOVX A, @R1

MOVC A, @A+DPTR

2.3 试对下列程序进行人工汇编并说明此程序的功能,其中25H、24H、23H;2BH、2AH、29H中的内容小于55H。

ORG 1000H

ACDL: MOV R0, #25H

MOV R1, #2BH

MOV R2, #03H

CLR C

CLR A

LOOP: MOV A, @R0

ADDC A, @R1

DEC R0

DEC R1 DJNZ R2, LOOP SJMP $

END

第4章 思考题及习题

1. 什么是伪指令?伪指令与指令有何区别? 2. 循环程序由哪几部分组成?

3. 编写一循环程序,将内部RAM 的20H~2FH 共16个连续单元清零。

4. 编写一循环程序,查找内部RAM 30H~50H 单元中出现FFH 个数,并将查找搭结果存入51H 单元。

5. 编写循环程序,计算

∑=10

1

2i i

,将结果存内部RAM 30H (低8位)、31H (高8位)单元(i <256)。

6. 试用循环转移指令编写延时20ms 子程序(晶振12MHz)。

7. 编写程序,把外部RAM 1000H~10FFH 区域内的数据逐个搬到从2000H 开始的区域。

8. 从内部RAM 的30H 单元开始存放着一组无符号数,其数目存放在21H 单元中.试编写程序,求出这组无符号数中的最小的数,并将其存入20H 单元

9. 设计一个循环灯程序,如下图所示,使这些发光二极管每次只点亮一个,依次一个一个地点亮,循环不止。

10.

利用查表技术将累加器A 中的一位BCD 码转换为相应的十进制数的7段码,结果仍放在A 中(设显示0~9的7段码为:40H,79H,24H,30H,19H,12H,02H,78H,00H,1BH )。

11. 按下面公式编写程序,x 为无符号数(x<128),存在内部30H 单元,y 存放在31H 单元。

第5章 思考题及习题

1.为什么读取引脚时要先向该引脚送“1”?

2.用Proteus 设计一个动态显示4位7段LED 数码管的电路,并编写程序,显示“1234”。

3.如何在本章键盘扫描法中增加防止键抖动功能?

4.用Proteus 设计一个4x4的键盘,一位7段LED 数码管显示,将按键的编码显示出来(0~F )。

相关文档
最新文档