寫給初學(xué)者的,關(guān)于動(dòng)態(tài)數(shù)碼管顯示 很多初學(xué)的朋友,都問過我,都說數(shù)碼動(dòng)態(tài)顯示的的延時(shí)時(shí)間非常難控制,他們的困惑是,每次顯示的時(shí)間,總要整個(gè)程序的時(shí)間進(jìn)行計(jì)算,而且非常難計(jì)算,而且晶體換掉和做新的程序的時(shí)候也要重新計(jì)算,我感到非常吃驚。 我看了很多例子,那里面全部都是用軟件時(shí)間來延時(shí),這讓我非常費(fèi)神。我認(rèn)為一和般單片機(jī)都會(huì)有定時(shí)器,而我都常會(huì)利用單片機(jī)做一個(gè)MS發(fā)生器,利用MS發(fā)生器來計(jì)算時(shí)間,利用中斷來自動(dòng)切換,不但快,而且,也沒有浪費(fèi)定時(shí)器,因?yàn)镸S定時(shí)器,無論在哪里都還可以用到。 比如,我要10MS切換一下顯示,那么我會(huì)在中斷內(nèi)計(jì)算MS定時(shí)器的累加值。 MsTime=10就進(jìn)入顯示。這樣不但方便,還有所有的程序都可以獨(dú)立了,也讓程序非常容易移殖。也因?yàn)檫@個(gè)問題,使許多初學(xué)者為什么使用非常多的全局變量了。 再說所有高于MS的定時(shí)器,可以同時(shí)利用這個(gè)定時(shí)器,從而擴(kuò)充非常多的硬件MS定時(shí)器了
|