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