找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6752|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

[原創(chuàng)]單片機(jī)入門(mén)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:6532 發(fā)表于 2009-5-12 14:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
學(xué)習(xí)單片機(jī)的教程已經(jīng)很普遍了,讓我來(lái)簡(jiǎn)單的介紹一下吧!接觸單片機(jī)已有6個(gè)月了,自我覺(jué)得很有意思。單片機(jī)無(wú)非就那樣子,只要撐握了單片機(jī)芯片內(nèi)部規(guī)律,誰(shuí)都會(huì)寫(xiě).還有就是多看一些別人寫(xiě)的程序,并做一分析,了解他們思路.我覺(jué)得只要思路是對(duì)了,寫(xiě)起程序來(lái)如魚(yú)得水。非常簡(jiǎn)單.下面我來(lái)介紹下單片機(jī)幾點(diǎn)要害.請(qǐng)大家認(rèn)真看!
一、什么是單片機(jī)呢?
1、大家知道一臺(tái)電腦是于那幾個(gè)部件組成的啊?
(1)CPU
(2)硬盤(pán)
(3)內(nèi)存
(4)主板
(5)等等。
這些東西是裝在一個(gè)叫主機(jī),相信這個(gè)大家都知道對(duì)不對(duì)?
2、但是如果我把它們組在一起制成一塊芯片(CPU,硬盤(pán),內(nèi)存,主板),當(dāng)做集成芯片輸出,這樣是不是很輕巧放便呢?
3、現(xiàn)在大家想想看買(mǎi)這么一塊集成芯片在市場(chǎng)上賣(mài)值多少錢(qián)?它可是具備了計(jì)算機(jī)的功能啊。會(huì)不會(huì)是很貴?
不,價(jià)格并不高,從幾元人民幣到幾十元人民幣,體積也不大,一般用40腳封裝,當(dāng)然功能多一些單片機(jī)也有引腳比較多的,如68引腳,功能少的只有10多個(gè)或20多個(gè)引腳,有的甚至只8只引腳等。
4、當(dāng)然,在單片機(jī)機(jī)內(nèi)部,CPU,硬盤(pán),內(nèi)存,主板等等東西要改個(gè)名字了。
(1)CPU,它的名字沒(méi)有改,還是叫CPU(Central Processing Unit)。它是單片機(jī)的核心部件,包括運(yùn)算器和控制器。運(yùn)算器既是算術(shù)邏輯單元ALU(Arithmetic logic Unit),其功能是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算?刂破饕话阌芍噶罴拇嫫鳌⒅噶钭g碼器、時(shí)序電路和控制電路組成。起作用是完成取指令、將指令譯碼形成各種微操作并執(zhí)行指令,同時(shí)控制計(jì)算機(jī)的各個(gè)部件有條不紊地工作。
(2)“硬盤(pán)”,改了名字,叫程序存儲(chǔ)器,也叫只讀存儲(chǔ)器。用ROM(Read only memery)表示。其作用和硬盤(pán)差不多,用來(lái)存放用戶(hù)程序。特點(diǎn)是:掉電后不會(huì)丟失數(shù)據(jù)。
(3)“內(nèi)存”,也改了名字,在單片機(jī)里叫數(shù)據(jù)存儲(chǔ)器,也叫隨機(jī)存儲(chǔ)器。用RAM(Random Access Memery)表示。其作用是用于存放運(yùn)算的中間結(jié)果,數(shù)據(jù)暫村和緩沖,標(biāo)志位等。特點(diǎn)是:掉電后會(huì)丟失數(shù)據(jù)。
(4)“主板”,也改了名字,叫做I/O(輸入輸出設(shè)備)當(dāng)然也包含了串行口,并行口,定時(shí)器,記時(shí)器等等。
5、以上談到的這些東西都在哪個(gè)集成塊里面。我們把集成了這些東西的集成塊叫做單片機(jī)。有些外國(guó)人叫微控制單元MCU(Micro Controller Unit),也有人叫嵌入式控制器(Embedded Controller),F(xiàn)在明白了什么是單片機(jī)嗎?
6、我總結(jié)一下:將CPU、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、I/O接口電路、定時(shí)器/計(jì)數(shù)器等計(jì)算機(jī)部件集成在一塊芯片上,具有獨(dú)特功能的單片微型計(jì)算機(jī)稱(chēng)著單片機(jī),F(xiàn)在總明白了什么是單片機(jī)吧!
請(qǐng)大家用自己的話(huà)闡述一遍什么是單片機(jī)??
二、當(dāng)我們明白了什么是單片機(jī)后,再來(lái)猜猜一般的單片機(jī)的價(jià)格吧?
(1)Intel公司1980年推出的標(biāo)準(zhǔn)MCS-51內(nèi)核8051現(xiàn)在要7到10塊錢(qián)。
(2)Atmel公司的AT89c51,AT89s51,AT89c52,AT89s52一般在7塊錢(qián)左右。
三、我想大家會(huì)想一個(gè)“電腦”竟然是10塊錢(qián)以?xún)?nèi)?功能怎么樣?有什么用?
我可以告訴大家,它的功能很強(qiáng)大,是以后電子產(chǎn)品的發(fā)展方向。只要具有了智能的電子產(chǎn)品,就少不了彈片機(jī)技術(shù)。非常有用,就業(yè)前景非常之好。那么大家一定很想學(xué)了,于是去買(mǎi)了本書(shū)看。
哈哈,看不懂吧,感覺(jué)好難吧?那是因?yàn)槟銢](méi)有掌握好學(xué)習(xí)單片機(jī)的方法。學(xué)單片機(jī)光看書(shū)是不夠的,也是學(xué)不會(huì)的。學(xué)單片機(jī)是需要有以下幾個(gè)條件的! 就是要有信息,多看一些別人寫(xiě)的程序,照著他們思維抄下來(lái),買(mǎi)塊實(shí)驗(yàn)板操作下.要是有仿真軟件也可以的.自畫(huà)電路圖自寫(xiě)程序,這也是一個(gè)好方法啊
四、學(xué)習(xí)單片機(jī)需要什么條件?
(1)一臺(tái)電腦——用于編程和學(xué)習(xí)。(單片機(jī)運(yùn)行要求不低,最低的配制也能運(yùn)行的)
(2)編程器——用于把編寫(xiě)好的程序?qū)懙叫酒。(現(xiàn)在買(mǎi)款編程器也很便宜的,花上一兩百塊就能擁有一款,非常實(shí)用)
(5)需要編程器進(jìn)這個(gè)網(wǎng)站 http://www.51dz.com/n.asp?dl=2&xl=7&fw=&gjz=&pg=2&id=12812&i=51dzwen 里有很多款式.(非常適合初學(xué)者學(xué)習(xí)使用)
五、有了這些東西,如果你已經(jīng)學(xué)了一點(diǎn)單片機(jī)知識(shí)的話(huà),就可以做搞開(kāi)發(fā)了。
下面我來(lái)談?wù)剢纹瑱C(jī)開(kāi)發(fā)的過(guò)程,以做流水燈為例進(jìn)行講解。
(1)設(shè)計(jì)好硬件電路圖
按下圖把單片機(jī)的各個(gè)腳和元器件連接起來(lái):
http://www.51dz.com/mpic/89c51.gif

