小時(shí)c語言入門_第1頁
小時(shí)c語言入門_第2頁
小時(shí)c語言入門_第3頁
小時(shí)c語言入門_第4頁
小時(shí)c語言入門_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1小時(shí)c語言入門(1)我相信許多熱愛電子的朋友都熟悉單片機(jī)這個(gè)詞。然而,一些朋友可能只聽說他的名字是微控制器,可能不清楚他的全名是什么。更不用說他的英文全名和縮寫了。單片機(jī)是集成在集成電路芯片上的具有一定規(guī)模的微型計(jì)算機(jī)。簡稱:單片機(jī)或單片機(jī)(單片機(jī)).單片機(jī)的應(yīng)用無處不在,廣泛應(yīng)用于智能儀器、實(shí)時(shí)控制、通信、家電等領(lǐng)域。但這些都不是這是什么關(guān)系?因?yàn)槲?包括每個(gè)人)已經(jīng)從不知道變成了知道,然后變成了精通?,F(xiàn)在我只想詳細(xì)講述一下我學(xué)習(xí)單片機(jī)的經(jīng)歷。在家聽著,也許一些大蝦會(huì)嘲笑我,并想:這么簡單的事情仍然在這里炫耀。但是你錯(cuò)了,我只告訴你一次我個(gè)人的學(xué)習(xí)經(jīng)歷,只給那些想學(xué)的人學(xué)習(xí)單片機(jī)但找不到好

2、方法的朋友,請?zhí)峁椭屗麄冊趯W(xué)習(xí)過程中盡可能少走彎路!首先,你必須有學(xué)習(xí)單片機(jī)的熱情,不是說你今天去圖書館讀了一下午關(guān)于單片機(jī)的書,而是你明天要玩半天,后天你就不知道那本書在說什么了。姚的事情。讓我們先談?wù)勎摇V钡酱蠖牡谝粚W(xué)期結(jié)束,我才接觸到單片機(jī),但在此之前,如上所述,我知道一個(gè)叫單片機(jī)的芯片。但是我不知道它看起來像什么!許多朋友看到這里都忍不住笑了。嘿嘿,別笑,有些學(xué)長還不知道單芯片呢這臺機(jī)器看起來像什么!我對單片機(jī)的癡迷超出了普通人的想象。在大二的期末考試中,我放棄了學(xué)習(xí)。每當(dāng)我的室友埋頭讀書時(shí),我在那里用從圖書館借的單片機(jī)書讀它。雖然有很多人不理解,但我堅(jiān)持。當(dāng)時(shí),我想單片機(jī)是否

3、值得支付。也許這也是一些三流學(xué)校的優(yōu)勢??荚嚥患案窈螅麄冎械拇蠖鄶?shù)明年開學(xué)時(shí)應(yīng)該能通過幾十元的補(bǔ)考費(fèi)。所以,我閃過我的想法,堅(jiān)持要看我的單片機(jī)書籍和材料。當(dāng)你明白單片機(jī)就是這樣一個(gè)東西時(shí),顯而易見的問題就出來了:我應(yīng)該選擇哪種語言來為單片機(jī)編寫程序?這個(gè)問題困擾了我很長時(shí)間。工具選擇C51還是A51?在我們大二之前,編譯沒有課。雖然看著人們的解釋,很容易理解單片機(jī)每時(shí)每刻的具體工作情況,但一旦它被關(guān)閉,書籍或材料,但我什么都不知道,更不用說寫我自己的程序了。因此,我最終決定學(xué)習(xí)C51。畢竟,C51與我們在課堂上討論的C語言有些相似。編程思想可以說是相互聯(lián)系的。此外,C51還有一個(gè)更大的優(yōu)勢,

4、那就是編寫大型程序的優(yōu)勢不言而喻。當(dāng)然,在那個(gè)時(shí)候,我沒有想到會(huì)有如此深遠(yuǎn)的影響,而C51是特別的點(diǎn),或者在以后的實(shí)踐過程中,逐漸實(shí)現(xiàn)!我的朋友,如果你選擇C51,請繼續(xù)往下看。如果你選擇A51,你可以停止尋找!因?yàn)榻酉聛磉@都是關(guān)于C的,這完全是浪費(fèi)你的時(shí)間!呵呵第二,既然你想學(xué)好單片機(jī),你必須愿意花錢。如果你不買一些芯片,你可以自己焊接和拆卸它們(但是在后期階段,你會(huì)被介紹到一個(gè)非常有用的硬件。模擬軟件,你不需要使用實(shí)驗(yàn)板和模擬器,它是直接在你的電腦上完成的,但軟件畢竟是軟件,在某種意義上它不能取代硬件,即使你每天拿著一本書,把它翻過來,你將永遠(yuǎn)學(xué)不會(huì)單片機(jī)!剛接觸單片機(jī)的朋友肯定會(huì)看到更多

5、的下列單詞,但具體的是讀起來仍然含糊不清,現(xiàn)在如下:(1)編程器用于燒錄單片機(jī)芯片,將十六進(jìn)制或二進(jìn)制文件燒錄到單片機(jī)只讀存儲器中,供單片機(jī)運(yùn)行。(2)實(shí)驗(yàn)板實(shí)驗(yàn)板是根據(jù)一定要求專門為初學(xué)者制作的板。一般來說,上面有一個(gè)最小的單片機(jī)系統(tǒng)。用戶只需要編寫程序,刻錄芯片并放入上面驗(yàn)證了這樣一個(gè)工具。有了實(shí)驗(yàn)板,它省去了初學(xué)者焊接最小系統(tǒng)的麻煩。但是對于電子開發(fā)者來說,效果并不大(3)模擬器模擬器是將HEX或BIN文件直接放入芯片,然后通過芯片的引腳連接到實(shí)驗(yàn)板或系統(tǒng)上工作。這樣,但是從而避免來回插拔芯片帶來的不必要的麻煩。起初我不知道以上三個(gè)的概念和功能。呵呵,我本來想買一塊實(shí)驗(yàn)板(我不想焊接實(shí)驗(yàn)

6、板,因?yàn)椴豢赡転榱它c(diǎn)亮幾盞燈而焊接最小的單片機(jī)系統(tǒng))是的,但是結(jié)果,與我想的相反,人們賣程序員。直到貨物到達(dá),我才知道我犯了一個(gè)錯(cuò)誤!汗水。嘿嘿?,F(xiàn)在想想真是又氣又笑。我的花我用160個(gè)樣本買了一個(gè)程序員(不幸的是,這個(gè)程序員不能用,當(dāng)我燒芯片時(shí),芯片會(huì)燒壞)。這個(gè)程序員還躺在我的抽屜里。然而,現(xiàn)在我想起來,唯一讓我感到欣慰的是,老板每次都能回答我的問題,甚至是那些超級天真的問題,他可以不厭其煩地盡可能多地幫我回答!這使得我很感動(dòng)!第三,我想學(xué)習(xí)單片機(jī)的必要性。因?yàn)榫帉懗绦?、編譯或模擬都是由PC機(jī)完成的。沒有電腦,什么也做不了!最好有一臺電腦上述網(wǎng)絡(luò),因?yàn)槿绻銢]有任何人可以與你溝通,遇到你無

7、法解決的問題,你不能一直解決,所以估計(jì)你對學(xué)習(xí)單片機(jī)的熱情會(huì)隨著時(shí)間而去繼續(xù),慢慢跑出去。如果你能通過論壇或QQ群上網(wǎng),問題會(huì)很快得到解決。這種學(xué)習(xí)效率一定很高!真正的主人來自論壇!有了以上三個(gè)條件,你就可以開始學(xué)習(xí)你的單片機(jī)了。然而,事情并不像我說的那么簡單。你一定會(huì)遇到很多很多問題。諸如你可能不知道如何編寫一個(gè)程序來使微控制器實(shí)現(xiàn)某種功能?;蛘?,如果你了解數(shù)據(jù)中類似的程序,你就不能自己寫。在類似的情況下,記?。翰灰篌@小怪,只管去做!(2)話雖如此,我相信你已經(jīng)閱讀了很多信息,你應(yīng)該有必要的工具在手。不要忘記上面提到的條件。那臺單片機(jī)到底有什么功能和效果如何?先別擔(dān)心!接下來,讓我們點(diǎn)亮一

8、個(gè)發(fā)光二極管(電子人應(yīng)該知道什么是發(fā)光二極管)讓我們把一個(gè)發(fā)光二極管連接到微控制器的最小系統(tǒng),看看我們是否能點(diǎn)亮它!順便說一下,上面已經(jīng)多次提到過單片機(jī)的最小系統(tǒng)。所謂單片機(jī)最小系統(tǒng)就是在單片機(jī)中連接最少的外圍電路組件,使微控制器工作。一般來說,只需要連接水晶,VCC,GND和RST。在正常情況下,AT89C51的引腳31必須連接到高電平。#include /頭文件定義?;蛘呤褂?include。具體區(qū)別在于后者定義了更多的地址空間。/在Keil安裝文件夾中找到相應(yīng)的文件并進(jìn)行比較!sbit P1 _ 0=P1 0;/定義引腳空隙總管(空隙)而(1)P1 _ 0=0;/低電平有效,如果反向連接

9、發(fā)光二極管,則高電平有效就這么簡單。我們打開連接到單片機(jī)P1_0的發(fā)光二極管。當(dāng)然,在打開之前,發(fā)光二極管處于低電平。因?yàn)槲覀儼寻l(fā)光二極管的正向?qū)娮柽B接到VCC。P1 _ 0=0;類似于C語言中的賦值語句,即把0賦給單片機(jī)的P1_0引腳,并讓它輸出相應(yīng)的電平。然后,我們可以提前滿足我們的要求。而(1)語句只使單片機(jī)工作在無限循環(huán)狀態(tài),即它總是輸出一個(gè)低電平。如果我們嘗試點(diǎn)亮其他發(fā)光二極管,這與上面的說法相似。我不會(huì)在這里談?wù)撍?。點(diǎn)亮幾個(gè)發(fā)光二極管后,它會(huì)讓我們想起熙熙攘攘的街道上流動(dòng)的彩燈嗎?我們還能讓幾個(gè)發(fā)光二極管依次點(diǎn)亮嗎?答案是肯定的!那真實(shí)顯示的原理非常簡單,即當(dāng)一個(gè)發(fā)光二極管關(guān)閉

10、后,另一個(gè)發(fā)光二極管立即點(diǎn)亮并輪流發(fā)光。假設(shè)我們有8個(gè)發(fā)光二極管連接到P1端口的8個(gè)引腳。硬件連接,inP1 _ 1-P1 _ 7可以連接7個(gè)發(fā)光二極管。例行程序如下:#包括sbit P1 _ 0=P1 0;sbit P1 _ 1=P1 1;sbit P1 _ 2=P1 2;sbit P1 _ 3=P1 3;sbit P1 _ 4=P1 4;sbit P1 _ 5=P1 5;sbit P1 _ 6=P1 6;sbit P1 _ 7=P1 7;無效延遲(無符號字符a)無符號字符I;同時(shí)(- a!=0)對于(I=0;i 125;/一;表示空語句,中央處理器空閑。 /i從0增加到125,CPU大約需

11、要1毫秒空隙總管(空隙)而(1)P1 _ 0=0;延遲(250);P1 _ 0=1;P1 _ 1=0;延遲(250);P1 _ 1=1;P1 _ 2=0;延遲(250);P1 _ 2=1;P1 _ 3=0;延遲(250);P1 _ 3=1;P1 _ 4=0;延遲(250);P1 _ 4=1;P1 _ 5=0;延遲(250);P1 _ 5=1;P1 _ 6=0;延遲(250);P1 _ 6=1;P1 _ 7=0;延遲(250);P1 _ 7=1;Sbit定義位變量,無符號字符a定義無符號字符變量a,以節(jié)省單片機(jī)內(nèi)部資源,其有效值為0255。主函數(shù)調(diào)用延遲()函數(shù)。延時(shí)功能使單片機(jī)處于空閑狀態(tài),指

12、示燈持續(xù)亮起,然后熄滅,下一個(gè)指示燈亮起。而(1)生成一個(gè)循環(huán)。(3)上面我們談到了如何使發(fā)光二極管流動(dòng),但你有沒有發(fā)現(xiàn)一個(gè)問題:文字太長了!能簡單點(diǎn)嗎?當(dāng)然!您可以使用C51的內(nèi)部功能INTRINS的實(shí)現(xiàn)。如果我們先給P1賦值,函數(shù)無符號字符可以將變量向左循環(huán)移位n位,0000 0001那么當(dāng)n是1時(shí),它將具有與上面相同的效果!#包括#包括無效延遲(無符號字符a)無符號字符I;同時(shí)(- a!=0)對于(I=0;i 125;空隙總管(空隙)無符號字符b,I;而(1)b=0xfe。對于(I=0;I 8;(I)P1=_crol_(b,1);b=P1;延遲(250);在INTRINS中,將無符號字符

13、(無符號字符a,無符號字符n)向右移動(dòng)也可以達(dá)到同樣的效果。h函數(shù)!我不會(huì)在這里重復(fù)。水上燈有很多種,我寫過關(guān)于拉簾流的文章。這個(gè)程序非常簡單。感興趣的朋友可以試著自己寫!順便說一句,在談了這么多之后,一些朋友不知道如何使用編譯好的軟件。讓我在這里給你介紹一些。波(付偉)你一定聽說過!再多一個(gè)那是KEIL2。我用KEIL2。讓我們來討論一下如何使用KEIL2作為編譯器!1.安裝軟件,這不應(yīng)該再談了!2.安裝后,啟動(dòng)KEIL軟件,左鍵點(diǎn)擊項(xiàng)目-新項(xiàng)目-輸入文件名-選擇我們使用的芯片(這里我們通常使用Atmel的AT89C51或AT89C2051,測點(diǎn)。3.單擊文件-新建-輸入我們編寫的程序,并將

14、其保存為. c文件。(通常,我們保存的文件名與以前的項(xiàng)目名稱相同。)展開目標(biāo)1-右鍵單擊source group 1-將文件添加到group source group 1-選擇。c文件剛保存,單擊添加,然后關(guān)閉文字盒。這樣。c文件被添加到源組1下。5.右鍵單擊target 1-target 1-target的選項(xiàng)以填充晶體的大小,并在輸出中,將誘餌放在創(chuàng)建十六進(jìn)制文件前面。當(dāng)然。6.如果出現(xiàn)提示,請單擊項(xiàng)目-重建所有文件組文件,從“XXX”創(chuàng)建十六進(jìn)制文件.XXX - 0個(gè)錯(cuò)誤,0個(gè)警告。表示HEX文件編譯生成成功!下一步是將十六進(jìn)制文件刻錄到單片機(jī)或仿真器中,看看它是否達(dá)到了預(yù)期的目的!嘿嘿

15、!你現(xiàn)在有成就感了嗎?如果你被要求做一個(gè)流動(dòng)的燈籠并且開發(fā)一個(gè)簡單的產(chǎn)品,你可以通過增加一個(gè)驅(qū)動(dòng)電路來制作一個(gè)漂亮的流動(dòng)的燈籠!到目前為止,你應(yīng)該知道單片機(jī)的功能有多強(qiáng)大。如果你只是簡單地用數(shù)字電路或模擬電路的知識來設(shè)計(jì)一個(gè)移動(dòng)提燈,可能需要一些時(shí)間和時(shí)間,用單片機(jī)不同,你只要寫一個(gè)程序來控制他!有人說過這樣一句話,這并不是不合理的。學(xué)習(xí)單片機(jī)是非常重要的。(4)呵呵,我的朋友!我相信你在自來水燈方面做得很好。你現(xiàn)在能玩多少把戲?你可以說,只要你想,你可以隨心所欲!哈哈,是的。但是工程師們設(shè)計(jì)這樣一個(gè)單片機(jī)并不僅僅是為了讓它成為一個(gè)自來水燈,這太浪費(fèi)了.研究過數(shù)字電路的朋友一定做過8路或6路應(yīng)答器。很難

溫馨提示

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

評論

0/150

提交評論