官术网_书友最值得收藏!

1.1 單片機概述

單片機雖然體積微小,但“麻雀雖小,五臟俱全”,它具備一般計算機的特征,內部同樣存在CPU、存儲器和各種接口電路等,不過它的CPU與普通微型計算機的CPU相比要簡單得多,運算能力相差較大。因此,單片機通常用來完成某些專項的控制功能,在控制、邏輯、實時性等方面比普通微型計算機具有更大優勢。

1.微處理器、微型計算機和單片機

微處理器是集成在一塊芯片上的具有運算和邏輯控制功能的CPU,它是構成微型計算機系統的核心部件。

以CPU為核心,再加上存儲器,I/O接口和中斷系統等構成一個統一的整體,稱為微型計算機。它們可集中裝在同一塊或數塊印制電路板上,一般不包括外設和軟件。以微型計算機為核心,配上外圍設備、電源和軟件等,構成了能獨立工作的完整的計算機系統。

單片機是將CPU、存儲器、各類接口和中斷系統等集成在一塊芯片上,具有完整功能的微型計算機,這塊芯片就是其全部硬件。軟件程序存放在片內或片外擴展的只讀存儲器內。由于其物理存在形式是一塊芯片,因此簡稱為單片機。

2.單片機由來與發展

最早的單片機是美國Fairchild公司于1974年推出的F8系列機,1976年Intel公司推出了影響巨大、應用廣泛的MCS-51系列單片機,完善了單片機的體系結構,由此開始了一個單片機的時代。

單片機的發展大體經歷了以下幾代:

(1)第一代單片機(1974—1976年):起步階段。這個時期生產的單片機制造工藝落后,集成度較低,而且采用雙片形式,典型的代表產品有Fairchild公司的F8系列單片機和Intel公司的3870系列單片機。

(2)第二代單片機(1976—1978年):完善階段。這個階段已經將各類接口、存儲器和CPU等集成到一塊芯片上。但性能較低,產品數量和品種較少,典型產品是Intel公司的MCS-48系列單片機。

(3)第三代單片機(1979—1982年):成熟階段。以Intel公司的MCS-51系列單片機和Motorola公司的MC6801系列單片機為代表,是8位單片機技術的成熟階段。MCS-51系列單片機體系結構完善,成了事實上的單片機結構標準。

(4)第四代單片機(1983年至今):發展階段。隨著單片機在各個領域的廣泛應用,出現了高速度、大尋址范圍、強運算能力的8位、16位、32位通用型單片機。不斷擴展滿足嵌入式應用對象系統要求的各種外圍電路和接口電路,提高智能化控制能力。針對應用對象的不同,各大廠商相繼推出了應用于不同領域的專門化單片機,如空調、電冰箱、電子游戲、汽車控制等專用單片機。

3.單片機的封裝及命名規則

單片機是集成在一塊芯片上的計算機,從外觀上看,只是一塊芯片而已。因使用的場合不同,單片機常以不同的封裝形式出現,如圖1-1所示。單片機常見的封裝形式主要有DIP(直插封裝)形式、PLCC(貼片,引腳向內折起)形式、TQFP(貼片,引腳向外側伸展)形式等。

圖1-1 常見的單片機封裝形式

DIP形式封裝的單片機比較多見,一般實驗板上應用的也是DIP形式封裝的單片機。對于DIP封裝的單片機來說,在外殼正中央印有字(型號)的一面是它的正面,在單片機外殼的正面的一側邊有一個半月形的小凹陷,同時還有一個圓形的小坑在旁邊。將半月形凹陷向上此時離圓形小坑最近的引腳為單片機的1號引腳。把單片機印有型號的一側朝上,1號引腳放在左手邊,逆時針順序依次為2,3,4,…,40腳。這樣數的引腳號與電路圖上所標的引腳號是一一對應的。對于其他封裝的器件,方法與此類似,也可參考實際的器件使用手冊來找到引腳的排列。

