久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

圖文并茂單片機

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年06月09日   【字體:

看到不少人對單片機感興趣,但是不知道怎么玩。近日閑來無事,翻出之前自己當(dāng)初學(xué)習(xí)單片機的時候DIY的板子,今天我就按照我以前的學(xué)習(xí)單片機經(jīng)歷談?wù)剢纹瑱C,圖文并茂、力求用通俗的說法,讓大家了解的更透徹!

先看單片機,上圖:

(AT89S52單片機)

單片機就是一個大的集成電路;通常是DIP—40腳封裝的。

講的通俗些,就是:單片機就是用程序控制周邊電路工作的一顆IC集成電路;通過向這顆IC寫入不同的程序,來實現(xiàn)不同的控制功能。這與我們常見的數(shù)字模擬電路不一樣,傳統(tǒng)的電路一旦硬件確定了,你的電路各個運行參數(shù)的輸入、輸出也就是不變的了(比如大家做揚聲器繼電保護電路,一旦充放電電容電阻確定了,延時時間就定了,除非換硬件,才可改變開關(guān)切換時間)。但是有了單片機的參與卻可以在硬件不變的情況下,通過更新軟件來得到更多的功能(好比一臺電腦CPU、主板、內(nèi)存、硬盤等硬件是確定的,但是可以通過編寫不同的軟件,得到更多的實用功能)。

模擬單片機的閃爍程序流程

舉個簡單的例子,看看單片機的實際用途

看下圖,通過向單片機寫不同程序完成不同功能(這是一個單片機的最小化工作板+外圍電路)。下圖是單片機控制單片機顯示圖片,當(dāng)然你可以通過單片機在LCD上面顯示任何畫面漢字,是不是很有趣!

1、單片機小實驗板+LCD12864點陣液晶

上面是單片機控制常用的點陣液晶顯示器,可以顯示圖片LOGO或者文字,總之你所以想到的,單片機基本都可以顯示出來。

2、單片機小實驗板+數(shù)碼管+紅外接收頭

上面是單片機控制數(shù)碼管顯示數(shù)字;還可以外接紅外接收頭,接受遙控器發(fā)來的按鍵顯示相應(yīng)的數(shù)字字母。

當(dāng)然還可以做很多有趣的有用的試驗,大家繼續(xù)往下看,你就會體會到單片機的神奇之處!

言歸正傳,繼續(xù)漫談單片機:

通常,也有人常把單片機比作微電腦/微處理單元(MCU----micro computer unit)。說白了,就是用個單片機寫幾個小程序,然后配合一些電路模塊產(chǎn)生特定頻率的脈沖嘛......

其實,單片機在我們現(xiàn)實生活中用的很多,比如說馬路邊的10秒自動翻轉(zhuǎn)一次的滾動廣告牌、車站銀行的大屏幕信息顯示牌、全自動洗衣機控制核心、做飯用的電磁爐控制核心、坐公交車使用的公交IC卡讀卡器等等。

簡單的說一下,單片機在音響DIY上可以用來做開機延時保護、遙控音量控制、音源選擇、液晶/數(shù)碼管顯示、自動開關(guān)機、設(shè)置參數(shù)記憶等等。所有你可以想到的功能(然而實現(xiàn)這全部功能只需要一片單片機、幾個三極管、繼電器、數(shù)碼管、遙控器,就可以全部搞定) !

可能會有人會忽然想到,既然單片機要運行程序才能工作,那單片機是不是也得有存儲程序的地方,要不然程序放到哪里?既然有了程序單片機要跑程序是不是要有速度和頻率的?

聯(lián)想到我們現(xiàn)在上網(wǎng)的電腦,我們知道我們的主機電腦配置有:
1.CPU(速度:PIII800MHZ,32 位處理器)
2.硬盤:外置160G
3.內(nèi)存:外置512M
4.主板:XX主板(外部接口:打印機口、串口、鼠標(biāo)接口、USB接口、網(wǎng)口、鍵盤口等)
5.電源:ATX電源(+-12V、+-5V、3.3V)

有了這樣的配置,電腦就可以啟動工作了!

那么單片機呢?我們也可以和PC機對比一下(拿單片機AT89S52來說):
1.CPU(速度:24MHZ,8位處理器)
2.硬盤 :IC內(nèi)置8K
3.內(nèi)存: IC內(nèi)置512字節(jié)
4.主板: IC內(nèi)置(外部接口:串口,8位數(shù)據(jù)口線P0、P1、P2、P3)
5.電源:5V直流電源

有了這樣的配置,單片機就可以工作了!

