色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何設計一個單片機可控的循環流水燈?

傅智翔2年前17瀏覽0評論

首先在硬件方面,我們使用了最經典的選型用AT89S51單片機作為主控芯片,

LED電路選用共陽極接法:8路紅色LED燈正極接5V電源、各路串聯一個限流電阻,保護發光二極管不被燒壞,同時控制LED工作電流控制在10mA以內;根據I=U/R,則選用1K大小電阻。陰極分別接到P1.0~P1.7口,組成LED發光二極管驅動電路

按鍵選用獨立按鍵方式。選用10K電阻與按鍵串聯,一端接5V,一端接單片機IO口P2.0,如下圖所示:

我們來看一下軟件部分:

首先包含頭文件,調用51單片機寄存器定義。第二行的sbit是用來定義一個引腳值(即P2.0用KEY來表示);

這是一個延時的調用函數,我們在這個函數里,定義兩個變量,然后我們用兩個for循環,內部的j函數作為基礎延時單位,傳參tim代表具體延時時長。

這類延時函數,具體的延時時間,可以通過延時函數對IO口進行翻轉,使用示波器查看翻轉時間周期,就可以確定這個延時函數的真實延時時間了。

這部分是按鍵處理函數,首先檢測是否有按鍵按下,采用Delayms延時消抖,再等待按鍵松開,再對狀態變量進行切換。

上圖所示,在while(1)中,每次循環1ms,則num每加1,num數目代表ms數目,

mode==1時,led全部亮

mode==2時,led全滅

mode==3或者mode==4,led數碼管間隔亮

mode==5,mode==6led兩種led流水亮滅

按鍵按下,切換不同的led燈流水燈效果

以上是對本題目進行的回答,難免會有遺漏或者錯誤,

歡迎大家留言,轉發,點贊,關注!

謝謝大家