單片機(jī)入門制作專輯_第1頁
單片機(jī)入門制作專輯_第2頁
單片機(jī)入門制作專輯_第3頁
單片機(jī)入門制作專輯_第4頁
單片機(jī)入門制作專輯_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)入門制作專輯白手起家好的開始是成功的一大半!憶往昔吃過晚飯我都要打開電腦上網(wǎng)瞧瞧,在我的收藏夾里專門有一欄是和電子技術(shù)相關(guān)的網(wǎng)站鏈接。我常登錄我的網(wǎng)站和電子信箱,而每次都會有幾個帥哥向 我提問,讓我?guī)椭麄兘鉀Q一些制作中的問題,在感嘆電子愛好者中美女太少的同時我都會盡我所能回答這些問題,因為叁年前我也是白手起家的,我也體會過遇到 問題卻無藥可救時的失落,所以我更希望分享我的經(jīng)驗和大家交流。雖然我不希望把整篇文章變成我的個人自傳,可是我還是要談一談我的經(jīng)歷,你可以把它當(dāng)成無聊的小品或是學(xué)習(xí)電子技術(shù)的歷險記,當(dāng)然你也可以從中了解我并和我結(jié)為朋友。不太喜歡編年體的故事結(jié)構(gòu),所以我從現(xiàn)在開始我在

2、一家與電子技術(shù)行業(yè)相關(guān)的公司工作,在公司我可以學(xué)到單片機(jī)和嵌入式系統(tǒng)的相關(guān)知識。業(yè)余時間我則自己在家里研究單片機(jī)技術(shù),將我的作品和 經(jīng)驗發(fā)布到我的個人網(wǎng)站與愛好者們分享。我很滿意現(xiàn)在的工作和生活,這讓我有充足的時間談戀愛和更執(zhí)著地專注于我的電子制作愛好。 叁年前,哈爾濱市學(xué)府書城,開門大吉!我只身在電子技術(shù)類圖書區(qū)尋找著我中意的電子制作技術(shù)的書。這個地方我經(jīng)常來,雖然書很多,可是沒有幾本中意的, 它們不是只講一些純理論的東西讓人看得一頭“污水”,就是只有電路一堆卻并不實用。這次也是希望能找到一些新鮮類型的書來看,正是這一次閑逛使我和美麗的 單片機(jī)世界邂逅了。逛了一會,想起了最近聽說一個新名詞叫

3、“單片機(jī)”。本以為也是數(shù)模電子技術(shù)里的一部分,應(yīng)該和數(shù)字電路關(guān)系大一些吧?好像就是比較專用的集成電路唄!先了解一下也好,什么事都了解一下也沒有壞處,只要不是違法亂紀(jì)的事情。腦中認(rèn)定了一個詞組:“單片機(jī)”,就開始在家電維修和電子技術(shù)的書架上查找??墒?分鐘過了,沒有一本關(guān)于單片機(jī)的書,甚至是出現(xiàn)這個詞的書都 沒有。我的天,學(xué)府書城聽說是東北地區(qū)圖書最全的書店竟然沒有關(guān)于單片機(jī)的書,看來上帝都要信佛了!不會了,一定是我沒找對,也許就在電子技術(shù)區(qū)的一個小 角落也說不定,還是問問吧。一個漂亮的管理員阿姨把手指向遠(yuǎn)方一個神秘又陌生的地方,那是離電子技術(shù)區(qū)很遠(yuǎn)的另一個書架。那時的我怎么也不會想到,那一個

4、書客稀少的地方竟是我心中的香格里拉。單片機(jī)基礎(chǔ)教程、單片機(jī)接口技術(shù)、PIC單片機(jī)教程、51系列單片機(jī)設(shè)計實例,My God!滿滿的叁個書架全是關(guān)于單片機(jī)的書,我哭笑不得。不知是笑我發(fā)現(xiàn)了“新大陸”好呢,還是哭我的無知可笑好。隨手抽了一本單片機(jī)教程看了看,除了扉 頁上的字能看明白,其它都是天書。這時的我才感覺到世界的偉大、自己的渺小。想到了書山有路、學(xué)海無崖,想到了愛因斯坦,想到了我今天中午不能吃飯也得在 這兒好好地看看這些書。首先我要了解,了解單片機(jī)是不是我感興趣的知識,這點很重要,除了興趣又會有什么能長久不斷地提供我們學(xué)習(xí)、研究的塬動力呢?等了解了再入門, 入門了再深入學(xué)習(xí),這是大多數(shù)人的學(xué)

5、習(xí)方式,我也沒有獨辟蹊徑的能力。我找了好久才看到一本中學(xué)生學(xué)習(xí)單片機(jī)的書,我想先別整高深的了,看看給中學(xué)生學(xué)習(xí) 單片機(jī)的書我能否看懂吧!看了一會我差一點沖動地把它買下來,幸好理智的頭腦戰(zhàn)勝了感性的神經(jīng)。因為這本書只是講了一個成品單片機(jī)學(xué)習(xí)板的功能及使用,它 是一個完整的產(chǎn)品,使用者只需用鍵盤輸入十進(jìn)制數(shù)的指令,就可讓其完成特定的功能。按現(xiàn)在來說這不能算是單片機(jī)實驗板,而是用單片機(jī)開發(fā)出了一個玩具。抱 著再考慮一下的心理,我放下了這本書。又過了好大一會兒,我找到了幾本標(biāo)有單片機(jī)入門類的書,看起來是給我這種菜鳥看的了。果不其然,通過看這幾本書我了 解到了單片機(jī)的基礎(chǔ)知識,知道了什么是單片機(jī),單片機(jī)

6、的用途,這一下我找到了學(xué)習(xí)單片機(jī)技術(shù)的敲門磚。我勸說了我的父母,同意在經(jīng)濟(jì)和精神上支持我,主要的還是經(jīng)濟(jì)上。當(dāng)時我正在讀大學(xué),學(xué)校雖然離電子市場很遠(yuǎn),可我每個星期都要去幾次。父母傾 家當(dāng)產(chǎn)給我買了電腦,還給了一筆錢來買元件和工具。我的勁頭兒更大了,在書店買了許多書參考并在幾天時間里夜以繼日地焊好了單片機(jī)實驗板和ISP下載線, 制作中我發(fā)現(xiàn)單片機(jī)的電路要比數(shù)模電路更簡單。用軟件下載單片機(jī)程序,這個我從來沒有用過,總感覺這是一件很復(fù)雜的事情。還好,對照著書的說明一步一步都 很順利?!班洁洁健保绦蛳螺d完成,實驗板上的一個發(fā)光管閃爍了,這正是我期盼的結(jié)果。隱約地可以回憶起第一次看到自己下載的程序在實

7、驗板上運(yùn)行時的欣喜 情境。之后又按同樣的方法下載其它程序都很成功,我才知道單片機(jī)并不難,只是我之前不了解而將它想得復(fù)雜了。我開始找一些制作例子,仿制一些別人的作品, 雖然制作中有一些問題可是只要認(rèn)真檢查最終都是成功的。再后來我開始修改別人的程序,改一個數(shù)值、換一行句子會有什么變化呢?我慢慢地學(xué)著自己寫程序了, 照著別人的程序?qū)?,按照自己的想法寫,感覺學(xué)習(xí)單片機(jī)并不難,只要多和網(wǎng)友交流、多看書、多動手、多思考。我享受著玩單片機(jī)時那種無法言表的興奮和快樂, 現(xiàn)在我將所了解的與大家分享,希望讓更多的愛好者朋友享受到單片機(jī)世界里的快樂。 何方神圣依我看單片機(jī)就是一塊在集成電路芯片上集成了一臺有一定規(guī)模

