单片机实验报告

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

单片机实验报告

姓名:姚竞华

班级:电自094

学号:09401300420

实验一存储器读写

一、实验目的:

1、寄存器、存储器读写等汇编指令;

2、掌握编程软件编辑、编译、调试等基本操作;

3、学习简单程序的基本调试方法。

二、实验内容

将70H-7FH16个字节单元的数据复制到片外存储器2000H开始的地址单元中,程序清单如下:

ORG 0000H

SJMP START

ORG 0030H

START: MOV R1,10H ;一共16个数据

MOV R0,#70H ;原数据首地址

MOV DPTR,#2000H; 片外存储单元首地址

MOV 70H,#00H;送入原始数据,把70H-71H中分别送入00H-0FH

MOV 71H,#01H

MOV 72H,#02H

MOV 73H,#03H

MOV 74H,#04H

MOV 75H,#05H

MOV 76H,#06H

MOV 77H,#07H

MOV 78H,#08H

MOV 79H,#09H

MOV 7AH,#0AH

MOV 7BH,#0BH

MOV 7CH,#0CH

MOV 7DH,#0DH

MOV 7EH,#0EH

MOV 7FH,#0FH

LOOP: MOV A,@R0;循环送入2000H-200FH

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R1,LOOP

END

三、调试结果

实验二数据排列

一、实验目的

掌握汇编语言分支结构的应用。

二、实验内容

将R0、R1、R2中的数据从大到小排列,并分别从放在70H-71H中。程序清单如下:ORG 0000H

SJMP START

ORG 0030H

START: MOV R0,#02H;分别向R0-R1中写入数据

MOV R1,#05H

MOV R2,#03H

MOV A,R0

SUBB A,R1;R0-R1

JC SUB1

LOOP1: MOV A,R0

SUBB A,R2;R0-R2

JC SUB2

MOV A,R1

SUBB A,R2;R1-R2

JC SUB3

AJMP OVER; R0>R1>R2

SUB3: CLR C

MOV A,R1

XCH A,R2

MOV R1,A

AJMP OVER; R0>R2>R1

SUB2: CLR C

MOV A,R0

XCH A,R2

MOV R0,A

MOV A,R1

XCH A,R2

MOV R1,A

AJMP OVER;R2>R0>R1

SUB1: CLR C ;清除C位

MOV A,R0;R0与R1互换

XCH A,R1

MOV R0,A

AJMP LOOP1;重新开始比较

OVER: MOV 70H,R0

MOV 71H,R1

MOV 72H,R2

END

三、试验结果

实验三I/O端口操作

一、实验目的

1、掌握I/O端口读写等基本汇编指令

2、掌握单片机最小系统硬件电路设计及仿真软件PROTUES 仿真、调试等基本操作方法。

二、实验仪器设备

1、PC机,1台

2、keil软件开发系统

3、仿真软件PROTUES

三、实验内容

编写一段汇编程序,使与单片机P0.3口相连接的发光二极管循环点亮,亮灭时间必须大于0.5秒(肉眼能清晰分辨二极管的亮灭变化)。要求用PROTUES软件完成仿真电路设计,并进行功能验证。程序清单如下:

ORG 0000H

SJMP START

ORG 0030H

START: MOV P0,#0FFH;先初始化,暗灯

LOOP1: CPL P0.3;点亮led

ACALL DELAY;调用延时子程序,延时0.6秒

SJMP LOOP1;循环点亮

DELAY: MOV R5,#50

L2: MOV R6,#100

L1: MOV R7,#100

DJNZ R7,$

DJNZ R6,L1

DJNZ R5,L2

RET

END

PROTUES仿真结果如下:

在上面程序的基础上完成P0口输出的二极管跑马灯。程序清单如下:ORG 0000H

SJMP START

ORG 0030H

START: MOV P0,#0FEH;点亮P0.0

LOOP1:MOV A,P0;左移位

RL A

MOV P0,A

ACALL DELAY;调用延时子程序,延时0.6秒

SJMP LOOP1;循环点亮

DELAY: MOV R5,#50

L2: MOV R6,#100

L1: MOV R7,#100

DJNZ R7,$

DJNZ R6,L1

DJNZ R5,L2

RET

END

PROTUES仿真结果如下:

相关文档
最新文档