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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 學(xué)習(xí)單片機時遇到的常見問題

          學(xué)習(xí)單片機時遇到的常見問題

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

          6.自學(xué)必備的硬件設(shè)備有哪些?

          學(xué)習(xí),除了需要電腦以外,還需要以下的一些器材。

          1.實驗板

          如果你對還一無所知,那么自制或者購買一塊實驗板是比較好的選擇。通常在實驗板上會設(shè)計一些開關(guān)、LED指示燈、數(shù)碼管、各種接口芯片等常用器件,通過對這些器件的編程練習(xí),逐步掌握單片機的編程技術(shù)。

          2.仿真機

          仿真機的用途是替代電路板上的單片機芯片,仿真機通過串行口、USB接口等方式與與PC機聯(lián)機通信,接收PC端控制軟件發(fā)出的指令,以單步、過程單步、全速運行等各種方式來執(zhí)行程序,以單步或過程單步方式執(zhí)行程時,每次執(zhí)行完程序后可以將執(zhí)行的結(jié)果反饋到PC端的控制軟件中顯示出來。由于單片機編程時必須要明確每一條指令執(zhí)行完畢后會有什么樣的結(jié)果,弄清實際運行后的結(jié)果是否與設(shè)想的結(jié)果相符,因此,仿真功能對于單片機的學(xué)習(xí)和開發(fā)可以起到很重要的幫助作用。

          3.編程器或者下載線

          其用途是將代碼寫入單片機芯片內(nèi)部。對于學(xué)習(xí)者來說,有了仿真機也可暫時不配編程器或下載線,因為有了實驗板、仿真機就可以做實驗了。但是建議配置一臺,這樣可以對單片機開發(fā)的各個環(huán)節(jié)都有所了解。

          4.萬用表、電烙鐵等電子制作工具

          單片機開發(fā),不是簡單的編程,到目前為止,還少有純粹的“單片機程序員”,通常要求開發(fā)者軟、硬件方面都要熟悉,因此,這些電子制作工作還是要配備的。

          需要說明的是,這里所說的仿真機、實驗板、下載線或編程器等都是就一般概念而言的,并不涉及到具體的產(chǎn)品,市場上也有一些產(chǎn)品在設(shè)計時將實驗板、仿真功能、下載或編程功能等中的一部分或者全部都集成到一塊板上,構(gòu)成一整套的實驗系統(tǒng)。

          上面介紹的這些設(shè)備,都需要有一定的投入,愛好者未必一定能夠購買,其實,只要有一定動手能力,也可以自制一些簡易的實驗設(shè)備,同樣可以開始學(xué)習(xí)。這里推薦采用STC單片機進行學(xué)習(xí)的方案,STC系列單片機的特點是可以直接通過串口下載程序,從而將開發(fā)工具的成本降到最低。如圖6-1所示是一個完整的電路,器件成本僅20多元,但可以實現(xiàn)諸如單燈閃爍、流水燈、鍵控?zé)?、PC控制燈等一些常用功能,從而學(xué)習(xí)基本指令、定時器、計數(shù)器、串口通信等單片機知識。

          學(xué)習(xí)單片機時遇到的常見問題

          圖6-1 簡單的單片機實驗電路板

          圖中R1~R9為1K電阻,D1~D8是發(fā)光二極管,E1用10u電解,Y1用11.0592M晶振,C1和C2用27P小磁片,C3~C7用104磁片,U1使用STC89C52芯片,U2用MAX232。再自制或購買一條串口電纜,用于和電腦的通信,制作線時使J1與電腦的串口端2,3,5分別相連即可。

          制作好這個電路板以后,使用Keil軟件(在http://www.keil.com/demo/default.asp?bhcp=1可以下載DEMO版)編譯、鏈接程序,得到Hex文件,使用STC_ISP軟件(在http://www.mcu-memory.com下載)將Hex文件寫入芯片中,從而觀察程序運行的效果。

          7.目前國內(nèi)常用的單片機有哪些?

          1.及其兼容系列

          (1)系列,這是最基本的系列。包括80C31,,87C51,80C32,80C52,87C52等芯片,雖然這些芯片已基本不再使用,但它們是后續(xù)發(fā)展的芯片的基礎(chǔ)。其中80C31單片機片內(nèi)沒有ROM,80C51內(nèi)部是一次性可寫4K的PROM,87C51內(nèi)部是4K的EEPROM,這幾種芯片內(nèi)部RAM均為128字節(jié)。而后三種芯片其內(nèi)部RAM均為8K,后兩種芯片的片內(nèi)ROM為8K字節(jié)。

          (2)80C51兼容系列

          這些芯片通常都與51系列單片機在指令一級兼容,但都擴充了諸多的新功能。常見的主要有以下一些。

          STC89系列單片機,其主要特點有:直接通過串口對單片機編程;可編程為倍速運行;超低功耗;內(nèi)置看門狗;內(nèi)部FLASH  ROM可作為EEPROM作斷電保存數(shù)據(jù)之用。

          STC12系列單片機,其主要特點有:單時鐘周期,工作頻率0~35M,相當(dāng)于普通80C510~420M;寬電壓范圍;低功耗;芯片內(nèi)置E2PROM功能;內(nèi)置硬件看門狗;通用I/O口可以設(shè)置為四種工作模式,在強上拉模式時可以“吐出”電流。

          菲利普的LPC系列,其主要特點有:內(nèi)置RC置振蕩器,選擇RC振蕩器時不需外接振蕩器件;所有口線均有20mA的LED驅(qū)動能力;有較寬的工作電壓范圍。

          C8051F系列,其主要特點有:一個機器周期僅為一個時鐘周期;增加了中斷源;有內(nèi)部獨立的時鐘源或接外部時鐘,并能在程序運行時實現(xiàn)內(nèi)、外部時鐘的切換。每個I/O口引腳都可以設(shè)置為推挽或漏極開路輸出,C8051F系列單片機I/O口最為獨特的是增加了數(shù)字交叉開關(guān),利用數(shù)字交叉開關(guān)可將內(nèi)部數(shù)字系統(tǒng)資源定向到P0、P1和P2端口I/O引腳。這個系列很多型號的芯片具有ADC、DAC、PCA等功能。

          2.PIC系列

          PIC單片機的發(fā)展思路與51單片機不同,它不搞單純的功能堆積,而是從實際出發(fā),重視產(chǎn)品的性能與價格比,依靠發(fā)展多種型號來滿足不同層次的應(yīng)用要求;精簡指令使其執(zhí)行效率大為提高。目前有PIC10、PIC12、PIC16、PIC18系列數(shù)百個品種。以PIC16F676芯片為例,該芯片內(nèi)置1K字FLASH ROM,128字節(jié)EEPROM,64字節(jié)RAM,8路10位AD轉(zhuǎn)換器,內(nèi)置精度高達±1%的振蕩器,極低功耗,寬工作電壓范圍,這樣一款高性能的14腳芯片,價格不到¥7,性價比相當(dāng)高。

          3.AVR系列

          AVR系列單片機是增強型RISC結(jié)構(gòu)的單片機,其主要特點是:速度快,一個機器周期僅為一個時鐘周期;品種豐富,與PIC系列類似,依靠發(fā)展多種型號來滿足不同層次的應(yīng)用要求;支持ISP、IAP功能,可在線編程,方便遠程維護;工作范圍寬、抗干擾能力強。以ATMEGA8芯片為例,該芯片內(nèi)置8K Flash ROM,512字節(jié)EEPROM,1K字節(jié)的RAM,8路10位AD,內(nèi)置RC振蕩器。這樣一款高性能28引腳的芯片,價格僅在¥7左右,性價比也相當(dāng)高。

          4.其他

          其他常用的單片機包括:ST、EMC、摩托羅拉、三星等等。這些單片機有些市場用量很大,但我們并沒有重點介紹,因為我們介紹的內(nèi)容主要針對業(yè)余愛好者,有些芯片雖然功能強大、性價比也很高,但其并不針對業(yè)余愛好者,小批量的芯片很難買到,仿真機、C編譯器等開發(fā)工具價格極其昂貴,所以這里不作介紹,有興趣可以在網(wǎng)絡(luò)上搜索有關(guān)資料。



          關(guān)鍵詞: 單片機 常見問題 80C51

          評論


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