8、的微型計算機(jī),簡稱為“單片微型計算機(jī)”或“單片機(jī)”(Single Chip Computer)。簡單地說單片機(jī)是一種可以輸入程序的微型計算機(jī),也就是大家所謂的電腦。它是以一種集成電路塊的硬件形式出現(xiàn)的,圖1是一種常用單片 機(jī)的寫真照片。即一個黑黑的塑料外邊伸出了幾只金屬腳,好像一只剛從墨水里爬出來的多腳蟲,到現(xiàn)在我也沒弄明白為什么芯片只用黑色而不用美麗的天藍(lán)色或是 活潑的橙紅色??梢酝ㄟ^向單片機(jī)的內(nèi)部輸入一個你想讓它干什么的程序,它就可以按照你的吩咐為你服務(wù)了。那單片機(jī)這東東到底可以干什么呢?難到可以幫我們洗衣做飯?可以當(dāng)老婆嗎?是呀,其實我們現(xiàn)在的生活電器中大多都用到了單片機(jī),我們的洗衣機(jī)里

9、就用到了單片機(jī)控制,可以設(shè)定好洗 衣時間,按時上水、按時脫水。我們家中的電磁爐、微波爐也用到了單片機(jī),由它控制火量、時間。這樣一來單片機(jī)真的可以為我們洗衣做飯了。圖2圖4所示是 單片機(jī)的幾個應(yīng)用實例。至于能否當(dāng)老婆,這項技術(shù)還有待進(jìn)一步開發(fā),不要對此抱太大希望。由于單片機(jī)是用程序進(jìn)行控制的,所以節(jié)省了許多的硬件電路,而且 讓電路更加精準(zhǔn)、小巧。如果各位朋友有一定電路制作基礎(chǔ)的話,學(xué)起單片機(jī)來就會更加容易了。因為單片機(jī)的硬件部分的學(xué)習(xí)需要有數(shù)模電子技術(shù)為墊腳石。圖1 AT89S52單片機(jī)和配套的芯片座在一起圖2 用單片機(jī)設(shè)計的機(jī)器人小車圖3 用單片機(jī)設(shè)計的電子計算器圖4 用單片機(jī)設(shè)計的多功能電子

10、鐘現(xiàn)在的單片機(jī)及嵌入式系統(tǒng)應(yīng)用真可以說是無處不在了,上到衛(wèi)星、導(dǎo)彈,下至手機(jī)、MP3、空調(diào)無不涉及。采用單片機(jī)與嵌入式系統(tǒng)技術(shù)進(jìn)行開發(fā)是未來高精尖科技領(lǐng)域不可逆轉(zhuǎn)的發(fā)展趨勢。說了這么多,有朋友會問了:單片機(jī)這么好,貴不貴呀?哪里能買到呀?我應(yīng)該怎么學(xué)單片機(jī)呢?大家不要急,俺來說兩句。單片機(jī)雖然是一種比較高級 的電子產(chǎn)品,但并沒有我們想象的那么高不可攀。大多數(shù)愛好者入門常用的單片機(jī)是51系列單片機(jī),這種單片機(jī)技術(shù)是比較成熟的,在國外已經(jīng)有了幾十年歷史 了,可以說不管是它的穩(wěn)定性還是可靠性都盡乎完美。而這樣的一塊單片機(jī)(以AT89S52這一款較常用的單片機(jī)為例)價格卻不超過10元。這種單片機(jī)在各

11、大電子元器件市場均有銷售,物美價廉、童叟無欺。只要是有一些數(shù)模電路基礎(chǔ)又愿意認(rèn)真看這篇文章的朋友都可以學(xué)會,學(xué)習(xí)單片機(jī)就像愛情一樣,不分年齡、距 離、身份、窮富。在今天,單片機(jī)技術(shù)已經(jīng)有了非常大的發(fā)展。各種不同功能用途的單片機(jī)也層出不窮。目前據(jù)我了解,單片機(jī)家族中有以51為內(nèi)核的單片機(jī)(如 89S52、89C51、89LPC231),AVR單片機(jī)(如90S1200),PIC單片機(jī),凌陽16位單片機(jī)等等。但這里使用最廣、資料最多、也是 最基本的單片機(jī)就是以51為內(nèi)核的單片機(jī)。51內(nèi)核的單片機(jī)80C51是INTEL公司最早推出的一款8位的單片機(jī)。后來的不少大公司如ATMEL、 PHILIPS、ST

12、T都借用80C51系列單片機(jī)的內(nèi)核開發(fā)出了有自己特色的單片機(jī)產(chǎn)品,目前初學(xué)者學(xué)習(xí)實驗最廣的當(dāng)屬ATMEL公司的89S系列單片 機(jī)(如89S51、89S52、89S55),該系列單片機(jī)也是51內(nèi)核并支持ISP(In System Program,在系統(tǒng)編程)下載程序功能,是進(jìn)入單片機(jī)世界的不二法門。 千金一諾政界的民主選舉總是一種能力和技巧的較量,候選人往往會向選民許下承諾,如果在他就職之后會實現(xiàn)怎樣的目標(biāo),選民們?yōu)榇睡偪窕虿恍家活?。我覺得這個游戲很好玩可以樹立信心又給自己充足的動力實現(xiàn)諾言,我也想如法炮制,給自己一點壓力把故事寫好。親愛的朋友們,只要你認(rèn)真看過這篇文章我將兌現(xiàn)以下的承諾:

13、83; 你將了解單片機(jī)是什么和一些關(guān)于它的故事。也許這在上文已經(jīng)實現(xiàn)。 · 你可能對單片機(jī)產(chǎn)生學(xué)習(xí)興趣。能從頭一直看到這里的朋友應(yīng)該是已經(jīng)有了興趣。 · 你可以了解學(xué)習(xí)單片機(jī)的軟、硬件條件和一般使用方法。 · 跟隨文中的制作部分可以建立起一套可愛的單片機(jī)學(xué)習(xí)、實驗環(huán)境。 · 跟隨文中的制作部分可以制作出以單片機(jī)為核心的實用小作品。 · 完成以上內(nèi)容,你的經(jīng)歷將會給你更多。 如果在我煽動性的言語下讓你產(chǎn)生了興趣愛好那是最好不過了,愛好是我們學(xué)習(xí)最好的老師,如果你真的有了這方面的愛好就盡力發(fā)揮它吧。十八般兵器快使用單片機(jī),哼哼哈兮!孔子說:“工欲善

14、其事,必先利其器”,學(xué)習(xí)單片機(jī)所用的工具、元器件和數(shù)模電路是有一些區(qū)別的,我們在學(xué)習(xí)之前最好先備齊它們,至少讓外人看出我們是搞過單片機(jī)的。有幾樣?xùn)|東很重要,在上場之前不得不提及。刀槍劍戟一臺電腦:這在日后寫程序或是下載程序都是必需之物?,F(xiàn)在的新款電腦越來越不適合單片機(jī)學(xué)習(xí)了或者說單片機(jī) 的設(shè)備也應(yīng)該更新?lián)Q代了,一般常用的 9針串口和 25針并口多數(shù)被方方正正的 USB接口所取代。更新推出的操作系統(tǒng)對開發(fā)軟件支持并不很好,建議大家使用 WIN XP或 WIN 2000系統(tǒng)。不用考慮 CPU速度和存儲空間,同時電腦要有 9針的串口和 25針的并口(打印機(jī)接口),如果沒有可以用 USB轉(zhuǎn)換器擴(kuò)展,不

15、過其效果不如原配夫妻。 ISP下載線:從電腦向手機(jī)下載圖片或音樂一般都有一條連接線,再配上手機(jī)專用的軟件就可以讓手機(jī)豐富多彩 了。單片機(jī)也可以用這樣的方法,雖然這不是唯一的方法,但這較適合一般的單片機(jī)學(xué)習(xí),好而不貴。ISP下載線就是一個設(shè)計有簡單電路的單片機(jī)程序下載工 具,它就像塑造生命的天使,配上小巧的 ISP下載軟件就可以施與單片機(jī)靈魂。雖然我們不是上帝,但在后文我們先要親手塑造它,先做好心理準(zhǔn)備。實驗板:這是一年半載也玩不膩的家伙,因為這是在學(xué)習(xí)中不斷擴(kuò)展的。它是將一塊單片機(jī)焊在一片電路板中間, 板上還焊有電源和單片機(jī)的最小系統(tǒng)電路,見圖 1。如果繼續(xù)往下說許多讀者朋友會罵我太粗心了,所

16、以我不得不解釋一下“最小系統(tǒng)”是啥東東。隨便抓一個數(shù)模電路的芯片,它要是想正常工作必須有一個先天 條件,就是符合要求的電源。單片機(jī)也是一樣,不過它太講究了,要的東西更多。除了一個穩(wěn)定的電源供電之外,它還需要一個復(fù)位電路,就是給單片機(jī)一個信號讓 它歸回到開始工作的狀態(tài)。同時晶振部分電路也是必不可少的,這相當(dāng)于給單片機(jī)帶了一塊手表,讓它有時間觀念,知道自己什么時候該干什么事情??傊钚∠到y(tǒng) 就是保證單片機(jī)正常工作的最基本電路部分。OK,再說回到單片機(jī)實驗板。我是買元器件自己制作實驗板的,我感覺沒有必要多花錢去買一個成品,雖然這樣說賣 實驗板的人可能會扁我。自己動手可以學(xué)到單片機(jī)硬件電路的知識和掌握

17、制作的細(xì)節(jié),這是不可多得的實踐機(jī)會。你決定實驗板 DIY了嗎?我們一起做吧!圖 1 忘了是哪一部抗日題材的電影里有一句經(jīng)典臺詞:“別看你今天鬧的歡,小心將來拉清單”。當(dāng)時我還真不知道這話的意思,但我寫到這里的時候我終于 明白了,鬧了這么長時間單片機(jī),今天終于到我拉清單了。附表所示這個清單列出了學(xué)習(xí)單片機(jī)所需要的兵器,這是在成家立業(yè)之前必要的條件,里面我列出了大概 的市場價格以防被黑。各元器件的外形如圖 2所示。其實滿打滿算學(xué)習(xí)單片機(jī)也要不了幾個錢,一般的元器件也就幾塊錢。幾塊錢能買什么?買不了房子買不了田,買幾個元器件能用好幾年。必要的時候可以 和賣元器件的老板砍砍價,你砍得多省得多,回去能買

18、輛自行車。附表實驗板 DIY元器件采購清單圖 2 所需元器件集體照可以直接拿單到電子市場買到,附近沒有電子市場朋友也可以在網(wǎng)上郵購,你一定會千方百計弄到的,對此我充滿信心。如果你到電子市場去逛我得嘮叨 兩句,省得鬧出專業(yè)技術(shù)級笑話。AT89S52單片機(jī)是分為工業(yè)級(PI)和商業(yè)級(PC)兩種,區(qū)別就是工業(yè)級的工作溫度范圍更寬,也就是比較抗凍。對 于我們學(xué)習(xí)就無所謂了,哪個便宜買哪個吧。如果買不到 AT89S52也可以買 AT89S51或是與 89S系列兼容并支持 ISP功能的單片機(jī)。 30pF的電容只是提高晶振的精度的,如果只是做一些小實驗的話買不到不接也行。萬用電路板要買大一點的,別以為現(xiàn)在

19、的元器件放上去正好大小就行了,我們 的學(xué)習(xí)才剛剛開始,以后還有好多單片機(jī)的外圍功能要學(xué)呢,如果沒有地方放元器件了就得外擴(kuò)電路板再用排線連接,弄得像蜘蛛精似的。我個人認(rèn)為 A4紙大小的萬用電路板是最合適的選擇,總之要“我選擇我喜歡”。還有一些東東雖然說出來有點啰嗦但對于一個電子愛好者是必不可少的,包括焊接用的電烙 鐵、錫絲、助焊濟(jì)、導(dǎo)線、鑷子、剪線鉗、一雙勤勞靈巧的手和一顆熱情執(zhí)著的心。也許你早就發(fā)現(xiàn)這篇文章與其它文章寫作方式的不同,我不知道這會讓你眼前一亮還是眼前一黑,不過卓爾不群之處還不止于此。一張直觀而清晰的圖片 要比書本上想方設(shè)法跳躍起來的文字更容易讓人印象深刻,下面的制作過程你將會發(fā)現(xiàn)

20、我在竭盡全力地發(fā)揮“圖文并茂”的優(yōu)勢特點。從元器件的集體合影到成品的 寫真照片,總是把你從茫然的想象拉回到真實的制作情境,當(dāng)你覺得沒必要介紹得如此詳細(xì)時,請想到那些從零開始又滿懷熱忱的愛好者朋友。假設(shè)你已經(jīng)買來了上面的所有元器件和工具,并已經(jīng)吃飽喝足準(zhǔn)備開始制作了。我也只能這樣假設(shè),否則我們的制作是不能向下繼續(xù)的。其實我是想先制 作 ISP下載線的,可是看到你迫不及待想玩單片機(jī)的樣子我也只好改變主意。那我們就先來制作單片機(jī)實驗板吧! 鐵錘磨針單片機(jī)實驗板 DIY 實驗板上主要有三部分電路:電源部分、單片機(jī)最小系統(tǒng)部分和功能擴(kuò)展部分。因為我們只是剛開始實驗,功能擴(kuò)展部分我們只焊接一個發(fā)光二極管和

21、一 個按鍵開關(guān)做一些簡單的實驗,完成了這些實驗之后我們就基本熟悉了單片機(jī)的使用流程,再學(xué)習(xí)其它功能時只要將此功能用到的元器件焊在實驗板的空地兒上并連 接到相應(yīng)的單片機(jī)引腳就可以了。例如我們要學(xué)習(xí) DS1302時鐘芯片我們就把芯片和相關(guān)元器件焊上,通過對應(yīng)的程序下載到單片機(jī)來實驗。按照傳統(tǒng)習(xí)慣我們先在開發(fā)板上焊接電源部分電路。電源部分是比較容易的,集成穩(wěn)壓芯片解決了電源穩(wěn)壓問題。理論上的電源輸入是 5V18V,可是實際應(yīng)用存在許多理論界想象不到的問題,細(xì)心的朋友可以發(fā)現(xiàn)電容的耐壓值決定了一個更小的選擇范圍。建議大家用 9V 2A或 12V 2A的電源適配器(俗稱變壓器)作為市電的轉(zhuǎn)換,我的實驗中

