玩轉(zhuǎn)單片機(jī),你我都是菜鳥(續(xù)3)
下面開始第一個(gè)題目:流水燈
硬件前提:用51的P1口控制8個(gè)LED,1
單片機(jī)初學(xué)者幾乎都做的一個(gè)實(shí)驗(yàn)就是流水燈實(shí)驗(yàn),因?yàn)榇蠹叶甲?,所以就覺得很簡單,很多人對這個(gè)實(shí)驗(yàn)幾乎不屑。其實(shí)要徹底的玩轉(zhuǎn)這個(gè)實(shí)驗(yàn)也是很不簡單的事情,不信看看你能不能完成下面的實(shí)驗(yàn)題,如果你能拿下它,那么你已經(jīng)一只腳穩(wěn)穩(wěn)地踏入了單片機(jī)門檻,并且你一定不想再回頭了,此時(shí)已經(jīng)有一部分人對你刮目相看了(包括我),因?yàn)榫瓦@幾個(gè)題目算起來我想了有整整一天了,總算有個(gè)結(jié)果,而且還有一些問題,尤其是第(2)個(gè)題目效果很不明顯。我把這幾個(gè)題目的程序貼出來,希望大家給點(diǎn)意見,我們互相交流,互相學(xué)習(xí),互相指導(dǎo)。
題目要求:第1,3,5,7個(gè)燈半亮,其余的全亮。
(1)程序:
#
#define
#
#
uchar
void
void
void
{
}
void
{
}
void
void
{
if(LEDflag
{
}
{
題目要求:第1個(gè)亮1/8,第2個(gè)亮2/8,第3個(gè)亮3/8,第4個(gè)亮4/8,第5個(gè)亮5/8,第6個(gè)亮 6/8, 第7個(gè)亮7/8,第8個(gè)全亮。
(2)程序:
#
#define
#
#
uchar
//uchar
void
void
void
{
}
void
{
}
void
void
{
switch
{
case
//為真時(shí)語句
break;
case
//為真時(shí)語句
break;
case
//為真時(shí)語句
break;
case
//為真時(shí)語句
break;
case
//為真時(shí)語句
break;
case
//為真時(shí)語句
break;
case
//為真時(shí)語句
break;
case
//為真時(shí)語句
break;
default:
//冗余語句
break;
}
}
題目要求:所有的燈逐漸從暗到全亮,再由全亮到暗。
(3)程序:
#
#define
#
#
uchar
void
void
void
{
}
評論