我想這是我出過的,最通俗易懂,同時(shí)還詳細(xì)的教程!
簡(jiǎn)介:基于STC8G2K64S4單片機(jī)的51單片機(jī)開發(fā)板。
用它,既可以學(xué)習(xí)全部的單片機(jī)基礎(chǔ)知識(shí),又可以拓展出很多的產(chǎn)品級(jí)項(xiàng)目。
學(xué)單片機(jī)就必須要有一個(gè)單片機(jī)開發(fā)板,道理很簡(jiǎn)單:如果你要學(xué)車,你只看如何開車的視頻教程,而不去親自上車,那估計(jì)一萬年也學(xué)不會(huì)。
那什么樣的開發(fā)板,適合新手呢?
1.一定要可以學(xué)習(xí)和實(shí)操全部的單片機(jī)基礎(chǔ)知識(shí)。
這些基礎(chǔ)知識(shí)包含:
IO口、PWM、定時(shí)器、ADC模數(shù)轉(zhuǎn)換、串口通信、I2C通信、SPI通信、并口通信、看門狗、低功耗電源管理等。
宏晶STC51單片機(jī)無疑是最適合的,它非常簡(jiǎn)單,網(wǎng)上資料超級(jí)豐富,特別適合初學(xué)者。
2.除了學(xué)到上面的基礎(chǔ)知識(shí)外,還可以在開發(fā)板上做一些項(xiàng)目出來。
好多人拿普通開發(fā)板學(xué)習(xí)以后,感覺都學(xué)會(huì)了,卻又還感覺什么都做不了。
一個(gè)人感覺也就算了,偏偏是幾乎所有人都是這樣的感覺,你說奇怪不奇怪?
究其原因,就是缺少項(xiàng)目的操練。
在實(shí)際應(yīng)用中,你做的系統(tǒng),首先外觀上要整潔。
也不能有太多線繞來繞去,否則不但穩(wěn)定性差,也不是個(gè)好產(chǎn)品。
考慮到以上兩點(diǎn)。
我們?cè)囍O(shè)計(jì)出一款,可以完美解決以上兩個(gè)問題的單片機(jī)開發(fā)板。
教學(xué)正式開始?。?/strong>
基礎(chǔ)知識(shí)拓展
就上面提到的兩點(diǎn),我再展開說說[無辜笑]
Ⅰ、基礎(chǔ)知識(shí)板塊
1、IO口
IO口是輸出輸出口。
單片機(jī)歸根結(jié)底,耍的就是IO,作為初學(xué)者,IO口是開啟新世界的鑰匙,必學(xué)!
輸入口學(xué)習(xí)
作為“輸入口”,“按鍵”更適合初學(xué)者學(xué)習(xí)。
因?yàn)榘存I在教我們理解引腳的輸入時(shí),功不可沒!
不論“觸摸”多么占據(jù)社會(huì)的風(fēng)潮,按鍵是必須放到開發(fā)板上的。
放多少個(gè)呢?多了浪費(fèi),少了不夠,我們就放3個(gè)按鍵到開發(fā)板吧,可以實(shí)現(xiàn)大部分的電子項(xiàng)目了。
輸出口學(xué)習(xí)
作為“輸出口”學(xué)習(xí),沒有比“LED”更適合初學(xué)者的了。
多少初學(xué)者,因?yàn)辄c(diǎn)亮一個(gè)LED,而興奮不已。
為了增加趣味性,這里我們使用紅黃綠3種顏色,3個(gè)LED。
既可以實(shí)現(xiàn)3LED的流水燈,又可以模仿紅綠燈系統(tǒng)的運(yùn)行過程,熟悉C語言的執(zhí)行流程。
2、PWM脈寬調(diào)制
PWM輸出,也是初學(xué)者必須掌握的一種知識(shí),可用于呼吸燈、電機(jī)控制、舵機(jī)控制等場(chǎng)合。
利用上面的LED,可以做呼吸燈實(shí)驗(yàn),這個(gè)是利用調(diào)PWM的占空比實(shí)現(xiàn)的。
再來一個(gè)調(diào)頻!加一個(gè)無源蜂鳴器。
記住,是無源的,咱不要有源的。
無源蜂鳴器配合PWM,可以輸出do ri mi fa so la xi音調(diào),制作音樂不是夢(mèng)!
總結(jié)
用IO口模擬PWM,可以增加初學(xué)者對(duì)PWM原理的理解。
模擬PWM后,單片機(jī)恐怕再不能干其它事情,所以,如果單片機(jī)有硬件PWM,那就完美了…
先學(xué)模擬PWM理解原理,再使用硬件PWM做更多項(xiàng)目。
3、定時(shí)器、UART串口、看門狗
這幾項(xiàng)內(nèi)容,是普通單片機(jī)的標(biāo)配,當(dāng)然STC單片機(jī)本身有。
4、ADC模數(shù)轉(zhuǎn)換
萬物互聯(lián),傳感器大爆發(fā)。
ADC作為一種可以把模擬電壓轉(zhuǎn)換成數(shù)字電壓的外設(shè),越來越需要。
所以我們還需要找一款自帶ADC外設(shè)的單片機(jī)。
用ADC做什么實(shí)驗(yàn)學(xué)習(xí)呢?
可以給我們的產(chǎn)品中加一個(gè)鋰電池,用ADC來測(cè)量電池電壓。
開發(fā)板加鋰電池,這個(gè)主意不錯(cuò),可以讓我們的開發(fā)板制作更多移動(dòng)便攜項(xiàng)目。
5、I2C口
以前,我們學(xué)習(xí)I2C通信,總是喜歡用24C02來教學(xué)。
但是,STC單片機(jī)本身已經(jīng)自帶EERPOM,再在電路中接一個(gè)24C02,總感覺哪里不妥。
不如,我們找一款I(lǐng)2C通信的其它芯片。
選3軸加速度傳感器吧,有了它,不僅可以學(xué)習(xí)I2C通信,還可以給我們帶來更多的無限創(chuàng)意。
6、SPI口
考慮到產(chǎn)品的趣味性,這個(gè)開發(fā)板,我們必須帶一個(gè)屏幕。
屏幕上要顯示漢字,那就必須要一顆存儲(chǔ)容量足夠大的外部FLASH芯片,用來存放漢字的字模。
這里我們選擇SPI口通信的25Q64,8M容量,可以放好幾種不同字體、不同像素大小的字庫(kù)。
7、并口通信
以上提到的UART串口、I2C口、SPI口,都是串行通信的典范。
幾乎所有的外部傳感器和物聯(lián)網(wǎng)通信模塊,都使用這3種其中的一種。
為了讓初學(xué)者更好地理解串行通信和并行通信的區(qū)別,我們必須要加一個(gè)并行通信的器件。
我們選擇8位并行通信的液晶屏,12864就是8位并行通信。
不過,12864和彩色液晶屏比起來,效果差了點(diǎn)。
8位并口驅(qū)動(dòng)的彩色TFT,接線方法和12864一模一樣。
學(xué)習(xí)同樣的知識(shí),不如來個(gè)效果好的吧。
常見的開發(fā)板上配的TFT,是2.4英寸、2.8英寸、3.2英寸,它們的分辨率都是240*320,都是普通的正視屏,稍微歪著看,就“走色了”。
這種效果的屏幕,做產(chǎn)品已經(jīng)不被人接受。
就好像你用了固定硬盤后再用機(jī)械硬盤的感覺是一樣的。
320*240的分辨率,對(duì)51單片機(jī)來說,其實(shí)已經(jīng)很吃力了,我們就不追求更高分辨率的屏幕了。
但是,我們知道,在同樣的分辨率下,越小的屏幕,越清晰,效果越好。
所以,我們從這一點(diǎn)入手,選擇2.0英寸的屏幕。
這次,必須要選擇IPS多角度屏。
這種屏,才是我們現(xiàn)在人們可以接受的。
我們既然要在開發(fā)板上做項(xiàng)目,那就必須做成產(chǎn)品級(jí)的。
8、低功耗電源管理
這個(gè)就不必多說了,低功耗就是電子產(chǎn)品的趨勢(shì)。
所以,我們需要單片機(jī)帶低功耗管理單元,以方便初學(xué)者學(xué)習(xí)。
以上呢,就是我們對(duì)開發(fā)板的要求。
總結(jié)一下我們這次準(zhǔn)備做的項(xiàng)目思路。
我們選擇STC最新推出的STC8G2K64S4,作為開發(fā)板的主控芯片。
這款單片機(jī),帶10位ADC、硬件PWM、硬件I2C、硬件SPI、4個(gè)UART串口、5個(gè)16位定時(shí)器、低功耗管理單元。
簡(jiǎn)直是為初學(xué)者量身定制的單片機(jī)。
Ⅱ、產(chǎn)品板塊
普通開發(fā)板,考慮到開發(fā)需求,會(huì)把所有的引腳都用排針引出,又不能被屏幕擋住,所以做的個(gè)頭比較大。
但是,用排針引出的那些引腳,絕大多數(shù)都已經(jīng)被開發(fā)板上的芯片使用了,很少有人在使用這些引腳連接外部模塊。
其實(shí),我們只需要引出開發(fā)板上芯片沒有使用過的單片機(jī)引腳就可以。
而且呢,我們可以把排針或者排母放到電路板的一面,把液晶屏放到電路板的另一面。
這樣就可以縮小電路板的體積,更加地貼近實(shí)際的產(chǎn)品。
另外,開發(fā)板上引出的引腳,要有普通IO、PWM口、UART串口、I2C口、SPI口、ADC模數(shù)轉(zhuǎn)換口。
以方便連接更多的外部傳感器和通信模塊。
Ⅲ、最后的補(bǔ)充
鋰電池要拔下來,再配個(gè)充電器?
不不不,那是古老的電子產(chǎn)品。
我們給開發(fā)板上加一個(gè)鋰電池充電芯片就可以了,比如TP4056。
再加一個(gè)USB轉(zhuǎn)TTL芯片CH340,實(shí)現(xiàn)程序下載和串口通信。
STC程序下載麻煩,需要強(qiáng)制開發(fā)板斷電和上電?
不要緊,我們給他加一個(gè)按鍵電源開關(guān),只需輕輕一點(diǎn),就可以實(shí)現(xiàn)下載,還能當(dāng)做復(fù)位按鍵,一舉兩得。
實(shí)物展示
綜合以上考慮因素,開發(fā)板的原理圖就出爐了。
做好PCB。
打印個(gè)3D外殼上去。
實(shí)測(cè),3D打印的外殼,不耐摔!!
只要掉在地上,摔爛的幾率非常大!
不要問我是怎么知道的…
既然要做產(chǎn)品級(jí),我們還是找個(gè)模具廠做殼吧,雖然有點(diǎn)貴,但模具做出的殼子,手感和質(zhì)量都是非常OK的,也是非常瘦的…
背面的那些引腳,不如再把引腳名稱加上去,方便我們連接外部模塊。
如下所示:
因?yàn)楸趁嫱鈿た臻g有限,只能寫它的IO引腳名稱。
那些復(fù)用的引腳名稱,就看下面這張圖。
我要的UART、I2C、SPI等,應(yīng)有盡有。
開發(fā)板做好了,當(dāng)然還要做好對(duì)應(yīng)的例程代碼,用于學(xué)習(xí)。
首先,針對(duì)全部基礎(chǔ)知識(shí),做好基礎(chǔ)例程。
基礎(chǔ)例程學(xué)完了,那總得做點(diǎn)項(xiàng)目吧?來,應(yīng)用例程也做好。
想知道應(yīng)用例程和實(shí)際產(chǎn)品相差多大?來,上圖。
附件下載
可以參考一下,或者找我發(fā)“51單片機(jī)”。
如果你喜歡這個(gè)文章或者覺得非常有用,歡迎點(diǎn)贊、轉(zhuǎn)發(fā)、關(guān)注一下~
更多推薦:
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 sumchina520@foxmail.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。