22、暫用 12V 2A的為例,圖 4是電源部分電路原理圖,圖 5是單片機(jī)最小系統(tǒng)部分和功能擴(kuò)展部分電路原理圖。圖 3 電源適配器圖 4 電源部分圖 5 實驗板單片機(jī)系統(tǒng)部分還有一些細(xì)節(jié)問題可能會導(dǎo)致你的恐慌,我也有必要保證朋友的安全,占用一點紙上疆土逐一列出。 220F的電解電容正負(fù)極千萬不要接反,不然十有八九會爆炸,我遭遇此事時嚇得一個女同事幾天沒回過神來。LM7805穩(wěn)壓芯片是有一個散熱 片接孔的,我們實驗板的功率不大就不用接散熱片了,如果發(fā)現(xiàn)此芯片發(fā)熱也是正常的,不用怕。如果非常熱,發(fā)熱上百度時就要檢查一下電路是否有短路。晶振、 陶瓷電容是不分正負(fù)極的,二極管的焊接時間不要過長,注意電源適配

23、器的輸出要是內(nèi)正外負(fù)。不怕人罵我嘮叨,如果這里有一條幫助到你的話我就很欣慰了。在電路板的走線方面我是用的錫接走線,這樣可以保證電路穩(wěn)固又美觀簡潔。在錫接走線之前可以先考慮好整個電路的布局,電源部分盡量放到一起,單 片機(jī)最小系統(tǒng)放在實驗板的中間,這樣擴(kuò)展電路方便一些。先用水筆畫出走線圖,當(dāng)確定無誤再用錫過線。焊接的時候單片機(jī)不要插在 IC座上,先焊好 IC座當(dāng)電路全部完成后再上芯片。如果是想用飛線的方法也可以,不過這么簡單的電路用飛線好像沒有必要。單片機(jī) IC座的下面是一個不錯的樓盤,一些占地方而又很重要的元器件可以擠一擠放到下面去,外表美觀又保護(hù)了這些元器件,如圖 6所示。這是我在長期制作中實

24、踐出來的好方法,不到一分鐘就轉(zhuǎn)讓給你了。圖 6 部分元器件隱藏于芯片座內(nèi)建議在制作好電源部分后在不插入單片機(jī)時就通電一次,并用萬用表測一下輸出電壓是不是 5V,電源部分的一點失誤導(dǎo)致的后果相當(dāng)不小。本文中的設(shè)計是將電源部分制作到實驗板上,ISP下載線是通過一條排線插到實驗板上留出的端口上,用實驗板 的電源給 ISP下載線供電,整個設(shè)計只用到一個電源部分。別以為我是只說不練的家伙,我可是按照文章先制作了一遍的,這樣我才有資本指手劃腳。圖 2所示是制作實驗板和 ISP下載線用到的所有元器件,我們要做的就是把它們組裝起來,我僅用了兩個小時就完成了制作,而且其間我還要拍照片和考慮怎么寫下面的內(nèi)容,現(xiàn)在

25、可以想 象你的任務(wù)并不復(fù)雜了吧!準(zhǔn)備好了嗎,開始行動吧!圖 7、圖 8是制作好的實驗板,你制作好了嗎?我只能再一次假設(shè)你的制作是成功的。也許你還有一些問題沒有解決,而我在文章里卻沒有提到,也許是我忽略了什么或是答 案故意躲了起來,那就在仔細(xì)看看電路圖和實物照片吧,它們是最佳的制作參考系,這樣一個簡單的電路并沒有比雙穩(wěn)態(tài)的聲控開關(guān)電路復(fù)雜,它是深藏于內(nèi)、厚積 薄發(fā)的。OK,現(xiàn)在一切完成可以通電了,按下電源開關(guān),電源指示燈亮了,看看接到 P1.0接口上的 LED是什么狀態(tài)呢?是不是每隔一秒鐘閃爍一次呢?是這樣的現(xiàn)象嗎?不是?哦,不是就對了,因為我們還沒有給單片機(jī)寫程序呢,它現(xiàn)在還不知道你要讓它干什

26、 么呢,只能呆呆地等在那里。雖然我們希望盡快讓 LED閃爍起來,可是面對科學(xué)還是要理智一些才行。一根 ISP下載線可以幫我們實現(xiàn)程序的下載,前面我講 ISP下載線的好話已經(jīng)夠多了,你的耳朵都快磨破皮了吧?現(xiàn)在我們就來一起制作,趁著制作實驗板的喜悅之情還沒有冷卻。圖 7 完成后的實驗板正面圖 8 完成后的實驗板背面 鐵錘磨線 ISP下載線 DIY ISP下載線的電路如圖 9所示,簡單得真叫人沒法活了,制作它可以很容易找到成功的感覺,可是要注意許多老水手都是在陰溝里翻的船。我曾聽說一位朋友不屑一顧制作完成的下載線就 是不能用,雖然檢查了 N遍電路,芯片也換了幾個。其實解決這個問題的方法很簡單,再重

27、新制作一個就行了,一條道跑到黑對提高效率沒有什么幫助。還有一些事情要提醒一下,因為有 一些貴族級別的愛好者用的是先進(jìn)的筆記本電腦,除了 USB之外什么接口都沒有了,這樣的朋友是比較麻煩了,買 USB轉(zhuǎn)并口的轉(zhuǎn)換器還不如干脆參考其它資料制作串口 ISP下載線,或是直接制作 USB接口的 ISP下載線,但不論如何都要親手制作才過癮哦。圖 10所示是制作好的下載線。圖 9 圖 10 ISP下載線寫真照有一件重要的小事害得我不淺,兩次挫敗才讓我吸取教訓(xùn),也可以說失敗是好事,是不繼積累經(jīng)驗的過程,我前面叮囑大家注意的地方都是挫敗之后才能 寫出來的,希望大家少走一些崎嶇路。不論是實驗板、ISP下載線還是其

28、它的單片機(jī)電路都要考慮抗干擾問題,我這里想說的主要是來自電源的干擾。在靠近芯片 和電源的地方,5V和 GND之間加焊幾片 0.1 F的濾波電容(即系統(tǒng)電源部分電路原理圖中的 C3),不然會有數(shù)據(jù)錯誤甚至不能下載的問題。ISP下載線的引線不要太長,不然抗干擾能力差,一般小于 20厘米。如果想延長距離可以買一條公對母的并口延長線,在電腦的一端將并口擴(kuò)展出來。在 ATMEL官方是推出了10PIN接口的延長線標(biāo)準(zhǔn)的,這種接口線具有良好穩(wěn)定性,但我們這幫玩單片機(jī)的愛好者沒有必要多花這筆銀兩。我則采用最節(jié)省的 6PIN連接線,接線方法可以自由定義,只要有電源和 4條數(shù)據(jù)線就可以了。你完全可以參考我的實物照

29、片來制作或是異想天開,這是表現(xiàn)你思想力與行動力的機(jī)會。實驗板和 ISP下載線都制作好了嗎?圖 11所示就是它們倆連接在一起的樣子。真是佩服你的認(rèn)真和耐心,這種優(yōu)秀習(xí)慣會幫助你很快進(jìn)步的。如果不拿真槍實彈操作一次,老天也不敢保證還留有余溫的 兩個電路作品是正常可用的??上б霃念^到尾完成程序的下載僅憑這一點硬件還差的遠(yuǎn)點,幸運(yùn)的是下載程序詳細(xì)介紹的文章就在下一頁,而不用朝思暮想的等待 下一個月的來臨,這還要感謝無線電的心系讀者或者高瞻遠(yuǎn)矚。翻開新的一頁,我們繼續(xù)前行!圖 11 實驗板和 ISP下載線在一起成家立業(yè)豁然間玩轉(zhuǎn)單片機(jī)! 撥出插頭,電烙鐵慢慢涼了下來,即使你沒有戴金絲邊眼鏡,在下面的操

30、作過程中也可以顯得更斯文一些。這是只與鍵盤、鼠標(biāo)、顯示器有關(guān)的故事情節(jié),幾片灰 白顏色的軟件窗口,嘟嘟的提示音,還有期盼成功并始終專注的眼神。其實我們完成了大部分內(nèi)容,我們回顧一下看看:我們了解了單片機(jī)是什么、單片機(jī)能干什 么、我們?nèi)绾螌W(xué)習(xí)單片機(jī)、學(xué)習(xí)單片機(jī)的條件是什么、如何制作實驗板和 ISP下載線,了解了這些我即兌現(xiàn)了承諾也讓你從中受益。下面我們聊聊軟件使用和學(xué)習(xí)實驗的一般操作,聽上去好像很簡單,但認(rèn)真的狀態(tài)依然不可放松。在沒有從宏觀上了解事情的時候我們總會感覺茫然不知所措。你花了錢買這本雜志并不小心翻看到我的文章,煽動性的語言誘騙你喜歡上了單片機(jī)并一直 迷迷糊糊看到這里我就已經(jīng)非常開心了

31、,除了以身相許之外我愿意為你做任何事情,包括詳細(xì)介紹我們將會用到的一些軟件和關(guān)于它們的故事。眼睛向下一掃,我虛 張聲勢的把戲被你識破,明明就兩個軟件嘛,何必說得好像很多一樣呢?大人請容我解釋,這兩個軟件是單片機(jī)學(xué)習(xí)最常用的兩個軟件,而細(xì)述它們的功能最要獨立 成書了。如果可以弄明白這兩個軟件的使用和常見問題,那么任何操作問題都難不倒你了。值得慶幸的是本文正為了這個目標(biāo)而努力。 ISPlay v1.3 ISP下載工具軟件還記得我介紹 ISP下載線時的比喻嗎?“從電腦向手機(jī)下載圖片或音樂一般都有一條連接線,再配上手機(jī)專用的軟件就可以讓手機(jī)豐富多彩了?!彼^“專用的軟件”就是我們 現(xiàn)在要介紹的 ISP

32、lay v1.3。它是一款綠色版小巧的 ISP下載工具軟件,配合前面講到的 ISP下載線向單片機(jī)下載程序。你可以根據(jù)名稱到網(wǎng)上找到它,下載后不用安裝只要雙擊圖標(biāo)就可以運(yùn)行,運(yùn)行的窗口就是圖 1所示的樣子。我這里僅以 ISPlay v1.3為例,你可能下載到更新的版本,可能窗口和功能會有一些不同,不過都是大同小異的。圖 1 檢測器件第一次使用時都會用到這個功能,它可以測試實驗板和 ISP下載線是否工作正常,上一篇文章中沒能對我們辛辛苦苦制作好的兩個硬件進(jìn)行測試,現(xiàn)在可以彌補(bǔ)一下了。首先把實驗板、ISP下載線和電腦的并口連接 好,給實驗板通電。在軟件窗口的左上方的下拉列表中選擇你選用的單片機(jī)型號,

33、我用的型號是 AT89S52,然后點擊后面的“檢測器件”。所有單片機(jī)愛好者的心都關(guān)注著這一無比關(guān)鍵的時刻,放開鼠標(biāo)左鍵的瞬間我們將面臨成與敗的分歧口,我們從文 章的開始到現(xiàn)在所有的努力都系于這一次微不足道的點擊。也許你不忍看到這一幕,沒關(guān)系,閉上眼睛,用聲音告訴你何去何從。當(dāng)聽到“嘟嘟嘟”三聲則要恭喜 你,我們的制作大獲成功,在窗口下方的信息欄里同時可以看到器件的型號和特征字,歡呼之后我們就可以向下繼續(xù)了。如果聽到“嘟”一聲則說明我們還要走一段 回頭路,信息欄顯示沒有找到器件,可能這只是我們的一時馬虎大意而犯下的小錯誤導(dǎo)致的,也有重新插上電烙鐵的可能。我現(xiàn)在從書里跳出來也不能幫你解決這個 問題

34、,而且還會嚇到別人,該注意的我在上文已經(jīng)說過,現(xiàn)在只能靠你自己了。打開文件幸運(yùn)兒們請點擊“檢測器件”右邊的“文件”,彈出一個打開窗口,這里我們要選擇我們需要的“.hex”文件。我在無線電雜志光盤中放了一些 “.hex”文件,我把它們集中放到一個叫“HEX文件”的文件夾里,我們來打開“第一個程序.hex”文件。我還要嘮叨一下,這個文件夾里放的都是 HEX文件,如果你看不到擴(kuò)展名可能是你的電腦設(shè)置問題,沒有理由懷疑我的程序。擦除、寫入、校驗文件打開之后順次點擊“擦除”、“寫”、“校驗”。如果一切順利將顯示“完成”,如果出現(xiàn)校驗錯誤則重頭再來一次,如果幾次之后才成功下載的話說明電路抗干擾能力很差,檢

35、查一下電源部分和數(shù)據(jù)線的抗干擾能力??傊晒φ医?jīng)驗、失敗找原因。自動完成這個軟件是簡潔而人性化的,不然我也不會推薦給你,它的開發(fā)人員也是一個會玩單片機(jī)的朋友,他知道愛好者的疾苦,設(shè)計了“一鍵通”的功能?!皺z 測器件”的下邊有一個“AUTORUN!”按鈕,只要打開文件后點擊“AUTORUN!”,后面的擦除、寫入、校驗都可以用這一鍵完成。在窗口左下角的 “程序設(shè)置”中可以設(shè)置自動完成的內(nèi)容。這么好用的軟件卻不知道是誰設(shè)計的,不然我一定要替單片機(jī)愛好者好好地謝謝他。話分兩頭,現(xiàn)在你下載成功了嗎?成功則證明你已經(jīng)掌握了 ISP下載的方法,用同樣的方法下載文件夾里的其它 HEX文件試試,看看在這一個 L

36、ED和一個按鍵上能演義出多少種變化。值得注意的是程序下載完成后不用取下 ISP下載線,實驗板的程序運(yùn)行不受影響,但如果只撥出 ISP下載線的并口端而不撥出實驗板端的連接線時實驗板上的程序可能會無法運(yùn)行。這個下載軟件的基本使用就是這樣的,日后我們會經(jīng)常用到它。泡杯茶歇一 會,別走開下面內(nèi)容更精彩!圖 2 Keil Vision2 C51編譯器軟件繼續(xù)玩點更過癮的吧,讓你的天才想象力和創(chuàng)造力在單片機(jī)的地盤上得到施展。Keil Vision2 C51編譯器(以下簡稱 Keil)是一款優(yōu)秀的編譯軟件,同時具有仿真調(diào)試的功能,我們一般的 C51系列單片機(jī)都是用這個軟件開發(fā)程序的。換句通俗的話說,只要我們

