|
筆記3_流水燈
學(xué)習(xí)目標(biāo)::
1 延時(shí)函數(shù)的原理及使用
2 for循環(huán)語句的使用,while循環(huán)的使用。(最好看看書學(xué)這些語法)
目的:使8個(gè)或多個(gè)LED燈按照你的設(shè)計(jì)亮滅。
各種軟件分享:
http://www.torrancerestoration.com/bbs/dpj-897-1.html
延時(shí)函數(shù):
yanshi(注:這個(gè)名字自己起) (int a)
{
int i,j,a;
for(i=0;i<a;i++)
for(j=0;j<110;j++)
}
每一條語句的執(zhí)行都會(huì)用一點(diǎn)時(shí)間,這個(gè)函數(shù)就是讓單片機(jī)不停的執(zhí)行沒有什么用的語句,從而消耗時(shí)間,達(dá)到延時(shí)的目的。
讓8個(gè)燈閃爍的程序:
#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);//延時(shí)100毫秒,讓燈亮100ms
P1=0;
yanshi (100);//讓燈滅100毫秒。
}
}
用從上面的程序可以試著去改寫一個(gè)流水燈程序。
不管程序多長(zhǎng),它都是模塊化的,不要看見程序很長(zhǎng)就不敢讀,一個(gè)模塊一個(gè)模塊的讀,弄懂每一個(gè)模塊的功能就很簡(jiǎn)單了。
答案:
#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
}
}
真的沒想到會(huì)有這么多人會(huì)關(guān)注我的公眾號(hào),這個(gè)公眾號(hào)剛剛開通的時(shí)候一直沒有人關(guān)注,我以為或許是我的方法不被人接受,結(jié)果今天看了一下竟然增加了這么多人。感謝大家的認(rèn)可,我也會(huì)認(rèn)真學(xué)習(xí),把學(xué)習(xí)過程中的經(jīng)驗(yàn)給大家分享;蛟S我不能教你們什么,但希望新手能在入門時(shí)少走彎路。
|
|