你知道嗎?單片機(jī)中程序存儲(chǔ)器的作用
單片機(jī)的構(gòu)成和工作狀態(tài)都十分像一臺(tái)小型的計(jì)算機(jī),計(jì)算機(jī)想要運(yùn)行就需要內(nèi)存的支持,單片機(jī)也不例外,在九十年代的國(guó)內(nèi),很多單片機(jī)都是需要依靠外加的RAM和ROM進(jìn)行工作的,早但現(xiàn)在很多廠家早已經(jīng)能將CPU或RAM進(jìn)行集成,那么RAM在單片機(jī)中的作用是什么呢?在本文中小編就來(lái)為大家介紹程序存儲(chǔ)器在單片機(jī)中的用途。
本文引用地址:http://m.butianyuan.cn/article/201808/386231.htm里面存放的是單片機(jī)的靈魂:工作程序。小的可能只有1KB(最多只能裝1024條8位數(shù)據(jù),因?yàn)閷?shí)際指令還有許多2字節(jié),3字節(jié)指令,所以它還裝不下1024條指令)大的也有128KB的。這些8位數(shù)據(jù)要么在工廠里做摸子光刻進(jìn)去,要么一次性的燒寫進(jìn)去,要么業(yè)余或開(kāi)發(fā)最多的用編程器這么個(gè)特殊工具把調(diào)試成功的機(jī)器碼裝載進(jìn)去,或者像AVR單片機(jī)那樣使用下載線,把電腦里這些東西灌進(jìn)去(或許是AVR最吸引人之處),它一旦進(jìn)駐電腦的程序存儲(chǔ)器中,除了借助上述裝置便不能自由改寫。
在單片機(jī)運(yùn)行時(shí),只是從其中讀出指令或固定的數(shù)據(jù),所以給程序存儲(chǔ)器一個(gè)只讀存儲(chǔ)器的別名,簡(jiǎn)寫為ROM,包括用編程器寫紫外線擦除內(nèi)容的EPROM。用電擦除的EEPROM和現(xiàn)在新興的FLASH ROM;一次性寫入的ROM僅用于電路和程序固定的批量產(chǎn)品中,實(shí)際工作起來(lái)都是一樣的。
為了定位ROM中的數(shù)據(jù),每個(gè)8位(bit:二進(jìn)制位)存儲(chǔ)單元都有一個(gè)固定的地址,通常用16進(jìn)數(shù)表示:
例如對(duì)于一個(gè)所謂4K的ROM,地址從0000H到0FFFH,(即是從0000,0001...4095)。
單片機(jī)運(yùn)行時(shí)從哪個(gè)地址取數(shù)據(jù),完全由程序本身決定,并不需要開(kāi)發(fā)者干預(yù)。記住,單片機(jī)一旦通電,它經(jīng)過(guò)一個(gè)短暫的復(fù)位過(guò)程后立即轉(zhuǎn)向ROM的最低地址0000H,在這里面放置的往往是一條跳轉(zhuǎn)指令,它從這里一步跳到另一個(gè)地址:程序的真正起始地址。
有人會(huì)問(wèn),難道ROM中就只有指令不能來(lái)點(diǎn)別的?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中,再直接取出就會(huì)方便很多。
此外,很多開(kāi)發(fā)者一定見(jiàn)過(guò)不少單片機(jī)的東西上面都有數(shù)碼顯示,那些個(gè)數(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“(1對(duì)應(yīng)的是小數(shù)點(diǎn),高電位不會(huì)顯示)。
通過(guò)以上介紹,相信大家對(duì)于單片機(jī)程序存儲(chǔ)器作用有了一定程度的了解。程序存儲(chǔ)器當(dāng)中保存的是單片機(jī)最重要的部分——工作執(zhí)行程序。這部分的重要性自是不用小編多說(shuō),因此程序存儲(chǔ)器也是單片機(jī)存儲(chǔ)中的重點(diǎn),掌握本文內(nèi)的知識(shí)點(diǎn)將很大程度上鞏固開(kāi)發(fā)者的基礎(chǔ)知識(shí)。
評(píng)論