89c51單片機(jī)為40引腳的大規(guī)模集成電路,如圖所示。它具有3個(gè)8位i/o口,其中p0口為動(dòng)態(tài)性i/o口,通常用于以字節(jié)為單位的外部數(shù)據(jù)傳輸或作為低8位地址線。因?yàn)閜0口為動(dòng)態(tài)性i/o口,作為尋址線功能時(shí)必須由地址鎖存線ale與其配合使用。p2口通常作為高8位地址線,與p0口組成16位地址線,與外部設(shè)備如程序存儲器、數(shù)據(jù)存儲器和外部接口進(jìn)行數(shù)據(jù)交換。p1口為靜態(tài)雙向i/o口,可以進(jìn)行位尋址,使用起來更靈活。
圖1 89c51與89c2051的引腳圖
除了上述的數(shù)據(jù)口和地址線,89c51還具備高效率的控制端。如rxd,txd為串行口,可以發(fā)送或接收脈沖序列,進(jìn)行串行傳遞數(shù)據(jù)或通訊。int0,int1為為外部中斷,低電平有效,當(dāng)外部申請中斷時(shí),單片機(jī)便立刻響應(yīng)所約定的中斷服務(wù)的內(nèi)容。t0,t1為雙功能端口,關(guān)閉時(shí)作為內(nèi)部程序中的定時(shí)器,開放時(shí)作為接收外部事件的計(jì)數(shù)器。wr為數(shù)據(jù)輸出控制信號,rd為數(shù)據(jù)輸出控制信號,低電平有效。這8根控制線也可以組成p3口,其功能與p1口相同。
89c51單片機(jī)的內(nèi)部資源有限,程序存儲器的容量為4k字節(jié),數(shù)據(jù)存儲器的容量為128個(gè)字節(jié)。如果存儲不能滿足儀表的需求,可以通過p0口、p2口進(jìn)行擴(kuò)展,由ale和psen控制線配合,利用外部存儲器可以擴(kuò)展使用范圍大大增加。最大可以獲得64k字節(jié)程序存儲器和64k字節(jié)數(shù)據(jù)存儲器。若需要擴(kuò)展時(shí),ea應(yīng)處于低電平,長過i/o口;若不需要擴(kuò)展時(shí),ea應(yīng)處于高電平。
如圖所示,89c2051單片機(jī)與89c51的指令系統(tǒng)完全兼容。89c2051單片機(jī)后于89c51問世,是一種改進(jìn)型單片機(jī)。其特點(diǎn)是芯片減小到原來的四分之一,特別適合袖珍儀表結(jié)構(gòu)。它不能擴(kuò)展外部存儲器,所以取消了p0口、p2口。內(nèi)部的數(shù)據(jù)存儲器保持不變,程序存儲器的容量為2k字節(jié)。顯然,特別適合低成本、單功能的檢測與控制儀表,例如溫度表、壓力表、小型電子秤、定時(shí)器等。檢測量、控制量、數(shù)字顯示等涉及到數(shù)據(jù)傳輸時(shí),采用并行傳輸方式的話,可以利用p1口;采用串行傳輸方式的話,可以利用rxd,txd端口。由于引腳少,常常采用串行傳輸方式來傳送數(shù)據(jù)。而p1口通??梢造`活應(yīng)用與兩種傳輸方式。特別指出地,89c2051單片機(jī)的p1口驅(qū)動(dòng)能力(低電平時(shí))比89c51大得多,可以直接驅(qū)動(dòng)led數(shù)碼管。