有一點要特別說明,AT89S52這顆IC里面已經(jīng)集成包含了前四項項,因此,我們只需要加上電源和一些附加原件就可以讓它工作了!

也許大家通過對比之后會覺得單片機太落后!速度慢不說,而且資源都比不上PC電腦。我可以先說明一下:AT89S52可不是用來運行WINDOS-XP和游戲的,它的長處在于控制!家電需要的是小而精巧夠用,當(dāng)然價格也很重要!

好了,現(xiàn)在我們就自己動手組裝一臺單片機電腦玩玩吧!

首先,這個圖是完整的單片機最小圖,就像電腦主機一樣,你需要額外的附加功能,只需要外接其他板卡連接主板就可以了!

根據(jù)上面的電路圖,我們需要準(zhǔn)備的配件:AT89S52單片機*1;11.0592MHZ晶振一只+30P電容兩只;IC座一只;10K電阻一只,10K排阻一只;10UF電容一只;電源開關(guān)一只;小按鍵一只;470R電阻+LED發(fā)光管幾只。

我們把原件按上面的電路,在萬用板上面搭建起來。

再來分析一下上面的原理圖:

上面的電路是單片機AT89S52的最工作基本電路。就是說,只要有單片機都必須有這些外圍器件才可以工作,下面分析一下電路:

1.晶振+18P電容*2

11.0592MHZ晶振是為單片機提供頻率的(好比我們的電腦CPU主頻是2.4G),當(dāng)然這個頻率是可以改變的,你也可以換成24MHZ、36MHZ的晶振,頻率越高,單片機工作速度越快。電容是起補償作用的,我們不用理會;

2.復(fù)位電路

在單片機的第9腳RST腳有一個10K電阻和10UF電容,組成上電復(fù)位電路,只要按下按鍵,就會產(chǎn)生高低電平從而導(dǎo)致單片機重啟。(和電腦主機上面的熱啟動效果是一樣)

3.工作電壓5V

AT89S52要工作在5V電壓下。

4.10K排阻

因為我們要使用P0口做控制試驗,這個10K的電阻接在5V電源起上拉作用是不能少的。(具體原因大家可以查AT89S52單片機的相關(guān)資料)

5.雙排10芯插座(也可用雙排排陣代替)

這個是和“ISP編程器”連接的接口,我們到時候向單片機里面燒寫程序的時候,通過這個座子連接電腦,向單片機里面寫程序(就像MP3通過USB線連接電腦,向MP3里面拷貝歌曲一樣)

6.電源開關(guān)

這個簡單,就不說了。

最終焊接好的電路如下:(為了做實驗方便,額外添加了其他電路,暫且不管)

下面,我們就來按照上面的原理圖,做一個最基本的亮燈實驗:這個實驗是單片機上電后,接在P0.0的小燈不斷的以1S的間隔閃爍(大家可以想一想,如果要用純粹硬件,該怎么實現(xiàn))!

程序?qū)崿F(xiàn)思路:

上電后,單片機運行程序,我們讓P0.0輸出高電平1(在程序里面高電平是1,低電平是0;對應(yīng)的端口輸出電平是1----->5V,0----GND),燈就不會亮;如果輸出低電平0(相當(dāng)與P00接地),燈就會亮,我們在兩滅之間插入延時,OK!

對應(yīng)程序:(假如還沒有學(xué)過C語言的話,先做個最簡單的)
Loop:
P00=1;    //P00口輸出5V,此時燈滅
Delay(1S);  //延時1S,讓燈亮1S
P00=0;       //P00口輸出0V,相當(dāng)于接GND,此時燈亮 
Delay(1S);  //再延時1S,讓燈滅1S
goto Loop; //在跑到剛才的程序起始開頭Loop:的地方不斷循環(huán)

只需要上面幾句話,就可以完成那個燈閃爍功能了!(是不是很簡單)

下面這段程序是標(biāo)準(zhǔn)的C語言,在上面的代碼上添加了編譯器的語法,因此可以直接在KEIL C51編譯器下面運行。看代碼,其實很簡單:

#include "reg52.h"
sbit led = P0^0;    //管腳定義 類似于起名字用led 來代替P00 管腳,程序可讀性強
 //使用者一看就知道P00管腳接的是LED       
