dickus单片机实验

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

数据传送实验

实验项目类型:设计型

实验时间:2012.10.15

一、实验目的

1、掌握单片机的汇编指令系统及汇编语言程序设计方法。

2、掌握单片机的存储器体系结构。

3、熟悉Keil软件的功能和使用方法。

4、掌握单片机应用程序的调试方法。

二、设计要求

1、编写程序将00H~0FH 16个数据分别送到单片机内部RAM 30H~3FH单元中。

2、编写程序将片内RAM 30H~3FH的内容传送至片内RAM 40~4FH单元中。

3、编写程序将片内RAM 40H~4FH单元中的内容传送到外部RAM 4800H~480FH单元中。

4、编写程序将片外4800H~480FH单元内容送到外部RAM 5800H~580FH单元中。

5、编写程序将片外RAM 5800H~580FH单元内容传送回片内RAM 50H~5FH 单元中。

三、实验程序流程框图和程序清单。

流程图

程序一程序二

程序三程序四程序五

程序清单

ORG 0000H

MAIN: MOV R0, #30H

MOV A, #00H

T1: MOV @R0, A

INC R0

INC A

CJNE A, #10H, T1

MOV R0, #3FH

MOV R2, #10H

MOV R1, #4FH

T2: MOV A, @R0

MOV @R1, A

DEC R0

DEC R1

DJNZ R2, T2

MOV R2, #10H

MOV R1, #4FH

MOV DPTR, #480FH

T3: MOV A, @R1

MOVX @DPTR, A

DEC R1

DEC A

MOV DPL, A

DJNZ R2, T3

MOV DPL, #00H

MOV R2, #10H

T4:

MOV DPH, #48H

MOVX A, @DPTR

MOV DPH, #58H

MOVX @DPTR, A

INC DPTR

DJNZ R2, T4

MOV R0, #50H

MOV DPTR, #5800H

MOV R2, #10H

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

INC R0

INC A

MOV DPL, A

DJNZ R2, T5

END

四、实验总结

通过此次实验,熟悉了kille开发软件的使用,对单片机理解更深刻。

学会了设计简单的程序,把课堂上的理论内容与实践相结合,学习起来更加有效率。

五、实验思考

1、说明MCS-51系列单片机对片内RAM和片外RAM存贮器各有哪些寻址方式?

答: 片内RAM存储器的寻址方式:1、寄存器寻址2、直接寻址3、寄存器间接寻址4、位寻址方式

片外只能通过累加器A使用间接寻址

2、说明指令MOV A,20H和MOV C,20H中的20H含义有什么不同?传送指令中的助记符MOV,MOVX,MOVC各适用于访问哪个存储器空间?

答:1、MOV A, 20H 把20H单元中的内容送往累加器A中,

MOV C, 20H 把20H位的状态送往进位C

MOV 适用于内部的RAM存储空间

MOVX 适用于外部的RAM存储空间

MOVC 适用于程序存储空间

实验名称:单片机并行I/O口的应用实验

实验类型:设计型

时间:2012年11月6日

设计性实验

一、实验目的

1、熟悉Proteus软件和Keil软件的使用方法。

2、熟悉单片机应用电路的设计方法。

3、掌握单片机并行I/O口的直接应用方法。

4、掌握单片机应用程序的设计和调试方法

二、设计要求

1、用Proteus软件画出电路原理图。要求在P1.0至P1.7口线上分别接LED0

至LED7八个发光二极管,在P3.0口线上接一蜂鸣器。

2、编写程序:要求LED0至LED7以秒速率循环右移。

3、编写程序:要求LED0至LED7以秒速率循环左移。

4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警

三、电路原理图

4、实验程序流程框图和程序清单

一、循环右移

MAIN: MOV P1, #0FFH

MOV A, #7FH

LOOP: MOV P1, A

CLR P3.0

LCALL DELAY

CPL P3.0

LCALL DELAY

RR A

LJMP LOOP

DELAY:

MOV R7, #17H

DL1:

MOV R6, #98H

DL0:

MOV R5, #46H

DJNZ R5, $

DJNZ R6, DL0

DJNZ R7, DL1

RET

END

二、循环左移

ORG 00H

MAIN: MOV P1, #0FFH

MOV A , #0FEH LOOP: MOV P1, A

CLR P3.0

LCALL DELAY

SETB P3.0

LCALL DELAY

RL A

LJMP LOOP DELAY:

MOV R7, #17H DL1:

MOV R6, #98H DL0:

MOV R5, #46H

DJNZ R5, $

DJNZ R6, DL0

DJNZ R7, DL1

RET

END

相关文档
最新文档