标题: 单片机流水灯通俗讲解 [打印本页]

作者: 51hei森林    时间: 2016-3-15 02:14
标题: 单片机流水灯通俗讲解
笔记3_流水灯

学习目标::

1 延时函数的原理及使用

2 for循环语句的使用,while循环的使用。(最好看看书学这些语法)

目的:使8个或多个LED灯按照你的设计亮灭。

各种软件分享:

http://www.51hei.com/bbs/dpj-897-1.html
延时函数:


yanshi(注:这个名字自己起) (int a)

{

     int i,j,a;

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

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

}

每一条语句的执行都会用一点时间,这个函数就是让单片机不停的执行没有什么用的语句,从而消耗时间,达到延时的目的。




让8个灯闪烁的程序:

#include<reg52.h>

yanshi (int a)

{

     int i,j,a;

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

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

}

main ()

{

   while(1)

   {

    P1=1;

    yanshi (100);//延时100毫秒,让灯亮100ms

    P1=0;

     yanshi (100);//让灯灭100毫秒。

   }

}

用从上面的程序可以试着去改写一个流水灯程序。


不管程序多长,它都是模块化的,不要看见程序很长就不敢读,一个模块一个模块的读,弄懂每一个模块的功能就很简单了。




答案:

#include<reg52.h>

yanshi (int a)

{

     int i,j,a;

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

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

}

main ()

{

   while(1)

   {

    P1=0;//让全部的灯灭。

P1^0=1

    yanshi (100);//让灯1亮100ms

P1^1=1;

    yanshi (100);//让灯2亮100ms

P1^2=1

    yanshi (100);//让灯3亮100ms

P1^3=1

    yanshi (100);//让灯4亮100ms

P1^4=1

    yanshi (100);//让灯5亮100ms

P1^5=1

    yanshi (100);//让灯6亮100ms

P1^6=1

    yanshi (100);//让灯7亮100ms

P1^7=1

    yanshi (100);//让灯8亮100ms

   }

}

真的没想到会有这么多人会关注我的公众号,这个公众号刚刚开通的时候一直没有人关注,我以为或许是我的方法不被人接受,结果今天看了一下竟然增加了这么多人。感谢大家的认可,我也会认真学习,把学习过程中的经验给大家分享。或许我不能教你们什么,但希望新手能在入门时少走弯路。







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1