单片机流水灯实验

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

实验一单片机流水灯实验

一、实验目的

1、熟练掌握实验箱的使用方法和注意事项。

2、了解简单单片机应用系统的设计方法。

3、掌握应用KEIL软件编辑、编译源汇编程序的操作方法。

4、掌握应用仿真器的操作方法。

二、实验内容

在实验箱上实现8个发光LED“流水”的现象,并通过编写程序控制流水现象。

三、实验器材

PC机一台, 仿真器一台, 实验箱一台, 导线若干。

四、实验说明

当AT89C51的P1口有低电平输出时,相应的发光二极管就会点亮。应用这一原理我们可以容易的点亮一个数码管,例如令P1口输出0111 1111时D1就会点亮。若再把0111 1111向右循环一位,利用P1口输出,就会点亮D2。在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水”的现象。

五、实验原理图

单片机的P1口为准双向口,每一位均可独立定义为输入或输出,若要将P1口的某一位所对应的灯熄灭,则需要向该端口写“0”。电路图如下:

图3-1 接线图

六、实验步骤

1.按照实验一中的建立工程的步骤,建立本实验内容相应的工程;

2.单片机的P1口接8个发光二极管L0~L7;

3.运用调试工具,调试软件,观察现象;

4.调试计算延时子程序DELAY定时时间。

七、参考程序。

#include

#include

int temp;

void delay()

{

int i,j;

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

for(j=0;j<110;j++);

}

void main()

{

temp=0x01;

P1=temp;

delay();

while(1)

{

temp=_crol_(temp,1);

P1=temp;

delay();

}

}

八、实验现象

当程序监测无误后,通过translate,build生成hex文件,并将文件烧入单片机中,点击全速运行,会发现P1口连接的LED灯轮流闪烁

相关文档
最新文档