成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

如何設(shè)計(jì)一個(gè)單片機(jī)可控的循環(huán)流水燈?

網(wǎng)友解答: 首先在硬件方面,我們使用了最經(jīng)典的選型用AT89S51單片機(jī)作為主控芯片,LED電路選用共陽(yáng)極接法:8路紅色LED燈正極接5V電源、各路串聯(lián)一個(gè)限流電阻,保護(hù)發(fā)光二極管不被燒

網(wǎng)友解答:

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

LED電路選用共陽(yáng)極接法:8路紅色LED燈正極接5V電源、各路串聯(lián)一個(gè)限流電阻,保護(hù)發(fā)光二極管不被燒壞,同時(shí)控制LED工作電流控制在10mA以內(nèi);根據(jù)I=U/R,則選用1K大小電阻。陰極分別接到P1.0~P1.7口,組成LED發(fā)光二極管驅(qū)動(dòng)電路

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

我們來(lái)看一下軟件部分:

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

這是一個(gè)延時(shí)的調(diào)用函數(shù),我們?cè)谶@個(gè)函數(shù)里,定義兩個(gè)變量 ,然后我們用兩個(gè)for循環(huán),內(nèi)部的j函數(shù)作為基礎(chǔ)延時(shí)單位,傳參tim代表具體延時(shí)時(shí)長(zhǎng)。

這類延時(shí)函數(shù),具體的延時(shí)時(shí)間,可以通過(guò)延時(shí)函數(shù)對(duì)IO口進(jìn)行翻轉(zhuǎn),使用示波器查看翻轉(zhuǎn)時(shí)間周期,就可以確定這個(gè)延時(shí)函數(shù)的真實(shí)延時(shí)時(shí)間了。

這部分是按鍵處理函數(shù),首先檢測(cè)是否有按鍵按下,采用Delayms延時(shí)消抖,再等待按鍵松開(kāi),再對(duì)狀態(tài)變量進(jìn)行切換。

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

mode==1時(shí),led全部亮

mode==2時(shí),led全滅

mode==3或者mode==4,led數(shù)碼管間隔亮

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

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

以上是對(duì)本題目進(jìn)行的回答,難免會(huì)有遺漏或者錯(cuò)誤,

歡迎大家留言,轉(zhuǎn)發(fā),點(diǎn)贊,關(guān)注!

謝謝 大家

網(wǎng)友解答:

1、發(fā)光二級(jí)管可以選擇共陰極或者共陽(yáng)極連接。

2、最好用的驅(qū)動(dòng)方法:查表法。(共陰到共陽(yáng)轉(zhuǎn)換只需增減一個(gè)符號(hào):~,而且很方便改變流水單的花樣。我做過(guò)51,stm32,arduino的)。

3、如果只是簡(jiǎn)單的“流”一下,那么可以簡(jiǎn)單粗暴地用for+delay搞定。如果要增加一些別的花樣,例如電位器控制“流速”,那就得打開(kāi)定時(shí)中斷,分配任務(wù)。

標(biāo)簽: