(1小時學會C語言51單片機)C語言入門教學教程_第1頁
(1小時學會C語言51單片機)C語言入門教學教程_第2頁
(1小時學會C語言51單片機)C語言入門教學教程_第3頁
(1小時學會C語言51單片機)C語言入門教學教程_第4頁
(1小時學會C語言51單片機)C語言入門教學教程_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論