1.1 單片機概述
課件 單片機概述

視頻 單片機概述

單片機雖然體積微小,但它具備了一般計算機的特征,在單片機內部同樣存在CPU、存儲器和各種接口電路等。雖然單片機號稱是最小的計算機,但它與普通的微型計算機相比,還是有很多的不同。它的CPU比普通微型計算機的CPU要簡單許多且運算能力上相差也很大。但“尺有所短,寸有所長”,相比普通計算機,單片機更加輕巧,功耗更低,在完成專項的控制功能上優勢更明顯,也更加適用。另外,單片機也不能獨立地拿來就用,它的外觀僅是一塊芯片而已,需要為它搭建合適的環境,才能發揮其特點正常工作。
1.單片機的由來與發展歷程
最早的單片機是美國Fairchild公司于1974年推出的F8系列機,1976年Intel公司推出了影響巨大、應用廣泛的MCS-51系列單片機,完善了單片機的體系結構,由此開始了一個單片機的時代。
單片機的發展大體經歷了這樣幾個時期:
(1)起步時期(1974—1976年):這個時期生產的單片機制造工藝落后,集成度較低,而且采用雙片形式,典型的代表產品有Fairchild公司的F8系列機和Intel公司的3870系列機。
(2)完善時期(1977—1978年):這個階段已經將各類接口、存儲器和CPU等集成到一塊芯片上。但性能較低,產品數量和品種較少,典型產品是Intel公司的MCS-48系列機。
(3)成熟時期(1979—1982年):以Intel公司的MCS-51系列機和Motorola公司的MC6801系列機為代表,是8位單片機技術的成熟階段。MCS-51系列單片機是8位單片機,其體系結構完善,成了事實上的單片機結構標準。
(4)發展時期(1983年以后):隨著單片機在各個領域的廣泛應用,出現了高速度、大尋址范圍、強運算能力的8位、16位、32位通用型單片機。不斷擴展滿足嵌入式應用對象系統要求的各種外圍電路和接口電路,提高智能化控制能力。針對應用對象的不同,各大廠商相繼推出了應用于不同領域的專門化、智能化的單片機,如空調、冰箱、電子游戲、汽車控制等的專用單片機。
2.單片機的封裝形式
單片機內部的CPU、存儲器和各種接口都集成在一片芯片上,從表現形式上看,就是一個芯片而已。使用單片機的場合眾多,凡是與自動控制和邏輯運算有關的電子設備中,都有其身影。根據使用場合的不同,單片機的外觀形式也千變萬化,如圖1-1所示。這種不同的外觀形式,主要是呈現出來的引腳數量、外觀形狀、大小的不同,即不同的封裝形式。單片機常見的封裝形式主要有:DIP(直插封裝)形式、PLCC(貼片,引腳向內折起)形式、TQFP(貼片,引腳向外側伸展)形式等,此外,還有很多其他封裝形式,這里不一一列舉。

圖1-1 常見的單片機封裝形式
其中,DIP形式封裝的單片機是日常學習當中最常見到的形式。一般的實驗板、開發板上應用的多是這種DIP形式封裝的單片機。下面來認識一下DIP封裝的單片機。首先在外殼的正中央印有字(型號)的一面是單片機的正面,在單片機外殼的正面的一側邊緣上有一個半月形的凹陷,同時還有一個圓形的小坑在旁邊。將半月形凹陷向上,此時離圓形小坑最近的左邊的引腳為芯片的1號引腳(或者把單片機印有型號的一面朝上并使文字正立,1號引腳就是左手邊下側一排最左邊的第一個引腳),然后按逆時針順序依次為2、3、4……40號引腳。這樣數的引腳號與電路圖上所標的引腳號是一一對應的。對于其他封裝的器件,方法與此類似,可以參考實際的器件使用手冊來找到引腳的排列順序。
3.51單片機
單片機優秀的特點使其非常適合于各種控制設備,自出現以后,就得到了非常廣泛的應用。世界上有許多廠家生產各種不同用途、型號的單片機,在眾多的單片機中又以51單片機最為風靡,使用最為廣泛。
何為51單片機呢?所謂的51單片機是對所有兼容Intel 8031指令系統的單片機的統稱。盡管這類單片機型號繁多,但根據它們的構架及指令系統,都可以歸為MCS-51。這一系列的單片機始祖是Intel的8004單片機。隨著Flash ROM技術的發展,8004單片機取得了長足的進展,成為應用最為廣泛的8位單片機之一。
在眾多的單片機廠家中,Atmel是非常有名的公司,其生產的AT89系列單片機,廣泛應用于工業測控系統之中,是51單片機中最為優秀的代表之一,因此也被國內外很多教材選擇為教學范例。我國生產的STC89系列、STC12系列、STC15系列,也都屬于51芯片,其性能優越,在生產和教學當中應用廣泛。我們日常使用的學習板、開發板等標配都是STC單片機。表1-1列出了世界上主要的51單片機廠商及其產品。供大家在今后的學習工作中選擇使用。
表1-1 世界上主要的51單片機廠商及其產品