// 函數(shù)聲明                               
void delay (unsigned int d_time); //作用:燈亮和滅必須持續(xù)一定時間,人眼才能分辨出來
// *******************************************************
// 主函數(shù)
//通常主函數(shù)都是一個無限循環(huán),在循環(huán)里面不斷處理任務(wù)。
void main (void)
{
while (TRUE)                        //死循環(huán)        
{led = 1;                     //點亮 小燈
  delay (50000);                //延時時間長度
  led = 0;                        //熄滅 小燈
   delay (50000);                //延時時間長度}
}
// 延時子函數(shù)
// 參數(shù)范圍 0-65536
void delay (unsigned int d_time)  
{for(; d_time>0; d_time--);}

然后,通過KEIL軟件,可以編譯生成往單片機里面燒寫的軟件。(具體可以去網(wǎng)上搜索)通過KEIL編譯生成LED.HEX文件,我們就可以把這個文件燒寫進單片機了。實際運行結(jié)果如下圖:

可以看到,接在單片機P00口線上面的紅色LED小燈在不斷的以1S的周期閃爍(當(dāng)然,時間是可以變的),你只要改變1S的延時就可以了,改一下程序,僅此而已!  

說到這里,還有一個很重要的中間步驟:就是如何向單片機里面下載程序!其實,在早些時候向單片機寫程序就像刻錄光盤一樣有專門的工具,這種工具就是編程器。(一般編程器很貴,我們DIYER都用不起)很多單片機大都需要12V的編程電壓才可燒寫進去程序,學(xué)習(xí)試驗,來回插拔IC也不方便。

如果你去升級電腦BIOS失敗,去修過電腦,一般修電腦的商家都有燒寫B(tài)IOS的工具,那就是編程器。一般這種編程器支持?jǐn)?shù)百個廠家的單片機品牌,使用范圍很廣。

隨著科技的發(fā)展,有些廠家推出了FLASH型的單片機,比如AT89S52,支持5V編程操作,就像使用U盤一樣,可以很容易的反復(fù)地COPY寫入程序文件上萬次都不會損壞。且不需要專用的編程器,這對于我們DIY可真是福音啊!我就DIY了一個下載線,非常好用,花費才不到二十元!

言歸正傳,我們這里就需要另外一個東西,類似于USB線的一個ISP下載線編程工具

大家可以看到:連接單片機實驗板和計算機的就是一個叫ISP的下載線,我們繼續(xù)發(fā)揚DIY精神,DIY這個ISP下載線:

我們?nèi)ベI一個DB—25的并口座(見下圖),連接計算機的打印口,還有一片74HC244、若干電阻等,按照上圖DIY。

上圖就是ISP下載線,用以連接電腦并口和單片機實驗板之間的下載程序工具。

簡單介紹單片機ISP下載線:

ISP是在系統(tǒng)編程的英文縮寫(In-System Programming)。簡單的說,就是不用插拔芯片,也不需要專用編程器,就可以在你的單片機試驗板上直接對單片機編程(也就是直接向單片機里面擦除和寫入新程序),使用非常方便。

舉個列子,我們把單片機實驗板比作MP3,你如果想要往MP3里面COPY音樂,就必須通過一條USB數(shù)據(jù)線連接MP3和電腦,然后就可以寫入音樂。

單片機ISP下載線的作用也如此,通過DIY的單片機下載i線可以連接計算機和單片機;由于單片機本身沒有USB通訊接口,因此就不能使用USB數(shù)據(jù)線,就要是用上面DIY的并口下載線。

假如說我們已經(jīng)按照上面的電路圖做好下載線,接下來:下載線做好了那么怎么使用呢?

我們看到上圖有個Header5X2的插頭,插頭對應(yīng)的就是AT89S52的對應(yīng)口線,找到AT89S52的datasheet數(shù)據(jù)手冊,我們看到在AT89S52的文檔中詳細(xì)列舉出了各管腳使用說明,因此我們把對應(yīng)的下載線接口一一對應(yīng)到單片機實驗板的口線上面,就可對其進行編程操作,在學(xué)習(xí)板的那副小圖片上面也有10芯插座是對應(yīng)這個下載線的:MOSI—-MOSI;MISO---MISO;RST----RST;SCK---- SCK;VCC---VCC;GND----GND

對應(yīng)連接之后就可以了,然后一邊連接計算機并口:

看到了吧:計算機主板后面的那個紅色的插座就是并口插座(也叫打印機插座,25針)!

OK!這個下載線的并口座子正好可以插到主板上面!

然后,下載線另外一邊通過10芯扁平線纜,連接單片機實驗板,檢查無誤!我們接下來就是下載程序了,

要下載程序還要專用的SLISP下載軟件,我們可以到這里下載:

安裝打開:1.安裝完畢之后運行軟件;

2.雙擊SLISP圖標(biāo)

3.接著,顯示如下圖操作界面:

