<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)(一):?jiǎn)纹瑱C(jī)最小系統(tǒng)組成與I/O輸出控制

          51單片機(jī)(一):?jiǎn)纹瑱C(jī)最小系統(tǒng)組成與I/O輸出控制

          作者: 時(shí)間:2012-07-27 來源:網(wǎng)絡(luò) 收藏

          5. LED 驅(qū)動(dòng)電路

          細(xì)心的讀者可能已經(jīng)發(fā)現(xiàn),在中,發(fā)光二極管(LED)的接法是采取了電源接到二極管正極再經(jīng)過1K 電阻接到 口上的(見圖4 中的接法1)。為什么這么接呢?首先我們要知道LED 的發(fā)光工作條件,不同的LED 其額定電壓和額定電流不同,一般而言,紅或綠顏色的LED 的工作電壓為1.7V~2.4V,藍(lán)或白顏色的LED 工作電壓為2.7~4.2V, 直徑為3mm LED 的工作電流2mA~10mA。在這里采用紅色的3mm 的LED。其次,51 (如本實(shí)驗(yàn)板中所使用的STC89C52)的 口作為口時(shí),拉電流(向外電流)的能力是μA 級(jí)別,是不足以點(diǎn)亮一個(gè)發(fā)光二極管的。而灌電流(往內(nèi)輸入電流)的方式可高達(dá)20mA,故采用灌電流的方式驅(qū)動(dòng)發(fā)光二極管。當(dāng)然,現(xiàn)今的一些增強(qiáng)型單片機(jī),是采用拉電流(接法2)的,只要單片機(jī)的輸出電流能力足夠強(qiáng)即可。另外,圖4 中的電阻為1K 阻值,是為了限制電流,讓發(fā)光二極管的工作電流限定在2mA~10mA。

          圖4 LED的接法
          圖4 LED的接法

          四、程序設(shè)計(jì)

          在單片機(jī)編程語言上,有C 語言和匯編兩種選擇。本系列教程采用C 語言編寫程序,在此對(duì)C語言和匯編語言在進(jìn)行單片機(jī)開發(fā)時(shí)進(jìn)行下簡(jiǎn)單比較,匯編語言面向硬件,要求對(duì)硬件的特性如寄存器之類的比較熟悉,執(zhí)行效率高,但可讀性和移植性差,不同的單片機(jī)之間的程序不能通用,例如學(xué)會(huì)了51 單片機(jī)的匯編指令,卻沒法用到AVR 單片機(jī)上。C語言面向過程,可讀性和移植性很好,效率要比匯編低一些。對(duì)于剛接觸單片機(jī)的人來說,學(xué)習(xí)這兩種語言是一樣的,但在以后的開發(fā)效率上,C 語言的優(yōu)勢(shì)就體現(xiàn)出來了,其可以幾乎完全不改動(dòng)的情況下移植,大大提高了開發(fā)速度。

          發(fā)光二極管D1 閃爍的C 語言源程序:

          1. 程序詳細(xì)說明

          (1)頭文件包含。程序接下來調(diào)用的P0_0 就是該頭文件中定義好的一個(gè)寄存器地址。在對(duì)單片機(jī)內(nèi)部的寄存器操作之前,應(yīng)申明其來處,有興趣的讀者可以看看AT89X52.h 文件中的內(nèi)容。

          (2)宏定義led, 便于直觀理解也便于程序修改,將P0_0 口命名為led, 這樣在程序中就可以用led代替P0_0 口進(jìn)行操作。

          (3)延時(shí)函數(shù)聲明。函數(shù)在調(diào)用之前必須進(jìn)行聲明,由于函數(shù)定義放在主函數(shù)之后,所以在主函數(shù)之前對(duì)延時(shí)函數(shù)進(jìn)行了聲明。

          (4)主函數(shù)入口。主函數(shù)不傳遞參數(shù)也不返回值。

          (5)死循環(huán)。

          (6)輸出高電平,led 不亮。

          (7)延時(shí)一段時(shí)間,以便人眼能夠直觀看到。

          (8)輸出低電平,led 點(diǎn)亮。

          (9)延時(shí)一段時(shí)間。

          (10)延時(shí)函數(shù)定義。

          (11)for 語句循環(huán)延時(shí)。

          2. 程序流程圖與實(shí)驗(yàn)現(xiàn)象

          程序流程如圖5 所示。經(jīng)編譯軟件(keil)編譯,生成單片機(jī)燒寫文件,然后就可下載到單片機(jī)內(nèi)部運(yùn)行了,硬件電路板如圖6 所示,本實(shí)驗(yàn)板上用的是STC89C52RC,可以用通過板載USB 轉(zhuǎn)串口燒寫程序。故將USB 線(本實(shí)驗(yàn)套件中有)連接電腦和實(shí)驗(yàn)板。供電電源可以從USB 取,也可以從外部電源取電。冷啟動(dòng),即先點(diǎn)擊下載,然后再上電。下載程序到單片機(jī)內(nèi)運(yùn)行后,可以看到實(shí)驗(yàn)板上P0_0 口外接的LED 燈(D1) 一亮一滅的閃爍。

          圖5 程序流程圖
          圖5 程序流程圖

          塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理


          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();