㈠ 8051單片機片外程序存儲器和片外數據存儲器是用戶自己擴展的嗎
片外的儲存器當然都是用戶自己擴展的。針對於你提出的問題,我之前也有過相似的疑問,後來我覺得所謂rom,即只讀存儲器並不是說你根本就不能改變裡面的數據,而是說在單片機運行期間裡面的東西是不能改變的,因為裡面存的是程序。(你想想,程序在運行期間,自己改變了,那還能當程序嗎???)比如說數據存儲器,它是ram,裡面存的是數據,可以改變,就可以在單片機運行期間被讀寫!
綜上,rom(程序存儲器)可以在燒程序時被改變,而ram(數據存儲器)在單片機運行期間被改變!
所以用戶程序就是存在那4kb裡面!
希望能幫到你!!!
㈡ 8051單片機的工作原理是什麼
單片機自動完成賦予它的任務的過程,也就是單片機執行程序的過程,即一條條執行的指令的過程,所謂指令就是把要求單片機執行的各種操作用的命令的形式寫下來,這是在設計人員賦予它的指令系統所決定的,一條指令對應著一種基本操作;單片機所能執行的全部指令,就是該單片機的指令系統,不同種類的單片機,其指令系統亦不同。為使單片機能自動完成某一特定任務,必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執行的指令),這一系列指令的集合就成為程序,程序需要預先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出並執行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然後再被執行。 程序通常是順序執行的,所以程序中的指令也是一條條順序存放的,單片機在執行程序時要能把這些指令一條條取出並加以執行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數器PC(包含在CPU中),在開始執行程序時,給PC賦以程序中第一條指令所在的地址,然後取得每一條要執行的命令,PC在中的內容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執行。
㈢ 8051單片機功能簡介
8051
單片微型計算機簡稱為單片機,又稱為微型控制器,是微型計算機的一個重要分支。單片機是70年代中期發展起來的一種大規模集成電路晶元,是CPU、RAM、ROM、I/O介面和中斷系統於同一矽片的器件。80年代以來,單片機發展迅速,各類新產品不斷涌現,出現了許多高性能新型機種,現已逐漸成為工廠自動化和各控制領域的支柱產業之一。
編輯本段引腳功能
MCS-51是標準的40引腳雙列直插式集成電路晶元,引腳分布請參照----單片機引腳圖: l P0.0~P0.7 P0口8位雙向口線(在引腳的39~32號端子)。 l P1.0~P1.7 P1口8位雙向口線(在引腳的1~8號端子)。 l P2.0~P2.7 P2口8位雙向口線(在引腳的21~28號端子)。 l P3.0~P3.7 P3口8位雙向口線(在引腳的10~17號端子)。 這4個I/O口具有不完全相同的功能,大家可得學好了,其它書本里雖然有,但寫的太深,初學者很難理解,這里都是按我自已的表達方式來寫的,相信你也能夠理解。
編輯本段四個I/O口:
P0口有三個功能
1、外部擴展存儲器時,當做數據匯流排(如圖1中的D0~D7為數據匯流排介面) 2、外部擴展存儲器時,當作地址匯流排(如圖1中的A0~A7為地址匯流排介面) 3、不擴展時,可做一般的I/O使用,但內部無上拉電阻,作為輸入或輸出時應在外部接上拉電阻。
P1口
只做I/O口使用:其內部有上拉電阻。
P2口有兩個功能
1、擴展外部存儲器時,當作地址匯流排使用 2、做一般I/O口使用,其內部有上拉電阻;
P3口有兩個功能
除了作為I/O使用外(其內部有上拉電阻),還有一些特殊功能,由特殊寄存器來設置,具體功能請參考我們後面的引腳說明。 有內部EPROM的單片機晶元(例如8751),為寫入程序需提供專門的編程脈沖和編程電源,這些信號也是由信號引腳的形式提供的, 即:編程脈沖:30腳(ALE/PROG) 編程電壓(25V):31腳(EA/Vpp) 接觸過工業設備的兄弟可能會看到有些印刷線路板上會有一個電池,這個電池是干什麼用的呢?這就是單片機的備用電源,當外接電源下降到下限值時,備用電源就會經第二功能的方式由第9腳(即RST/VPD)引入,以保護內部RAM中的信息不會丟失。 (註:這些引腳的功能應用,除9腳的第二功能外,在「新動力2004版」學習套件中都有應用到。)
上拉電阻
在介紹這四個I/O口時提到了一個「上拉電阻」那麼上拉電阻又是一個什麼東東呢?他起什麼作用呢?都說了是電阻那當然就是一個電阻啦,當作為輸入時,上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果P0口如果作為輸入時,處在高阻抗狀態,只有外接一個上拉電阻才能有效。
ALE/PROG 地址鎖存控制信號
在系統擴展時,ALE用於控制把P0口的輸出低8位地址送鎖存器鎖存起來,以實現低位地址和數據的隔離。(在後面關於擴展的課程中我們就會看到8051擴展 EEPROM電路,在圖中ALE與74LS373鎖存器的G相連接,當CPU對外部進行存取時,用以鎖住地址的低位地址,即P0口輸出。ALE有可能是高電平也有可能是低電平,當ALE是高電平時,允許地址鎖存信號,當訪問外部存儲器時,ALE信號負跳變(即由正變負)將P0口上低8位地址信號送入鎖存器。當ALE是低電平時,P0口上的內容和鎖存器輸出一致。關於鎖存器的內容,我們稍後也會介紹。 在沒有訪問外部存儲器期間,ALE以1/6振盪周期頻率輸出(即6分頻),當訪問外部存儲器以1/12振盪周期輸出(12分頻)。從這里我們可以看到,當系統沒有進行擴展時ALE會以1/6振盪周期的固定頻率輸出,因此可以做為外部時鍾,或者外部定時脈沖使用。
PORG為編程脈沖的輸入端
在第五課 單片機的內部結構及其組成中,我們已知道,在8051單片機內部有一個4KB或8KB的程序存儲器(ROM),ROM的作用就是用來存放用戶需要執行的程序的,那麼我們是怎樣把編寫好的程序存入進這個ROM中的呢?實際上是通過編程脈沖輸入才能寫進去的,這個脈沖的輸入埠就是PROG。 PSEN 外部程序存儲器讀選通信號:在讀外部ROM時PSEN低電平有效,以實現外部ROM單元的讀操作。 1、內部ROM讀取時,PSEN不動作; 2、外部ROM讀取時,在每個機器周期會動作兩次; 3、外部RAM讀取時,兩個PSEN脈沖被跳過不會輸出; 4、外接ROM時,與ROM的OE腳相接。 參見圖2—(8051擴展2KB EEPROM電路,在圖中PSEN與擴展ROM的OE腳相接) EA/VPP 訪問和序存儲器控制信號 1、接高電平時: CPU讀取內部程序存儲器(ROM) 擴展外部ROM:當讀取內部程序存儲器超過0FFFH(8051)1FFFH(8052)時自動讀取外部ROM。 2、接低電平時:CPU讀取外部程序存儲器(ROM)。 在前面的學習中我們已知道,8031單片機內部是沒有ROM的,那麼在應用8031單片機時,這個腳是一直接低電平的。 3、8751燒寫內部EPROM時,利用此腳輸入21V的燒寫電壓。 RST 復位信號:當輸入的信號連續2個機器周期以上高電平時即為有效,用以完成單片機的復位初始化操作,當復位後程序計數器PC=0000H,即復位後將從程序存儲器的0000H單元讀取第一條指令碼。 XTAL1和XTAL2 外接晶振引腳。當使用晶元內部時鍾時,此二引腳用於外接石英晶體和微調電容;當使用外部時鍾時,用於接外部時鍾脈沖信號。 VCC:電源+5V輸入 VSS:GND接地。 AVR和pic都是跟8051結構不同的8位單片機,因為結構不同,所以匯編指令也有所不同,而且區別於使用CISC指令集的8051,他們都是RISC指令集的,只有幾十條指令,大部分指令都是單指令周期的指令,所以在同樣晶振頻率下,較8051速度要快。另PIC的8位單片機前幾年是世界上出貨量最大的單片機,飛思卡爾的單片機緊隨其後。 ARM實際上就是32位的單片機,它的內部資源(寄存器和外設功能)較8051和PIC、AVR都要多得多,跟計算機的CPU晶元很接近了。常用於手機、路由器等等。 DSP其實也是一種特殊的單片機,它從8位到32位的都有。它是專門用來計算數字信號的。在某些公式運算上,它比現行家用計算機的最快的CPU還要快。比如說一般32位的DSP能在一個指令周期內運算完一個32位數乘32位數積再加一個32位數。應用於某些對實時處理要求較高的場合
㈣ 8051單片機的工作原理是什麼
單片機自動完成賦予它的任務的過程,也就是單片機執行程序的過程,即一條條執行的指令的過程,所謂指令就是把要求單片機執行的各種操作用的命令的形式寫下來,這是在設計人員賦予它的指令系統所決定的,一條指令對應著一種基本操作;單片機所能執行的全部指令,就是該單片機的指令系統,不同種類的單片機,其指令系統亦不同。為使單片機能自動完成某一特定任務,必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執行的指令),這一系列指令的集合就成為程序,程序需要預先存放在具有存儲功能的部件--存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出並執行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然後再被執行。
程序通常是順序執行的,所以程序中的指令也是一條條順序存放的,單片機在執行程序時要能把這些指令一條條取出並加以執行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數器PC(包含在CPU中),在開始執行程序時,給PC賦以程序中第一條指令所在的地址,然後取得每一條要執行的命令,PC在中的內容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執行。
㈤ 以8051單片機為核心,對其擴展8KB的外部程序儲存器。要求採用一片2764晶元,試畫出硬體邏輯連接圖並內詳
以8051單片機為核心,對其擴展8KB的外部程序儲存器。要求採用一片2764晶元。
----
滿足這種要求的電路,至少有十幾種畫法。
題目要求的是邏輯連接圖,更是一種簡略的、抽象的畫法。
到底應該簡略到什麼程度,誰也不知道。只有看到你的教材的例題,才能了解。
下面給出一種擴展一片2764的完整電路圖。
電路中,2764的地址范圍是:2000H~3FFFH。
㈥ 8051單片機的內部硬體結構包括哪五大部分
8051單片機的內部硬體結構包括:
1、中央處理器CPU:它是單片機內部的核心部件,決定了單片機的主要功能特性,由運算器和控制器兩大部分組成。
2、存儲器:8051單片機在系統結構上採用了哈佛型,將程序和數據分別存放在兩個存儲器內,一個稱為程序存儲器,另一個為數據存儲器在物理結構上分程序存儲器和數據存儲器,有四個物理上相互獨立的存儲空間,即片內ROM和片外ROM,片內RAM和片外RAM。
3、定時器/計數器(T/C):8051單片機內有兩個16位的定時器/計數器,每個T/C既可以設置成計數方式,也可以設置成定時方式,並以其定時計數結果對計算機進行控制。
4、並行I/O口:8051有四個8位並行I/O介面(P0~P3),以實現數據的並行輸入輸出。
5、串列口:8051單片機有一個全雙工的串列口,可實現單片機和單片機或其他設備間的串列通信。
6、中斷控制系統:8051共有5個中斷源,非為高級和低級兩個級別它可以接收外部中斷申請、定時器/計數器申請和串列口申請,常用於實時控制、故障自動處理、計算機與外設間傳送數據及人機對話等。
(6)8051單片機程序存儲器擴展原理擴展閱讀:
單片機不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。相當於一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。
概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。
單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。
㈦ 課程設計:8051 單片機系統擴展
你是要擴展IO口還是要擴展存儲器啊,或者說兩樣都要擴展,你沒說清楚怎麼回答你呀!
如果只是擴展IO的話那麼就串列擴展好了,用74HC165、74HC164、74HC595等根據需要去選用啊
如果是同時擴展存儲器和IO口則並行擴展,一般要用的地址解碼器74HC138、74HC154;匯流排驅動器74HC244、74HC245;8位的鎖存器74HC573等
我有詳細的電路圖的程序。
㈧ 簡述8051單片機存儲器結構
8051單片機存儲器結構包含內部存儲器,外部擴展存儲器。
1、內部存儲器包括:
00H~1FH,工作寄存器區域
20H~2FH,位址寄存器區域
30H~7FH,用戶寄存器區域
80H~FFH,特殊功能寄存器區域
2、擴展存儲區包括
0000H~FFFFH的數據存儲器和程序存儲器,地址重疊。
㈨ 8051單片機系統擴展RAM和ROM時,分別使用哪些擴展信號
8051單片機系統擴展RAM和ROM時,要用P0口做8位數據匯流排,並用一片鎖存器74LS373接在P0口鎖存低8位地址匯流排,用P2口做高8位地址匯流排。控制信號有: ROM用的PSEN,鎖存器用ALE。RAM用寫信號WR/P3.6,讀信號RD/P3.7。單片機引腳圖如下。
㈩ 8051單片機存儲器分為哪兩大部分指令格式由什麼和什麼兩部分組成
8051單片機存儲器分為數據存儲器空間和程序存儲器空間兩大部分。
而不是(外部數據存儲器空間和程序存儲器空間,兩大部分外部數據存儲器空)
指令格式並不一定有兩部分組成,應該分什麼指令格式。
如:匯編語言指令格式,是有五部分組成。
1,
標號
2,助記符
3,目的操作數
4,源操作數
5,註解·