如何用3個(gè)I/O控制,8個(gè)LED.
如何用3個(gè)I/O控制8個(gè)LED.可以另外加三極管.
全部回復(fù)(41)
正序查看
倒序查看
6個(gè)的話(huà),較容易實(shí)現(xiàn)些.
1個(gè)LED有兩種狀態(tài),亮和滅.8個(gè)一共有16種狀態(tài).
1個(gè)I/O口靜態(tài)只有三種狀態(tài),高、低和高阻態(tài).3個(gè)I/O靜態(tài)只有9個(gè)狀態(tài),無(wú)法控制16個(gè)狀態(tài).因此要想簡(jiǎn)單控制,是無(wú)法做到的,特殊方法下,可以做到,但電路會(huì)復(fù)雜.
下圖是3個(gè)控制6燈,低,上燈亮,高下燈亮,高阻燈滅.
500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/39/1141955661.jpg');}" onmousewheel="return imgzoom(this);">
1個(gè)LED有兩種狀態(tài),亮和滅.8個(gè)一共有16種狀態(tài).
1個(gè)I/O口靜態(tài)只有三種狀態(tài),高、低和高阻態(tài).3個(gè)I/O靜態(tài)只有9個(gè)狀態(tài),無(wú)法控制16個(gè)狀態(tài).因此要想簡(jiǎn)單控制,是無(wú)法做到的,特殊方法下,可以做到,但電路會(huì)復(fù)雜.
下圖是3個(gè)控制6燈,低,上燈亮,高下燈亮,高阻燈滅.