37、學(xué)會了它就可以修改程序或是自己從頭寫程序了,在這之后你將征服單片機(jī)。關(guān)于 Keil的介紹我就不多說了,其它單片機(jī)入門文章里說得多了,而且對于務(wù)實派愛好者來說這并不重要,只要把它玩轉(zhuǎn)了比什么都強(qiáng)。 Keil編譯器安裝程序的可以到 網(wǎng)站下載設(shè)有代碼大小限制的免費試用版,就是說我們寫的程序大小不能超過 2K字節(jié),否則不能編譯、格殺毋論。初出茅廬的我們現(xiàn)在也寫不了太大的程序,先用這個將就一段時間,如果以后有需要可以通過其它途徑得到正式版的,隨著了解的深入你終會想辦法弄到的。Keil的安裝不想多說,它和其它軟件的安裝方法大同小異。雙擊安裝文件的圖標(biāo)之后就按默認(rèn)設(shè)置“下一步”、“下一步”“完成”就可以了。

38、 我為此特意在我的電腦里試驗了這個過程,保證你學(xué)得舒心、用得放心。安裝好后在桌面和開始菜單里會多出 Keil Vision2的圖標(biāo),雙擊運(yùn)行。這里希望大家下載一種已經(jīng)在網(wǎng)上流行的 Keil漢化版補(bǔ)丁,它可以將菜單和各種信息都變成中文,不論是我們的使用還是我的說明都要方便許多,這與我的英文水平很爛也有一點關(guān)系,這里我們也以中 文菜單的版本為例。圖 3所示的窗口就是 Keil的主窗口,看上去灰灰白白的沒什么特別,窗口最上方的菜單欄里我們點擊“工程à打開工程”,在彈出的打開窗口里選擇光盤里的“第一個工程”里的 “第一個程序.Uv2”文件。注意,事先應(yīng)該將光盤里的內(nèi)容復(fù)制到電腦硬盤上再打開,

39、不然在后面生成文件時會產(chǎn)生錯誤。插播一個解釋,這里所說的“工程” 是指一個項目的所有文件集合,包括一些鏈接文件、目標(biāo)文件、源代碼文件等,因為一個程序從編寫到生成 HEX文件是許多文件共同努力的結(jié)果,我們在寫程序時不是只打開一個原始的程序文件,而是要打開一個工程再在工程里面打開原始的程序文件,所以我首先打開 工程是順理成章的事情?;氐秸},“第一個程序.Uv2”打開后窗口中會自動展開一份 “第一個程序.c”,如圖 4所示。這是 C語言程序代碼,C語言是單片機(jī)編程的重要語言之一,過不了多時你就會為它手舞足蹈,但我們現(xiàn)在不聊這個,賣個關(guān)子留到以后吊你的味口?,F(xiàn)在我們只需改一 下里面的數(shù)值,并用這個方

40、法介紹一下 Keil編寫程序到下載、運(yùn)行的流程,不是我夸張,這個流程是你以后經(jīng)常用的,只要玩單片機(jī)就會用到。圖 3 圖 4 “Delay(1000); ”,這條語句你在“第一個程序.c”后邊的內(nèi)容里可以找到,括號里面有一個數(shù)值是 1000,意思是延時等待 1000個毫秒,也就是 1秒鐘,正如我們看到的效果一樣,LED每 1秒鐘閃爍一次。現(xiàn)在我們就要對它下毒手了,把它變大或變小,對應(yīng)的 LED閃爍速度也就會改變,修改的范圍是 0到 65535之間。這里我們改了一個最有動感的速度,讓 LED顯得更有激情。我們將數(shù)值改為 250,也就是 1/4秒。改好后的程序是需要重新編譯的,點擊菜單欄里的“工程&

41、#224;構(gòu)造目標(biāo)”或是直接按鍵盤上的 F7鍵,窗口下方的輸出窗口會顯示編譯的結(jié)果:“第一個程序 -0 錯誤(S), 0警告(S)”。這時 Keil已經(jīng)把 C語言文件翻譯成單片機(jī)可以看懂的 HEX文件,這個 HEX文件就生成在“第一個工程”的工程文件夾里。下面的過程就不用我說了吧,HEX文件已經(jīng)生成了,怎么下載到單片機(jī)你就看著辦吧,古有云:好話不說二遍。 “嘟嘟嘟 ”,下載成功了!看看 LED的閃爍是不是呼應(yīng)了你激動的心動節(jié)奏呢!現(xiàn)在我們都可以欣慰了,單片機(jī)世界的大門已經(jīng)關(guān)上,是把你牢牢地關(guān)在了里面。你已經(jīng)無力逃脫,而且你也不想 這樣做,你擁有了單片機(jī)的實驗平臺,為你的想象插上了大鵬的翅膀,任

42、你翱翔天際、瞰視凡塵。單片機(jī)前輩的成果供你學(xué)習(xí),無數(shù)的單片機(jī)實用制作應(yīng)接不暇。開 始吧,網(wǎng)羅所有單片機(jī)相關(guān)的技術(shù)資料為己所用,你的技術(shù)愛好進(jìn)入了全新境界。 原來如此也許你早已經(jīng)沒有耐心繼續(xù)看下面的文字了,實驗的趣味性總是能引人入勝,從實際操作的角度出發(fā)是本文的一個特點。艱苦的實驗過程幫我們打通了任 督二脈,但這并不表示習(xí)武生涯的結(jié)束,反而追根朔源成了新的渴望。了解我們實驗過程中的技術(shù)原理對于深入學(xué)習(xí)單片機(jī)技術(shù)和應(yīng)付死板的理論考試都有幫助?,F(xiàn)在找到單片機(jī)最小系統(tǒng)的電路圖,見十八變兵器圖 5。這一次就要有板有眼地說說單片機(jī)的整個工作過程。我盡量少開一些玩笑,面對純學(xué)術(shù)的知識還是懷有敬意的好,以便讓

43、大家能明白是怎么回事。先說芯片的一 般要求,這可以在圖 8上窺見一斑,AT89S52采用的是 5V的電源供電,Vcc和 GND接口是單片機(jī)的系統(tǒng)電源接口。另外它內(nèi)部集成了可以反復(fù)擦寫 10萬次且掉電不會丟失數(shù)據(jù)的存儲單元(ROM單元),我們用 ISP下載線下載的程序就存放在這里。還有一塊存儲區(qū)域是存放一些在程序運(yùn)行時的臨時數(shù)據(jù)(RAM單元),因為在 ROM單元里的數(shù)據(jù)下載后是不可以讓單片機(jī)自己改寫的,有一些經(jīng)常變換的計算結(jié)果是可以在 RAM單元里輕松改變的,但 RAM單元里的數(shù)據(jù)在掉電后就煙消云散了,雖然看上去不怎么樣,但這種結(jié)構(gòu)還是常用的,C51系列的單片機(jī)就是采用的這種存儲器結(jié)構(gòu),在日后的

44、編程歲月里 你會深有體會。以 AT89S52為例,其內(nèi)部的 RAM單元僅有 256B(字節(jié)),如果要計算或處理許多數(shù)據(jù)則需要外擴(kuò) RAM芯片,外擴(kuò)的 RAM單元最大可以達(dá)到 64KB(千字節(jié))。怎么讓單片機(jī)知道我們是使用內(nèi)部的 RAM單元還是外擴(kuò)呢,這就取決于單片機(jī)第 31腳,即 EA/VPP接口的狀態(tài)。當(dāng)單片機(jī)復(fù)位時讀得 EA/VPP接口為高電平則使用內(nèi)部 RAM單元,若為低電平則使用外擴(kuò)的 RAM單元,外擴(kuò) RAM的使用有專門的文章介紹。上面說的 RAM使用的選擇是在復(fù)位的時候,那復(fù)位又是怎么回事呢?每個看似不相關(guān)的事件都是有必然聯(lián)系,復(fù)位功能和整個單片機(jī)運(yùn)行是密不可分的。電腦主機(jī)箱上的

