色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 菜鳥零基礎(chǔ)學(xué)電子之像把妹一樣去學(xué)51

          菜鳥零基礎(chǔ)學(xué)電子之像把妹一樣去學(xué)51

          作者:Snake0301 時(shí)間:2013-11-20 來源:電子產(chǎn)品世界 收藏

            點(diǎn)燈

          本文引用地址:http://cafeforensic.com/article/192430.htm

            就好像偉大的程序猿們,學(xué)習(xí)一門新的語言時(shí),先會嘗試打印一句“Hello World!”一樣,高手們拿到一塊新的,往往都會先拿來點(diǎn)亮一個(gè)LED。不要小看這個(gè)點(diǎn)亮LED,雖然很簡單,但是至少要求有基本的模電知識和了解這塊的IO端口的基本操作。LED啊LED,PN結(jié)啊PN結(jié),導(dǎo)通啊導(dǎo)通,發(fā)光啊發(fā)光。在模電里面我們知道,LED其實(shí)就是個(gè)摻入了電致發(fā)光材料的PN結(jié),只要PN結(jié)導(dǎo)通,并有電流流過,就能夠發(fā)光。瞧瞧上面的兩種接法,假設(shè)IO口是P1.1,D1在IO口輸出什么電平的情況下發(fā)光呢?看看接法1,D1陽極連接Vcc,陰極連接IO口,D1導(dǎo)通的前提是PN結(jié)正偏,陽極電壓要大于陰極電壓,且差值要大于某個(gè)值,這個(gè)值由D1的材料特性決定。到這里,P1.1要輸出啥,D1才會亮呢?吼吼,必須是一個(gè)低電平喲。那好,代碼里面,我們寫上“P1.1=0;”,編譯下載,“咣機(jī)”,瞧瞧是不是燈亮了?要是我們再寫一個(gè)300ms延時(shí)函數(shù)delay(),“P1.1=1;delay();P1.1=0;delay();”,重新編譯下載,瞧瞧,燈是不是閃起來了?吼吼,控制就是這么簡單。還有接法2,大家可以自己分析一下了。在這個(gè)基礎(chǔ)上,還有更多的玩法,跑馬燈、呼吸燈等等。

            中斷

            這部分涉及IO口操作很少,基本上都是內(nèi)部中斷的操作。中斷,其實(shí)就是優(yōu)先級更高的一個(gè)任務(wù);比如周末有一打算睡到12點(diǎn)的任務(wù),當(dāng)您正在呼呼大睡的時(shí)候,突然老板9點(diǎn)鐘打來一個(gè)電話中斷了睡覺任務(wù),并給出12點(diǎn)前完成深入開展當(dāng)?shù)娜罕娐肪€的高質(zhì)量個(gè)人對照檢查材料的任務(wù),睡覺任務(wù)被打斷了,只能起床苦逼地進(jìn)行寫材料的任務(wù),10點(diǎn)鐘完成材料的撰寫并發(fā)送任務(wù)后,繼續(xù)睡覺到12點(diǎn)。上面這個(gè)流程,基本上就是一個(gè)中斷的基本流程。而我們操作內(nèi)部中斷,主要是為了確定是否應(yīng)答中斷和中斷如何開始。S51的中斷寄存器常用的有6個(gè),中斷允許控制寄存器IE是決定系統(tǒng)是否響應(yīng)中斷,如果需要中斷,這個(gè)寄存器必須要置位;定時(shí)器控制寄存器TCON決定系統(tǒng)是否采用定時(shí)器方式來激活中斷;定時(shí)器工作方式控制寄存器TMOD用于選擇定時(shí)器的工作方式,一般需要先使用定時(shí)器初值賦予寄存器(TH0/TH1,TL0/TL1)來裝載一個(gè)初始值,然后根據(jù)TMOD來確定是加計(jì)數(shù)至溢出來產(chǎn)生中斷,還是減計(jì)數(shù)至0來產(chǎn)生中斷;串口控制寄存器SCON則是確定是否由串口數(shù)據(jù)傳輸來激活中斷;而中斷優(yōu)先控制寄存器IP則是用于控制多個(gè)中斷產(chǎn)生時(shí),系統(tǒng)響應(yīng)的順序。當(dāng)然,最最重要的還是中斷服務(wù)程序,也就是一旦中斷來臨,系統(tǒng)需要進(jìn)行的動作,一般情況下,建議中斷服務(wù)程序還是盡可能的簡單,不要進(jìn)行復(fù)雜的數(shù)據(jù)運(yùn)算或長時(shí)間的延時(shí),最好只是給出一個(gè)事件標(biāo)志,由main函數(shù)根據(jù)這個(gè)事件標(biāo)志去完成相對應(yīng)的動作。

            中斷是里面的壓軸貨,從應(yīng)用層面來講,可以實(shí)現(xiàn)簡單多任務(wù),如果中斷high不起來,誰也不能說自己精通S51。

            外設(shè)驅(qū)動

            一個(gè)系統(tǒng),只有51單片機(jī),那叫光桿司令,絕大部分情況下,51單片機(jī)外圍會連接各種各樣的芯片,這些芯片會以各種總線形式與單片機(jī)相連接,常見的有1-wire、I2C、SPI、Can等等。物理連接后,單片機(jī)與芯片之間必須建立起某種協(xié)議才能正常進(jìn)行通信。啥叫協(xié)議?聽上去很牛逼,其實(shí)說白了就一句話,語言、習(xí)慣要相通。先說語言,就好像說話,單片機(jī)說漢語,外設(shè)芯片說德語,咋溝通交流?再說習(xí)慣,就好像喝酒猜拳,外設(shè)芯片猜拳前要開場詞“哥倆好”,單片機(jī)單刀直入直接喊拳碼,這樣哥倆明顯不能同步,不能交流了撒。一般情況下,都需要利用數(shù)電知識仔細(xì)研究外設(shè)芯片的操作時(shí)序,操作時(shí)序圖直接描述了外設(shè)芯片的語言習(xí)慣,對單片機(jī)編程時(shí),必須符合外設(shè)芯片的語言習(xí)慣,兄弟倆才能正常溝通。以I2C總線為例,I2C總線空閑時(shí),單片機(jī)以啟動信號START來掌管總線,以停止信號STOP來釋放總線;每次通訊以START開始,以STOP結(jié)束;啟動信號START并后緊接著發(fā)送一個(gè)地址字節(jié),其中7位為被控器件的地址碼,一位為讀/寫控制位R/W,R/W位為0表示由單片機(jī)向被控器件寫數(shù)據(jù),R/W為1表示由單片機(jī)向被控器件讀數(shù)據(jù);當(dāng)被控器件檢測到收到的地址與自己的地址相同時(shí),在第9個(gè)時(shí)鐘期間反饋應(yīng)答信號ACK;單片機(jī)檢測到ACK信號后,開始數(shù)據(jù)的傳輸,每個(gè)字節(jié)數(shù)據(jù)傳輸結(jié)束,都會發(fā)送一次ACK信號,如果全部結(jié)束則發(fā)送NACK信號,每個(gè)數(shù)據(jù)字節(jié)在傳送時(shí)都是高位(MSB)在前。這個(gè)例子其實(shí)可以很明顯地看出,要想完成外設(shè)芯片的驅(qū)動,必須通過迪特希特的時(shí)序圖了解它的習(xí)慣,讓單片機(jī)去適應(yīng)它,最后達(dá)到天人合一,魚水交融的境界,就像把妹一樣。邪惡了,吼吼。

            小結(jié)

            上面是小弟在學(xué)習(xí)過程中的一點(diǎn)點(diǎn)小認(rèn)識,由于能力關(guān)系肯定會有不對的地方,歡迎各路大神,各種品牌、各種材質(zhì)的板磚。

            其實(shí)單片機(jī)入門沒有那么困難,特別是用簡單方便的51單片機(jī)來入門,簡直是無敵了,但前提是要熟悉編譯環(huán)境和一定的基礎(chǔ)。學(xué)51單片機(jī)和屌絲們把妹是一樣一樣的,你用心去對待它,用熱情去融化它,用真誠去感動它,女神也會被推倒。

          c語言相關(guān)文章:c語言教程



          上一頁 1 2 下一頁

          關(guān)鍵詞: TI 電子電路 MCU 寄存器 C語言

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