表1-1中列舉了部分廠商的部分產品,實際上生產51系列單片機的企業還有很多,產品種類也很多,不可能一一列出來。但由于這些企業生產的都是51內核的單片機,所以只要學會了一種51單片機的操作,這些單片機就都可以拿來使用,它們的操作具有共通性。
4.單片機的命名規則
Atmel公司是第一家將Flash EEPROM存儲器用于51單片機的生產商,其典型產品有AT89C51、AT89C52,與之對應的低功耗產品為AT89LV51和AT89LV52。下面就以Atmel公司產品AT89C51-12PI為例,簡單說明一下單片機的命名規則。
AT:前綴,表示芯片的生產廠商是Atmel公司。
8:表示該芯片為8051內核芯片,即這是一個51單片機。
9:表示內部含有Flash EEPROM存儲器。
C:表示該芯片為CMOS產品。LV、LE表示該芯片為低電壓產品,S表示該芯片具有可以串行下載功能的Flash存儲器,即具有ISP在線編程功能。
5:固定不變。
1:表示該芯片內部存儲空間的大小。1為4KB,2為8KB,3為12KB,即該數字×4KB。
“-”以后的部分為后綴,這部分用來標明該芯片的晶振頻率、產品級別(商用、工業、軍用等)、封裝形式等。
12:表示該芯片的晶振頻率是12MHz,如果為16就表示16MHz等。
P:表示該芯片的封裝形式為塑料雙列直插DIP封裝。D表示陶瓷封裝、Q表示PQFP封裝、J表示PLCC封裝、A表示TQFP封裝、W表示裸芯片、S表示SOIC封裝。
I:表示該芯片工作的溫度范圍,或者說是產品級別。C表示商用產品(溫度范圍為0~70℃),I表示工業用產品(溫度范圍為-40~+85℃),A表示汽車用產品(溫度范圍為-40~+125℃),M表示軍用產品(溫度范圍為-55~+150℃)。
通過觀察上面的單片機型號AT89C51-12PI,就可以知道該單片機是Atmel公司生產的帶有Flash EEPROM的51單片機,采用CMOS技術,晶振為12MHz,封裝形式為塑封雙列直插式,按工業用品標準工藝生產。
不同的廠家對自己產品命名的方法稍有不同。具體的產品命名規則要參看廠家提供的文檔說明材料。
5.單片機的引腳及功能
較為常見的是40引腳DIP形式封裝的51單片機,也有20、28、32、44等不同引腳數的51單片機。本書以較為常見的40引腳DIP封裝的單片機AT89C51為例介紹單片機的引腳與功能。
AT89C51的引腳按功能大致可分為4類:電源、時鐘、控制和I/O引腳。其引腳分布情況如圖1-2所示。

圖1-2 AT89C51單片機的引腳
下面分類說明各引腳的功能:
1)電源引腳
①VCC:芯片電源引腳,接+5V電源。
②GND:芯片接地引腳。
2)時鐘引腳
有兩個引腳XTAL1、XTAL2,分別為晶體振蕩電路的反相輸入端和輸出端。
3)控制信號引腳
①:地址鎖存允許/片內EPROM編程脈沖引腳。
ALE:用于指示當前在復用的P0引腳上輸出的是地址信號,并使外部鎖存器將其鎖存為低8位地址。另外,即使單片機不訪問外部存儲器,ALE引腳仍會周期性地輸出正脈沖信號,其頻率為振蕩頻率的1/6,這一頻率可以用作系統中其他電路的時鐘信號。
:片內有EPROM芯片,在EPROM編程期間,此引腳輸入編程脈沖。
②:程序存儲器允許信號或者作為外部ROM的讀選通信號。
③RST:復位信號。復位信號輸入功能。當該引腳上出現兩個機器周期的高電平,將使單片機復位。
④:內外ROM選擇/片內EPROM編程電源。
:內外ROM選擇端。當
為低電平時,此時只能訪問外部程序存儲器,而不管內部是否具有程序存儲器;當此引腳為高電平時,表示訪問的是內部程序存儲器。對于Intel的8031/8032芯片,由于其內部沒有程序存儲器,所以其
引腳必須為低電平。
VPP:片內有EPROM的芯片,在EPROM編程期間,用于施加21V的編程電源。
4)I/O引腳
51單片機共有4個8位并行I/O端口:P0、P1、P2、P3口,共32個引腳。單片機的輸入/輸出接口具有多種功能,是單片機與外界進行交互實現控制的主要途徑。其中一種功能是連接成“三總線”形式,即數據總線DB(使用P0口)、地址總線AB(使用P2口作為地址的高8位,復用P0口作為地址的低8位)和控制總線CB(使用P3口),如圖1-3所示。由于現在大部分系統都不采用“三總線”結構,故不詳述,感興趣的讀者可以自行查找“三總線”的相關資料。
6.單片機的內部邏輯結構
因為單片機有特定的應用方式,所以它的內部結構和普通計算機相比有很大的差別。單片機內部含有大量的CPU輔助電路和接口電路以及片內存儲器,這些特點使得用單片機構建的計算機系統既簡單又高效。圖1-4是典型的單片機內部結構框圖。
51單片機內部由內部總線將CPU、程序存儲器(這里為只讀存儲器ROM)、數據存儲器(這里為隨機存儲器RAM)、定時/計數器、串并行口、中斷系統等連接在一起,構成了一個功能齊全的計算機硬件系統。下面逐一介紹各主要部件:

圖1-3 單片機引腳“三總線”結構圖

圖1-4 典型的單片機內部結構框圖
1)CPU
CPU是單片機的核心部件,主要由運算器、控制器和寄存器陣列構成。運算器用來完成算術運算和邏輯運算功能。運算器主要由算術邏輯單元(ALU)、累加器(ACC)、暫存寄存器(TMP1、TMP2)和狀態寄存器(PSW)組成。控制器是單片機內部的控制核心,主要用來分析和執行指令,并使單片機按一定時序協調工作的部件。控制器主要由程序計數器(PC)、指令寄存器(IR)、指令譯碼器(ID)和定時控制邏輯電路等構成。
2)ROM
ROM可以用來存放程序、常數或表格等。通俗地說,ROM就是程序和數據的存放空間,不同的單片機其內部ROM的大小也不盡相同。8052單片機內部的ROM為8KB,8051單片機內部的ROM為4KB。而8031/8032等單片機則不提供內部ROM,只能通過外部存儲器存儲程序。通常單片機的ROM一般在4~64KB之間。
3)RAM
RAM用來保存程序運行期間產生的臨時數據等,通俗地講,就是程序運行時的內存空間。單片機中RAM普遍較小,51系列單片機中的RAM只有256B。即使如此,這256B也不能全部使用,只有低128B可以作為內部的隨機存儲器進行訪問,剩余的高128B作為特殊功能寄存器被占用。特殊功能寄存器對應單片機內部各個接口電路的控制、狀態和數據寄存器。
4)定時/計數器
定時/計數器可以周期性地產生定時或計數信號,完成精確定時、外部事件計數等功能,還可以為串行接口提供時鐘。51系列單片機中提供2個16位的定時/計數器;而52系列單片機內部有3個定時/計數器。
5)并行接口
51系列單片機有4個8位并行接口,分別命名為P0口、P1口、P2口和P3口。除P0口外,其余都是8位準雙向口,每次可以并行輸入或輸出8位二進制信息。也可以按位操作進行輸入或輸出信息。每個并行I/O接口內部都有1個8位數據鎖存器、1個輸出驅動器和1個8位輸入緩沖器。因此,CPU進行數據輸出時可以將數據鎖存,進行數據輸入時可以得到緩沖。除P1口外,其余3個接口均有第二項功能。
6)串行接口
51系列單片機的串行接口主要用于與遠程設備進行全雙工的異步串行通信,也可用于同步移位寄存器來擴展I/O接口。典型的51單片機只有1個串行接口,復用P3口的P3.0和P3.1引腳。現在很多單片機也擴展出了多個串行接口,如STC的15系列單片機都具有2~3個串行接口。
7)中斷系統
單片機中的中斷是指CPU暫停正在執行的原程序轉而為中斷源服務(執行中斷服務程序),在執行完中斷服務程序后再回到原程序繼續執行。中斷系統是指能夠處理上述中斷過程所需要的那部分接口電路。51系列單片機的中斷系統可以管理5個中斷源,這5個中斷源又可分為2個優先級,而且利用外部芯片也可將中斷系統進行擴充。
8)時鐘電路
時鐘電路主要產生單片機運行需要的時鐘信號。51系列單片機的時鐘產生有兩種方式:一種是使用片內的時鐘振蕩方式,需要在兩個引腳(XTAL1、XTAL2)上外接石英振蕩晶體和電容(一般取10~30pF);另一種是使用外部時鐘的方式,直接使用外部時鐘輸入(XTAL2接入)。
- 數字道路技術架構與建設指南
- Mastering Delphi Programming:A Complete Reference Guide
- 深入淺出SSD:固態存儲核心技術、原理與實戰
- 精選單片機設計與制作30例(第2版)
- 硬件產品經理手冊:手把手構建智能硬件產品
- micro:bit魔法修煉之Mpython初體驗
- scikit-learn:Machine Learning Simplified
- 計算機組裝與維修技術
- 分布式系統與一致性
- Practical Machine Learning with R
- Istio服務網格技術解析與實踐
- 單片機技術及應用
- 單片微機原理及應用
- Spring Cloud實戰
- 計算機組裝、維護與維修項目教程