單片機中51系列單片機是基礎入門的一種單片機,也是應用最為廣泛一種單片機,其代表型號是Atmel公司生產的AT89系列,它廣泛應用于工業測控系統之中。世界上很多公司都有51系列的兼容機型。表1-1列出了世界上主要的51單片機廠商及其產品。

表1-1 51單片機主要廠商產品列表

續表

表1-1中也只是列舉了部分廠商的部分產品,實際上生產51系列單片機的企業很多,產品種類也多,不可能一一列出。但由于這些企業生產的都是51內核的單片機,所以只要學會了一種51單片機的操作,這些單片機就都可以拿來使用,其操作具有通用性。

Atmel公司是第一家將Flash E2PROM存儲器用于80C51系列單片機的廠商,其典型產品有AT89C51、AT89C52,對應的低功耗產品為AT89LV51和AT89LV52。下面以Atmel公司產品AT89C51-12PI為例,簡單說明一下單片機編碼的命名規則

AT:前綴,表示芯片的生產廠商是Atmel公司。

8:表示該芯片為8051內核芯片,即這是一個51單片機。

9:表示內部含有Flash E2PROM存儲器。

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 E2PROM的51單片機,內部采用CMOS工藝,晶振頻率為12MHz,封裝為塑封DIP,按工業用品標準工藝生產。

4.單片機的引腳及功能

較為常見的是40引腳DIP形式封裝的51單片機,也有20、28、32、44等不同引腳數的51單片機。本書以較為常見的40引腳DIP封裝的單片機為例介紹單片機的引腳與功能。51單片機的引腳按功能大致可分為4類:電源、時鐘、控制和I/O引腳。其引腳分布情況如圖1-2所示。

下面分類說明各引腳的功能:

1)電源引腳

(1)VCC:芯片電源引腳,接+5V電源。

(2)GND:芯片接地引腳。

圖1-2 51單片機的引腳

2)時鐘引腳

有兩個引腳XTAL1、XTAL2,分別為晶體振蕩電路的反相輸入端和輸出端。

3)控制信號引腳

(1)ALE/:地址鎖存允許/片內EPROM編程脈沖。

ALE功能:用于指示當前在P0復用引腳上輸出的是地址信號,并使外部鎖存器鎖存低8位地址。即使單片機不訪問外部存儲器,ALE引腳仍會周期性地輸出正脈沖信號,頻率為振蕩頻率的1/6,可以用作系統中其他電路的時鐘。

功能:片內有EPROM芯片,在EPROM編程期間,此引腳輸入編程脈沖。

(2):程序存儲器允許信號或外部ROM的讀選通信號。

(3)RST/VPD:復位信號/備用電源。

RST功能:復位信號輸入端。當該引腳上出現兩個機器周期的高電平時,將使機器復位。

VPD功能:接備用電源。在VCC掉電情況下,VPD可為內部RAM供電。

(4)/VPP:內外ROM選擇/片內EPROM編程電源。

功能:內外ROM選擇端。當為低電平時,只能訪問外部程序存儲器,而不管內部是否有程序存儲器。對于8031/8032芯片,由于其內部沒有程序存儲器,所以必須為低電平。

VPP功能:片內有EPROM的芯片,在EPROM編程期間,用于施加21V的編程電源。

4)I/O引腳

51單片機共有4個8位并行I/O接口:P0、P1、P2、P3口,共32個引腳。單片機的輸入/輸出接口具有多種功能,其中一種功能是連接成“三總線”形式,如圖1-3所示。由于現在大部分系統都不采用“三總線”結構,故不贅述。

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

5.單片機的內部邏輯結構

因為單片機有特定的應用方式,所以它的內部結構和普通計算機相比有很大的差別。單片機內部含有大量的CPU輔助電路、接口電路和片內存儲器,這些特點使得用單片機構建的計算機系統既簡單又高效。圖1-4是典型的單片機內部結構框圖。

圖1-4 典型的單片機內部結構框圖

