|
相信很多電子科技愛好者都時常會聽到“單片機(jī)”這個詞,對很多電子電氣專業(yè)的學(xué)生來說更是如此。的確,單片機(jī)在生活中的應(yīng)用也已經(jīng)覆蓋了方方面面,那么就會有很多人想問:學(xué)習(xí)單片機(jī)難嗎?我該怎么入手?
以下僅僅是個人學(xué)習(xí)單片機(jī)的經(jīng)驗,希望對新手有所幫。
基礎(chǔ)知識(磨刀不誤砍柴工)
欲罷不能的B站
(如果還沒接觸C語言的同學(xué),建議出門左拐,B站搜索C語言,你會有一種找到“親兄弟”的感覺)
1. C語言知識
由于匯編語言不具備良好的移植性,而比較接近底層的編程語言也不多,使得C語言成為單片機(jī)開發(fā)的首選語言。
所以,要想學(xué)會單片機(jī)開發(fā),C語言必不可少,且越精越好。單片機(jī)對于C語言的要求隨著單片機(jī)的高級程度增加而提高。
2. 常用的C語言知識
- 宏定義
- 數(shù)組
- 位運(yùn)算
- 循環(huán)結(jié)構(gòu)
- 順序結(jié)構(gòu)
- 指針
- 結(jié)構(gòu)體
3. 由于空洞的話容易讓人覺得不著邊際,在此貼出一個簡單程序,欣賞一番
- #include "reg52.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器
- typedef unsigned int u16; //對數(shù)據(jù)類型進(jìn)行重新聲明定義
- typedef unsigned char u8;
- sbit LSA=P2^2;
- sbit LSB=P2^3;
- sbit LSC=P2^4; //位定義
- u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值
- /*******************************************************************************
- * 函 數(shù) 名 : main
- * 函數(shù)功能 : 主函數(shù)
- *******************************************************************************/
- void main()
- {
- LSA=0;
- LSB=0;
- LSC=0; //控制38譯碼器的Y0輸出低電平
- P0=smgduan[0];
- while(1);
- }
復(fù)制代碼
可能乍一眼看上去看不懂,沒關(guān)系,誰都有個過程,慢慢來,不著急!
從這程序中,你至少要體會到,要學(xué)習(xí)那些C語言知識,這才是這個程序的目的。
學(xué)習(xí)準(zhǔn)備(工欲善其事,必先利其器)
硬件準(zhǔn)備
新手建議購買51單片機(jī),淘寶搜索51單片機(jī)開發(fā)板,(在此不做推薦,免得有推銷的嫌疑),大概在50塊左右,在購買之前,一定要向商家索要資料,沒有資料的強(qiáng)烈建議不要買!不要買!
資料準(zhǔn)備
商家提供的基本夠解決問題,遇到不懂的問題,首先獨(dú)立思考,然后百度,當(dāng)然,也可以詢問一些前輩。
軟件準(zhǔn)備
現(xiàn)在最火熱的開發(fā)軟件就是Keil了,Keil我就不做介紹了,用過的基本都說好。keil官網(wǎng)
如果想要更加便捷的使用的話,請參考教程,可以轉(zhuǎn)戰(zhàn):https://pan.baidu.com/s/18Tco65__XgBF-7WawL6ihQ 提取碼:1g0
注重過程(不積跬步,無以至千里;不積小流,無以成江海)
學(xué)習(xí)永遠(yuǎn)是一條沒有盡頭的路,選擇了就不要輕易放棄,行百里者半九十,所以要有恒心、有毅力。
注重平時的積累過程,厚積薄發(fā)才能一鳴驚人。
勤于思考、融會貫通(學(xué)而不思則罔,思而不學(xué)則殆)
切忌眼高手低!!! 切忌眼高手低!!! 切忌眼高手低!!!
就算你照著源程序打一遍,你也可能會出錯,所以這個時候一定要老實(shí)點(diǎn),不要以為聽懂就萬事大吉了
勤于思考,多問幾個問什么,感覺自己會了,開始有些膨脹的時候,需要撒泡尿清醒清醒(有本事默寫一遍?)
善于重復(fù),一遍不行來兩遍,兩遍不行再來一遍,總會慢慢懂的。
|
評分
-
查看全部評分
|