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

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的LED彩燈控制器

          基于單片機(jī)的LED彩燈控制器

          作者: 時間:2012-09-10 來源:網(wǎng)絡(luò) 收藏

          標(biāo)簽 照明 光源

          本文引用地址:http://www.ex-cimer.com/article/200060.htm

          1 引言

          隨著人們生活環(huán)境的不斷改善和美化,在許多場合可以看到彩色霓虹燈。 led 彩燈由于其豐富的燈光色彩,低廉的造價以及控制簡單等特點(diǎn)而得到了廣泛的應(yīng)用,用彩燈來裝飾已經(jīng)成為一種時尚。但目前市場上各式樣的 大多數(shù)用全硬件電路實(shí)現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制作成品只能按照固定的模式閃亮,不能根據(jù)不同場合、不同時間段的需要來調(diào)節(jié)亮燈時間、模式、閃爍頻率等動態(tài)參數(shù)。這種結(jié)構(gòu)往往有芯片過多、電路復(fù)雜、功率損耗大等缺點(diǎn)。此外從功能效果上看,亮燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的進(jìn)行改進(jìn)。

          本文提出了一種基于AT89S51的彩燈控制方案,實(shí)現(xiàn)對彩燈的控制。

          2 設(shè)計(jì)原理

          2.1 MCS51

          引腳說明

          MCS都采用40引腳的雙列直插封裝方式。圖1為引腳排列圖, 40條引腳說明如下:

          (1)主電源引腳Vss和Vcc

          ① Vss接地

          ② Vcc正常操作時為+5伏電源

          (2)外接晶振引腳XTAL1和XTAL2

          ① XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個引腳。當(dāng)采用外部振蕩器時,此引腳接地。

          ② XTAL2內(nèi)部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當(dāng)采用外部振蕩器時,此引腳接外部振蕩源。

          8051引腳排列圖

          圖1 8051引腳排列圖

          (3)控制或與其它電源復(fù)用引腳RST/VPD,ALE/PROG,EA和/Vpp

          ① RST/VPD 當(dāng)振蕩器運(yùn)行時,在此引腳上出現(xiàn)兩個機(jī)器周期的高電平(由低到高跳變),將使復(fù)位

          在Vcc掉電期間,此引腳可接上備用電源,由VPD向內(nèi)部提供備用電源,以保持內(nèi)部RAM中的數(shù)據(jù)。

          ② ALE/PROG正常操作時為ALE功能(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部鎖存器,ALE 引腳以不變的頻率(振蕩器頻率的1/6)周期性地發(fā)出正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。但要注意,每當(dāng)訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖,ALE 端可以驅(qū)動(吸收或輸出電流)八個LSTTL電路。 對于EPROM型單片機(jī),在EPROM編程期間,此引腳接收編程脈P沖(PROG功能)

          ③PSEN外部程序存儲器讀選通信號輸出端,在從外部程序存儲取指令(或數(shù)據(jù))期間,在每個機(jī)器周期內(nèi)兩次有效。同樣可以驅(qū)動八LSTTL輸入。

          ④ EA/Vpp 、EA/Vpp為內(nèi)部程序存儲器和外部程序存儲器選擇端。當(dāng)EA/Vpp為高電平時,訪問內(nèi)部程序存儲器,當(dāng)/Vpp 為低電平時,則訪問外部程序存儲器。

          對于EPROM型單片機(jī),在EPROM編程期間,此引腳上加21伏EPROM編程電源(Vpp)。

          (4)輸入/輸出引腳P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。

          ① P0口(P0.0 - P0.7)是一個8位漏極開路型雙向I/O口,在訪問外部存儲器時,它是分時傳送的低字節(jié)地址和數(shù)據(jù)總線,P0口能以吸收電流的方式驅(qū)動八個LSTTL負(fù)載。

          ② P1口(P1.0 - P1.7)是一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負(fù)載……

          ③ P2口(P2.0 - P2.7)是一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅(qū)動(吸收或輸出電流)四個LSTTL負(fù)載。

          ④ P3口(P3.0 - P3.7)是一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負(fù)載。

          2.2 LED顯示數(shù)碼管

          LED有共陰極和共陽極兩種。如圖所示。二極管的陰極連接在一起,通常此公共陰極接地,而共陽極則將發(fā)光二極管的陽極連接在一起,接入+5V的電壓。一位顯示器由8個發(fā)光二極管組成,其中7個發(fā)光二極管構(gòu)成字型“8”的各個筆劃(段)a~g,另一個小數(shù)點(diǎn)為dp發(fā)光二極管。當(dāng)在某段發(fā)光二極管施加一定的正向電壓時,該段筆劃即亮;不加電壓則暗。為了保護(hù)各段LED不被損壞,需外加限流電。

          LED數(shù)碼管結(jié)構(gòu)原理圖

          LED數(shù)碼管結(jié)構(gòu)原理圖

          AT89C2051芯片的20個引腳功能為:

          VCC 電源電壓。

          GND 接地。

          RST 復(fù)位輸入。當(dāng)RST變?yōu)楦唠娖讲⒈3?個機(jī)器周期時,所有I/O引腳復(fù)位至“1”。

          XTAL1 反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。

          XTAL2 來自反向振蕩放大器的輸出。

          P1口 8位雙向I/O口。引腳P1.2~P1.7提供內(nèi)部上拉,當(dāng)作為輸入并被外部下拉為低電平時,它們將輸出電流,這是因內(nèi)部上拉的緣故。P1.0和P1.1需要外部上拉,可用作片內(nèi)精確模擬比較器的正向輸入(AIN0)和反向輸入(AIN1),P1口輸出緩沖器能接收20mA電流,并能直接驅(qū)動LED顯示器;P1口引腳寫入“1” 后,可用作輸入。在閃速編程與編程校驗(yàn)期間,P1口也可接收編碼數(shù)據(jù)。

          P3口 引腳P3.0~P3.5與P3.7為7個帶內(nèi)部上拉的雙向I/0引腳。P3.6在內(nèi)部已與片內(nèi)比較器輸出相連,不能作為通用I/O引腳訪問。P3口的輸出緩沖器能接收20mA的灌電流;P3口寫入“1”后,內(nèi)部上拉,可用輸入。P3口也可用作特殊功能口。

          2.3 中斷指令

          在CPU和外設(shè)交換信息時,存在著快速CPU和慢速外設(shè)間的矛盾,機(jī)器內(nèi)部有時也可能出現(xiàn)突發(fā)事件,為此,計(jì)算機(jī)中通常采用中斷技術(shù)。

          CPU和外設(shè)并行工作,當(dāng)外設(shè)數(shù)據(jù)準(zhǔn)備好( 或有某種突發(fā)事件發(fā)生)時向CPU提出請求,CPU暫停正在執(zhí)行的程序轉(zhuǎn)而為該外設(shè)服務(wù)(或處 理緊急事件),處理完畢再回到原斷點(diǎn)繼續(xù)執(zhí)行原程序。

          中斷優(yōu)先級:當(dāng)有多個中斷源同時 向CPU申請中斷時,CPU優(yōu)先響應(yīng)最需緊急處理的中斷請求,處理完畢再響應(yīng)優(yōu)先級別較低的 ,這種預(yù)先安排的響應(yīng)次序。

          中斷的嵌套:在中斷系統(tǒng)中,高優(yōu)先級的 中斷請求能中斷正在進(jìn)行的較低級的中斷源處理,

          (1)中斷技術(shù)是實(shí)時控制中的常用技術(shù),51系列單片機(jī)有三個內(nèi)部中斷,二個外部中斷。所謂 外部中斷就是在外部引腳上有產(chǎn)生中斷所需要的信號。

          每個中斷源有固定的中斷服務(wù)程序的入口地址(稱矢量地址或向量地址)。當(dāng)CPU響應(yīng)中斷以 后單片機(jī)內(nèi)部硬件保證它能自動的跳轉(zhuǎn)到該地址。因此,此地址是應(yīng)該熟記的,在匯編程序 中,中斷服務(wù)程序應(yīng)存放在正確的向量地址內(nèi)。

          (或存放一條轉(zhuǎn)移指令);而在C語言中是靠Interrupt n的關(guān)鍵字n自動設(shè)置的。

          (2)單片機(jī)的中斷是靠內(nèi)部的寄存器管理的,這就是中斷允許寄存器IE,中斷優(yōu)先權(quán)寄存器IP ,必須在CPU開中斷即開全局中斷開關(guān)EA,開各中斷源的中斷開關(guān),CPU才能響應(yīng)該中斷源的 中斷請求,其中缺一不可。

          (3)從程序表面看來,主程序和中斷服務(wù)程序好象是沒有關(guān)連的,只有掌握中斷響應(yīng)的過程, 才能理解中斷的發(fā)生和返回,看得懂中斷程序,并能編寫高質(zhì)量中斷程序。

          表2.1 常用中斷

          符號名 稱中 斷 引 起 原 因中斷服務(wù)程序入口

          INT0外部中斷0P3.2引腳的低電平或下降沿信號0003H

          INT1外部中斷1

          P3.3引腳的低電平或下降沿信號0013H

          T0定時器0中斷定時計(jì)數(shù)器0計(jì)數(shù)回零溢出000BH

          T1定時器1中斷定時計(jì)數(shù)器1計(jì)數(shù)回零溢出001BH

          T2定時器2中斷定時計(jì)數(shù)器2中斷(TF2或T2EX信號)002BH

          TI/RI串行口中斷串行通信完成一幀數(shù)據(jù)發(fā)送或接收引起中斷0023H

          3 硬件原理圖

          晶振(12MHz)定時1秒,對于12MHz的晶振而言,其時鐘周期T=1/f=1/12us,而89C51的一個機(jī)器周期包括12個時鐘周期,所以一個機(jī)器周期為1us,對于T0而言,使之工作于16-bit,最大計(jì)時為65536*1=65536us,需要多次定時才能實(shí)現(xiàn)一秒定時。

          4 軟件設(shè)計(jì)

          4.1 流程圖

          led燈相關(guān)文章:led燈原理



          上一頁 1 2 下一頁

          關(guān)鍵詞: LED 單片機(jī) 彩燈控制器

          評論


          相關(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); })();