單片機(jī)學(xué)習(xí)心得匯總,為什么要掌握這些知識(shí)?
實(shí)際上,電子工程師就是將一堆器件搭在一起,注入思想(程序),完成原來(lái)的這些器件分離時(shí)無(wú)法完成的功能,做成一個(gè)成品。所需要的技能越高、功能越復(fù)雜、成本越低、市場(chǎng)上對(duì)相應(yīng)的東東的需求越大,就越成功。這就是電子工程師的自身的價(jià)值。從成本到產(chǎn)品售出,之間的差價(jià)就是企業(yè)的追求。作為企業(yè)的老板,是在市場(chǎng)上去尋找這樣的應(yīng)用;對(duì)電子工程師而言,是將老板提出的需求或者應(yīng)用按照一定的構(gòu)思原則(成本最低、可靠性最高、電路板最小、功能最強(qiáng)大等)在最短的時(shí)間內(nèi)完成。最短的時(shí)間,跟電子工程師的熟練程度、工作效率和工作時(shí)間直接有關(guān)。這就是電子工程師的價(jià)值。
將電子產(chǎn)品抽象成一個(gè)硬件的模型,大約有以下組成:
1) 輸入
2) 處理核心
3) 輸出
輸入基本上有以下的可能:
1) 鍵盤
2) 串行接口(RS232/485/can bus/以太網(wǎng)/USB)
3) 開(kāi)關(guān)量(TTL,電流環(huán)路,干接點(diǎn))
4) 模擬量(4~20ma、 0~10ma、0~5V(平衡和非平衡信號(hào)))
輸出基本上有以下組成:
1) 串行接口(RS232/485/can bus/以太網(wǎng)/USB)
2) 開(kāi)關(guān)量(TTL、電流環(huán)路、干接點(diǎn)、功率驅(qū)動(dòng))
3) 模擬量(4~20ma, 0~10ma,0~5V(平衡和非平衡信號(hào)))
4) LED顯示:發(fā)光管、八字
5) 液晶顯示器
6) 蜂鳴器
處理核心主要有:
1) 8位單片機(jī),主要就是51系列
2) 32位arm單片機(jī),主要有atmel和三星系列
51系列單片機(jī)現(xiàn)在看來(lái),只能做一些簡(jiǎn)單的應(yīng)用,說(shuō)白了,這個(gè)芯片也就是做單一的一件事情,做多了,不如使用arm來(lái)做;還可以在arm上加一個(gè)操作系統(tǒng),程序既可靠又容易編寫。
最近三星的arm受到追捧,價(jià)格便宜,以太網(wǎng)和USB的接口也有,周立功的開(kāi)發(fā)系統(tǒng)也便宜,作為學(xué)習(xí)ARM的產(chǎn)品來(lái)說(shuō),應(yīng)該是最好的;作為工業(yè)級(jí)的控制,是不是合適,在網(wǎng)友中有不同的看法和爭(zhēng)議。本公司使用atmel ARM91系列開(kāi)發(fā)的1個(gè)室外使用的產(chǎn)品,在北京室外使用,沒(méi)有任何的通風(fēng)和加熱的措施,從去年的5月份到現(xiàn)在,運(yùn)行情況良好。已經(jīng)有個(gè)成功應(yīng)用的案例。
但對(duì)于初學(xué)者來(lái)說(shuō),應(yīng)該從51著手,一方面,51還是入門級(jí)的芯片,作為初學(xué)者練手還是比較好的,可以將以上的概念走一遍;很多特殊的單片機(jī)也是在51的核的基礎(chǔ)上增加了一些I/O和A/D、D/A;也為今后學(xué)習(xí)更高一級(jí)的單片機(jī)和ARM打下基礎(chǔ)。再說(shuō)了,哪個(gè)老板會(huì)將ARM級(jí)別的開(kāi)發(fā)放在連51也沒(méi)有學(xué)過(guò)的新手手中?
在51上面去做復(fù)雜的并行擴(kuò)展是沒(méi)有必要的,比如,擴(kuò)展I/O口和A/D、D/A等等,可以直接買帶有A/D、D/A的單片機(jī);或者直接使用ARM,它的I/O口線口多??梢允褂肐2C接口的芯片,擴(kuò)展I/O口和A/D、D/A,以及SPI接口擴(kuò)展LED顯示,例如:MAX7219等芯片。
市面上一些比較古老的書籍中還有一些并行擴(kuò)展的例子,如:RAM、EPROM、A/D、D/A等,我覺(jué)得已經(jīng)沒(méi)有必要去看了,知道歷史上有這些一回事就行了;
這些知識(shí),是所有產(chǎn)品都具備的要素。所以要學(xué),再具體應(yīng)用。
第一課:51單片機(jī)最小系統(tǒng)
實(shí)際上,51單片機(jī)核心外圍電路是很簡(jiǎn)單的,一個(gè)單片機(jī)+一個(gè)看門狗+一個(gè)晶振+2個(gè)磁片電容;
1. 單片機(jī):atmel的89C51系列、winbond的78E52系列,還有philips的系列,都差不多;現(xiàn)在有一些有ISP(在線下載的),就更好用了;
2. 看門狗:種類很多,我常用的有max691/ca1161和DS1832等,具體看個(gè)人習(xí)慣、芯片工作電壓、封裝等。Max系列和DS系列,還有IMP公司的,種類很多,一般只需要有最基本的功能就可以了;原來(lái)我使用max691,但是max691比較貴,因?yàn)樗须姵厍袚Q功能,后來(lái)新設(shè)計(jì)電路板,就都采用ca1161了。
很早以前的電路設(shè)計(jì)中,現(xiàn)在可能還有人使用,使用一個(gè)電阻和一個(gè)電容達(dá)成的上電復(fù)位電路;但是,這樣的復(fù)位電路一個(gè)是不可靠,為什么不可靠,網(wǎng)絡(luò)上能找得到專門論述復(fù)位電路的文章;更重要的是,51系列的單片機(jī)比較容易受到干擾;沒(méi)有看門狗電路是不行的,當(dāng)程序跑飛時(shí),回不來(lái)了,死在那里。
常規(guī)的做法是買一個(gè)專門的看門狗電路,完成復(fù)位電路和看門狗電路的功能。
單片機(jī)和單片機(jī)抗干擾能力是不一樣的。如果你的產(chǎn)品是工作在干擾比較大的環(huán)境,可以試試選用不同品牌的單片機(jī);原來(lái)我在一個(gè)光電所,做YAG激光治療機(jī)的控制部分,脈沖激光機(jī)的電源放電的時(shí)候,能量是很大的,在采取了所有能夠想到的光電隔離等措施之后,還是不行;后來(lái),選用了intel的8031,就可以了。小聲的說(shuō):當(dāng)時(shí)的philips的單片機(jī)抗干擾性能是最差的,可能跟Philips主要是用在民用領(lǐng)域有關(guān)。
單片機(jī)的輸入輸出口線是最容易引進(jìn)干擾的地方;在嚴(yán)重干擾的情況下,需要將所有的口線光電隔離。
3. 晶振:一般選用11.0592M,因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率;也可以使用36.864M,這個(gè)頻率是1.8432M的20倍,看別人的電路板上用過(guò),我也沒(méi)有用到。這2種晶振很容易買到,價(jià)錢跟12M的一樣。書上說(shuō),12M的晶振也能得到9600的波特率,但是,實(shí)際用的時(shí)候,會(huì)每隔一段時(shí)間就出錯(cuò)一次,好像累積誤差一樣,比較奇怪。
即使你的單片機(jī)系統(tǒng)不使用RS232接口,也可以做一個(gè)Rs232,留著做測(cè)試,或者預(yù)留等等,沒(méi)有壞處。除非你的單片機(jī)系統(tǒng)的口線不夠用了。
4. 磁片電容:22pf~30pf,可以在有些書上找到什么晶振頻率對(duì)應(yīng)什么容量的磁片電容,但是,我都是隨便拿來(lái)使用,反正在11.0592M下,都沒(méi)有問(wèn)題;如果你用到了更高的頻率,最好還是找找資料看看。
如果你的單片機(jī)系統(tǒng)沒(méi)有工作,檢查步驟如下:
1. 查看門狗的復(fù)位輸出,可能的話在電路板上加一個(gè)LED,下拉,這樣看起來(lái)就更方便;要是看門狗復(fù)位信號(hào)有,往下;
2. 查單片機(jī),看看管腳有沒(méi)有問(wèn)題;一般編程器能夠?qū)⒊绦驅(qū)懭?,說(shuō)明單片機(jī)是好的;最好手頭上準(zhǔn)備一個(gè)驗(yàn)證過(guò)的單片機(jī),內(nèi)部有一個(gè)簡(jiǎn)單的程序,比如,在某個(gè)口線上輸出1個(gè)1秒占空比的方波等,可以使用萬(wàn)用表測(cè)量。
加一句:設(shè)計(jì)產(chǎn)品時(shí),要在關(guān)鍵的地方:電源、串口、看門狗的輸出和輸入、I/O口等加不同顏色的LED指示,便于調(diào)試;作為批量大的產(chǎn)品,可以去掉部分LED,一方面是降低成本、一方面是流程保密;
3. 再查磁片電容,有些瓷片電容質(zhì)量不行,干脆換了;順便說(shuō)一下,換器件最好使用吸錫帶,將焊盤內(nèi)的錫吸干凈,再將器件拔出,這樣不會(huì)損傷焊盤內(nèi)的過(guò)孔;再將新的瓷片電容焊接上去的時(shí)候,用萬(wàn)用表量量是好的再焊;
4. 最后只有換晶振了;切記要買好的晶振,有些品牌質(zhì)量比較好。
5. 以上按照以上步驟檢測(cè)時(shí),將無(wú)關(guān)的外圍芯片去掉;因?yàn)橛幸恍┦峭鈬骷墓收蠈?dǎo)致單片機(jī)最小系統(tǒng)沒(méi)有工作。
評(píng)論