单芯片8051家族特性介绍
一、前言:
單晶片微處理器是屬於Embedded System(嵌入系統),此系統的是把CPU 加上一些少量的記憶體和輸出入元件(I/O),都嵌入在一顆晶片內,再使用 特定的組譯和編譯軟體編輯程式,利用燒錄器把程式儲存到單晶片,如此 加上一些簡單的周邊電路,即可變成一個控制系統,所以單晶片又稱為微 程式控制器(microcontroller)。
8051是由INTEL公司發展出來的8bit MCU(微處理器),目前在工業界 的應用相當的普及化,目前已有相當多家的公司也製造與8051相容的單晶 片,除的基本的構造相同外,更增加其週邊的控制功能 ,例如DALLAS 公司生產的DS87C550,已經內建A/D轉換和PWM,如此可減少週邊元件 和佈線的成本,而國內的華邦電子公司也推出了40MHZ的W78C51/52/54/58 ATMEL半導體公司的AT89C51系列的產品,不需紫外線的清除,而是用電 子式抹除,比一般的51系列更為方便,目前在一般的學校實習,大都採用此 系列產品。PHILIPS半導體公司出產的P87C552家族,除了51本身的UART 外,更增加的I2C(Inter-integrated Circuit)的功能,這是利用SDA和SCL兩條 傳輸線,和周邊的IC互相溝通、傳送資料,而且這些IC都必須有I2C的編 號,這使得選購IC時,受到一些限制,所一在目前的工業應用上,還不是 相當的普及化。
由於51家族繁多,所以在設計之前,必須針對51家族功能有相當的認識 如此才能選購符合自己所需,而且價格便宜的MCU。
二、INTEL 8051家族介紹:
INTEL公司是第一家出產8051,其它公司也依照INTEL所發展出來的8051 為最基本的架構,再加上自己一些額外的功能以顯示出自己的特色,讓使用 者能依照電路所需,選擇最適合的8051去做控制,而且最重要的是,為了方 變設計者能隨時更換不同廠牌的8051,其接腳大都是40Pin,而且每Pin的定 亦都相同,其接腳圖為(圖一),但也有24Pin(87C748、87C751)和68Pin PLCC 包裝(DS87C550),不過這些都是特殊規格的MCS-51。
MCS-51單晶片一般分為三個版本:
1. 單晶片內部不包含程式記憶體,稱為ROMless。
2. 單晶片內部已內建ROM。
3. 單晶片內部已內建EPROM。
其中(2)和(3)的區別在於(2)的單晶片只可燒錄一下,較適合於程式已完成,用 於大量生產,因為其價格較便宜,可節省產品的成本,(3)的單晶片適合用於 程式發展階段,因為需要重複的更改程式,而內含有EPROM的MCS-51,只 需要使用紫外線清除器,就可把MCS-51的程式記憶體清為空白,達到重複燒錄的特性。
EL公司出產的各版本MCS-51編號如下:
元件編號 | 內部程式記憶體大小 | 計時器 | 中斷個數 | |
ROM容量 | RAM容量 | |||
8031AH | None | 128*8RAM | 2*16Bit | 5 |
8051AH | 4K*8ROM | 128*8RAM | 2*16Bit | 5 |
8051AHP | 4K*8ROM | 128*8RAM | 2*16Bit | 5 |
8751H | 4K*8EPROM | 128*8RAM | 2*16Bit | 5 |
8751H-8 | 4K*8EPROM | 128*8RAM | 2*16Bit | 5 |
8751BH | 4K*8EPROM | 128*8RAM | 2*16Bit | 5 |
8032AH | None | 256*8RAM | 3*16Bit | 6 |
8052AH | 8K*8ROM | 256*8RAM | 3*16Bit | 6 |
8752BH | 8K*8EPROM | 256*8RAM | 3*16Bit | 6 |
其特性如下:
1. 是一個8位元的MCU。
2. 具有布林代數的運算能力。
3. 4個8位元Port,共有32條雙向且可獨立被控制的I/O Port。
4. 有128*8 RAM,可以儲存資料記憶體(8052為256*8)。
5. 有4K*8 ROM的程式記憶體(8052為8K*8)。
6. 有2組16 Bit計時器(8052有3個)。
7. 具有全雙工傳輸信號UART。
8. 5個中斷源(8052有6個),具有兩層優先權中斷架構。
9. 內部有時脈(CLOCK)振盪器電路(12MHZ)。
10. 程式記憶體(ROM)可擴充至64K Byte。
11. 資料記憶體(RAM)可擴充至64K Byte。
三、ATMEL家族介紹:
ATMEL公司所出產的ATC 89C 51可以說是目前一般在實驗階段最時常 被用到MCS-51,因為ATMEL所出產的MCS-51系列其程式記憶體是做成 Flash memory,可以省略使用EPROM照紫外線的時間,而且重複燒錄的次 數多,價格又比價一般的便宜,其燒錄的次數可高達1000次,8051之所以 能如此盛行,ATMEL公司其功不可沒,因為它使學習者的學習方式變的簡單 價格上也EPROM型的8051系列便宜的多,雖然目前DALLAS公司所推行 的高速8051(HSM)已漸漸威脅到ATMEL的地位,不過它目前所推出的51系 列含有更高的速度和增加了更多功能,未來和DALLAS公司所推出的8051 都值得消費者注意。為了方便讓讀者選購ATMEL公司出產的MCS-51,以下 介紹其IC編號所代表的意義:
ATMEL公司生產的各版本MCS-51編號如下:
元件編號 | 程式記憶體 | 資料記憶體容量 | 16bit計時器 |
AT 89C 1051 | 1K Flash | 64 RAM | 1 |
AT 89C 2051 | 2K Flash | 128 RAM | 2 |
AT 89C 51 | 4K Flash | 128 RAM | 2 |
AT 89C 32 | 8K Flash | 256 RAM | 3 |
AT 89C 55 | 20K Flash | 256 RAM | 3 |
AT89S8252 | 8K Flash | 256 RAM | 3 |
AT89S53 | 12K Flash | 256 RAM | 3 |
由於AT 89C 51/52/55是一般較為通用的MCU,我們就把它與8051/8052做功能上的比較,其所增加功能如下 :
1. 具有4K/8K Bytes可重複規劃的快閃記憶體(Reprogrammable Flash Memory),可寫入/抹除1000次以上,程式可保存10年以上。
2. 操作頻率:0MHz~24MHz(AT 89C 55為高速可達33MHz)。
3. 操作電壓:5V 。
4. AT 89C 51 具有兩層優先權的5個中斷向量結構,AT 89C 52/55具兩層優先權的6個中斷向量結構。
5. 三個可規劃的記憶體上鎖位元。
6. ALE腳可規劃為,只在執行MOVC和MOVX時才動作。(可減少EMI,因為方波的電磁干擾很大)
7. AT 89C 52/55的計數器2共有四種操作模式:
1. 捕獲(capture)。
2. 自動重載(auto-reload)(往上或往下計數) 。
3. 鮑率產生器(baud rate generator) 。
4. 時鐘輸出(clock-out)。
其中第(2)種操作模式增加了可往上或往下計數的功能(一般為上數功能), 第(4)種操作模式為新增加的功能,利用P1.0可以規劃出50%責任週期的 時鐘輸出。
而AT89S53增加了一個相當令人注意的功能:ISP,這個功能使得程式可經 由ISP(In-System Reprogrammable)介面下載,其具有12K可可重複規劃的快 閃記憶體,可寫入/抹除1000次以上,使得使用者更加方便使用。
四、Dallas家族介紹:
Dallas公司所出產的8051家族,一般都是用在對高速有嚴格要求之下才會考慮使用,一般統稱為高速微控器(HSM),目前較為常用得有DS 80C 310和DS 80C 320,如果考慮高速動作這兩顆是一般常用的微控器,而且價格和其他高速微控器來比是較為便宜的,但唯一的缺點是其內部沒有ROM,一般都是外接EPROM,但不能超過64K 位元組,由於在高速動作,所以週邊的IC存取速度就需要相當的注意,以74HC373來說,就要換成 74F 373,在EPROM的存取速度也要配合微控器的振盪器頻率,一般模擬所用的ICE是無法做高速模擬的所以必須使用Dallas公司自己出產的ICE;以往Dallas公司所標榜的是高速微控器,但目前華邦公司也出廠了高速微控器(40MHZ),其速度不輸於Dallas的產品,如果設計上對速度有嚴格的要求,倒也可以考慮一下華邦的W78E51/52 /54/58,但假設你要整合性強又要高速的話DS 87C 550或許可以滿足你的要求。以下介紹其IC編號所代表的意義:
Dallas公司出產的各版本MCS-51編號如下:
元件編號 | 程式記憶體 | 計時器/計數器 | 串聯I/O |
DS 80C 310 | NO | 3 | 1 |
DS 80C 323 | NO | 3+WDT | 2 |
DS 87C 520 | 16KB EPROM | 3+WDT | 2 |
DS 83C 530 | 16KB EPROM | 3+WDT | 2 |
DS 87C 530 | 16KB EPROM | 3+WDT | 2 |
DS 87C 550 | 8KB EPROM | 3+WDT | 2 |
WDT:看門狗計時器
Serial I/O:UART
一般常用的為DS 80C 310和DS 80C 320,我們就把它與 80C 32做功能上的比較,其所增加功能如下 :
DS 80C 310:
1. 有兩組DPTR,一般只有一組。
2. 振盪器頻率範圍:0~33MHZ,一個機械週期需4個振盪週期,一般為12個振盪週期。
3. 可變機械週期的MOVX指令,用來配合ROM或週邊元件的讀取速度。
4. 有6個外部中斷,一般只有/INT0和/INT1。
5. 有兩層優先權的10個中斷,因為外部中斷多了4個。
DS 80C 320除了具有DS 80C 310外,還增加了一些功能:
1. 有13個中斷源,其中包含了6個外部中斷。
2. 有看門狗計時器(Watchdog timer)的功能。
3. 提早警告電源失效中斷。
4. 電源下降自動重置(Rest)功能。
目前Dallas公司所出產的微控器除了以上介紹的功能外,更添加了其它的功能,而且是百分之百和8051相容,這使得使用者在設計時更加的方便,現就以DS87C520為例:
1. 有OTP(只能燒錄一次)和EPROM(可多次燒錄)版本,增加使用的彈性。
2. 可用軟體規劃特殊功能暫存器(SFR),控制ALE腳對EMI干擾。
3. 可用軟體規劃特殊功能暫存器(SFR),控制指令週期速度為÷64或是÷1024,一般內定÷4(8051為÷12)。
4. 可用MOVX指令讀取內部1K Bytes 的SRAM(一般只有256 Bytes的資料記憶體)。
5. 內部的16K Bytes 的ROM,可用軟體規劃特殊功能暫存器(SFR),成為從0到16Kbytes的ROM使用。
由於Dallas的微控器增加了許多的功能,如果使用者有需要使用的話,就必須事先在程式中定義特殊功能暫存器(SFR),否則在組譯時會產生錯誤的訊息,但如果你沒有使用到這些特殊功能,就不需去定義,這是在使用Dallas微控器時必須注意的事情。
五、結論:
目前在8位元微控器的市場,有Microchip公司出產的PIC16CXX,其特色為省電、低功率,而且對於週邊的電路整合性比8051強,因為其內部有些已內建A/D、PWM、I2C、LCD控制功能,這讓使用者有更多選擇的空間,如果讀者有興趣也可上網(www.microchip.com)查看該公司的資料,而且也可向該公司索取資料;另外還有Motrola公司所出產68HC05,該公司所出產的微控器在工業界更是佔有一席之地,其使用者和8051相比是不相上下;ATMEL公司目前也相當積極在推動AVR微控器,而且它還提供整套發展工具給學校做實驗,未來的發展值得注意。
目前在業界使用較為普遍的還是8051,筆者之所以先介紹8051家族,是希望大家能先選擇最適合自己所需的8051,然後在開始寫程式控制,如此可達到事半功倍效果,也可知道8051發展的地步,不致被潮流所淹沒,至於如何寫程式控制週邊電路,將於下一次做介紹。