你知道ROM在單片機里有什么用嗎?
2021-09-26 13:53:29閱讀量:955
小計算機、大計算機中少不了數據存儲系統,單片機一樣有,而且往往和CPU集成在一起,更加顯得小巧靈活。直到90年代初,國內容易得到的單片機就是8031:不帶存儲器的芯片,要想工作,還必須外加RAM和ROM,單片機成了3片機......
現在不同了,大的小的,又是51,又是AVR又是STC,還有430,PIC等,都各說各的好,可是誰也不敢說“我不要存儲器”。
單片機的數據存儲手段
程序存儲器里存放著單片機的靈魂:工作程序。小的可能只有1KB,最多只能裝1024條8位數據,因為實際指令還有許多2字節,3字節指令,所以它還裝不下1024條指令;大的有128KB。這些8位數據,要么在工廠里做模子光刻進去,要么一次性的燒寫進去。
不管是業余愛好還是實際開發,最多也就是用編程器這么一個特殊工具,把調試成功的機器碼裝載進去,或者像AVR單片機那樣自己花幾塊錢做一條下載線,把電腦里這些東西灌進去(這或許是AVR的吸引人之處)。
它一旦進駐電腦的程序存儲器中,除了借助上述裝置便不能自由改寫,在單片機運行時,只是從其中讀出指令或固定的數據,所以給程序存儲器一個“只讀存儲器”的別名,簡寫為ROM,包括用編程器寫紫外線擦除內容的EPROM、用電擦除的EEPROM和現在新興的FLASH ROM。
為了定位ROM中的數據,每個8位存儲單元都有一個固定的“地址”,通常用16進制數表示。例如,對于一個所謂4K的ROM,地址從0000H到0FFFH(即0000,0001...4095),單片機運行時從哪個地址取數據,完全由程序本身決定,并不要我們干預。
ROM是程序存儲器,除了指令外,還包括運行程序必需的某些固定數據,例如:數據表。假如,我們要求在單片機的接口上輸出00H到FFH(255),按正弦半波變化的數值,每秒10000次。如果硬要它按照公式一個個計算,對于它來說未免力不從心??墒俏覀兛梢园杨A先計算好的數值存入ROM中,到時候直接取出不是好多了?
另一個重要的應用:不少單片機上都有數碼顯示,那些數字其實就是用單片機的口線控制數碼管的字段電極電位。這些字形也是存放在ROM中的字模表,各個字模和0-9的數字(機器內當然是0000-0101二進制數)對應起來。常見的共陽極7段數碼管,必須在陽極加正電,7個陰極都是地電位,才能顯示數字"8",數字8對應的顯示字碼值是二進制數“10000000“(那個1對應的是小數點,高電位不讓它顯示)。
關于ROM,可以在立創商城進行下單購買。立創商城是中國領先的現貨元器件交易平臺。100%原裝正品,40萬SKU現貨,4小時閃電發貨!
內容聲明:本文轉載自其它來源,轉載目的在于傳遞更多信息,不代表立創商城贊同其觀點和對其真實性負責,僅作學習與交流目的使用。

L7805CV-DG/線性穩壓器(LDO) | 0.5637 | |
AMS1117-3.3/線性穩壓器(LDO) | 0.1237 | |
BAT54C,215/肖特基二極管 | 0.0334 | |
LM358DR2G/運算放大器 | 0.35 | |
CJ431/電壓基準芯片 | 0.1147 | |
LM393DR2G/比較器 | 0.318 | |
ADUM4160BRWZ-RL/隔離式USB芯片 | 31.6 | |
SS8050/三極管(BJT) | 0.035 | |
8S005/錫膏/錫漿 | 17.67 | |
B0505S-1WR3/隔離電源模塊 | 2.34 |