dickus单片机实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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