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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > PIC 8位單片機的電源和時鐘

          PIC 8位單片機的電源和時鐘

          作者: 時間:2011-02-22 來源:網(wǎng)絡 收藏
          是一種超大規(guī)模集成電路,在該集成電路內(nèi)有成千上萬個晶體管或場效應管,因此,要正常運行,就必須為其提供能量,即為片內(nèi)的晶體管或場效應管供給電源,使其能工作在相應的狀態(tài)。
            PIC16F84需要一個5V電源(實際工作電壓為40V~60V)。因此,最簡單的辦法是用三節(jié)15V的電池串聯(lián)供電,也可用整流、穩(wěn)壓方式供電,如圖1所示。圖1-a為三節(jié)電池串聯(lián),可得45V左右的電壓;圖1-b為四節(jié)電池串聯(lián),又用一硅二極管降壓,實際輸出電壓為54V左右。圖1-c為經(jīng)整流后(整流器圖中未畫出)將市電交流變?yōu)?V~20V的直流電壓,再經(jīng)集成穩(wěn)壓器7805穩(wěn)壓后得到穩(wěn)定的+5V電壓。圖1-d與圖1-c類似,只是不用集成穩(wěn)壓器,改用價廉的穩(wěn)壓二極管來穩(wěn)壓。PIC16F84本身耗電僅1mA(低時鐘耗電更小),若PIC要驅動發(fā)光二極管LED或其它大電流器件,則單片機電源也必須為這類器件供電。因此,圖1-d的電路是用齊納二極管來穩(wěn)壓的,它不能驅動LED等器件,這一點應注意。
            在圖1中,四種電源電路都需要在PIC16F84單片機的引腳{14}(V+)與地之間接一電容01μF,而且,此電容應緊靠單片機安裝,以濾除電源的紋波,并使PIC和相鄰元件不受噪聲干擾。這里要強調(diào)的是,不論電源如何“純凈”,均必須安裝此電容。
            注意:這里的PIC16F84單片機除了引腳{14}(V+或VDD)直接接至電源外,引腳4(MCLR——復位輸入腳)通常也通過一個10kΩ的電阻接至電源V+。MCLR是低電平有效,如將其接地,將使PIC復位,并將RAM清零。如果上電很慢,則PIC可能會處于一種不定狀態(tài)。這時,應當在MCLR與地之間裝接一個常開復位按鍵。
            與任何微處理器一樣,PIC16F84的運作是有節(jié)奏的,因此,就需要一個節(jié)拍發(fā)生器——時鐘,以控制CPU的運行速度,步進執(zhí)行各種操作。16F84-04P的最大時鐘速變?yōu)?MHz。降低時鐘頻率,可節(jié)省能源,并使PIC執(zhí)行速度減慢,當時鐘頻率為30kHz時只耗電01mA。
            最常用的時鐘電路示于圖2,圖2-a為直接輸入外部時鐘,即鐘信號由外部振蕩電路產(chǎn)生。圖2-b是用PIC的內(nèi)部時鐘電路,再從外部接上確定時鐘頻率的元件,即電阻R和電容C。圖中給出了三種不同阻值的電阻,它們和100pF的電容配用,可產(chǎn)生15MHz、600kHz或100kHz三種不同的時鐘頻率。圖2-c仍利用片內(nèi)振蕩電路,但外接石英晶體,因而能產(chǎn)生更精確、更穩(wěn)定的時鐘信號,但石英晶體通常比電阻、電容貴,若利用電視機上常用的晶體(如358MHz晶體),則價格仍較低廉。


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();