(注意:在設(shè)置下載速率里面有相關(guān)5選項——TURBO 極速;FAST 快速;NORMAL 正常;SLOW 慢速;TURBO SLOW 緩慢),每臺計算機性能不一樣,可以先從高到低,找一個適合自己PC性能的速度,分別嘗試幾次;

4.點擊編程,等待進度條提示下載程序完成。如下:可以看到下載線正在下載程序:

5.下載程序完成:擦除完成,寫入FLASH完成,校驗完成!

(程序已經(jīng)寫進單片機里面,如果修改單片機的程序,請重復(fù)以上步驟)

注意:如果有時候出現(xiàn)了下載失敗,那么需要檢查一下硬件:

1.檢查并口下載線和單片機對應(yīng)管腳連接是否正確,要保證做到對應(yīng):MOSI—-MOSI;MISO---MISO;RST----RST;SCK----SCK;VCC---VCC;GND----GND

2.單片機實驗板+5V電源是不是已經(jīng)打開;

3.最小化實驗板,就是第一張電路圖的硬件是不是百分百連接正確。

只要保證上面的全部OK,如果電腦打印機口好的話,肯定是百分百可以隨意擦除下載了!

通過上面的講述,我們知道了如何向單片機寫入程序!

單片機遙控套件分析

如果大家看到HIFIDIY主頁上面的DIY商城里面有一個遙控套件的話,一定會注意到套件上面有兩個數(shù)碼管,看下圖:

上面的兩個8字的就是數(shù)碼管,我們仔細(xì)看一下它的用法以及結(jié)構(gòu):

上面的是數(shù)碼管的正面圖和反面圖。注意到上面有10個引腳,其中有兩個是公共的陽極,就是接電源(+5V)的管腳,剩余8個管腳一次對應(yīng)數(shù)碼管的8.字上面的八個筆畫,具體見下圖:

一般單片機用共陽的比較多,就是上圖的第二個數(shù)碼管。

怎么和單片機接?

由于單片機有40個腳,除去電源地和其他的腳,還剩下4*8=32個引腳(P0*8,P1*8,P2*8,P3*),我們?nèi)0的8條口線接數(shù)碼管的a、b、c、d、e、f、g、dp,就可以控制每個數(shù)碼管的比劃兩滅,就像上面講的閃爍燈一樣方便。

換句話說,同時控制口線輸出高低就可控制數(shù)碼管顯示"0,1,2,3...........",這就是程序的妙處。

下面做一個試驗:實驗?zāi)康?mdash;—數(shù)碼管接在單片機的P0口,每隔1S鐘,數(shù)碼一次從0 , 1  ,2 ....8 , 9 之間變化。

按照下圖先做一個紅外遙控數(shù)碼管試驗,可以為今后做遙控功放做下鋪墊,有興趣的朋友可以照圖自己試試玩玩!

先找個遙控器,這個遙控器是很常見的,在電腦城里面很多車載MP3都是用的這個遙控器。

全家福:

開始做實驗:

程序的作用是檢測紅外接手頭又沒有接收到紅外信號,如果接收到判斷是哪一個遙控按鍵按下,然后在數(shù)碼管上面顯示相應(yīng)的數(shù)字。

由于感覺隨時用萬用面包板搭電路做實驗有些費事!干脆畫PCB做了些單片機試驗板,專門給大家講解,大家也好理解一些!

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 中文字幕在线观看视频网站 | 欧美一区视频 | 一级黄色毛片a | 午夜av在线| 日本淫视频 | 成人三级网址 | 亚洲精品一区国语对白 | 亚洲综合久久精品 | 天天干视频 | 成人在线视频网 | 欧美日韩不卡在线 | 国产精品久久久亚洲 | 久久99久久 | 成人在线一区二区三区 | www.天堂av.com | 能看的av网站 | 久国久产久精永久网页 | 在线观看免费av网 | 国产精品免费一区二区三区四区 | 日韩专区中文字幕 | 亚洲国产成人精品女人久久久野战 | 亚洲视频欧美视频 | 国产成人久久av免费高清密臂 | 欧美在线不卡 | 96国产精品久久久久aⅴ四区 | 久久新| 一级做a爰片性色毛片 | 韩国精品一区二区三区 | 日本淫视频 | 亚洲导航深夜福利涩涩屋 | 色综合久久88色综合天天 | 国产日韩一区二区 | 91就要激情 | 天天干天天爱天天操 | 国产一级淫片a直接免费看 免费a网站 | 欧美456| 久草新在线| 国产91在线播放精品91 | 欧美一级片在线看 | 亚洲经典一区 | 欧美日韩福利视频 |