mcs-51系列是由intel公司于1980年所開發(fā)的8位單片機系列,最初的產(chǎn)品為帶內(nèi)部rom的8051和不帶內(nèi)部rom的8031。隨著mcs-51系列單片機用戶的增加,intel公司推出了帶內(nèi)部eprom的8751和擴展功能的8032、8052、8752,同時其他公司也推出了在mcs-51單片機內(nèi)核基礎上設計的產(chǎn)品,如atmel的帶flash memory 的89c51、89c52,帶在系統(tǒng)編程(isp)接口的89s51、89s52。8031的內(nèi)核還被集成在諸如智能ic卡一類的集成電路中。mcs-51系列的微控制器以其良好的可擴展性被廣泛地應用。
mcs-51單片機具有4個8位的端口,分別為p0、p1、p2、p3。p0、p2口除具有一般i/o口的功能外,p0口在擴展外部程序、數(shù)據(jù)存儲器時具有數(shù)據(jù)總線和低8位地址總線的功能,p2口在擴展外部程序、數(shù)據(jù)存儲器時具有高8位地址總線的功能;p1口為一般的i/o口;p3口具有一般i/o口和如表1所示的特殊功能。
表1 p3口的特殊功能
mcs-51集成的外圍接口包括定時/計數(shù)器,串行通信接口。定時/計數(shù)器t0、t1可分別定義為定時和計數(shù)模式,計數(shù)器長度可定義為8位、13位和16位。t1還可定義為串行通信的波特率發(fā)生器。串行通信接口可實現(xiàn)全雙工的通信,除了8個數(shù)據(jù)位的異步通信格式外,還可定義為9個數(shù)據(jù)位的1點對多點的通信模式。
mcs-51具有5個中斷源,分別為:外部中斷0(入口地址0003h),定時器0(入口地址000bh),外部中斷1(入口地址0013h),定時器1(入口地址001bh),串行通信(入口地址0023h)。
mcs-51的最大優(yōu)點是在集成了外圍接口的同時,保持了良好的可擴展性,通過p2口,可產(chǎn)生外部地址總線的高8位,而p0口用時分的方法產(chǎn)生外部地址總線的低8位和外部數(shù)據(jù)總線。8031采取了程序存儲器和數(shù)據(jù)存儲器獨立的尋址方法,尋址范圍各64k,而i/o訪問采用了存儲器統(tǒng)一編址的方法。
mcs-51具有很大的靈活性,當內(nèi)置存儲器和外圍設備能滿足系統(tǒng)的需要時,僅用一個單片即可實現(xiàn)1個系統(tǒng),當內(nèi)置的資源不足以實現(xiàn)1個系統(tǒng)時,可通過p0、p2口做系統(tǒng)擴展。圖2為89c51通過擴展方式實現(xiàn)的最小系統(tǒng)電原理圖,通過p0、p2口產(chǎn)生8位數(shù)據(jù)總線和16位地址總線。
圖2 89c51的最小系統(tǒng)電原理圖
圖中利用74ls373分離地址數(shù)據(jù)信號,此系統(tǒng)提供了擴展外圍設備必須的8位數(shù)據(jù)總線、16位地址總線、讀寫信號、中斷申請信號,并提供了1個并行接口(p1口)和定時器、串行通信接口所需的信號。