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