學(xué)習(xí)單片機(jī)編程,需要有基礎(chǔ),需要有方法。
一,寫不出單片機(jī)程序的原因有哪些?
C語言掌握不夠,常用的語法不理解。
單片機(jī)知識(shí)點(diǎn)沒有掌握。
單片機(jī)編程沒有入門。
第一,要一定C語言基礎(chǔ),單片機(jī)C語言和普通C語言語法差異
1.調(diào)用的頭文件不一樣。
2.編譯器的不同會(huì)造成單片機(jī)C程序編寫過程中細(xì)節(jié)的差異,比如unsignedint類型,在某些編譯器當(dāng)中是與unsigendchar一樣的位寬。
第二,要有一定的硬件知識(shí)。理解普通的三極管,高低電平,電壓電流等基本概念。這個(gè)能看得懂原理圖,從事單片機(jī)開發(fā),會(huì)需要調(diào)試程序,需要通過一定的工具,萬用表,示波器來分析自己的軟件是否正常。
第三。必須要有一塊合適的開發(fā)板。資料和教程要齊全,沒有開發(fā)板,就沒有練習(xí)和實(shí)操的機(jī)會(huì)和平臺(tái),更談不上進(jìn)步。
單片機(jī)分為很多種,8位單片機(jī),16位單片機(jī),32位單片機(jī),從未接觸過單片機(jī)開發(fā)的初學(xué)者,在選擇開發(fā)板時(shí),建議用從8位單片機(jī)如AT89S51作為單片機(jī)入門芯片。
對(duì)于基礎(chǔ)知識(shí)較薄弱的同學(xué),不建議一開始就學(xué)習(xí)stm32,因stm32學(xué)習(xí)難度會(huì)大很多,知識(shí)點(diǎn)也更多,學(xué)不好會(huì)打擊積極性。
二,能熟練編寫單片機(jī)程序,有什么方法?
首先,單片機(jī)的入門級(jí)別的知識(shí)點(diǎn):
1,開發(fā)環(huán)境的搭建和使用,下載程序的操作。這一塊非常重要,這個(gè)學(xué)不會(huì),后面的單片機(jī)編程無從談起。
2,端口IO輸出,實(shí)操LED燈的亮滅,流水燈實(shí)驗(yàn)。
3,端口IO輸入,實(shí)操按鍵的輸入高低電平變化,操作LED的亮滅。
4,串口的輸入輸出,掌握ASCII碼的字符與0-255數(shù)字的對(duì)應(yīng)關(guān)系,并學(xué)會(huì)利用串口進(jìn)行調(diào)試信息打印,掌握利用串口調(diào)試代碼的方法。(這種調(diào)試方法很重要,很多單片機(jī)不能在線仿真,只能用串口調(diào)試)
5,掌握定時(shí)器功能。掌握普通定時(shí)器中斷函數(shù)的寫法和用法,如果對(duì)應(yīng)的單片機(jī)包含PWM設(shè)置,也必須掌握PWM的配置和使用。
6,掌握IIC時(shí)序操作,很多常用芯片都用IIC通信,比如EEPORM存儲(chǔ)芯片,掌握后讀寫相關(guān)參數(shù)。存儲(chǔ)的數(shù)據(jù)斷電不丟失。
7,一般開發(fā)板都會(huì)有實(shí)時(shí)時(shí)鐘芯片如DS1302,掌握其用法,可以在綜合練習(xí)中用到。
一定要熟練掌握以上知識(shí)點(diǎn),初學(xué)者心中要形成自己?jiǎn)纹瑱C(jī)開發(fā)的知識(shí)樹。
接下來說下
第一,多學(xué)習(xí)和多看教學(xué)資料和視頻,目前51級(jí)別的開發(fā)板非常多,價(jià)格實(shí)惠,而且有很多優(yōu)質(zhì)的教學(xué)視頻??梢宰鳛槿腴T教程。
第二,推薦郭天祥的入門書籍《手把手教你學(xué)單片機(jī)C語言》,以及他的教學(xué)視頻《十天學(xué)會(huì)單片機(jī)編程》,我就是看了這本書和視頻,然后不斷練習(xí),才踏入單片機(jī)編程領(lǐng)域的。
第二,多練習(xí),想需要單片機(jī),看得懂不一定寫得出來,一定要跟著視頻書籍和老師的要求,自己一點(diǎn)點(diǎn)的編寫出來,并每個(gè)知識(shí)點(diǎn)做好記錄。并思考總結(jié),消耗吸收變成自己的知識(shí)。
綜合實(shí)驗(yàn)
根據(jù)自己所學(xué)習(xí)的知識(shí)點(diǎn),完成一個(gè)帶定時(shí)鬧鐘功能的實(shí)時(shí)時(shí)鐘,
1通過按鍵設(shè)置鬧鐘,需要將鬧鐘時(shí)間存儲(chǔ)在EEPORM中。
2,通過按鍵修改時(shí)間,對(duì)ds1302的操作,時(shí)間計(jì)數(shù)的累加,
3,通過切換鬧鐘-時(shí)間顯示模式,比如長(zhǎng)按,短按鍵的搭配等
4,數(shù)碼管在不同的模式下分別顯示時(shí)間和鬧鐘。
按照我文中的要求來進(jìn)行操作和學(xué)習(xí),最后完成實(shí)時(shí)時(shí)鐘的這個(gè)實(shí)驗(yàn),那么您的單片機(jī)編程能力一定得到很大提升!
-
C語言
+關(guān)注
關(guān)注
180文章
7608瀏覽量
137084 -
單片機(jī)編程
+關(guān)注
關(guān)注
10文章
49瀏覽量
24755
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論