小計(jì)算機(jī)、大計(jì)算機(jī)中少不了數(shù)據(jù)存儲(chǔ)系統(tǒng),單片機(jī)一樣有,而且往往和CPU集成在一起,更加顯得小巧靈活。 直到90年代初,國(guó)內(nèi)容易得到的單片機(jī)就是8031:不帶存儲(chǔ)器的芯片,要想工作,還必須外加RAM和ROM,單片機(jī)成了3片機(jī)......
現(xiàn)在不同了,大的小的,又是51,又是AVR又是STC,還有430,PIC等,都各說(shuō)各的好,可是誰(shuí)也不敢說(shuō)“我不要存儲(chǔ)器”。
1
單片機(jī)的數(shù)據(jù)存儲(chǔ)手段
程序存儲(chǔ)器里存放著單片機(jī)的靈魂:工作程序。小的可能只有1KB,最多只能裝1024條8位數(shù)據(jù),因?yàn)閷?shí)際指令還有許多2字節(jié),3字節(jié)指令,所以它還裝不下1024條指令;大的有128KB。這些8位數(shù)據(jù),要么在工廠里做模子光刻進(jìn)去,要么一次性的燒寫(xiě)進(jìn)去。
不管是業(yè)余愛(ài)好還是實(shí)際開(kāi)發(fā),最多也就是用編程器這么一個(gè)特殊工具,把調(diào)試成功的機(jī)器碼裝載進(jìn)去,或者像AVR單片機(jī)那樣自己花幾塊錢做一條下載線,把電腦里這些東西灌進(jìn)去(這或許是AVR的吸引人之處)。 它一旦進(jìn)駐電腦的程序存儲(chǔ)器中,除了借助上述裝置便不能自由改寫(xiě),在單片機(jī)運(yùn)行時(shí),只是從其中讀出指令或固定的數(shù)據(jù),所以給程序存儲(chǔ)器一個(gè)“只讀存儲(chǔ)器”的別名,簡(jiǎn)寫(xiě)為ROM,包括用編程器寫(xiě)紫外線擦除內(nèi)容的EPROM、用電擦除的EEPROM和現(xiàn)在新興的FLASH ROM。
一次性寫(xiě)入的ROM,僅用于電路和程序固定的批量產(chǎn)品中,實(shí)際工作起來(lái),都是一樣的。
為了定位ROM中的數(shù)據(jù),每個(gè)8位存儲(chǔ)單元都有一個(gè)固定的“地址”,通常用16進(jìn)制數(shù)表示。例如,對(duì)于一個(gè)所謂4K的ROM,地址從0000H到0FFFH(即0000,0001...4095),單片機(jī)運(yùn)行時(shí)從哪個(gè)地址取數(shù)據(jù),完全由程序本身決定,并不要我們干預(yù)。
記住,給單片機(jī)一通電,它經(jīng)過(guò)一個(gè)短暫的復(fù)位過(guò)程,立即轉(zhuǎn)向ROM的最低地址0000H,在這里面放置的往往是一條“跳轉(zhuǎn)”指令,它從這里一步跳到另一個(gè)地址:程序的真正起始地址,例如51機(jī)的0080H。
ROM是程序存儲(chǔ)器,除了指令外,還包括運(yùn)行程序必需的某些固定數(shù)據(jù),例如:數(shù)據(jù)表。假如,我們要求在單片機(jī)的接口上輸出00H到FFH(255),按正弦半波變化的數(shù)值,每秒10000次。如果硬要它按照公式一個(gè)個(gè)計(jì)算,對(duì)于它來(lái)說(shuō)未免力不從心。可是我們可以把預(yù)先計(jì)算好的數(shù)值存入ROM中,到時(shí)候直接取出不是好多了? 另一個(gè)重要的應(yīng)用:不少單片機(jī)上都有數(shù)碼顯示,那些數(shù)字其實(shí)就是用單片機(jī)的口線控制數(shù)碼管的字段電極電位。這些字形也是存放在ROM中的字模表,各個(gè)字模和0-9的數(shù)字(機(jī)器內(nèi)當(dāng)然是0000-0101二進(jìn)制數(shù))對(duì)應(yīng)起來(lái)。常見(jiàn)的共陽(yáng)極7段數(shù)碼管,必須在陽(yáng)極加正電,7個(gè)陰極都是地電位,才能顯示數(shù)字"8",數(shù)字8對(duì)應(yīng)的顯示字碼值是二進(jìn)制數(shù)“10000000“(那個(gè)1對(duì)應(yīng)的是小數(shù)點(diǎn),高電位不讓它顯示)。
-
單片機(jī)
+關(guān)注
關(guān)注
6040文章
44587瀏覽量
636785 -
編程器
+關(guān)注
關(guān)注
9文章
396瀏覽量
42368
原文標(biāo)題:ROM在單片機(jī)里有什么用?
文章出處:【微信號(hào):Mouser-Community,微信公眾號(hào):貿(mào)澤電子設(shè)計(jì)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論