
各位工程師們的福利時間已到來,本文將和廣大工程師分享相關單片機的常用術語與相關知識。各位還不趕緊拿著筆和本,做好記錄,課程即將開啟!
MCS-51系列單片機
MCS-51系列單片機分為兩大系列,即51子系列與52子系列。
51子系列:基本型,根據片內ROM的配置,對應的芯片為8031、8051、8751、8951
52子系列:增強型,根據片內ROM的配置,對應的芯片為8032、8052、8752、8952
這兩大系列單片機的主要硬件特性如下表:
從上表中可以看到,8031、8031、8032、80C32片內是沒有ROM的,對應著上表看,我們可以發現,51系列的單片機的RAM大小為128B,52系列的RAM大小為256B,51系列的計數器為兩個16位的,52系列的計數器為三個16位計數器。51系列的中斷源為5個,52系列的中斷源為6個。
8051與80C51的區別:
80C51單片機是在8051的基礎上發展起來的,也就是說在單片機的發展過程中是先有8051,然后才有80C51的。
8051單片機與80C51單片機從外形看是完全一樣的,其指令系統、引腳信號、總線等完全一致(完全兼容),也就是說在8051下開發的軟件完全可以在80C51上應用,反過來,在89C51下開發的軟件也可以在8051上應用。這兩種單片機是完全可移植的。
既然這兩種單片機外形及內部結構都一樣,那它們之間的主要差別在哪里呢?
8051與80C51單片機的主要差別就在于芯片的制造工藝上。80C51的制造工藝是在8051基礎上進行了改進。
8051系列單片機采用的是HMOS工藝:高速度、高密度;
80C51系列單片機采用的是CHMOS工藝:高速度、高密度、低功耗;
也就是說80C51單片機是一種低功耗單片機。
單片機常用名詞解釋
總線: 指能為多個部件服務的信息傳送線,在微機系統中各個部件通過總線相互通信。
地址總線(AB):地址總線是單向的,用于傳送地址信息。地址總線的寬度為16位,因此基外部存儲器直接尋址64K,16位地址總線由P0口經地址鎖存器提供低8位地址(A0~A7),P2口直接提供高8位地址(A8~A15)。
數據總線(DB):一般為雙向,用于CPU與存儲器,CPU與外設、或外設與外設之間傳送數據信息(包括實際意義的數據和指令碼)。數據總線寬度為8位,由P0口提供。
控制總線(CB):是計算機系統中所有控制信號的總稱,在控制總線中傳送的是控制信息。由P3口的第二功能狀態和4根獨立的控制總線,RESET、EA、ALE、PSEN組成。
存儲器:用來存放計算機中的所有信息:包括程序、原始數據、運算的中間結果及最終結果等。
只讀存儲器(ROM):只讀存儲器在使用時,只能讀出而不能寫入,斷電后ROM中的信息不會丟失。因此一般用來存放一些固定程序,如監控程序、子程序、字庫及數據表等。ROM按存儲信息的方法又可分為以下幾種:
1、掩膜ROM:
掩膜ROM也稱固定ROM,它是由廠家編好程序寫入ROM(稱固化)供用戶使用,用戶不能更改內部程序,其特點是價格便宜。
2、可編程的只讀存儲器(PROM):
它的內容可由用戶根據自已所編程序一次性寫入,一旦寫入,只能讀出,而不能再進行更改,這類存儲器現在也稱為OTP(Only Time Programmable)。
3、可改寫的只讀存儲器EPROM:
前兩種ROM只能進行一次性寫入,因而用戶較少使用,目前較為流行的ROM芯片為EPROM。因為它的內容可以通過紫外線照射而徹底擦除,擦除后又可重新寫入新的程序。
4、可電改寫只讀存儲器(EEPROM):
EEPROM可用電的方法寫入和清除其內容,其編程電壓和清除電壓均與微機CPU的5V工作電壓相同,不需另加電壓。它既有與RAM一樣讀寫操作簡便,又有數據不會因掉電而丟失的優點,因而使用極為方便。現在這種存儲器的使用最為廣泛。
5、隨機存儲器(RAM):
這種存儲器又叫讀寫存儲器。它不僅能讀取存放在存儲單元中的數據,還能隨時寫入新的數據,寫入后原來的數據就丟失了。斷電后RAM中的信息全部丟失。因些,RAM常用于存放經常要改變的程序或中間計算結果等信息。
RAM按照存儲信息的方式,又可分為靜態和動態兩種。
①靜態SRAM:其特點是只要有電源加于存儲器,數據就能長期保存。
②動態DRAM:寫入的信息只能保存若干ms時間,因此,每隔一定時間必須重新寫入一次,以保持原來的信息不變。
6、可現場改寫的非易失性存儲器:
這種存儲器的特點是:從原理上看,它們屬于ROM型存儲器,從功能上看,它們又可以隨時改寫信息,作用又相當于RAM。所以,ROM、RAM的定義和劃分已逐漸的失去意義。
①快擦寫存儲器(FLASH)
這種存儲器是在EPROM和EEPROM的制造基礎上產生的一種非易失性存儲器。其集成度高,制造成本低于DRAM,既具有SRAM讀寫的靈活性和較快的訪問速度,又具有ROM在斷電后可不丟失信息的特點,所以發展迅速。
②鐵電存儲器FRAM
它是利用鐵電材料極化方向來存儲數據的。它的特點是集成度高,讀寫速度快,成本低,讀寫周期短。
時鐘周期:計算機在時鐘信號的作用下,以節拍方式工作。因此必須有一個時鐘發生電路,輸入微處理器的時鐘信號的周期稱為時鐘周期。
機器周期:機器完成一個動作所需的時間稱為機器周期,一般由一個或一個以上的時鐘周期組成。在我們講述的MCS-51系列單片機中,一個機器周期由12個時鐘周期組成。
指令周期:執行一條指令(如“MOV A,#34H”,該指令的含義是將立即數34H傳送到微處理器內的累加器A中)所需時間稱為指令周期,它由一個到數個機器周期組成。指令周期的長短取決于指令的類型,即指令將要進行的操作步聚及復雜程度。
匯編: 是能完成一定任務的機器指令的集合。
二進制數: 只有0和1兩個數碼,基數為二。
16進制數: 采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16個數碼,其中A-F相應的十進數為10-15,基數是16。
指令: 是計算機所能執行的一種基本操作的描述,是計算機軟件的基本單元。
字節:8位二進制數組成一個字節,在存儲器中以字節為單位存儲信息。
字:2個字節組成一個字。
雙字:2個字組成一個雙字。
補碼:機器數可用不同的碼制來表示,補碼表示法是最常用的一種,正數采用符號-絕對值表示,即數的最高有效位為0,數的其余部分則表示數的絕對值;負數的表示要麻煩一些,先寫出與該負數相對應的正數的補碼表示,然后將其按位求反,最后在末位加1,就可以得到該負數的補碼表示了。
段地址:8086CPU將1MB的存儲器空間分成許多邏輯段,每個段最大限制為64KB,段地址就是邏輯段在主存中的起始位置。為了能用16位寄存器表示段地址,8086規定段地址必須是模16地址,即為xxxx0H形式,省略低4位0,段地址就可以用16位數據表示,它通常被保存在16位的段寄存器中。
偏移地址:存單元距離段起始位置的偏移量簡稱偏移地址,由于限定每段不超過64KB,所以偏移地址也可以用16位數據表示。
物理地址:在1M字節的存儲器里,每一個存儲單元都有一個唯一的20位地址,稱為該存儲單元的物理地址,把段地址左移4位再加上偏移地址就形成物理地址。
代碼段:程序員在編制程序時要把存儲器劃分成段,代碼段用來存放程序的指令序列,代碼段的段地址存放在CS中,指令指針寄存器IP指示代碼段中指令的偏移地址,處理器利用CS:IP取得下一條要執行的指令。
數據段:數據段存放當前運行程序所用的數據,數據段的段地址存放在DS中。
附加段:附加段是附加的數據段,也用于數據的保存,另外,串操作指令將附加段作為其目的操作數的存放區域。附加段的段地址存放在ES中。
堆棧段:堆棧段是堆棧所在的主存區域,堆棧段的段地址存放在SS中,堆棧指針寄存器SP指示堆棧棧頂的偏移地址,處理器利用SS:SP操作堆棧中的數據。
堆棧:堆棧是一個"后進先出"的主存區域,位于堆棧段中,使用SS段寄存器記錄其段地址。它只有一個出入口,即當前棧頂,棧頂是地址較小的一端(低端),它用堆棧指針寄存器SP指定。堆棧有兩種以字為單位的基本操作,對應兩條基本指令:進棧指令PUSH和出棧指令POP。
偽指令:匯編語言程序的語句除指令外還包括偽指令和宏指令,偽指令又稱為偽操作,它不象機器指令那樣是在程序運行期間由計算機來執行的,它是在匯編程序對源程序匯編期間由匯編程序處理的操作,完成諸如數據定義、分配存儲區、指示程序結束等功能。
宏指令:宏是源程序中一段有獨立功能的程序代碼,它只需要在源程序中定義一次,就可以多次調用,調用時只需要用一個宏指令語句就可以了。宏指令是用戶自定義的指令,在編程時將多次使用的功能用一條宏指令來代替。
子程序:子程序又稱為過程,它相當于高級語言中的過程和函數。在一個程序的不同部分,往往要用到類似的程序段,這些程序段的功能和結構形式都相同,只是某些變量的賦值不同,此時就可以把這些程序段寫成子程序形式,以便需要時可以調用它;某些常用的特定功能的程序段也可編制成子程序的形式供用戶使用。
中斷:中斷是一種使CPU中止正在執行的程序而轉去處理特殊事件的操作,這些引起中斷的事件稱為中斷源,它們可能是來自外設的輸入輸出請求,也可能是計算機的一些異常事故或其它內部原因。
中斷處理程序:當中斷發生時,處理器中止當前正在運行的程序,而轉到處理特殊事件的程序段中去執行,這種處理中斷的子程序就是中斷處理程序,又稱為中斷服務程序。中斷處理程序的入口地址被安排在中斷向量表中。
BIOS中斷:在存儲器系統中,從地址0FE000H開始的8K ROM中裝有BIOS(Basic Input/Output System)例行程序。駐留在ROM中的基本輸入輸出程序BIOS提供了系統加電自檢、引導裝入、主要I/O設備的處理程序以及接口控制等功能模塊來處理所有的系統中斷。BIOS中斷給程序員編程帶來很大方便,程序員不必了解硬件I/O接口的特性,可直接用指令設置參數,然后中斷調用BIOS中的程序。
暫存器: 用來暫存由數據總線或通用寄存器送來的操作數,并把它作為另一個操作數。
中斷: 中斷是單片機實時地處理內部或外部事件的一種內部機制。當某種內部或外部事件發生時,單片機的中斷系統將迫使CPU暫停正在執行的程序,轉而去進行中斷事件的處理,中斷處理完畢后,又返回被中斷的程序處,繼續執行下去。
掉電保護: 指在正常供電電源掉電時,迅速用備用直流電源供電,以保證在一段時間內信息不會丟失,當主電源恢復供電時,又自動切換為主電源供電。
寄存器尋址: 操作數在寄存器中,由指令操作碼中的rrr三位的值和PSW中RS1及RS0的狀態,選中某個工作寄存器區的某個寄存器,然后進行相應的指令操作。
波特率: 即每秒鐘傳送二進制數的位數, 波特率越高,數據傳輸的速度越快。
D/A轉換: 即將二進制數量轉換成與其量值成正比的電流信號或電壓信號。
A/D轉換: 即將模擬量轉換成相應的數字量,然而送計算機處理。
串行方式: 指數據的各位分時傳送,只需一條數據線,外加一條公共信號地線和若干條控制信號線。
并行方式: 指數據的各位同時傳送,每一條數據都需要一條傳輸線。
偽指令: 用于告訴匯編程序如何進行匯編的指令,它既不控制機器的操作也不被匯編成機器代碼,只能為匯編程序所識別并指導匯編如何進行。
linking 連接: 把編譯后生成的 *.obj 文件與其它 *.obj文件合并成機器能識別的機器文件。
I2C:輸入與輸出共用一條傳輸線,而時鐘由另一條線控制的一種串行傳輸方式。
SFR 特殊功能寄存器區: 8051 把 CPU 中的專用寄存器、并行端口鎖存器、串行口與定時器/計數器內的控制寄存器集中安排到一個區域,離散地分布在地址從 80H 到 FFH 范圍內,這個區域稱為特殊功能寄存器區 SFR。
常用邏輯電路
在邏輯電路中,輸入和輸出只有兩種狀態,即高電平和低電平。通常以邏輯“1”和“0”表示電平高低。
1、與門
是一個能夠實現邏輯乘運算的、多端輸入、單端輸出的邏輯電路。
邏輯解釋:
即如右邊圖所示,當開關A與B當中只有全部閉合(即為高電平1)時,才會有輸出(即燈泡才會亮)所以在與門電路中,只有輸入的全部條件為高電平“1”時輸會有輸出。
語言表達為:“有0出0,全1出1”
2、或門
是一個能夠實現邏輯加運算的、多端輸入、單端輸出的邏輯電路。
邏輯解釋:
即如右邊圖所示,當開關A與B當中只要有一個開關閉合(即為高電平1)時,就會有輸出(即燈泡才會亮)所以在或門電路中,只要輸入的為高電平“1”就會有輸出。
語言表達為:“有1出1,全0出0”。
3、非門
是一個能夠實現邏輯非運算的、單端輸入、單端輸出的邏輯電路。非就是反,就是否定,也就是輸入與輸出的狀態總是相反。
邏輯解釋:
如右邊圖所示,當開關K斷開時燈亮,開關閉合時燈滅。如以開關斷開為燈亮,開關接通為滅為結果,則開關K與燈泡的因果關系為非邏輯關系。
語言表達為:“有0出1,有1出0”。
復合邏輯門電路
(1)與非門
將一個與門與一個非門聯接起來就構成了一個與非門。
根據與門和非門的邏輯功能,可以列出與非門邏輯關系真值表。其邏輯功能的特點是:“當輸入全為1,輸出為0;只要輸入有0,輸出就為1”。
真值表如下:
(2)或非門
將一個或門與一個非門聯接起來就構成了一個或非門。
根據或門和非門的邏輯功能,可以列出與非門邏輯關系真值表。其邏輯功能的特點是:“當輸入全為0,輸出為1;只要輸入有1,輸出就為0”。
真值表如下:
(3)異或門
異或門只有兩個輸入端和一個輸出端。
其邏輯功能的特點是:“當兩個輸入端一個為0,另一個為1時,當兩個輸入端均為1或均為0時,輸出為0”。
真值表如下:
異或門的作用是:把兩路信號進行比較,判斷是否相同。當兩路輸入信號不同,即一個為高電平,一個為低電平時,輸出為高電平。反之當兩個輸出端信號相同時,即為高電平或低電平時,輸出為低電平”。
觸發器
觸發器是計算機記憶裝置的基本單元,它具有把以前的輸入‘記憶’下來的功能,一個觸發器能儲存一位二進制代碼。下面我們簡單的來介紹計算機中常用的幾中觸發器。
(1)R-S觸發器
R-S觸發器的邏輯符號如下圖所示,它有兩個輸入端,兩個輸出端。其中,S為置位信號輸入端,R為復位信號輸入端;Q和Q非為輸出端。規定Q為高、Q非為低時,該觸發器為1狀態;反之為0狀態。其真值表如下。
(2)D觸發器
D觸發器又稱數據觸發器,它的邏輯符號如下圖所示,R、S分別為強制置0、置1端,觸發器的狀態是由時鐘脈沖CLK上升沿到來時D端的狀態決字。當D=1時,觸發器為1狀態;反之為0狀態。其真值表如下
(3)J-K觸發器
J-K觸發器的邏輯符號如下,R、S分別為強制置0、置1端。K為同步置0輸入端,J為同步置1輸入端。觸發器的狀態是由時鐘脈沖CLK下降沿到來時J、K端的狀態決定,其真值表如下
J-K觸發器的邏輯功能比較全面,因此在各種寄存器、計算器、邏輯控制等方面應用最為廣泛。但在某些情況,如二進制計數、移位、累加等,多用D觸發器。由于D觸發器線路簡章,所以大量應用于移位寄存器等方面。
寄存器
寄存器是由觸發器組成的,一個觸發器是一個一位寄存器。多個觸發器就可以組成一個多位的寄存器。由于寄存器在計算機中的作用不同,從而被命名不同,常用的有緩沖寄存器、移位寄存器、計數器等。下面我們就簡單的來介紹下這些寄存器的電路結構及工作原理。
(1)緩沖寄存器
它是用來暫存某個數據,以便在適當的時間節拍和給定的計算步驟將數據輸入或輸出到其它記憶單元中去,下圖是一個并行輸入、并行輸出的4位緩沖器的電路原理圖,它由4個D觸發器組成。
啟動時,先在清零端加清零脈沖,把各觸發器置0,即Q端為0。然后,把數據加到觸發器的D輸入端,在CLK時鐘信號作用下,輸入端的信息就保存在各觸發器中(D0~D3)。
(2)移位寄存器
移位寄存器能將所儲存的數據逐位向左或向右移動,以達到計算機運行過程中所需的功能,請看下圖
啟動時,先在清零端加清零脈沖,使觸發器輸出置0。然后,第一個數據D0加到觸發器1的串行輸入端,在第一個CLK脈沖的上升沿Q0=Q0,Q1=Q2。Q3=Q0。其后,第二個數據D1加到串行輸入端,在第二個CLK脈沖到達時,Q0=Q1,Q1=Q0,Q2=Q3=0。以此類推,當第四個CLK來到之后,各輸出端分別是Q0=Q3,Q1=Q2,Q2=Q1,Q3=Q0。輸出數據可用串行的形式取出,也可用并行開式取出。
(3)計數器
計數器也是由若干個觸發器組成的寄存器,它的特點是能夠把存款在其中的數據加1或減1。計數器的種類也很多,有行波計數器、同步計數器等,下面我們就以行波計數器向大家作個介紹。
下圖就是一個由J-K觸發器組成的行波計數器的工作原理圖。這種計數器的特點是:第一個時鐘脈沖促使其最低有效位加1,使其由0變1;第二個時鐘脈沖促使最低有效位由1變0。同時推動第二位,使其由0變1;同理,第二位由1變0時又去推動第三位,使其由0變1,這樣有如水波前進一樣逐位進位下去。
上圖中各位的J、K輸入端都是懸浮的,這相當于J、K輸入端都是置1的狀態,即各位都處于準備翻轉的狀態。只要時鐘脈沖邊沿一到,最右邊的觸發器就會翻轉,即Q由0轉為1或由1轉為0。
上圖中的這個計數器是4位的,因此可以計0~15的數。如果要計更多的數,需要增加位數,如8位計數器可計0~255的數,16位則可計0~65535的數。
(4)三態門(三態緩沖器)
為減少信息傳輸線的數目,大多數計算機中的信息傳輸線均采用總線形式,即凡要傳輸的同類信息都走同一組傳輸線,且信息是分時傳送的。在計算機中一般有三組總線,即數據總線、地址總線和控制總線。為防止信息相互干擾,要求凡掛在總線上的寄存器或存儲器等,它的傳輸端不僅能呈現0、1兩個信息狀態,而且還應能呈現第三種狀態——高阻抗狀態(又稱高阻狀態),即此時好像它們的輸出被斷開,對總線狀態不起作用,此時總線可由其它器件占用。三態門即可實現上述的功能,它除具有輸入輸出端之外,還有一控制端,請看下圖。
當控制端E=1時,輸出=輸入,此時總線由該器件驅動,總線上的數據由輸入數據決定;
當控制端E=0時,輸出端呈高阻抗狀態,該器件對總線不起作用。當寄存器輸出端接至三態門,再由三態門輸出端與總線連接起來,就構成三態輸出的級沖寄存器。如下圖所示就是一個4位的三態輸出緩沖寄存器。由于這里采用的是單向三態門,所以數據只能從寄存器輸出到數據總線。如果要實現雙向傳送,則要用雙向三態門。
聲明:本內容為作者獨立觀點,不代表電源網。本網站原創內容,如需轉載,請注明出處;本網站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經濟損失,請電郵聯系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
Microchip發布PIC16F17576 單片機(MCU)系列,簡化模擬傳感器設計 | 25-04-28 16:21 |
---|---|
利用單片機實現復雜的分立邏輯 | 24-11-05 14:55 |
Microchip擴大耐輻射單片機產品線, 為航空航天和防御市場推出基于Arm? Cortex?-M0+ 的32位單片機SAMD21RT | 24-05-17 15:41 |
Microchip推出PIC18-Q24 系列單片機 為增強代碼安全性設置新標準 | 23-11-28 16:16 |
助力采用MCU的自主系統實現自主安全性 | 23-03-27 11:51 |
微信關注 | ||
![]() |
技術專題 | 更多>> | |
![]() |
技術專題之EMC |
![]() |
技術專題之PCB |