51單片機內部由內部總線將CPU、程序存儲器(ROM)、數據存儲器(RAM)、定時計數器、串并行接口、中斷系統等連接在一起,構成了一個功能齊全的計算機硬件系統。下面逐一介紹各主要部件:

1)CPU

C.U是單片機的核心部件,主要由運算器、控制器和寄存器陣列構成。運算器用來完成算術運算和邏輯運算功能,主要由算術邏輯單元(ALU)、累加器(ACC)、暫存寄存器(TMP1、TMP2)和狀態寄存器(PSW)組成。控制器是單片機內部按一定時序協調工作的控制核心,是分析和執行指令的部件。控制器主要由程序計數器(PC)、指令寄存器(IR)、指令譯碼器(ID.)和定時控制邏輯電路等構成。

2)ROM

ROM又稱程序存儲器,可以用來存放程序、常數或表格等。不同的單片機其內部ROM的大小也不相同。8052單片機內部ROM為8KB,8051單片機內部ROM為4KB。而8031/8032等單片機不提供內部ROM,只能通過外部存儲器存儲程序。常用的單片機其ROM容量一般為4~64KB。

3)RAM

RAM是單片機的內存,用來保存程序運行期間產生的臨時數據等,又稱數據存儲器。單片機中RAM普遍較小,MCS-51系列單片機中內部的RAM只有256B,并且只有低128B可以作為內部的隨機存儲器進行訪問,其余高128B作為特殊功能寄存器被占用。特殊功能寄存器對應單片機內部各個接口電路的控制、狀態和數據寄存器。

4)定時/計數器

定時/計數器可以周期性地產生定時或計數信號,完成精確定時、外部事件計數等功能,還可以為串行接口提供時鐘。51系列單片機中提供兩個16位的定時/計數器。而52子系列單片機內部有3個定時/計數器。

5)并行接口

51單片機有四個8位并行接口,分別命名為P0口、P1口、P2口和P3口,除P0外其余都是8位準雙向口,每次可以并行輸入或輸出8位二進制信息。也可以按位操作進行輸入或輸出信息。每個并行I/O接口內部都有一個8位數據鎖存器、一個輸出驅動器和一個8位輸入緩沖器。因此,CPU進行數據輸出時可以將數據鎖存,進行數據輸入時可以得到緩沖。除P1口外,其余3個接口還都具有第二功能。

6)串行接口

51單片機的串行口主要用于與遠程設備進行全雙工的異步串行通信,也可用于同步移位寄存器來擴展I/O接口。

7)中斷系統

單片機中的中斷是指CPU暫停正在執行的原程序轉而為中斷源服務(執行中斷服務程序),在執行完中斷服務程序后再回到原程序繼續執行。中斷系統是指能夠處理上述中斷過程所需要的那部分接口電路。51單片機的中斷系統可以管理5個中斷源,共有2個中斷優先級。此中斷系統還可以進行擴充。

8)時鐘電路

時鐘電路主要產生單片機需要的時鐘信號,51單片機的時鐘有兩種方式:一種是片內的時鐘振蕩方式,需要兩個引腳(XTAL1、XTAL2)外接石英晶體振蕩器和振蕩電容器(一般取10~30pF);另一種是外部時鐘方式,直接使用外部時鐘輸入(XTAL2接入)。

主站蜘蛛池模板: 宁波市| 土默特右旗| 麟游县| 亚东县| 西贡区| 开江县| 松溪县| 武威市| 和龙市| 大渡口区| 中超| 天津市| 得荣县| 钟山县| 施甸县| 遵化市| 阜阳市| 贺州市| 柘城县| 若羌县| 离岛区| 天等县| 上饶市| 舒城县| 鸡泽县| 宝丰县| 德格县| 彭州市| 玉林市| 庐江县| 潼南县| 彭山县| 偏关县| 邵阳市| 宜黄县| 涿州市| 阿尔山市| 三亚市| 德阳市| 紫云| 昌宁县|