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