45、“RESET”按鍵可以讓你打到一半的游戲消失并讓電腦重新啟動,一切都從頭開始,程序不管走到哪里就要回到第一行去,電腦開機(jī)的時候也是需要復(fù)位的,那 些知識淵博的電腦設(shè)計師們已經(jīng)在你按下電源開關(guān)時悄悄地完成了復(fù)位。電腦上的故事同樣適用在單片機(jī)這里,同時也證明了我開始所說的單片機(jī)就是一個小型電腦 的說法,不過單片機(jī)芯片的設(shè)計者并沒有將復(fù)位功能的電路直接放在 AT89S52的里面,也許是他們很懶或是出于更成熟的考慮,雖然有一些單片機(jī)有內(nèi)部復(fù)位電路可是我們涉及的AT89S52沒有,總之復(fù)位電路是要我們單 片機(jī)愛好者自己設(shè)計的。有一些專用的復(fù)位芯片出售,它們都可以提供穩(wěn)定可靠的復(fù)位信號,并且賣給我們一個較

46、貴的價格。以我們現(xiàn)在的最小系統(tǒng)而言只要有一個 阻容復(fù)位電路就足夠了,這正是單片機(jī)最小系統(tǒng)電路圖中 C1和 R存在的理由。系統(tǒng)通電的瞬間,電流流入 C1一端開始給 C1充電,此過程中 C1相當(dāng)于短路狀態(tài),這巧妙地使 AT89S52的第 9腳即 RET接口連接到高電平,而這正是單片機(jī)需要的復(fù)位信號。當(dāng) C1充電完成后就相當(dāng)于繼路狀態(tài)使得 RET通過下拉電阻 R置于低電平,單片機(jī)讀到 RET為低電平時就知道復(fù)位結(jié)束可以開始工作了。讀者朋友可以在 C1的兩端并聯(lián)一個微動開關(guān),這可實現(xiàn)不斷開電源的手動復(fù)位功能,這在電路圖里沒有給出,你可以選擇使用。單片機(jī)內(nèi)部讀到高電平的復(fù)位信號時是要忙一些事 情的,它要

47、把自己內(nèi)部的東西收拾好,該回到開始位置的要移到開始位置,等它忙完了我們才可以讓它開始工作。這就需要一段復(fù)位時間,以本文中的最小系統(tǒng)電路 為例實現(xiàn)復(fù)位需要至少 12S(微秒)的時間,這是在 12.00MHz時鐘頻率時 12個時鐘脈沖或 2個機(jī)器周期的時間,這個時間的定義和產(chǎn)生是由單片機(jī)上另一個重要的電路部分實現(xiàn)的,這就是系統(tǒng)時鐘電路。上回書中我親切地稱之為晶振部分電路的家伙其實應(yīng)該叫系統(tǒng)時鐘電路,因為當(dāng)時是實踐性的說明我也就講的通俗直觀一些,這兩個名詞在業(yè)內(nèi)一講誰都 明白所指的是什么。系統(tǒng)時鐘電路是產(chǎn)生單片機(jī)用的基準(zhǔn)時間了,這可以讓單片機(jī)在你所指定的時刻精確地行動。人們以銫原子(Cs133)基態(tài)

48、的兩個超精細(xì)能 級之間躍遷所對應(yīng)輻射的 9192631770個周期所持續(xù)的時間定義為一秒,雖然看上去很復(fù)雜但這讓我們的生活多了時間觀念。單片機(jī)的時間觀念來自于一個精確的脈沖源。你可以用專用芯片或是更精密的電路制作成精確而穩(wěn)定的脈沖信號源接到單片機(jī)的 XTAL1接口。除此之外單片機(jī)的內(nèi)部還含有一個振蕩電路,它可以和外接的石英晶體(俗稱晶振)構(gòu)成時鐘脈沖,這也是本文電路中用到的方法。采用晶振電路 設(shè)計的系統(tǒng)時鐘電路一般都會接入兩個幾十皮法(pF)的電容,這是為了更好地提高晶振電路的時鐘精度,一般的單片機(jī)電路設(shè)計都有這個部分,百益而無一害。 系統(tǒng)時鐘還可以更深入地介紹,但有專門的系統(tǒng)時鐘的理論文章介

49、紹得比我專業(yè),我則多留一些文字給后面實用的制作吧。再談單片機(jī)的輸入/輸出接口,這是單片機(jī)實現(xiàn)工作的重要部分,上面談到的所有電路最終都是為了讓它動起來。輸入 /輸出接口常被稱為 I/O口(IN/OUT)是單片機(jī)實現(xiàn)信號采集、控制、通信的接口,AT89S52的 I/O口分為四組,分別是 P0、P1、P2、P3,每組又分 8位分別是 P0.0P0.7、P1.0P1.7、P2.0P2.7、P3.0P3.7共 32個 I/O口,在最小系統(tǒng)電路圖上可以了解其位置分布。每一個接口都可以作為信號的輸入或輸出使用,這是在程序中選擇的,但無論輸入還是輸出都只有高、低電平 兩種狀態(tài)。那怎么讓單片機(jī)作為輸出接口實現(xiàn)對

50、外部電路的控制呢?答案是軟硬件的完美配合,只要我們在程序中寫上“P1.0=0”則 P1.0接口被拉到低電平,實驗板上連接在 P1.0接口的 LED正極連接到 5V而負(fù)極的 P1.0為低電平,LED就會被點亮。相反的“P1.0 = 1”則 P1.0接口被拉到高電平,LED兩端同為高電平狀態(tài),LED熄滅。一高一低之間我們的 LED就閃爍了起來,這就是 I/O口輸出控制的原理。作為輸入接口的原理要從連接到 P2.0接口的微動開關(guān)入手,我們要讓單片機(jī)知道何時開關(guān)被按下就要讓它一直讀 P2.0的狀態(tài),在此之前先要用程序?qū)?P2.0設(shè)置成高電平。然后單片機(jī)不厭其煩地讀著 P2.0的電平狀態(tài),如果讀到高電平

51、則和我們事先設(shè)置的是一樣,表示沒有按下開關(guān)。微動開關(guān)的另一端是與地連接的,按下開關(guān)則 P2.0被迫與地短路即變?yōu)榈碗娖?,程序讀到的也就變成低電平,輸入功能即可實現(xiàn)。順便說一下,開關(guān)按鍵部分的程序設(shè)計還要涉及到延時去除按鍵抖動的部 分,保證讀到信號的準(zhǔn)確,在編寫程序的時候會用到這個。如果單片機(jī)的 32個 I/O口都只是一樣的功能也許你會感覺有一些單調(diào),單片機(jī)設(shè)計者們可能也這樣認(rèn)為,于是他們設(shè)計了一些復(fù)用功能,就是部分 I/O口可以當(dāng)其它功能使用。AT89S52的復(fù)用功能多種多樣,有一路兩線串口與 P3.0、P3.1復(fù)用,兩路硬件中斷與 P3.2、P3.3復(fù)用等等,更奇妙的是 P0接口是具有輸入、