0
回復(fù)
@azhu
6個(gè)的話(huà),較容易實(shí)現(xiàn)些.1個(gè)LED有兩種狀態(tài),亮和滅.8個(gè)一共有16種狀態(tài).1個(gè)I/O口靜態(tài)只有三種狀態(tài),高、低和高阻態(tài).3個(gè)I/O靜態(tài)只有9個(gè)狀態(tài),無(wú)法控制16個(gè)狀態(tài).因此要想簡(jiǎn)單控制,是無(wú)法做到的,特殊方法下,可以做到,但電路會(huì)復(fù)雜.下圖是3個(gè)控制6燈,低,上燈亮,高下燈亮,高阻燈滅.[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/39/1141955661.jpg');}"onmousewheel="returnimgzoom(this);">
佩服佩服!強(qiáng)人,頂!!!!
0
回復(fù)
@ma3722
發(fā)一個(gè)12LED的,更多LED的以后再發(fā).1141986012.doc
這是你的圖片:
500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/39/1141988873.png');}" onmousewheel="return imgzoom(this);">
我很贊同你對(duì)技術(shù)問(wèn)題的認(rèn)真態(tài)度.
但我也提出我的看法,樓主的八個(gè)指示燈要求是互不相關(guān)的,也就是互相獨(dú)立的.要測(cè)試是否能夠獨(dú)立,最簡(jiǎn)單的辦法就是讓每一個(gè)燈單獨(dú)的點(diǎn)亮,而讓其他所有的燈都不亮,看能否實(shí)現(xiàn).D1-6是可以的,但是7-12這六個(gè),至少有三個(gè)是亮的,1-6改變狀態(tài)時(shí),7-12將伴隨著亂亮,對(duì)不對(duì)?

我很贊同你對(duì)技術(shù)問(wèn)題的認(rèn)真態(tài)度.
但我也提出我的看法,樓主的八個(gè)指示燈要求是互不相關(guān)的,也就是互相獨(dú)立的.要測(cè)試是否能夠獨(dú)立,最簡(jiǎn)單的辦法就是讓每一個(gè)燈單獨(dú)的點(diǎn)亮,而讓其他所有的燈都不亮,看能否實(shí)現(xiàn).D1-6是可以的,但是7-12這六個(gè),至少有三個(gè)是亮的,1-6改變狀態(tài)時(shí),7-12將伴隨著亂亮,對(duì)不對(duì)?
0
回復(fù)
@azhu
6個(gè)的話(huà),較容易實(shí)現(xiàn)些.1個(gè)LED有兩種狀態(tài),亮和滅.8個(gè)一共有16種狀態(tài).1個(gè)I/O口靜態(tài)只有三種狀態(tài),高、低和高阻態(tài).3個(gè)I/O靜態(tài)只有9個(gè)狀態(tài),無(wú)法控制16個(gè)狀態(tài).因此要想簡(jiǎn)單控制,是無(wú)法做到的,特殊方法下,可以做到,但電路會(huì)復(fù)雜.下圖是3個(gè)控制6燈,低,上燈亮,高下燈亮,高阻燈滅.[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/39/1141955661.jpg');}"onmousewheel="returnimgzoom(this);">
你的分析思路是對(duì)的,但是方法不妥,因?yàn)槿魏我恢还茏狱c(diǎn)亮,它自身不能取高阻的狀態(tài),另一個(gè)端子也不能取高阻狀態(tài),實(shí)際上高阻不能作為一種有效的狀態(tài),這樣,總狀態(tài)數(shù)就是2的三次方等于8.
另外,你的這個(gè)圖,如果想讓六個(gè)指示燈都不亮或者都亮,該怎么辦呢?因?yàn)樯舷聝蓚€(gè)燈至少有一個(gè)是亮的.
像上面那個(gè)朋友的那個(gè)圖,如果只用兩種電平,也不能實(shí)現(xiàn)任何一支管子的隨意點(diǎn)亮,必須讓第三條引腳處于高阻狀態(tài).看來(lái)不用譯碼器的方式的確很受局限性,這個(gè)成本節(jié)省的不值.
另外,你的這個(gè)圖,如果想讓六個(gè)指示燈都不亮或者都亮,該怎么辦呢?因?yàn)樯舷聝蓚€(gè)燈至少有一個(gè)是亮的.
像上面那個(gè)朋友的那個(gè)圖,如果只用兩種電平,也不能實(shí)現(xiàn)任何一支管子的隨意點(diǎn)亮,必須讓第三條引腳處于高阻狀態(tài).看來(lái)不用譯碼器的方式的確很受局限性,這個(gè)成本節(jié)省的不值.
0
回復(fù)
@sdjufeng
你的分析思路是對(duì)的,但是方法不妥,因?yàn)槿魏我恢还茏狱c(diǎn)亮,它自身不能取高阻的狀態(tài),另一個(gè)端子也不能取高阻狀態(tài),實(shí)際上高阻不能作為一種有效的狀態(tài),這樣,總狀態(tài)數(shù)就是2的三次方等于8.另外,你的這個(gè)圖,如果想讓六個(gè)指示燈都不亮或者都亮,該怎么辦呢?因?yàn)樯舷聝蓚€(gè)燈至少有一個(gè)是亮的.像上面那個(gè)朋友的那個(gè)圖,如果只用兩種電平,也不能實(shí)現(xiàn)任何一支管子的隨意點(diǎn)亮,必須讓第三條引腳處于高阻狀態(tài).看來(lái)不用譯碼器的方式的確很受局限性,這個(gè)成本節(jié)省的不值.
:)
你可能還是沒(méi)明白我的電路.這個(gè)電路是用1個(gè)I/O口控制2個(gè)LED.當(dāng)I/O口處于高阻態(tài)時(shí),兩個(gè)LED都是不亮的.因?yàn)?個(gè)LED上的壓降只有0V7,因此是不會(huì)亮的.高的時(shí)候,下燈亮,低的時(shí)候上燈亮,以高低電平作變化時(shí),兩個(gè)燈一起亮.我曾在一個(gè)充電器電路中實(shí)際使用過(guò)該電路.
你可能還是沒(méi)明白我的電路.這個(gè)電路是用1個(gè)I/O口控制2個(gè)LED.當(dāng)I/O口處于高阻態(tài)時(shí),兩個(gè)LED都是不亮的.因?yàn)?個(gè)LED上的壓降只有0V7,因此是不會(huì)亮的.高的時(shí)候,下燈亮,低的時(shí)候上燈亮,以高低電平作變化時(shí),兩個(gè)燈一起亮.我曾在一個(gè)充電器電路中實(shí)際使用過(guò)該電路.
0
回復(fù)
@sdjufeng
這是你的圖片:[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/39/1141988873.png');}"onmousewheel="returnimgzoom(this);">我很贊同你對(duì)技術(shù)問(wèn)題的認(rèn)真態(tài)度.但我也提出我的看法,樓主的八個(gè)指示燈要求是互不相關(guān)的,也就是互相獨(dú)立的.要測(cè)試是否能夠獨(dú)立,最簡(jiǎn)單的辦法就是讓每一個(gè)燈單獨(dú)的點(diǎn)亮,而讓其他所有的燈都不亮,看能否實(shí)現(xiàn).D1-6是可以的,但是7-12這六個(gè),至少有三個(gè)是亮的,1-6改變狀態(tài)時(shí),7-12將伴隨著亂亮,對(duì)不對(duì)?
即使是單獨(dú)控制,D1-D6也是不可以的.
假如我要D1,D2,D4,三燈都亮,它就無(wú)法做到了.
假如我要D1,D2,D4,三燈都亮,它就無(wú)法做到了.
0
回復(fù)
@azhu
:)你可能還是沒(méi)明白我的電路.這個(gè)電路是用1個(gè)I/O口控制2個(gè)LED.當(dāng)I/O口處于高阻態(tài)時(shí),兩個(gè)LED都是不亮的.因?yàn)?個(gè)LED上的壓降只有0V7,因此是不會(huì)亮的.高的時(shí)候,下燈亮,低的時(shí)候上燈亮,以高低電平作變化時(shí),兩個(gè)燈一起亮.我曾在一個(gè)充電器電路中實(shí)際使用過(guò)該電路.
你說(shuō)得對(duì),我沒(méi)有仔細(xì)考慮那個(gè)二極管的作用,加上動(dòng)態(tài),是可以獨(dú)立控制的.你的方法比較好,可以實(shí)現(xiàn)靜態(tài)顯示,既可以減小程序的壓力,又可以提高管子的亮度.
0
回復(fù)
@sdjufeng
這是你的圖片:[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/39/1141988873.png');}"onmousewheel="returnimgzoom(this);">我很贊同你對(duì)技術(shù)問(wèn)題的認(rèn)真態(tài)度.但我也提出我的看法,樓主的八個(gè)指示燈要求是互不相關(guān)的,也就是互相獨(dú)立的.要測(cè)試是否能夠獨(dú)立,最簡(jiǎn)單的辦法就是讓每一個(gè)燈單獨(dú)的點(diǎn)亮,而讓其他所有的燈都不亮,看能否實(shí)現(xiàn).D1-6是可以的,但是7-12這六個(gè),至少有三個(gè)是亮的,1-6改變狀態(tài)時(shí),7-12將伴隨著亂亮,對(duì)不對(duì)?
你講的對(duì),這個(gè)方法不行.
但我總是認(rèn)為有其他辦法.
讓我再想想吧.
大家也一起想想吧!!!
但我總是認(rèn)為有其他辦法.
讓我再想想吧.
大家也一起想想吧!!!
0
回復(fù)
@azhu
:)你可能還是沒(méi)明白我的電路.這個(gè)電路是用1個(gè)I/O口控制2個(gè)LED.當(dāng)I/O口處于高阻態(tài)時(shí),兩個(gè)LED都是不亮的.因?yàn)?個(gè)LED上的壓降只有0V7,因此是不會(huì)亮的.高的時(shí)候,下燈亮,低的時(shí)候上燈亮,以高低電平作變化時(shí),兩個(gè)燈一起亮.我曾在一個(gè)充電器電路中實(shí)際使用過(guò)該電路.
你所謂的高阻狀態(tài)在單片機(jī)能實(shí)現(xiàn)嗎?一個(gè)bit位就兩種狀態(tài)的.不知道何解?除非你的單片機(jī)IO口是三態(tài)門(mén)呀!
0
回復(fù)
@sujianli
完全沒(méi)有實(shí)際應(yīng)用價(jià)值用個(gè)595之類(lèi)的多簡(jiǎn)單方便,0.5元不到就解決問(wèn)題.關(guān)鍵是也可靠
此話(huà)錯(cuò)矣,我曾經(jīng)開(kāi)發(fā)一款多功能的充電器,其中要用到13個(gè)LED,正好用此辦法解決了I/O口不夠的問(wèn)題.就是下面這款充電器,它的單片機(jī)是用只有12個(gè)I/O口的.其中A/D就用了3個(gè),按鍵用了1個(gè),LED用了7個(gè),PWM用了1個(gè).共12個(gè).
而每個(gè)LED都是可以單獨(dú)控制的.
500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/39/1142211234.jpg');}" onmousewheel="return imgzoom(this);">
而每個(gè)LED都是可以單獨(dú)控制的.

