在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)學(xué)習(xí)之五:基本I/O口試驗(yàn)-點(diǎn)亮二極管

            單片機(jī)學(xué)習(xí)之五:基本I/O口試驗(yàn)-點(diǎn)亮二極管

            作者: 時(shí)間:2016-09-16 來(lái)源:網(wǎng)絡(luò) 收藏

              實(shí)驗(yàn)一、基本口試驗(yàn):點(diǎn)亮

            本文引用地址:http://www.biyoush.com/article/201609/297024.htm

              1、 試驗(yàn)現(xiàn)象:

              8個(gè)間隔發(fā)光。

              2、 試驗(yàn)?zāi)康模?/p>

              了解最簡(jiǎn)單的單片機(jī)程序的編寫方法;

              了解單片機(jī)口驅(qū)動(dòng)的方法

              3、 試驗(yàn)任務(wù)分析:

              要想讓二極管按照我們的要求發(fā)光,首先要搞清楚電路的連接形式,我們先只看和這部分內(nèi)容有關(guān)的電路。當(dāng)JMP0跳線接在12位置時(shí)(選通二極管顯示),電路如下圖所示:

              

             

              下面,我分別把單片機(jī)各管腳功能作一簡(jiǎn)單解釋:

              XTAL1和XTAL2端:

              由于單片機(jī)是一種時(shí)序電路,工作的時(shí)候必須外加時(shí)鐘周期,沒(méi)有時(shí)鐘周期,就不能執(zhí)行程序代碼,單片機(jī)就不能工作。

              XTAL1和XTAL2即為外接時(shí)鐘引腳。時(shí)鐘的產(chǎn)生有兩種方式,內(nèi)部方式產(chǎn)生和外部方式產(chǎn)生。該電路是內(nèi)部方式產(chǎn)生時(shí)鐘的典型電路,內(nèi)部時(shí)鐘的晶振頻率一般是4M~12M之間,學(xué)習(xí)板上用的是12M的晶振,外接兩個(gè)諧振電容。該電容的典型值是30pf。

              RST端:

              RST是復(fù)位端,簡(jiǎn)單的說(shuō),單片機(jī)的復(fù)位和計(jì)算機(jī)的重啟動(dòng)是一樣的概念。如何進(jìn)行復(fù)位呢?只要在RST端加上高電平就可以了。

              圖示電路也是一個(gè)典型的復(fù)位電路,加電瞬間,電容兩端相當(dāng)于短路,RST端產(chǎn)生一個(gè)高電平,使得單片機(jī)復(fù)位。然后隨著電容充電,RST電壓慢慢下降,當(dāng)降低到低電平時(shí),單片機(jī)開(kāi)始正常工作。同樣,在按下按鍵時(shí),RST也產(chǎn)生一個(gè)高電平,單片機(jī)也被復(fù)位。下載程序的時(shí)候,應(yīng)該拔下RST跳線,即可斷開(kāi)復(fù)位電路,避免串入干擾信號(hào)。

              EA/VPP:

              EA端是內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器的選擇端,當(dāng)EA=1時(shí),訪問(wèn)片內(nèi)程序存儲(chǔ)器,當(dāng)EA=0時(shí),訪問(wèn)片外程序存儲(chǔ)器。對(duì)于我們的學(xué)習(xí)板來(lái)說(shuō),由于AT89S52自帶8k的程序存儲(chǔ)器,沒(méi)有擴(kuò)展外部程序存儲(chǔ)器,所以應(yīng)該接高電平。

              VPP是引腳的第二功能,暫且不介紹了。

              ALE

              地址鎖存允許信號(hào)。在擴(kuò)展了外部程序存儲(chǔ)器的情況下,當(dāng)單片機(jī)訪問(wèn)外部程序存儲(chǔ)器時(shí),ALE輸出低8位地址的鎖存信號(hào)。在本學(xué)習(xí)板上沒(méi)有用到這個(gè)端子.

              PROG為引腳的第二功能,暫且不介紹了,有興趣的同學(xué)可以查詢相關(guān)教材。

              PSEN

              外部程序存儲(chǔ)器讀選通信號(hào),由于在學(xué)習(xí)板上沒(méi)有擴(kuò)展外部程序存儲(chǔ)器,所以這個(gè)腳也不用。

              P1口:

              P1口可作為通用的口使用。在本電路中,P1.5口外接蜂鳴器(其余幾個(gè)和本試驗(yàn)無(wú)關(guān),暫不介紹)。上圖可知,當(dāng)P1.5輸出高電平時(shí),對(duì)應(yīng)的三極管導(dǎo)通,蜂鳴器發(fā)聲。(同學(xué)可能會(huì)問(wèn),這個(gè)功能好像和我們的試驗(yàn)任務(wù)沒(méi)有什么關(guān)系啊,我一會(huì)在給大家解釋)。

              P3口:

              P3口是雙功能口,第一種功能和我們P1口類似,也可以作通用的I/O口使用。第二種功能和單片機(jī)的串行通信,中斷等功能有關(guān),我們暫且不介紹。以后用到相應(yīng)功能在給大家介紹。

              P2口:

              P2也可以作為輸入口或者輸出口來(lái)用,在試驗(yàn)板上,P2口的作用在于選通數(shù)碼管顯示。在本例中我們不用。

              P0口:

              P0口在我們這個(gè)試驗(yàn)中扮演著重要的角色,從圖上可知,發(fā)光二極管是由P0口驅(qū)動(dòng)的。且慢,大家可能會(huì)發(fā)現(xiàn),P0口是通過(guò)74AS244驅(qū)動(dòng)發(fā)光二極管的,這是為什么呢?在這里,74AS244是個(gè)緩沖器,它的作用在于隔離單片機(jī)和外圍電路,這樣可以保護(hù)單片機(jī),并且能夠增強(qiáng)單片機(jī)的輸出驅(qū)動(dòng)能力。在該電路中,如果我們?nèi)サ?4AS244,而直接把二極管接在P0輸出口上,也是可以的,這是因?yàn)殡娫赐ㄟ^(guò)上拉電阻能夠提供較大的驅(qū)動(dòng)電流。

              同時(shí)大家要注意,當(dāng)P0口作為輸出口使用的時(shí)候,它的輸出級(jí)是漏級(jí)開(kāi)路的形式,所以它應(yīng)該外接上拉電阻,這時(shí)才能有高電平輸出。(我們的板子上面用了一個(gè)排阻。漏級(jí)開(kāi)路的輸出級(jí)類似于ttl電路中集電極開(kāi)路的輸出級(jí),大家可以參考隨便一本數(shù)電教材,關(guān)于oc門的原理介紹,上面說(shuō)得非常清楚。)

              下面我們來(lái)看看怎樣才能使得P0口驅(qū)動(dòng)的8個(gè)二極管按照要求發(fā)光。我們發(fā)現(xiàn),只要P0口相應(yīng)的一個(gè)引腳輸出低電平的時(shí)候,則對(duì)應(yīng)的二極管發(fā)光。例如:欲LED1發(fā)光,只需要P0.0引腳輸出相應(yīng)的低電平就可以啦!

              因此,如果我們需要8個(gè)二極管間隔發(fā)光,在板子上,從左至右依次為亮滅,則P0口的輸出值應(yīng)該是:01010101,即為55H。

              好啦,分析清楚之后,我們可以開(kāi)始寫程序啦!

              4、試驗(yàn)程序如下:

              org 0000h ;(1)

              clr p1.5 ;(2)

              loop: mov p0,#55h ;(3)

              ajmp loop ;(4)

              end ;(5)

              注釋

              (1)、org是個(gè)偽指令,也就是說(shuō)它在匯編時(shí)不產(chǎn)生目標(biāo)代碼。(大家可以在medwin環(huán)境里打開(kāi)反匯編窗口看看就明白啦。)它一般出現(xiàn)在每段源程序或者數(shù)據(jù)塊的開(kāi)始,指明此語(yǔ)句后面的程序或者數(shù)據(jù)塊的起始地址。我們編寫好的程序是存放在單片機(jī)的程序存儲(chǔ)器中的,它的可尋址空間是64k,即0000h~0ffffh。這個(gè)語(yǔ)句表示我們的程序從程序存儲(chǔ)器地址為0000h單元開(kāi)始存放。

              (2)、從電路圖上面可以看到P1.5連接蜂鳴器,所以這個(gè)語(yǔ)句的意思是,把P1.5置零,不讓蜂鳴器響。由于單片機(jī)復(fù)位以后,P1口的內(nèi)容為FFH,這樣蜂鳴器就會(huì)一直響。所以要把該端子置零。當(dāng)然,如果你不怕吵,這句話也可以不寫。

              (3)、給P0口賦值55H,使得8個(gè)二極管間隔發(fā)光。

              (4)、跳轉(zhuǎn)回標(biāo)記為loop的指令。(注ljmp指令也具有同樣的功能,兩者區(qū)別是:ajmp只能在2k字節(jié)內(nèi)轉(zhuǎn)移,而ljmp可以在64k字節(jié)內(nèi)轉(zhuǎn)移。本程序用ajmp就足夠了。)

              (5)、這同樣也是一條偽指令,告訴我們程序到這里就結(jié)束啦。

              好啦,然后把這個(gè)程序進(jìn)行編譯,下載,你就會(huì)看到學(xué)習(xí)板上的發(fā)光二極管乖乖的按照你的指令工作了。

              5、 課后練習(xí)

              (1)、學(xué)習(xí)該程序中出現(xiàn)的知識(shí)點(diǎn)涉及到的理論知識(shí),包括I/O口,程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,和使用到的指令。

              (2)、編寫程序,使得發(fā)光二極管從左到右四個(gè)亮,四個(gè)不亮



            關(guān)鍵詞: I/O 二極管

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