|
|
|
學(xué)51單片機(jī)不難,要多寫代碼多實(shí)踐。建議你去看看郭天祥的《新概念51單片機(jī) C語(yǔ)言教程》這本書還有他的視頻,我當(dāng)初初學(xué)51的時(shí)候就是看這本書學(xué)的,很有用。一般來(lái)說(shuō)初學(xué)51單片機(jī)的時(shí)候很多人都是難倒在中斷、定時(shí)器和計(jì)數(shù)器;很多人都不理解為啥要裝載初值,計(jì)數(shù)器的溢出值會(huì)是65536(65536=2^16,因?yàn)橛?jì)數(shù)器是16位的);當(dāng)計(jì)數(shù)器的計(jì)數(shù)值達(dá)到65536這個(gè)值后,單片機(jī)就會(huì)進(jìn)入中斷;而計(jì)數(shù)器計(jì)這么多數(shù)是需要時(shí)間的(大約65ms),如果我們想要計(jì)數(shù)器50ms就進(jìn)入中斷,那么我們就要先裝填入一個(gè)初值,然后計(jì)數(shù)器就會(huì)從這個(gè)初值開始計(jì)數(shù),當(dāng)計(jì)數(shù)到65536這個(gè)數(shù)時(shí)就剛好是50ms(65536=初值數(shù)+50ms計(jì)的數(shù)(大約是50000)),而一個(gè)16位的計(jì)數(shù)器又分為了高8位和低8位(2^8=256),所以裝載初值的代碼一般會(huì)寫成這樣:TH0 = (65535-初值數(shù))/256 |
|