0
回復(fù)
@sdjufeng
這是你的圖片:[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/39/1141988873.png');}"onmousewheel="returnimgzoom(this);">我很贊同你對(duì)技術(shù)問(wèn)題的認(rèn)真態(tài)度.但我也提出我的看法,樓主的八個(gè)指示燈要求是互不相關(guān)的,也就是互相獨(dú)立的.要測(cè)試是否能夠獨(dú)立,最簡(jiǎn)單的辦法就是讓每一個(gè)燈單獨(dú)的點(diǎn)亮,而讓其他所有的燈都不亮,看能否實(shí)現(xiàn).D1-6是可以的,但是7-12這六個(gè),至少有三個(gè)是亮的,1-6改變狀態(tài)時(shí),7-12將伴隨著亂亮,對(duì)不對(duì)?
這個(gè)電路不能用,不能單獨(dú)控制.D1,D2,D3/D5,D4,D6.會(huì)出現(xiàn)同時(shí)亮的時(shí)候.
0
回復(fù)
@azhu
6個(gè)的話(huà),較容易實(shí)現(xiàn)些.1個(gè)LED有兩種狀態(tài),亮和滅.8個(gè)一共有16種狀態(tài).1個(gè)I/O口靜態(tài)只有三種狀態(tài),高、低和高阻態(tài).3個(gè)I/O靜態(tài)只有9個(gè)狀態(tài),無(wú)法控制16個(gè)狀態(tài).因此要想簡(jiǎn)單控制,是無(wú)法做到的,特殊方法下,可以做到,但電路會(huì)復(fù)雜.下圖是3個(gè)控制6燈,低,上燈亮,高下燈亮,高阻燈滅.[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/39/1141955661.jpg');}"onmousewheel="returnimgzoom(this);">

這個(gè)3控6個(gè)LED ,這個(gè)4控8個(gè)LED.這個(gè)電路會(huì)好些.
0
回復(fù)
@azhu
6個(gè)的話(huà),較容易實(shí)現(xiàn)些.1個(gè)LED有兩種狀態(tài),亮和滅.8個(gè)一共有16種狀態(tài).1個(gè)I/O口靜態(tài)只有三種狀態(tài),高、低和高阻態(tài).3個(gè)I/O靜態(tài)只有9個(gè)狀態(tài),無(wú)法控制16個(gè)狀態(tài).因此要想簡(jiǎn)單控制,是無(wú)法做到的,特殊方法下,可以做到,但電路會(huì)復(fù)雜.下圖是3個(gè)控制6燈,低,上燈亮,高下燈亮,高阻燈滅.[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/39/1141955661.jpg');}"onmousewheel="returnimgzoom(this);">
你這個(gè)損耗太大了.
0
回復(fù)
@mielum
[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/39/1142325560.jpg');}"onmousewheel="returnimgzoom(this);">這個(gè)3控6個(gè)LED,這個(gè)4控8個(gè)LED.這個(gè)電路會(huì)好些.
在實(shí)際應(yīng)用上,你貼出的這個(gè)電路是存在問(wèn)題的.
比如,如果我只要D1亮,其它燈不亮,那么電路中就必須R2連接的I/O為高,R1連接的I/O腳為低,R3連接的為高阻.
在這個(gè)情況下,R2的I/O高會(huì)通過(guò)R2,D4,D5,R1,到R1的低,D4和D5會(huì)有微微的亮.你不信的話(huà),可以一試.
這個(gè)電路已經(jīng)有失敗的經(jīng)驗(yàn)了.
比如,如果我只要D1亮,其它燈不亮,那么電路中就必須R2連接的I/O為高,R1連接的I/O腳為低,R3連接的為高阻.
在這個(gè)情況下,R2的I/O高會(huì)通過(guò)R2,D4,D5,R1,到R1的低,D4和D5會(huì)有微微的亮.你不信的話(huà),可以一試.
這個(gè)電路已經(jīng)有失敗的經(jīng)驗(yàn)了.
0
回復(fù)