新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)常見問題10問

單片機(jī)常見問題10問

作者: 時(shí)間:2013-03-04 來源:網(wǎng)絡(luò) 收藏

機(jī)器匯編后得到的數(shù)字形式的指令序列以一個(gè)文件的形式保存在磁盤上,這個(gè)文件的擴(kuò)展名一般是HEX,即人們常說的HEX文件。得到了HEX文件后,就可以將其寫入程序存儲器中了。要將程序?qū)懭胄酒?,通常需要一個(gè)稱之為“編程器”的專用設(shè)備,在計(jì)算機(jī)上運(yùn)行與之配套的編程軟件,然后在這個(gè)軟件中打開HEX文件,即可將其寫入芯片中。隨著技術(shù)的發(fā)展,編程方式越來越多,但總的概念是這樣的,具體的細(xì)節(jié),將在另一個(gè)問題“編程器是什么”中回答。

4. 8位、16位、32位中的“XX位”指什么?

8位、16位、32位是指的“字長”,也就是一次運(yùn)算中參與運(yùn)算的數(shù)據(jù)長度,這個(gè)位是指二進(jìn)制位。以8位為例,8位二進(jìn)制的表達(dá)范圍是0000,0000~1111,1111即十進(jìn)制的0~255,即每次參與運(yùn)算的數(shù)據(jù)最大不能超過255。而16位機(jī)的字長是16位,其數(shù)據(jù)表達(dá)范圍是0~65535,即每次參與運(yùn)算的數(shù)據(jù)最大不能超過65535;32位單片機(jī)的字長是32位,其數(shù)據(jù)表達(dá)范圍是0~4294967295,即每次參與運(yùn)算的數(shù)據(jù)最大不能超過4294967295。

8位、16位、32位與單片機(jī)的性能密切相關(guān),通常32位機(jī)的性能要高于16位機(jī),而16位機(jī)的性能又要高于8位機(jī)。為什么會這樣呢?這要從2個(gè)方面來分析。第一,位數(shù)不同,運(yùn)算效率不同。對于8位機(jī)而言,由于在一次運(yùn)算中的每一個(gè)數(shù)都不能超過8位,因此即便如100+200=300這樣的運(yùn)算,它也不能一次完成,因?yàn)?00已超過了8位所能表達(dá)的最大范圍(255),因此,要對這樣的一個(gè)式子進(jìn)行運(yùn)算,就要編寫一段程序,將運(yùn)算分步完成,最后合成起來得到一個(gè)正確的結(jié)果。而如果采用16位單片機(jī)來運(yùn)算的話,那么一次運(yùn)算就夠了,顯然分步完成所需要的時(shí)間要遠(yuǎn)遠(yuǎn)大于單步完成所需要的時(shí)間。同樣道理,當(dāng)某個(gè)運(yùn)算的結(jié)果或者中間值大于65535時(shí),16位機(jī)也不能一次運(yùn)算,要分步實(shí)現(xiàn)它,而32位機(jī)則可以一次運(yùn)算完成。第二,商業(yè)因素。通常運(yùn)算能力越高,表示這個(gè)單片機(jī)性能越強(qiáng),當(dāng)然,價(jià)格高一些人們也可以接受,有了價(jià)格空間,生產(chǎn)商通常都會在這些芯片中提供更多的其他的功能,使得芯片的整體性能得到更大的提升。

典型的單片機(jī)中,80C51系列,PIC系列,AVR系列都是8位單片機(jī);80C196、MSP430系列是16位機(jī);而目前非常熱門的ARM系列則是32位機(jī)。

5. 單片機(jī)編程器、仿真器、燒寫器、下載線各是什么?有什么用處?

單片機(jī)編程器是用來將程序代碼寫入存儲器芯片或者單片機(jī)內(nèi)部的工具, 當(dāng)芯片是雙列直插形式時(shí),直接插在座子上就可以燒寫了。 另一種方法是使用下載線。隨著技術(shù)的進(jìn)步,越來越多的單片機(jī)芯片開始支持“ISP”功能,即In System Programmer,在線可編程技術(shù)。利用這種技術(shù),將空白的(尚未編程的)芯片直接焊在印刷線路板上,利用預(yù)先留下的幾個(gè)引腳即可對芯片進(jìn)行編程,不必將芯片拆下來放到編程器上,因此,這給小批量制作帶來了極大的方便,也省去了購買價(jià)格昂貴的適配器。

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

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

1.實(shí)驗(yàn)板

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

2.仿真機(jī)

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

3.編程器或者下載線

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

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

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

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

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

1.80C51及其兼容系列

(1)80C51系列,這是最基本的系列。包括80C31,80C51,87C51,80C32,80C52,87C52等芯片,雖然這些芯片已基本不再使用,但它們是后續(xù)發(fā)展的芯片的基礎(chǔ)。其中80C31單片機(jī)片內(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系列單片機(jī)在指令一級兼容,但都擴(kuò)充了諸多的新功能。常見的主要有以下一些。

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



評論


相關(guān)推薦

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

關(guān)閉