(2)在電腦上用軟件(如keil c51)編寫(xiě)程序。
實(shí)驗(yàn)1最簡(jiǎn)單的8路跑馬燈。用一條8PIN的數(shù)據(jù)排線(xiàn)把CPU部份的P1口(JP44)連接到八路指示燈部份的JP32
;可以看到8路燈輪流閃爍
org 0000h ;開(kāi)始
ajmp loop
org 0030h ;到0030h處避開(kāi)00-30的敏感地址
loop:
mov p1,#0ffh;關(guān)閉所有燈
clr p1.0 ;點(diǎn)亮燈p1.0
lcall delay ;延時(shí)一段時(shí)間?
clr p1.1 ;點(diǎn)亮燈p1.1
lcall delay
clr p1.2 ;點(diǎn)亮燈p1.2
lcall delay
clr p1.3 ;點(diǎn)亮燈p1.3
lcall delay
clr p1.4 ;點(diǎn)亮燈p1.4
lcall delay
clr p1.5 ;點(diǎn)亮燈p1.5
lcall delay
clr p1.6 ;點(diǎn)亮燈p1.6
lcall delay
clr p1.7 ;點(diǎn)亮燈p1.7
lcall delay
AJMP LOOP;到最開(kāi)始loop處重新運(yùn)行
delay: mov r5,#20 ;延時(shí)。
d1: mov r6,#40
d2: mov r7,#248
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
end

接線(xiàn)方法: 用一條8PIN的數(shù)據(jù)排線(xiàn)把CPU部份的P1口(JP44)連接到八路指示燈部份的JP32
接線(xiàn)圖以及運(yùn)行瞬間的照片(可以看到8路指示燈輪流點(diǎn)亮)  
(3)用編程器或者單片機(jī)實(shí)驗(yàn)板把程序從電腦中輸入到單片機(jī)芯片中
(4)接上電源,流水燈工作。
六、好了.于是時(shí)間關(guān)系,就暫寫(xiě)到這里.目前這個(gè)網(wǎng)站五一大優(yōu)惠活動(dòng):
 http://www.51dz.com/b.asp?l=0&id=11317&pg=1
   
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:12720 發(fā)表于 2009-5-12 20:59 | 只看該作者
你好,我是一位新手,想請(qǐng)教下這個(gè)程序里djnz r7,$是什么意思,謝謝!
回復(fù)

使用道具 舉報(bào)

板凳
ID:2006 發(fā)表于 2009-5-13 10:06 | 只看該作者
DJNZ    R7,$   ;當(dāng)R7的內(nèi)容減1不等于0的時(shí)候在本指令循環(huán),直到R7的內(nèi)容為0時(shí),才執(zhí)行下一條指令
回復(fù)

使用道具 舉報(bào)

地板
ID:12718 發(fā)表于 2009-5-13 11:42 | 只看該作者

就是在原地址循環(huán).

回復(fù)

使用道具 舉報(bào)

5#
ID:61326 發(fā)表于 2014-5-4 11:46 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

6#
ID:61343 發(fā)表于 2014-5-26 16:19 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表