(1小時(shí)學(xué)會(huì)C語(yǔ)言51單片機(jī))C語(yǔ)言入門(mén)教學(xué)教程_第1頁(yè)
(1小時(shí)學(xué)會(huì)C語(yǔ)言51單片機(jī))C語(yǔ)言入門(mén)教學(xué)教程_第2頁(yè)
(1小時(shí)學(xué)會(huì)C語(yǔ)言51單片機(jī))C語(yǔ)言入門(mén)教學(xué)教程_第3頁(yè)
(1小時(shí)學(xué)會(huì)C語(yǔ)言51單片機(jī))C語(yǔ)言入門(mén)教學(xué)教程_第4頁(yè)
(1小時(shí)學(xué)會(huì)C語(yǔ)言51單片機(jī))C語(yǔ)言入門(mén)教學(xué)教程_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

相信很多愛(ài)好電子的朋友,對(duì)單片機(jī)這個(gè)詞應(yīng)該都不會(huì)陌生了吧。不過(guò)有些朋友可能只聽(tīng)說(shuō)他叫單片機(jī),他的全稱(chēng)是什么也許并不太清楚,更不用說(shuō)他的英文全稱(chēng)和簡(jiǎn)稱(chēng)了。單片機(jī)是一塊在集成電路芯片上集成了一臺(tái)有一定規(guī)模的微型計(jì)算機(jī)。簡(jiǎn)稱(chēng)為:?jiǎn)纹⑿陀?jì)算機(jī)或單片機(jī)(SingleChipComputer)。單片機(jī)的應(yīng)用到處可見(jiàn),應(yīng)用領(lǐng)域廣泛,主要應(yīng)用在智能儀表、實(shí)時(shí)控制、通信、家電等方面。不過(guò)這一切都沒(méi)什么關(guān)系,因?yàn)槲?當(dāng)然也包括任何人)都是從不知道轉(zhuǎn)變成知道的,再轉(zhuǎn)變成精通的。現(xiàn)在我只想把我學(xué)習(xí)單片機(jī)的經(jīng)歷,詳細(xì)地講敘給大家聽(tīng)聽(tīng),可能有些大蝦會(huì)笑話我,想:那么簡(jiǎn)單的東西還在這里賣(mài)弄。但是你錯(cuò)了,我只是把我個(gè)人學(xué)習(xí)的經(jīng)歷講述一遍而已,僅僅對(duì)那些想量少走些彎路而已!而明天玩上半天,后天就不知道那個(gè)本書(shū)在講什之前,正如上面所說(shuō)的:我知道有種芯片叫單片機(jī),可千萬(wàn)別笑,有些大四畢業(yè)的人也同樣不知道單片全放棄了復(fù)習(xí),每當(dāng)室友拿著書(shū)在埋頭復(fù)習(xí)的時(shí)候,時(shí)我就想過(guò),為了單片機(jī)值不值得我這樣去付出,該大部分都能過(guò)了。于是,我橫下一條心,堅(jiān)持看我的單片機(jī)書(shū)和資料。當(dāng)你明白了單片機(jī)是這么一回事的時(shí)候,顯而易見(jiàn)的問(wèn)題出來(lái)了:我要選擇那種語(yǔ)言為單片機(jī)編寫(xiě)程序呢?這個(gè)問(wèn)題,困擾了我好久。具體選擇C51還是A51呢?匯編在我們大二之前并沒(méi)有開(kāi)過(guò)課,雖然看著人家的講解,很容易明白單片機(jī)的每一時(shí)刻的具體工作情況,但是一合上書(shū)或者資料,自己卻什么也不知道了,根本不用說(shuō)自己寫(xiě)程序了。于是,我最終還是決定學(xué)編程的思想可以說(shuō)是相通的。而且C51還有更大的優(yōu)點(diǎn)就是編寫(xiě)大程序時(shí)的優(yōu)越性更不言點(diǎn),還是在后來(lái)的實(shí)踐過(guò)程中,漸漸體會(huì)到的!朋友如果你選擇了C51,那么請(qǐng)繼續(xù)往下看,如果你選擇了A51,那么你可以不要看了!因?yàn)橄旅嬷v的全是C方面的,完全在浪費(fèi)你的時(shí)間!呵呵^_^第二,既然你想學(xué)好單片機(jī),你必須得舍得花錢(qián),如果不買(mǎi)些芯片回來(lái)自己動(dòng)手焊焊拆拆的(但是在后期會(huì)介紹給大家一個(gè)很好用的硬件仿真軟件,并不需要你用實(shí)驗(yàn)板和仿真器了,直接在你的PC上完成,但是軟件畢竟是軟件,從某個(gè)特定的意義上來(lái)說(shuō)是并不能代替硬件的),即使一定會(huì)對(duì)以下幾個(gè)詞見(jiàn)的比較多,但是具體的概念還是比較模糊,現(xiàn)作如下說(shuō)明:(1)編程器編程器是用來(lái)燒單片機(jī)芯片的,是把HEX或者BIN文件燒到單片機(jī)ROM里(2)實(shí)驗(yàn)板實(shí)驗(yàn)板是專(zhuān)為初學(xué)者根據(jù)某些要求而特做的板,一般上面就有一個(gè)單片機(jī)的最小系統(tǒng),使用者只需寫(xiě)好程序,燒好芯片,放煩。但是對(duì)于電子開(kāi)發(fā)人員來(lái)說(shuō),作用并不是很大(3)仿真器仿真器是直接把HEX或者BIN文件暫時(shí)放在一個(gè)芯片里,再通過(guò)這個(gè)芯片的引腳連接到實(shí)驗(yàn)板或者系統(tǒng)上工作。這樣以來(lái),可以省去了來(lái)回插拔芯片帶來(lái)的不必要麻煩。焊板,因?yàn)椴豢赡転榱它c(diǎn)亮幾個(gè)流水燈,而去焊?jìng)€(gè)單片機(jī)的最小系統(tǒng))把我給氣的,這個(gè)編程器,現(xiàn)在還躺在我的抽屜里稚的問(wèn)題,他也能不嫌麻煩地盡量幫我解答!這點(diǎn)讓第三,想學(xué)單片機(jī)的必需品--PC。因?yàn)閷?xiě)程序,編譯或者是仿真都是通過(guò)PC完成的。通,那么估計(jì)你學(xué)習(xí)單片機(jī)的熱情就會(huì)隨著時(shí)間的率一定很高!真正的高手是從論壇中泡出來(lái)的!有了上述3個(gè)條件后,你就可以開(kāi)始學(xué)你的單片機(jī)了。但是,真的做起來(lái)并沒(méi)有我所說(shuō)的那么簡(jiǎn)單。你一定會(huì)遇到很多很多的問(wèn)題。比如似的程序,你自己卻寫(xiě)不出來(lái)。遇到類(lèi)似的情況,記住:千萬(wàn)不要急噪,就行!(二)面講過(guò)幾個(gè)條件的哦)。那個(gè)單片機(jī)究竟有什么功能和作用呢?先不要著急!接下來(lái)讓我們點(diǎn)亮一個(gè)LED(搞電子的應(yīng)該知道LED是什么我們?cè)趩纹瑱C(jī)最小系統(tǒng)上接個(gè)LED,看我們能否點(diǎn)亮它!對(duì)了,上面也有好幾次提到過(guò)單片機(jī)最小系統(tǒng)了,所謂單片機(jī)最小系統(tǒng)就是在單片機(jī)#include<>裝軟件,這個(gè)應(yīng)該不用再講了吧!2.安裝完后,啟動(dòng)KEIL軟件左擊Project-->NewProject-->輸入文件名-->選擇我們所以使用的芯片(這里我們一般用到Atmel的upFiles前打上鉤,點(diǎn)確omXXX表示編譯和生成HEX文件成功!接下來(lái)的就是把HEX文件燒到單片機(jī)中,或是仿真器上,看是否達(dá)到預(yù)先的目的!加上驅(qū)動(dòng)電路,就可以做出漂亮的流動(dòng)彩燈路的知識(shí)去設(shè)計(jì)一個(gè)流動(dòng)彩燈,可能要花點(diǎn)工夫也并不無(wú)道理的,學(xué)單片機(jī),程序思想很重要!(四)呵呵,朋友!相信你的流水燈也做的不錯(cuò)了吧,現(xiàn)在能玩出幾種花樣了?你可能會(huì)說(shuō),只要你想得到,想怎么流就怎么流!呵呵,是的。學(xué)過(guò)數(shù)字電路的朋友,一定動(dòng)手做過(guò)8路或者6路的搶答器。用純粹的數(shù)字電路知識(shí)來(lái)做,自己設(shè)計(jì)電路,感到比較困難!搶答器上用的顯我們來(lái)講講,如何用單片機(jī)讓數(shù)碼管顯示0-9。搶答器的實(shí)現(xiàn),我們放到后面再來(lái)探討,因?yàn)閾尨鹌鬟€涉及了鍵盤(pán)的d一般情況下,為了計(jì)算或取碼的方便,我們把a(bǔ)-dp依次接到單片機(jī)某個(gè)口上的上。x表要給某個(gè)口,賦一個(gè)值,則相應(yīng)的LED段就被點(diǎn)亮,但是在硬件連接上要注意了:?jiǎn)纹瑱C(jī)可能不能直接驅(qū)動(dòng)LED,所以我們可以通過(guò)控制三級(jí)管為上拉電阻,簡(jiǎn)單的說(shuō),就是把電平拉其I/O的電平分別為高、高、高、高、高、高、低、低,即對(duì)應(yīng)的a--dp為亮、亮、亮、亮、亮其他段均亮,即為我們所看到的數(shù)字0字樣。其他的數(shù)字或字符,也同理可以得到。但是有些朋友就會(huì)問(wèn),那我們每取一個(gè)字模,豈不是很麻煩?還有自己考慮高低電平什么的?^-^呵呵,其實(shí)網(wǎng)上有很多LED取模軟件,如果有一定計(jì)算機(jī)編程語(yǔ)言的朋友,也可以試著自己寫(xiě)個(gè)取模的程序,讓計(jì)算機(jī)為我們計(jì)算,諸如上述0X3F的數(shù)值。{{}}{嘿嘿,問(wèn)你個(gè)問(wèn)題?黑夜里,拿著一支煙,在你面前快速的晃動(dòng),你會(huì)發(fā)現(xiàn)什么樣的現(xiàn)象?是不是原本不連續(xù)的點(diǎn)變成了一條看上去連續(xù)的曲線或者直線!再回過(guò)頭來(lái),仔細(xì)想想我們的數(shù)碼管!原理是一樣的,你可別忘了,我們的單片機(jī)可是一個(gè)計(jì)算機(jī)哦,計(jì)算機(jī)的運(yùn)算速度,大家可想而知吧!M妙。如果晶體為6M,時(shí)鐘周期和機(jī)器周期各是多少呢到的是不是6個(gè)一起亮或一起滅了!^_^哈哈,原來(lái)如此...記住,在任何某一時(shí)刻,有且只有一個(gè)數(shù)碼管能發(fā)光。如果你能把這句話理解了,你是真明白己可以搞定不?你自己先試著寫(xiě)寫(xiě)看咯...{{}}{{sec,min,hour初始化后,其值一直沒(méi)有改變!那我們?cè)趺礃硬拍茏屗淖償?shù)值呢?有的朋友但是朋友你有沒(méi)有想過(guò)C語(yǔ)言的一般延時(shí)(除非你把他放到中斷里)極不精確!這樣累計(jì)下來(lái),一天24小時(shí)的誤差,肯定很大很大,我曾經(jīng)的方法可以改進(jìn)些呢?有!這里就要涉及到單片機(jī)中的相對(duì)前面的做法而言比較精確而已,如果要做更加精確的時(shí)鐘,用時(shí)鐘芯片比較好點(diǎn),常用的有DS12887和DS1302等)的時(shí)鐘程序,就一定要調(diào)用中斷和定時(shí)器。還是大家先看看教材和書(shū)吧,畢竟人家出的書(shū),肯定比我要寫(xiě)的系統(tǒng)多了,下面我們?cè)賮?lái)簡(jiǎn)單的講講!(六)什么是中斷呢?講個(gè)比較通俗的例子:比如你正在家中看電視,突然電話響了,你的第一反應(yīng)是什么?是不是先跑過(guò)去接電話!接完電話后,繼續(xù)看電視。這就是個(gè)中斷的例子,中斷是由電話引起了,你跑過(guò)去就是響應(yīng)中斷,接電話就是中斷的處理!接完電話后,接續(xù)看電視,即恢復(fù)中斷,等待下個(gè)中斷的到來(lái)!但是這個(gè)好象和單片機(jī)沒(méi)什么聯(lián)系呀?有的朋友或許會(huì)這樣疑問(wèn)。是的。單片機(jī)當(dāng)然不會(huì)看電視了,也不會(huì)接電話了!^_^但是,類(lèi)就會(huì)應(yīng)答響應(yīng),去執(zhí)行更為重要的任務(wù)(中斷處理),原來(lái)的任務(wù)就繼續(xù)等待(現(xiàn)場(chǎng)的保護(hù))。執(zhí)行完更重要的任務(wù)后,回到中斷的入口處,繼續(xù)執(zhí)行原來(lái)的任務(wù)(現(xiàn)場(chǎng)中斷的恢復(fù))。51系列或許,有些朋友已經(jīng)大概領(lǐng)會(huì)了其中的意思,有些朋友還迷迷糊糊。不過(guò)不要緊,我們繼續(xù)往下看,下面我們來(lái)講講單片機(jī)的定時(shí)器是什時(shí)作用!也就是讓單片機(jī)計(jì)數(shù)。定時(shí)器分為:方式定時(shí)器,相信大家一定都用過(guò)吧!但是單片機(jī)的定時(shí)器,該如何啟動(dòng)呢?總不該也用手一擰定時(shí)器吧!^_^當(dāng)然不是,我們只要給單片機(jī)一些指令,就可以啟動(dòng)定時(shí)器了!下面我們就定時(shí)器0,來(lái)說(shuō)/*********************************************************************************************/ara高,讀列狀態(tài)3.若有鍵按下,則為2次所讀狀態(tài)的結(jié)果即為鍵所在的位置,這樣2次輸出和2次讀入可以{F}下面我們?cè)賮?lái)介紹介紹一鍵多能的程序,即按下一個(gè)鍵,可以執(zhí)行不同的命令!{{{{ }}}}}句),所以在做大的產(chǎn)品或者代碼時(shí),這個(gè)是非常耗費(fèi)單片機(jī)內(nèi)部資源的。有什么辦法嗎?呵,那是肯定的。碼,見(jiàn)EX1*/}}}{}當(dāng)然在實(shí)際過(guò)程當(dāng)中,并不是如此簡(jiǎn)單簡(jiǎn)潔的,還希望大家能夠舉一反三哦...^_^。(九)寫(xiě)了這么多了,大家也看了這么多了,感覺(jué)怎么樣?大家也覺(jué)得

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論