㈠ 求助,51單片機,程序是從程序存儲器哪個位置開始存儲的問題 。
程序是存在程序存儲器的0000H開始的地址,還是存在了0030H的地址?
--0000H。
如果是存在了0030H開始的地址,為什麼還要寫開頭的ORG 0000H?
--開機後,單片機自動從 0000H 開始執行。
為什麼還要寫 ORG 0030H ?
--因為:
--發生外部中斷0時,單片機自動從 0003H 開始執行。
--發生定時器0中斷時,單片機自動從 000BH 開始執行。
--發生外部中斷1時,單片機自動從 0013H 開始執行。
--發生定時器1中斷時,單片機自動從 001BH 開始執行。
--發生串口中斷時,單片機自動從 0023H 開始執行。
--這些地址,不能隨便佔用,所以:
--我們的主程序,必須在這些地址的後面(如 0030H)編寫。
㈡ 單片機應用程序一般存放在哪一個存儲器中
ROM。只讀存儲器(Read-Only Memory,ROM)以非破壞性讀出方式工作,只能讀出無法寫入信息。信息一旦寫入後就固定下來,即使切斷電源,信息也不會丟失,所以又稱為固定存儲器。
ROM所存數據通常是裝入整機前寫入的,整機工作過程中只能讀出,不像隨機存儲器能快速方便地改寫存儲內容。ROM所存數據穩定 ,斷電後所存數據也不會改變,並且結構較簡單,使用方便,因而常用於存儲各種固定程序和數據。
(2)51單片機的程序存儲在擴展閱讀
單片機的數據存儲器由讀寫存儲器RAM組成。其最大容量可擴展到64k,用於存儲實時輸入的數據。8051內部有256個單元的內部數據存儲器,其中00H~7FH為內部隨機存儲器RAM,80H~FFH為專用寄存器區。
實際使用時應首先充分利用內部存儲器,從使用角度講,搞清內部數據存儲器的結構和地址分配是十分重要的。因為將來在學習指令系統和程序設計時會經常用到它們。
8051內部數據存儲器地址由00H至FFH共有256個位元組的地址空間,該空間被分為兩部分,其中內部數據RAM的地址為00H~7FH(即0~127)。
而用做特殊功能寄存器的地址為80H~FFH。在此256個位元組中,還開辟有一個所謂「位地址」區,該區域內不但可按位元組定址,還可按「位(bit)」定址。對於那些需要進行位操作的數據,可以存放到這個區域。從00H到1FH安排了四組工作寄存器,每組佔用8個RAM位元組,記為R0~R7。
㈢ 用匯編語言編寫51單片機程序,指令程序存儲在ROM里還是RAM里
51單片機採用的是哈佛結構,即數據和程序分開,這樣可以提高程序的執行速度,如果是MOV 21H #35H這樣的指令,#35H是作為一個立即數,是要和指令放在一起的,就是放在了rom里,如果是定義了的變數,那麼就會放到數據存儲器ram里,在定義變數的時候,可以通過命令選擇變數放到rom或是ram中。
㈣ mcs-8051單片機的程序存儲器是什麼
好象有吧,課本上說有^_^
MCS-51單片機在物理結構上有四個存儲空間:
1、片內程序存儲器
2、片外程序存儲器
3、片內數據存儲器
4、片外數據存儲器
但在邏輯上,即從用戶的角度上,8051單片機有三個存儲空間:
1、片內外統一編址的64K的程序存儲器地址空間(MOVC)
2、256B的片內數據存儲器的地址空間(MOV)
3、以及64K片外數據存儲器的地址空間(MOVX)
在訪問三個不同的邏輯空間時,應採用不同形式的指令,以產生不同的存儲器空間的選通信號。
程序存儲器
定址范圍:0000H ~ FFFFH 容量64KB
EA = 1,定址內部ROM;EA = 0,定址外部ROM
地址長度:16位
㈤ 51單片機的程序在哪裡跑,flash還是ram
程序是放在flash(ROM)里,程序中運行的變數放在RAM中。
類似於電腦中的操作系統和軟體放在硬碟里,操作系統中運行的緩存放在內存條中。
㈥ msc-51系列單片機的應用程序一般存放在什麼中
嘿嘿 俺來幫你解答
1 msc-51系列單片機的應用程序一般存放在片內的EEPROM的程序存儲器中,
即從0000H~0EFFH 共有4K
2 程序如果太長 可以存儲到片外程序存儲器中。
滿意就選滿意回答
㈦ MCS-51系列單片機的存儲器可劃分為幾個空間,地址范圍以及容量是多少
MCS-51單片機在物理的角度上有四個存儲空間:
1、片內程序存儲器
2、片外程序存儲器
3、片內數據存儲器
4、片外數據存儲器
但在邏輯上,從用戶的角度上,單片機有三個存儲空間:
1、片內外統一編址的64K的程序存儲器地址空間(MOVC)
2、256B的片內數據存儲器的地址空間(MOV)
3、以及64K片外數據存儲器的地址空間(MOVX)
㈧ 51單片機怎麼實現數據的存儲,通過51單片機可以把數據存到哪,沒學過usb協議
一般可以存在,單片機的flash里,flash本來是用來存放程序的,但是如果程序沒那麼大,可以存在flash的末尾。
具體代碼怎麼實現,可以查閱一下資料,我就不詳細描述了。
存flash 的時候要注意的地方有幾點:
1,flash的擦寫次數有限制,所以不要頻繁儲存
2,擦除flash的時候不要把代碼擦除了!
還有一種方法是存在外置的eeprom裡面,這種晶元保存數據比較安全可靠,容量也大,但是價格比較貴,一般是用SPI通訊來實現的!
純手打,望採納!
樓主還有什麼不明白的可以追問。
㈨ 51單片機內部程序存儲地址范圍
51單片機內部存儲器范圍是:
1、8751,89X51,一般是EPROM,EEPROM:4K,0000H~0FFFH
2、8031,沒有內部程序存儲器,必須靠外部擴展。
3、8XX52,一般是EPROM或EEPROM:8K,0000H~1FFFH
4、其他,從4K~64K不等,比如Winbond77E58,64K,0000H~FFFFH,比如STC12C5A60S2,60K,0000H~EFFFH
㈩ 51單片機的存儲器分為哪幾個空間
1)MCS-51單片機的存儲器從物理結構上分為:片內和片外數據存儲器,片內和片外程序存儲器。
2)從邏輯上分別可劃分為:片內統一定址的64K程序存儲器空間(0000H---FFFFH);64KB的片外數據存儲器空間(0000H---FFFFH);256B的片內數據存儲器空間(00H---FFH)。
(10)51單片機的程序存儲在擴展閱讀:
使用方法:
1、將模擬器插入需模擬的用戶板的CPU插座中,模擬器由用戶板供電;
2、將模擬器的串列電纜和PC機接好,打開用戶板電源;
3、通過KeilC 的IDE開發模擬環境UV2 下載用戶程序進行模擬、調試。
硬體說明
1、使用用戶板的晶振:模擬器晶振旁有兩組跳線用來切換內部晶振和用戶板晶振,當兩個短路塊位於模擬器晶振一側時,默認使用模擬板上的晶振(11.0592MHz), 當兩個短路塊位於電容一側時,使用用戶板的晶振。
2、為便於調試帶看門狗的用戶板,模擬器的復位端未與用戶板復位端相連;故模擬器的復位按鈕只復位模擬器,不復位用戶板;若要復位用戶板,請使用用戶板復位按鈕。