《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > 充電電池容量自動(dòng)測(cè)試儀設(shè)計(jì)與實(shí)現(xiàn)
充電電池容量自動(dòng)測(cè)試儀設(shè)計(jì)與實(shí)現(xiàn)
摘要: 隨著電子產(chǎn)品小型便攜化發(fā)展趨勢(shì),,充電電池應(yīng)用越來越廣泛了,。市面上電池種類繁多,良莠不齊?,F(xiàn)在的電池容量虛標(biāo)是非常普遍的事情,,只有很少一部分正規(guī)廠家的產(chǎn)品采用了實(shí)事求是的態(tài)度,。
Abstract:
Key words :

  隨著電子產(chǎn)品小型便攜化發(fā)展趨勢(shì),,充電電池應(yīng)用越來越廣泛了,。市面上電池種類繁多,良莠不齊?,F(xiàn)在的電池容量虛標(biāo)是非常普遍的事情,,只有很少一部分正規(guī)廠家的產(chǎn)品采用了實(shí)事求是的態(tài)度。曾經(jīng)見過一種標(biāo)注容量8000mAH的手機(jī)電池,,實(shí)際容量?jī)H能達(dá)到標(biāo)注容量的一兩成而已,,以目前的技術(shù),以手機(jī)電池的體積要達(dá)到如此容量尚無可能,,只怕將來也未必能夠?qū)崿F(xiàn),。隨著小電子產(chǎn)品越來越多,每個(gè)人對(duì)于電池的需求將越來越多,,手邊也會(huì)積累大量的充電電池,。一塊高質(zhì)量的電池使用時(shí)效可以達(dá)到4、5年以上,,劣質(zhì)電池就很差了,,而且容易損壞。鑒于這個(gè)現(xiàn)狀,,個(gè)人使用也有必要建立一個(gè)完整的評(píng)估體系,,作為長(zhǎng)期選購(gòu)、使用的指導(dǎo)參考,。

  電池容量是衡量電池質(zhì)量的重要指標(biāo),。充電電池的容量測(cè)試有很多的方法??梢砸罁?jù)電池的放電曲線,,進(jìn)行短時(shí)間放電,從而粗略得出電池容量,。這種方法最大的優(yōu)點(diǎn)是快速,,但是充電電池的放電曲線并不具有普遍性,很多劣質(zhì)電池放電初期電壓也很平穩(wěn),,一旦進(jìn)入中后期,,電壓下降非常迅速,所以采用這種方法得出的結(jié)論將非常不準(zhǔn)確的,。最可靠最準(zhǔn)確無誤的還是以標(biāo)準(zhǔn)電流放電,,全程測(cè)量實(shí)際放電時(shí)間的方式。不同的放電電流,,充電電池最終能夠釋放出的電量是不同的,,有一定的差距。蓄電池的容量標(biāo)注都是有統(tǒng)一標(biāo)準(zhǔn)的,。目前使用最多的是10小時(shí)率放電容量與20小時(shí)率放電容量?jī)煞N,。10小時(shí)率放電容量就是電池以恒定電流放電,,至電量耗盡放電時(shí)間能夠維持10個(gè)小時(shí)左右,這個(gè)電流就被稱作10小時(shí)率電流(衡量電量用盡的標(biāo)準(zhǔn),,不能以電池放電端電壓降低到零為準(zhǔn),。電池過度放電,會(huì)導(dǎo)致電池容量減少,,無法恢復(fù),,乃至提早損壞,、完全失效,。所以每種電池放電終止電壓都有嚴(yán)格的規(guī)定,,這個(gè)可以查閱相關(guān)資料,。過度放電與過度充電是造成充電電池不能達(dá)到使用年限,、提前報(bào)廢的主要原因),。實(shí)時(shí)放電的測(cè)量方法最大的缺點(diǎn)就是費(fèi)時(shí)費(fèi)力,,因?yàn)楹臅r(shí)久這樣測(cè)量精度也很容易受到各種外部因素的影響,。測(cè)量過程中如果用10小時(shí)率電流持續(xù)放電時(shí)間至少都要在5個(gè)小時(shí)以上,,作這樣長(zhǎng)時(shí)間的測(cè)試更需要足夠的耐心與精力以及充裕的時(shí)間,??萍嫉陌l(fā)展是非常迅速,,今天單片機(jī)已經(jīng)非常普及了,。通過單片機(jī)程序控制對(duì)放電時(shí)間,,深度進(jìn)行自動(dòng)化控制,,就很容易精準(zhǔn)測(cè)出電池的實(shí)際容量,,實(shí)現(xiàn)整個(gè)過程的自動(dòng)控制,。模擬實(shí)際放電測(cè)量容量的方法雖然對(duì)能源有一點(diǎn)浪費(fèi),,但是對(duì)于1A,、2A以下的小容量充電電池還是完全可行的,,對(duì)大容量電池進(jìn)行抽樣檢查也是很有必要,。

  下面介紹的電池容量測(cè)試儀采用89S51作為控制芯片,,圖1就是硬件的電路原理圖。

 

  圖1 硬件的電路原理圖

  圖1 硬件的電路原理圖

 

  這個(gè)電池容量測(cè)試儀由放電電路,、單片機(jī)控制計(jì)時(shí)兩個(gè)完全獨(dú)立部分組合而成。單片機(jī)部分制作費(fèi)時(shí)費(fèi)力,,而且市面上單片機(jī)已很普及,沒必要親手制作,,隨便找一片51單片機(jī)實(shí)驗(yàn)板就可以了,。放電電路則是比較簡(jiǎn)單的,,僅由四五只元件構(gòu)成,。單片機(jī)部分主要負(fù)責(zé)對(duì)放電時(shí)間計(jì)時(shí),,最終得到一組可靠的數(shù)據(jù),,用于電池性能的考量。

  這種放電電路的實(shí)質(zhì)就是一模擬可控硅,。當(dāng)我們將待測(cè)電池接入電路相應(yīng)位置時(shí),,點(diǎn)按啟動(dòng)鍵,,如果電池尚有余量,,則電池兩端放電電壓將維持在設(shè)定值以上,,三極管VT1就會(huì)瞬間飽和,電池通過電阻R2進(jìn)行放電,。這種電路有可靠精確陡峭的開關(guān)特性,VT1絕對(duì)工作于飽和截止兩種狀態(tài)之下,。通過可調(diào)電阻對(duì)開關(guān)電路臨界值(即充電電池放電終止電壓)進(jìn)行調(diào)節(jié)設(shè)定,便可適應(yīng)于各種不同類型充電電池的全程保護(hù)放電,。由于個(gè)人的應(yīng)用不需要非常精準(zhǔn)的測(cè)試結(jié)果,,所以實(shí)際測(cè)試中電池模擬放電原則上還是以快些為好,,只需要得到一個(gè)大致的電池容量,。為了較快完成電池測(cè)試過程,這里的電路設(shè)計(jì)采用兩小時(shí)率電流進(jìn)行放電,。通過對(duì)各種電池測(cè)量結(jié)果的橫向比較,,容量的差異還是顯而易見的,以此作為衡量電池優(yōu)劣的標(biāo)準(zhǔn),,就已經(jīng)足夠了,。這里以1000mAH、1.2V規(guī)格鎳氫電池測(cè)試為例,,放電電流500mA就需要采用2Ω的放電電阻,,電池終止放電電壓應(yīng)控制在1V以上。放電終止電壓通過可調(diào)電阻R1來調(diào)節(jié)設(shè)定,。普通可調(diào)電阻精度較差,,且容易產(chǎn)生漂移,會(huì)導(dǎo)致設(shè)定好的終止電壓隨時(shí)間推移以及使用環(huán)境變化產(chǎn)生較大的波動(dòng),。為了保證放電終止電壓的精準(zhǔn)且易于設(shè)定,,R1可以使用3296系列精密可調(diào)電位器。3296多圈可調(diào)精密電位器的可調(diào)范圍一般在50T,,所以每圈的調(diào)節(jié)范圍為2%,,每轉(zhuǎn)動(dòng)一度,阻值變化大約0.005%,,所以很容易調(diào)節(jié)獲得一個(gè)精確,、穩(wěn)定的阻值。

  終止電壓的設(shè)定必須在實(shí)際放電過程中進(jìn)行,,負(fù)載電阻R2阻值變動(dòng),,已經(jīng)設(shè)定的終止電壓也會(huì)隨之改變,需要重新設(shè)置,。具體的調(diào)試方法就不再詳述了,,參考一下相關(guān)資料。

  這個(gè)放電電路不需要單獨(dú)的工作電源,,而且與電池種類沒有相關(guān)性,,完全可以適應(yīng)鎘鎳、鎳氫,、鋰電池,、鉛酸電池各種類型蓄電池的保護(hù)性放電,只是需要根據(jù)電池類型以及容量大小重新設(shè)置電路的終止電壓及放電電流,。如果電池容量相對(duì)較高,,那么三極管VT1、VT2的耗散功率也要相應(yīng)加大一些,,同時(shí)不要忘了加大負(fù)載電阻R2的功率,。

  隨著電子產(chǎn)品小型便攜化發(fā)展趨勢(shì),,充電電池應(yīng)用越來越廣泛了。市面上電池種類繁多,,良莠不齊?,F(xiàn)在的電池容量虛標(biāo)是非常普遍的事情,只有很少一部分正規(guī)廠家的產(chǎn)品采用了實(shí)事求是的態(tài)度,。曾經(jīng)見過一種標(biāo)注容量8000mAH的手機(jī)電池,,實(shí)際容量?jī)H能達(dá)到標(biāo)注容量的一兩成而已,以目前的技術(shù),,以手機(jī)電池的體積要達(dá)到如此容量尚無可能,,只怕將來也未必能夠?qū)崿F(xiàn)。隨著小電子產(chǎn)品越來越多,,每個(gè)人對(duì)于電池的需求將越來越多,,手邊也會(huì)積累大量的充電電池。一塊高質(zhì)量的電池使用時(shí)效可以達(dá)到4,、5年以上,,劣質(zhì)電池就很差了,而且容易損壞,。鑒于這個(gè)現(xiàn)狀,,個(gè)人使用也有必要建立一個(gè)完整的評(píng)估體系,,作為長(zhǎng)期選購(gòu),、使用的指導(dǎo)參考。

  電池容量是衡量電池質(zhì)量的重要指標(biāo),。充電電池的容量測(cè)試有很多的方法,。可以依據(jù)電池的放電曲線,,進(jìn)行短時(shí)間放電,,從而粗略得出電池容量。這種方法最大的優(yōu)點(diǎn)是快速,,但是充電電池的放電曲線并不具有普遍性,,很多劣質(zhì)電池放電初期電壓也很平穩(wěn),一旦進(jìn)入中后期,,電壓下降非常迅速,,所以采用這種方法得出的結(jié)論將非常不準(zhǔn)確的。最可靠最準(zhǔn)確無誤的還是以標(biāo)準(zhǔn)電流放電,,全程測(cè)量實(shí)際放電時(shí)間的方式,。不同的放電電流,充電電池最終能夠釋放出的電量是不同的,,有一定的差距,。蓄電池的容量標(biāo)注都是有統(tǒng)一標(biāo)準(zhǔn)的,。目前使用最多的是10小時(shí)率放電容量與20小時(shí)率放電容量?jī)煞N。10小時(shí)率放電容量就是電池以恒定電流放電,,至電量耗盡放電時(shí)間能夠維持10個(gè)小時(shí)左右,,這個(gè)電流就被稱作10小時(shí)率電流(衡量電量用盡的標(biāo)準(zhǔn),不能以電池放電端電壓降低到零為準(zhǔn),。電池過度放電,,會(huì)導(dǎo)致電池容量減少,無法恢復(fù),,乃至提早損壞,、完全失效。所以每種電池放電終止電壓都有嚴(yán)格的規(guī)定,,這個(gè)可以查閱相關(guān)資料,。過度放電與過度充電是造成充電電池不能達(dá)到使用年限、提前報(bào)廢的主要原因),。實(shí)時(shí)放電的測(cè)量方法最大的缺點(diǎn)就是費(fèi)時(shí)費(fèi)力,,因?yàn)楹臅r(shí)久這樣測(cè)量精度也很容易受到各種外部因素的影響。測(cè)量過程中如果用10小時(shí)率電流持續(xù)放電時(shí)間至少都要在5個(gè)小時(shí)以上,,作這樣長(zhǎng)時(shí)間的測(cè)試更需要足夠的耐心與精力以及充裕的時(shí)間,。科技的發(fā)展是非常迅速,,今天單片機(jī)已經(jīng)非常普及了,。通過單片機(jī)程序控制對(duì)放電時(shí)間,深度進(jìn)行自動(dòng)化控制,,就很容易精準(zhǔn)測(cè)出電池的實(shí)際容量,,實(shí)現(xiàn)整個(gè)過程的自動(dòng)控制。模擬實(shí)際放電測(cè)量容量的方法雖然對(duì)能源有一點(diǎn)浪費(fèi),,但是對(duì)于1A,、2A以下的小容量充電電池還是完全可行的,對(duì)大容量電池進(jìn)行抽樣檢查也是很有必要,。

  下面介紹的電池容量測(cè)試儀采用89S51作為控制芯片,,圖1就是硬件的電路原理圖。

 

  圖1 硬件的電路原理圖

  圖1 硬件的電路原理圖

 

  這個(gè)電池容量測(cè)試儀由放電電路,、單片機(jī)控制計(jì)時(shí)兩個(gè)完全獨(dú)立部分組合而成,。單片機(jī)部分制作費(fèi)時(shí)費(fèi)力,而且市面上單片機(jī)已很普及,,沒必要親手制作,,隨便找一片51單片機(jī)實(shí)驗(yàn)板就可以了。放電電路則是比較簡(jiǎn)單的,,僅由四五只元件構(gòu)成,。單片機(jī)部分主要負(fù)責(zé)對(duì)放電時(shí)間計(jì)時(shí),,最終得到一組可靠的數(shù)據(jù),用于電池性能的考量,。

  這種放電電路的實(shí)質(zhì)就是一模擬可控硅,。當(dāng)我們將待測(cè)電池接入電路相應(yīng)位置時(shí),點(diǎn)按啟動(dòng)鍵,,如果電池尚有余量,,則電池兩端放電電壓將維持在設(shè)定值以上,三極管VT1就會(huì)瞬間飽和,,電池通過電阻R2進(jìn)行放電,。這種電路有可靠精確陡峭的開關(guān)特性,VT1絕對(duì)工作于飽和截止兩種狀態(tài)之下,。通過可調(diào)電阻對(duì)開關(guān)電路臨界值(即充電電池放電終止電壓)進(jìn)行調(diào)節(jié)設(shè)定,,便可適應(yīng)于各種不同類型充電電池的全程保護(hù)放電。由于個(gè)人的應(yīng)用不需要非常精準(zhǔn)的測(cè)試結(jié)果,,所以實(shí)際測(cè)試中電池模擬放電原則上還是以快些為好,,只需要得到一個(gè)大致的電池容量。為了較快完成電池測(cè)試過程,,這里的電路設(shè)計(jì)采用兩小時(shí)率電流進(jìn)行放電,。通過對(duì)各種電池測(cè)量結(jié)果的橫向比較,容量的差異還是顯而易見的,,以此作為衡量電池優(yōu)劣的標(biāo)準(zhǔn),,就已經(jīng)足夠了。這里以1000mAH,、1.2V規(guī)格鎳氫電池測(cè)試為例,,放電電流500mA就需要采用2Ω的放電電阻,電池終止放電電壓應(yīng)控制在1V以上,。放電終止電壓通過可調(diào)電阻R1來調(diào)節(jié)設(shè)定。普通可調(diào)電阻精度較差,,且容易產(chǎn)生漂移,,會(huì)導(dǎo)致設(shè)定好的終止電壓隨時(shí)間推移以及使用環(huán)境變化產(chǎn)生較大的波動(dòng)。為了保證放電終止電壓的精準(zhǔn)且易于設(shè)定,,R1可以使用3296系列精密可調(diào)電位器,。3296多圈可調(diào)精密電位器的可調(diào)范圍一般在50T,所以每圈的調(diào)節(jié)范圍為2%,,每轉(zhuǎn)動(dòng)一度,,阻值變化大約0.005%,所以很容易調(diào)節(jié)獲得一個(gè)精確,、穩(wěn)定的阻值,。

  終止電壓的設(shè)定必須在實(shí)際放電過程中進(jìn)行,,負(fù)載電阻R2阻值變動(dòng),已經(jīng)設(shè)定的終止電壓也會(huì)隨之改變,,需要重新設(shè)置,。具體的調(diào)試方法就不再詳述了,參考一下相關(guān)資料,。

  這個(gè)放電電路不需要單獨(dú)的工作電源,,而且與電池種類沒有相關(guān)性,完全可以適應(yīng)鎘鎳,、鎳氫,、鋰電池、鉛酸電池各種類型蓄電池的保護(hù)性放電,,只是需要根據(jù)電池類型以及容量大小重新設(shè)置電路的終止電壓及放電電流,。如果電池容量相對(duì)較高,那么三極管VT1,、VT2的耗散功率也要相應(yīng)加大一些,,同時(shí)不要忘了加大負(fù)載電阻R2的功率。

  圖2是放電電路的印刷電路圖,,元件數(shù)量少,,很容易制作。

 

  圖2 印刷電路圖

  圖2 印刷電路圖

 

  各種電池兩小時(shí)率電流放電能夠維持的放電時(shí)間一般都是在1.5小時(shí)以下的,。這里單片機(jī)計(jì)時(shí)系統(tǒng)使用秒計(jì)時(shí),,4位LED數(shù)碼管顯示。最大計(jì)時(shí)時(shí)間9999秒,,大約2.7小時(shí),。

  圖1單只LED數(shù)碼管內(nèi)部都是由8只發(fā)光管組合而成,分別作為8的7段字型部分,,以及一位小數(shù)點(diǎn),。這里使用的是共陽(yáng)極數(shù)碼管,內(nèi)部8只發(fā)光管的陽(yáng)極是并連共同引出的,,作為使能控制,。

  在實(shí)際電路中,L1就是第一只數(shù)碼管的共陽(yáng)極端,。單片機(jī)的輸出,、輸入接口數(shù)量都很有限,所以4位LED數(shù)碼管驅(qū)動(dòng)都是使用動(dòng)態(tài)顯示的方式,。4只獨(dú)立數(shù)碼管LED的內(nèi)部a,、b、c、d,、e,、f、g,、dp這8段發(fā)光管相對(duì)應(yīng)的陰極都是并連的,。統(tǒng)一由單片機(jī)P0口8位輸出進(jìn)行驅(qū)動(dòng)。數(shù)碼管要顯示出數(shù)碼還必須在共陽(yáng)極端同時(shí)施加正電壓才行,。所以要讓4位中某一數(shù)碼管進(jìn)行顯示,,只要在P0口輸出字型碼的同時(shí),給這位數(shù)碼管共陽(yáng)極端加上正電壓就行了,,當(dāng)然與此同時(shí)其他三位數(shù)碼管的共陽(yáng)極端要保持低電壓,,才不致顯示出現(xiàn)混亂。數(shù)碼管共陽(yáng)極端驅(qū)動(dòng)電流較大,,所以采用了三極管進(jìn)行控制,。以第一只數(shù)碼管為例,在P0端口輸出字型碼的同時(shí),,P37輸出低電平,,三極管T4導(dǎo)通,則共陽(yáng)極端L1就得到高電平了,,數(shù)字就會(huì)顯示在第一只數(shù)碼管上了,。

  程序設(shè)計(jì)是以單片機(jī)P37口作為計(jì)時(shí)控制端子,P37口輸入低電平,,計(jì)時(shí)程序啟動(dòng),,4只數(shù)碼管顯示時(shí)間。放電電路中按下啟動(dòng)按鍵,,放電過程觸發(fā),,VT1導(dǎo)通,電池端電壓降落到放電電阻R2兩端,,A端對(duì)地為高電平,,通過電阻R4迫使三極管VT3導(dǎo)通,P37口電平就被拉低了,,單片機(jī)計(jì)時(shí)程序啟動(dòng),。電池電壓降到終止電壓以后,放電電路自動(dòng)關(guān)閉,,A端電壓消失,VT3恢復(fù)截止?fàn)顟B(tài),,計(jì)時(shí)程序停止,,數(shù)碼管維持顯示當(dāng)前持續(xù)時(shí)間。

  如要進(jìn)入下次測(cè)試,,首先按動(dòng)單片機(jī)復(fù)位鍵,,當(dāng)前計(jì)時(shí)清零,,等待下一次測(cè)試開始。

  程序設(shè)計(jì)比較簡(jiǎn)單,。它的大致流程如下:初始化,,P3端口置位,設(shè)立常量a為時(shí)間計(jì)數(shù)器,,依次對(duì)a的十進(jìn)制數(shù)值各位進(jìn)行提取,,順序輸送到P0端口,P2端口中的P24,、P25,、P26、P27各位是依次作為四位數(shù)碼管的使能控制端,,通過P2端口的配合,,就可以完成對(duì)各位數(shù)碼管的驅(qū)動(dòng),時(shí)間的動(dòng)態(tài)顯示,。程序進(jìn)行中要不斷地檢測(cè)P3端口數(shù)值以決定計(jì)時(shí)狀態(tài):如果電池處于放電過程之中,,三極管VT3導(dǎo)通,將迫使P37端口電壓降到零,,P3端口值就是127,,單片機(jī)程序檢測(cè)到這一結(jié)果,時(shí)間常量a將自動(dòng)加1,,指示期間放電時(shí)間已經(jīng)延續(xù)1秒種了,。這1秒鐘的時(shí)間精確計(jì)算是比較麻煩的。計(jì)時(shí)程序是一個(gè)循環(huán)結(jié)構(gòu),,每一周期耗用時(shí)間都是一致的,。所以在使用keil軟件調(diào)試過程中,通過對(duì)時(shí)間計(jì)數(shù)寄存器sec的觀察計(jì)算,,可以得出一次循環(huán)大致需要的時(shí)間,。以此為據(jù)再通過適當(dāng)改變延時(shí)子程序循環(huán)次數(shù)將常量a計(jì)時(shí)周期控制在1秒以下,剩余微小的時(shí)間差就可以通過插補(bǔ)空指令來校正了,。計(jì)時(shí)精度只要控制在千分之一以下就可以了,。在51單片機(jī)使用11.0592MHz晶體振蕩器的情況下,指令周期大約1.085微秒,,所以將計(jì)時(shí)精度控制在千分之一以下問題不大,。誤差總是會(huì)有的,只能通過精確計(jì)算來控制了,,也可以通過更換更高頻率的晶體振蕩器提高單片機(jī)時(shí)鐘頻率的方法來進(jìn)一步提高計(jì)時(shí)的精度,。如果放電過程中,意外原因或者人為終止放電過程,P37端口變?yōu)楦唠娖?,程序循環(huán)依舊會(huì)進(jìn)行下去,,只是時(shí)間常量a停止自動(dòng)加一,時(shí)間顯示維持不變,。

  編譯后,,寫入單片機(jī)內(nèi)部,做好放電電路部分與51單片機(jī)的連接,,便可投入使用,。

  電池接入后,按動(dòng)輕觸按鍵“啟動(dòng)”,,就會(huì)進(jìn)入一次容量測(cè)試過程,,期間電池取出接入,都不會(huì)影響到單片機(jī)計(jì)時(shí),。電池放電完畢,,單片機(jī)數(shù)碼管顯示鎖定,給出總放電持續(xù)時(shí)間,,單位為秒,。可以自行人工計(jì)算放電小時(shí)數(shù),。當(dāng)然也是可以自行對(duì)程序進(jìn)行改進(jìn),,直接以小時(shí)分鐘形式進(jìn)行顯示。只要單片機(jī)不斷電,,數(shù)碼管將持續(xù)顯示當(dāng)前放電時(shí)長(zhǎng),。如果要進(jìn)入下次測(cè)量過程,只需要按動(dòng)單片機(jī)復(fù)位鍵,,數(shù)碼管清零,,單片機(jī)程序轉(zhuǎn)入起點(diǎn),你就可以進(jìn)入新一次的容量測(cè)試過程了,。

  充電電池如果較長(zhǎng)時(shí)間閑置,,它的實(shí)際容量將受到影響,重新啟用第一次能夠釋放的容量遠(yuǎn)遠(yuǎn)達(dá)不到標(biāo)注容量,,放電電壓也很不平穩(wěn),。至少要經(jīng)過三次以上的充電放電循環(huán),電池完全激活,,容量才能恢復(fù)到應(yīng)有的水平,。充分考慮這種因素的影響,所以容量測(cè)試一般采取多次平均的方式,,或者循環(huán)充放電三次以后放電持續(xù)時(shí)間為準(zhǔn),,以此衡量電池容量才算是恰當(dāng),。

  #include “reg51.h”

  char

  code disp[]={40,,235,,50,162,,225,,164,36,,234,,32,160};

  //字形碼

  void delay(unsigned int dt)

  { unsigned int j=0;

  for(,;dt>0;dt--)

  { for(j=0;j<125;j++)

  {;}

  }

  }

  void main()

  { int a,,b,c,,led1,,led2,led3,,led4;

  P3=255;

  a=0;

  for(,;;)

  {b=a;

  led1=b%10;

  P2=239;

  P0=disp[led1];

  delay(6),;

  P2=255;

  b=b/10;

  led2=b%10;

  P2=223;

  P0=disp[led2];

  delay(6),;

  P2=255;

  b=b/10;

  led3=b%10;

  P2=191;

  P0=disp[led3];

  delay(6);

  P2=255;

  b=b/10;

  led4=b%10;

  P2=127;

  P0=disp[led4];

  delay(6),;

  P2=255;

  for(c=44;c>0;c--)

  {

  P2=239;

  P0=disp[led1];

  delay(5),;

  P2=255;

  P2=223;

  P0=disp[led2];

  delay(5);

  P2=255;

  P2=191;

  P0=disp[led3];

  delay(5),;

  P2=255;

  P2=127;

  P0=disp[led4];

  delay(5),;

  P2=255;

  }

  if(P3==127)

  delay(3);

  if(P3==127)

  a=a+1;

  else a=a;

  }

  }

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。