單片機三大編程語言
1.機器語言是計算機能夠看懂的語言。(形式為一段二進制代碼)
2.匯編語言是一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標(biāo)號代替指令或操作數(shù)的地址。
3.高級語言包括:C語言、BASIC語言和PL\M語言等。(現(xiàn)在一般使用C語言進行單片機編程,其他語言用作單片機編程較少)
由于計算機只能看懂機器語言所以無論是匯編語言還是高級語言都需要經(jīng)過編譯成為機器語言才能夠執(zhí)行。
單片機編程入門注意事項
很多同學(xué)想要學(xué)習(xí)單片機,但是沒有任何基礎(chǔ),不知道該如何入門,今天傳智播客就和大家分享一些單片機編程入門前要了解的一些事情。
①初學(xué)者到底學(xué)習(xí)那個系列單片機
51、AVR、430、ARM(包括嵌入操作系統(tǒng))、FPGA當(dāng)前單片機系統(tǒng)如此豐富,對于新手到底該如何選擇呢?我認為大的誤區(qū),在于新手普遍的追時髦心理,急功近利心理,妄想短時間之內(nèi)學(xué)會ARM,學(xué)會嵌入操作系統(tǒng)。網(wǎng)上資料、廠家宣傳、培訓(xùn)機構(gòu)廣告也對初學(xué)者產(chǎn)生誤導(dǎo),使之誤認為ARM很容易學(xué)。但是沒有51單片機知識作為基礎(chǔ),其他一切都是空中樓閣。必不能達到預(yù)期效果。51單片機作為入門級產(chǎn)品,現(xiàn)在更多的體現(xiàn)在教學(xué)意義上了。雖然大部分的產(chǎn)品,已經(jīng)淘汰51,使用高級芯片或者增強型51芯片,但是奉勸初學(xué)者,還是要從底層、基礎(chǔ)、即51開始單片機的學(xué)習(xí)。學(xué)好、學(xué)會、精通51單片機再學(xué)習(xí)其他單片機也能很快入門。
?、趩纹瑱C編程入門,需要有哪些基礎(chǔ),入門都學(xué)哪些東西。
很多初學(xué)者經(jīng)常問,我能學(xué)單片機嗎?難嗎?我現(xiàn)在什么也不會???這里想說幾句,要想學(xué)習(xí)單片機開發(fā),需要有以下幾方面基礎(chǔ),但要求并不是很高,可以在以后的學(xué)習(xí)過程中慢慢學(xué)。進一步了解,大家可以看一下我之前分享的:
學(xué)習(xí)單片機需要什么基礎(chǔ)?
1、電路基礎(chǔ):一些數(shù)字電路、模擬電路基礎(chǔ)。畢竟以后要自己設(shè)計電路,這些知識是很有用的。
2、C語言基礎(chǔ):我個人比較喜歡C語言開發(fā),相比匯編大的優(yōu)點就是移植性要好。學(xué)習(xí)51單片機,C語言編程當(dāng)然需要有些基礎(chǔ)。
3、一些單片機的基礎(chǔ)知識:雖然是初學(xué)者,但是一些基礎(chǔ)理論知識還是應(yīng)該知道的。
4、一些焊接等動手能力,這個要求就不是那么嚴格了。呵呵。不過能搭一手漂亮的電路還是挺好的。
?、墼趺礃铀闳腴T單片機編程?
1、學(xué)會使用編譯器軟件:就是在編譯器下建立一個項目,編寫一點點代碼,生成一個程序文件。當(dāng)你熟悉這個流程以后,就變得非常容易了。不過第一次還是很難實現(xiàn)的,好有一個比較詳細點的教程。
2、學(xué)會使用下載工具和軟件:把程序燒錄到單片機里,運行起來,需要動手去操作。
3、學(xué)會使用調(diào)試工具:如有條件,可以學(xué)習(xí)硬件仿真調(diào)試。
4、以上可以在學(xué)習(xí)板上實現(xiàn),不過以后你要學(xué)會自己設(shè)計 并制作電路。所以還要學(xué)會PRTEL軟件使用。
?、軉纹瑱C入門以后怎么辦啊?
很多初學(xué)者,學(xué)了一款51學(xué)習(xí)板,基礎(chǔ)東西也都會了,下一步怎么發(fā)展卻不知道了。下面的一些理論是我的一點不成熟想法,有這樣困惑的朋友可以參考參考。
1、單片機的平面發(fā)展理論:不斷學(xué)習(xí)同一個層次、不同結(jié)構(gòu)、不同品牌的單片機。
學(xué)會了一個系列、一個公司單片機,比如51(AT89S51),了解的它的全部內(nèi)部資源。下一步學(xué)習(xí),仍然可以圍繞51進行??梢詳U展到其它公司的51單片機,比如stc、pic因為他們有很多增強型51單片機。功能比普通AT89S51強很多。如果可以,接觸更多的同系列的51單片機。終能夠在做產(chǎn)品時,選擇正確的單片機,對每一種51單片機的優(yōu)劣有清晰的判斷。
2、單片機的縱向發(fā)展理論:不斷學(xué)習(xí)高級別的單片機。
在學(xué)會一個系列的單片機,繼續(xù)學(xué)習(xí)高級的單片機,比如從51到AVR、到ARM。可以學(xué)習(xí)到更多的單片機,接觸到更多的知識。
3、單片機的外圍發(fā)展理論:不斷學(xué)習(xí)單片機的外圍功能模塊。
學(xué)會一個系列的單片機以后,轉(zhuǎn)而研究外圍電路。不論是輸入、輸出、通訊、邏輯和計算。單片機外圍電路千變?nèi)f化,其功能模塊也千奇百怪。這樣的模塊學(xué)的越多,對你做產(chǎn)品的好處越大。畢竟所有功能模塊都是用在單片機上的,不論是51還是ARM都需要有外圍電路才能實現(xiàn)功能。
4、總結(jié):無論以上那種發(fā)展模式,其終目的都是單片機開發(fā),都是研發(fā)出產(chǎn)品。所以終的產(chǎn)品才是目標(biāo)。
⑤學(xué)習(xí)要精 還是要多的問題。
這個問題也比較麻煩,很多認為搞單片機要學(xué)那么多東西,還要軟硬件結(jié)合。我不可能每一種都做的很好。到底是要什么都會,還是要精通一種呢?
個人認為,如果是學(xué)生,還沒有工作,那么還是什么都會一點才好。畢竟誰也不知以后的工作內(nèi)容是什么,可以參加工作以后再選擇優(yōu)勢發(fā)展方向。
另外通常精通一種工作的都是大公司,分工比較明確,每個人負責(zé)自己的一部分,而在小公司,可能連技術(shù)文件都需要你來編寫,當(dāng)然是會的越多越好了。
?、迒纹瑱C開發(fā)流程:主要研發(fā)設(shè)計人員都需要做哪些工作
1、產(chǎn)品需求階段:可能是根據(jù)市場需要或者公司安排,確定要開發(fā)一種產(chǎn)品。開發(fā)人員需要和產(chǎn)品需求方溝通,明確客戶的需求,對即將開發(fā)的產(chǎn)品有一個總體上的印象。
2、產(chǎn)品立項:這時產(chǎn)品已經(jīng)確定要開發(fā),需要立項,開發(fā)人員可能需要填寫立項相關(guān)文件。有可能設(shè)計項目獎金哦。。。
3、產(chǎn)品總體設(shè)計:一般由高級系統(tǒng)架構(gòu)師(我也不知道這個是什么樣的牛人呢,還沒參加過有這種牛人的項目)搞定整個產(chǎn)品的系統(tǒng)設(shè)計。形成系統(tǒng)結(jié)構(gòu)圖,有可能分解成軟硬件部分。(此處的軟件指上位機應(yīng)用軟件,不是單片機內(nèi)部程序)。
4、技術(shù)難點攻關(guān):這里看需要開發(fā)人員出力了,就是把整個系統(tǒng)比較難或者不能確定的部分,先進行研究實驗,以確認不會因為這些部分導(dǎo)致項目無法實現(xiàn)。
5、電路設(shè)計制作:涉及到單片機開發(fā)人員了,涉及產(chǎn)品電路,并形成PCB電路板。
6、單片機程序編寫:終于要編程序了。到單片機工程師大顯身手的時候了。
7、硬件調(diào)試:電路板焊接完成,程序編寫完成。進行硬件調(diào)試,以發(fā)現(xiàn)程序的缺陷。 還有可能因增加或刪除功能進行修改。
8、與上位機聯(lián)機調(diào)試:基本是整個系統(tǒng)都完成了,所有功能都要調(diào)試,以保證產(chǎn)品穩(wěn) 定。如果沒有上位機軟件,這一步就省略了。
9、測試:產(chǎn)品都搞完了,當(dāng)然需要測試了。測試過程和方法很復(fù)雜的,這里就不說了。 如果測試出現(xiàn)問題,是需要返回到開發(fā)人員那里進行修改的。
10、制作樣機,完成項目開發(fā)部分:到這里基本上已經(jīng)告一段落了,不過開發(fā)人員可能 還需要提供說明書等很多文件。
11、小批量生產(chǎn),投放市場:用市場檢驗產(chǎn)品。如有不合格或者需要升級,開發(fā)人員就 要進行修改了。
12、產(chǎn)品實現(xiàn)量產(chǎn):量產(chǎn)銷售到市場,如有問題,一般歸售后服務(wù)人員處理,處理不了 也會讓開發(fā)人員幫忙,畢竟開發(fā)人員對產(chǎn)品為熟悉嘛。
13、總結(jié),開發(fā)人員的工作可是貫穿整個產(chǎn)品開發(fā)過程的。初學(xué)者可以對照一下,看看你都需要學(xué)會哪些東西。
評論
查看更多