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