|
一個(gè)大前提是:在僅使用51單片機(jī)跟一個(gè)兩位數(shù)碼管,不加譯碼器鎖存器。
實(shí)現(xiàn)功能:兩位數(shù)碼一位顯示一個(gè)固定的數(shù)字,另一位數(shù)碼管進(jìn)行倒計(jì)時(shí)。
我這只菜鳥(niǎo)是初學(xué)者,想到這個(gè)問(wèn)題是因?yàn)槲覄倢W(xué)到“單片機(jī)控制數(shù)碼管動(dòng)態(tài)顯示”,實(shí)際上是通過(guò)短暫延時(shí)來(lái)達(dá)到八個(gè)數(shù)碼管同時(shí)點(diǎn)亮的效果。然后我就想到了手表倒計(jì)時(shí),然后我就想試著能不能我控制一個(gè)兩位數(shù)碼管實(shí)現(xiàn)倒計(jì)時(shí)功能。
我是用P0控制數(shù)碼管COM進(jìn)行位選,用P1控制數(shù)碼管位選。那么我寫(xiě)出來(lái)的程序,一直進(jìn)入一個(gè)死胡同,我弄出來(lái)的描述起來(lái)是這樣的:我控制第一個(gè)數(shù)碼管也就是COM1亮,給P1端口第一個(gè)值(假設(shè)‘1’),這時(shí)第一個(gè)數(shù)碼管顯示1;當(dāng)我想要讓第二個(gè)數(shù)碼管也就是COM2點(diǎn)亮?xí)r,這時(shí)候P1端口還在輸出剛才給的第一個(gè)值,這樣第二個(gè)數(shù)碼管也顯示1。
這樣由于只存在P1一個(gè)端口,我第一個(gè)數(shù)碼管和第二個(gè)數(shù)碼管會(huì)形成覆蓋,達(dá)不到我想要設(shè)計(jì)的效果。
我現(xiàn)在就卡到這里了,希望大神來(lái)指點(diǎn)指點(diǎn)我。
(是兩位數(shù)碼管,不是兩個(gè)一位數(shù)碼管)
|
|