单片机实验报告

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

南京晓庄学院电子工程学院

实验报告

课程名称:单片机系统设计与应用

姓名:森

专业:电子信息科学与技术

年级:14级

学号:05

2016年12 月1 日

实验项目列表

序号实验项目名称成绩指导教师

1 单片机仿真软件的使用

2 单片机I/O接口应用实验——流水灯

3 外部中断实验——工业顺序控制模拟

4 定时/计数器实验——矩形波

5 定时/计数器实验——计数器

6 综合实验

7

8

9

10

注:

1、实验箱端口为com6。

2、芯片选择切换到51

3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩:

实验一仿真软件的使用

1.实验目的和要求

1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤;

2)掌握单片机仿真软件使用和调试的方法。

2.实验原理

Keil C51软件使用

在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。

3.主要仪器设备(实验用的软硬件环境)

安装有Keil C51软件的PC机1台

4.操作方法与实验步骤

Keil C51软件使用

(1)建立用户文件夹

(2)建立工程

(3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中

(4)把文件加入工程中

(5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。

(6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。

(7)目标代码文件的生成。运行生成相应的.HEX文件。

5.实验内容及程序

1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。

注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。

P83-5源程序

#include

#define uchar unsigned char

xdata unsigned char buffer1[10]_at_ 0x2000;

//在xdata区定义数组变量BUF1,首地址为2000H

data unsigned char buffer2[10]_at_ 0x40;

//在data区定义数组变量BUF2,首地址为40H

void main(void)

uchar i;

for(i=0;i<10;i++)

buffer1[i]='A';

for(i=0;i<10;i++)

buffer2[i]=buffer1[i];//把data区中的内容传送给xdata区

while(1);

}

6.实验现象

P83-5运行效果图

2)将DATA区地址为20H的单元赋初值为05H,地址为21的单元赋初值为06H,将这两个单元的数据拼成56H,存入XDA TA区地址为2000H的单元。

程序(程序中请对应写出关键注释语句)

P275源程序

#include

#include

#define a XBYTE[0x2001]

#define b XBYTE[0x2002]

main(void)

{

a=0x05;

b=0x06;

a=a<<4;

b=a|b;

}

P275运行效果图

实验室号:___ 实验时间:成绩:

实验二单片机I/O接口应用—流水灯

1.实验目的和要求

1)进一步掌握单片机仿真软件的使用方法。

2)掌握单片机最小系统的构成。

3)掌握单片机I/O口的使用方法,如何控制I/O口检测按键及驱动LED发光二极管。

4)熟悉C51程序编程和调试方法。

2.电路原理图(附proteus电路原理图)

3.主要仪器设备(实验用的软硬件环境)

安装有Keil C51软件与Proteus仿真软件PC机1台

单片机试验箱一套

4.实验说明及实验步骤

●P1口为准双向口,P1的每一位都能独立地定义为输出线或输入线,作为输入的口线,

必须向锁存器相应位写入“1”,该位才能作为输入。

●延时程序的实现。现常用的有两种方法,一是用定时器中断来实现,一是用指令循环实

现。在系统时间允许的情况下可以采用后一种方法。本实验中延时子程序采用指令循环来实现。

1)源程序设计

分析设计要求,根据任务要求,绘制源程序流程图,然后使用Keil C进行源程序文件的设计与调试,观察并分析程序调试结果。

2)硬件运行

加载目标代码至单片机中,运行,观察运行结果

5.实验内容及程序

1)在P1口实现流水灯。

#include

#include //包含移位函数的头文件

#define uchar unsigned char

#define uint unsigned int

void delay(uint i) //延时函数

{ uchar t;

while (i--)

{ for(t=0; t<120; t++);

}

}

void main( ) //主程序

{ P1=~0xfe; //高电平点亮第一个灯

while (1)

{

delay( 500 ); //500为延时参数

P1=_crol_(P1,1) ; //P1中的数据循环左移1位,实现流水灯}

}

2)任选某P端口接开关,控制流水灯的启动和停止。

接线:P10-P17接D0-D7;P2.x接K0

#include

#include //包含移位函数的头文件

#define uchar unsigned char

#define uint unsigned int

void delay(uint i) //延时函数

{ uchar t;

while (i--)

{ for(t=0; t<120; t++);

}

}

sbit KEY=P2^0; //定义P2^0口作为开关

void main( ) //主程序

{ P1=~0xfe; //高电平点亮第一个灯

相关文档
最新文档