當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]看郭天祥的單片機書中數(shù)碼管部分,使用 P0=0xff 的方法可以消除段選數(shù)據(jù)對位選的干擾,另外使用我下面的方法可以達到同樣的效果。但即便這樣數(shù)碼管仍有影子,這種狀況是,當(dāng)前數(shù)碼管有下一個數(shù)碼管的影子,或者當(dāng)前數(shù)

看郭天祥的單片機書中數(shù)碼管部分,使用 P0=0xff 的方法可以消除段選數(shù)據(jù)對位選的干擾,另外使用我下面的方法可以達到同樣的效果。但即便這樣數(shù)碼管仍有影子,這種狀況是,當(dāng)前數(shù)碼管有下一個數(shù)碼管的影子,或者當(dāng)前數(shù)碼管有前一個數(shù)碼管的影子。


分析一下產(chǎn)生原因,當(dāng)我們點亮一個數(shù)碼管后,總要先將段選或者位選改為下一個數(shù)碼管的值,而不能同時改變。當(dāng)先改變段選時,那么當(dāng)前數(shù)碼管就會有短暫的時間顯示下一個數(shù)碼管的數(shù)字。當(dāng)先改變位選時,下一個數(shù)碼管就會有短暫的時間顯示當(dāng)前數(shù)碼管的數(shù)字。


那么解決方法是,先將段選置0送入鎖存器,改變位選的值為下一個數(shù)碼管,最后再改變段選值。同理另一種方法是,先將位選賦值 0xff 即關(guān)閉所有數(shù)碼管,改變段選值,最后改變位選值。


另外一種勉強可以的方法是,增加延時時間,這樣正常數(shù)字顯示時間就相對影子數(shù)字的短暫時間變長,看起來影子就變得暗了,但延時太長導(dǎo)致數(shù)碼管閃爍,所以這種方法不建議,郭天祥書中的示例程序使用這種方法。


只貼出前2種方法的代碼。


#include

#include


sbit we=P2^7;

sbit du=P2^6;


unsigned char code table[] = {

0x3f , 0x06 , 0x5b , 0x4f,

0x66 , 0x6d , 0x7d , 0x07,

0x7f , 0x6f , 0x77 , 0x7c,

0x39 , 0x5e , 0x79 , 0x71,

0x00};


void show();

void delayms(unsigned time);


unsigned char num[6]={0,0,14,13,0,12};

unsigned char count=0;

unsigned char nums=0;

unsigned char numm=0;


void main()

{

EA=1;

ET0=1;

TMOD=0x01;

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

TR0=1;

show();

}


void t0_time() interrupt 1

{

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

count++;


if(count%20==0)

{

count=0;

nums++;

if(nums==60)

{

nums=0;

numm++;

num[2]=numm%10;

num[3]=numm/10;

}

num[0]=nums%10;

num[1]=nums/10;

}

}


void show()

{

unsigned char i;

while(1)

for(i=0;i<6;i++)

{

P0=0;

du=1;

du=0;


P0=~(0x20>>i);

we=1;

we=0;


P0=table[num[i]];

du=1;

du=0;


delayms(1);

}

}


void delayms(unsigned time)

{

unsigned i,j;


for(i=time;i>0;i--)

for(j=110;j>0;j--)

;

}

第二種



void show()

{

unsigned char i;

while(1)

for(i=0;i<6;i++)

{

P0=0xff;

we=1;

we=0;


P0=table[num[i]];

du=1;

du=0;


P0=~(0x20>>i);

we=1;

we=0;


delayms(1);

}

}


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