52、輸出、高阻抗的三態(tài) I/O口,這些功能在特殊場合都很實用,我們可以在 AT89S52的原版技術(shù)手冊上了解這些內(nèi)容。有一些資料是權(quán)威的,這里必須要提一下。有誰比單片機(jī)的設(shè)計者更了解單片機(jī)呢?大家都能看得出這是設(shè)問句,所以我們要看設(shè)計者們寫的單片機(jī)文章 才權(quán)威,從文章中我們可以最全面而系統(tǒng)地了解 AT89S52,包括它的電氣參數(shù)、系統(tǒng)結(jié)構(gòu)、指令集等。雖然這讓我辛辛苦苦寫的這篇文章顯得一無事處,但我還是向大家推薦 AT89S52的原版技術(shù)手冊。不用擔(dān)心,它是免費的,可以在網(wǎng)上搜索到該技術(shù)手冊的電子版,等待你茶余飯后細(xì)細(xì)品味。到此為止,單片機(jī)的理論與實踐全部完成,我松了一口氣,也不知我說得對不對、細(xì)不

53、細(xì)、好不好。我既希望簡單明了又希望面面俱到,既想輕松風(fēng)趣又 想認(rèn)真嚴(yán)謹(jǐn)。不能單調(diào)無趣、不可一帶而過,我用我的寫作方式與大家分享一個故事,一個無線電愛好者與單片機(jī)之間的浪漫愛情故事。用武之地好的結(jié)束是成功的明證! “跟隨文中的制作部分可以制作出以單片機(jī)為核心的實用小作品”,是否還記得這一充滿誘惑的承諾,下面的文字中我將如數(shù)兌現(xiàn)。本來我所制作過的東西并不 多,還要從中找到一些最能吸引眼球的真是不容易。我要盡量找到簡單易制的東西,要讓大家輕松找到單片機(jī)制作的成功感覺;制作的東西要有實用性,不能把辛辛 苦苦忙了幾天的制作成果丟在角落里蓋滿了灰塵;除此之外它還要是精致的、出類拔萃的,每個制作都要有自己獨

54、特之處,從制作中可以了解許多原理、獲得更多經(jīng) 歷。最后精心挑選了下面的幾個小制作,附上它們詳細(xì)制作介紹和成品的使用說明,你會發(fā)現(xiàn)它們是與眾不同的,而且都可以做到商品級別。心靈手巧的你可以多制 作幾個送給好朋友或是心怡已久的女生。各制作的內(nèi)容都是相互獨立的,可以選擇自己喜歡的來制作。所有制作項目在本期配刊光盤里都放了整個工程進(jìn)去,程序中 的關(guān)鍵語句都有詳細(xì)的注釋,參考這些系統(tǒng)而完整的程序來學(xué)習(xí)單片機(jī)編程要比看一大堆流水彩燈的小程序更有意義。以下的所有制作都沒有電源部分電路圖,幸好它們都是 5V電源供電,可以用一套成熟的電源設(shè)計放之四海而皆準(zhǔn)。我提供你參考的電源設(shè)計,見十八般兵器圖 4,據(jù)說這是經(jīng)

55、典的電源電路,至少電路圖看起來很漂亮,不是嗎? 3208 LED點陣電子鐘這是我最成功的作品之一,到目前我已經(jīng)把版本升級到了 3.0,技術(shù)上已經(jīng)較成熟,而且我設(shè)計的強(qiáng)大功能也讓它非常實用。我制作的第一臺電子鐘樣品現(xiàn)在就安靜地躺在書桌上。高度的認(rèn)真和耐心需要在這個制作過程 中堅持到底,這是相當(dāng)必要的,整個電路的復(fù)雜并不算可怕,反而是對單片機(jī)電路制作的陌生容易產(chǎn)生畏懼。別怕,至少還有我,我總會陪在你身邊,把需要注意的 地方、難理解的內(nèi)容說清楚,實在不行的話你還可以在網(wǎng)上找到我,幫你在線解決問題,如果那時我還活著。圖 1 作品介紹制作之前先介紹一下這個電子鐘的實用功能,看看這個小家伙是不是你的生活所

56、需。我盡量用電子商品促銷廣告的形式介紹這個電子鐘,令其老少咸宜、 婦孺皆知。在網(wǎng)上,這款電子鐘已經(jīng)成為單片機(jī)愛好者喜愛的制作對象,借助無線電雜志您將率先領(lǐng)略它的魅力,心動不如快行動,趕快打起精神制作吧!功能特點 · 采用獨特的 8行 32列 LED點陣顯示屏作為顯示單元,其顯示亮度高、自發(fā)光、無視角,制作者可以隨意選擇屏幕大小和發(fā)光顏色,其優(yōu)勢在眾多時鐘顯示屏中脫穎而出。 · 日期、時間、星期、溫度全信息交替顯示,所需信息一目了然。 · 采用專業(yè)時鐘芯片 DS1302和備用電池,時鐘掉電依然走時,用戶設(shè)置鬧鐘時間永久保存。 · 遠(yuǎn)離機(jī)身的溫度傳感器設(shè)計,

57、060環(huán)境溫度顯示更精確。 · 全功能菜單操作,4個按鍵操作,可加減調(diào)時,操作方便。 · 8路獨立鬧鐘功能,可以設(shè)置獨立鬧鐘時間和模式,大鬧生活每一天。 · 多種整點報時時間范圍設(shè)置,保證休息時間不打擾。 · 多種操作提示音,高音量鬧鐘音,耳目一新。 · 設(shè)計有全屏 LED點陣測試功能,制作和使用時輕松檢查 LED壞點。 · 首次通電時可自動初始化時鐘芯片。 采購時間又要拉清單了,有一些“視情況而定”的元器件就是看你喜歡什么款式或是看能買到什么樣的款式。表 1所示是 3208LED電子鐘元器件清單,將這個表單打印出來直接展示給賣元器件

58、的老板看,一根煙的功夫交上錢提著東西就回家了。表 1 你知道現(xiàn)在我要說什么嗎?用后腦勺想都能知道我又要嘮叨幾句了。干我們這行的不僅硬件、軟件都要會,還要有動手能力,在制作 3208LED電子鐘的過程中可以給自己的動手能力打分。表 1的第一項是 LED點陣屏,我可不是隨便就把它放到前面的,整個制作最重要的器件就是它。假如你到了電子市場,首先就是找一款 LED點陣屏,它要是 8行 8列單色點陣屏,柜臺玻璃下面擺滿不同大小和風(fēng)格的,你要考慮后繼電路板的大小還有你想設(shè)計的樣子。選 4塊同樣的點陣屏橫著擺成一列,這就是它未來的樣子,每塊單價在 5元8元左右,賣屏的老板會說這是最低價了,其實還可以砍砍。買到手里的 LED點陣屏要注意它的引腳,一般它并不會如你我想象的那樣按順序排列好,而是需要用萬用表測量的,把表打到測試二極管的擋位(一般用歐姆擋也可以),隨 機(jī)地找兩個引腳測試,看著前面的 LED有沒有點亮的,沒有則改其他引腳再試,有則將引腳位置、點亮的 LED的行列位置和極性記錄下來。最后我們將得到一份完整的 LED點陣列數(shù)據(jù)表,這是非常重要的數(shù)據(jù),不可以有一點差錯。圖2所示是 8×8LED點陣屏內(nèi)部結(jié)構(gòu),16條引腳我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論