您的位置:首页 > 其它

51流水灯实验

2015-10-16 16:46 204 查看
课程名称:_单片机原理与应用

姓 名:_赵存档 _ __

2015-- 2016 学年第 1 学期

实验项目( 一 ) — 预习报告

项目

名称

LED高低电平交替闪烁程序

实验

目的



要求

1. 正确安装keil软件

2. 在 Proteus 的环境下,设计硬件原理图;

3.在keil 集成环境下设计C语言程序;

4. 在 Proteus 的环境下,将硬件原理图与软件联接仿真运行。

实验

内容



原理

1、先正确安装keil c 以及 proteus 软件。

2、利用keil 编写c语言代码,在代码中,定义好要输出的管脚P2,定义一个delay()延迟函数,以及Led = ~LED的反相输出。

3、Proteus的仿真,单片机最小系统的构建:包括40号引脚电源VCC,20号引脚

接地GND,9号引脚复位RESET,18、19号引脚外接12MHZ的晶振以提供时钟频率;

4、8个LED灯的接法:VCC 5V供电的话,单片机的P2口置低电平LED才能亮。

5、代码中0x表示的是16进制。0x0f表示的是0000 1111,也就是说左边的4个LED灯会亮。

预习

过程

中的

疑问

疑问一:0x表示的是怎么?

疑问二:在keil c 中怎么定义指定的引脚号?

疑问三:怎么编写delay()延迟函数?

疑问四:在keil c 中怎么进行调试演练代码?

疑问五: 在仿真环境proteus中,怎么将keil c 中的代码与电路图结合,来进行仿真?

疑问六:发光LED二极管怎么辨别其正负?

疑问七:怎么才能知道给引脚置低电平LED灯亮还是不亮?

疑问八:单片机最小系统的电路图怎么画?

实验项目( 一 ) — 实验报告

项目

名称

LED高低电平交替闪烁程序

指导教师

高照玲

实验室

教室

实验日期

2015/10月

分组

情况

赵存档、张泽光

成 绩



实验步骤(算法、代码、方法)给出流程图

LED高低电平交替闪烁的KEIL C代码:

#include <reg51.h>

#define LED P2

void delay(int x);

void main()

{

LED = 0x0f;

while(1)

{

delay(10000);

LED = ~LED;

}

}

void delay(int x)

{

int i;

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

}

Proteus仿真电路图:



电路图包括:单片机最小系统:复位以及晶振提供时钟频率,led灯。

实验结果(结论及

分析)

经过调试以及分析可得出结论:通过编写Keil c代码设置晶振频率12MHZ

编译获得hex文件,在proteus中将hex文件加载进去,完成实验的结果。

通过实验可以明白单片机最小系统该怎么画:先是AT89C51单片机,晶振提供单片机运行的时钟周期,手动复位端。P2端口输出低电平与LED灯相连,使之被点亮。

成绩

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: