單片機內部資源模擬探討論文

時間:2022-06-14 06:47:00

導語:單片機內部資源模擬探討論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

單片機內部資源模擬探討論文

摘要:由于信息技術和互聯網技術的發展,單片機應用系統的網絡化已經成為時展的必然。例如家用電器的控制就可以通過具備網絡功能的單片機系統來實現。上班族可以在離開辦公室回家的時候通過互聯網來操縱家用電器,對家里的電器實現遠程控制開機或關機,甚至可以通過互聯網實時視頻監控家里的情況。而這些功能的實現就要求單片機具備很強的互聯網接入功能。傳統的MCS-51系列單片機不具備網絡傳輸功能,筆者立足實踐,詳細介紹了目前MCS-51單片機的發展現狀、接口類型和串口模擬方法。

關鍵詞:MCS-51單片機

一、MCS-51單片機概述

MCS-51單片機是美國INTEL公司于1980年推出的產品,與MCS-48單片機相比,它的結構更先進,功能更強,在原來的基礎上增加了更多的電路單元和指令,指令數達111條,MCS-51單片機可以算是相當成功的產品,一直到現在,MCS-51系列或其兼容的單片機仍是應用的主流產品,各高校及專業培訓學校的教材仍以MCS-51單片機作為代表進行理論基礎學習。

MCS-51系列單片機主要包括8031、8051和8751等產品,MCS-51以其結構緊湊、邏輯位操作功能豐富和直接面向控制的指令系統等優勢,堪稱為一代“名機”。正因為其優越的性能和完善的結構,導致后來的許多廠商多沿用或參考了其體系結構,有許多世界大的電氣制造商發展了MCS-51單片機,象PHILIPS、Dallas、ATMEL等著名的半導體公司都推出了兼容MCS-51的單片機產品,就連我國的臺灣WINBOND公司也發展了兼容C51的單片機產品。

近年來C51獲得了飛速的發展,C51的發源公司INTEL由于忙于開發PC及高端微處理器而無精力繼續發展自己的單片機,因而將其獨立開發的知識產權核出售給其它廠商,最典型的是PHILIPS和ATMEL公司。

ATMEL公司推出的兼容MCS-C5l的AT89Cxx系列單片機,完美地將Flash(非易失閃存技術)EEPROM與80C51內核結合起來,仍采用C51的總體結構和指令系統,可以通過改寫單片機內部程序使得單片機能在開發過程中多次使用。

SIEMENS公司也沿用C5l的內核,相繼推出了C500系列單片機,在保持了與C51指令兼容的前提下,其產品的性能得到了進一步的提升,特別是在抗干擾性能,電磁兼容和通信控制總線功能上獨樹一幟,其產品常用于工作環境惡劣的場合,亦適用于通信和家用電器控制領域。

WINBOND公司亦開發了一系列兼容C5l的單片機,其產品通常具備豐富的功能特性,而且以其質優價廉在市場占有了一定的分額。

二、MCS-51單片機內部資源及接口簡述

2.1、MCS-51單片機內部資源

1、時鐘電路引腳XTALI和XTALZ

XTALI:接外部晶振和微調電容的一端,在片內它是振蕩器倒相放大器的輸入,若使用外部TTL時鐘時,該引腳必須接地。XTALZ:接外部晶振和微調電容的另一端,在片內它是振蕩器倒相放大器的輸出,若使用外部TTL時鐘時,該引腳為外部時鐘的輸入端。

2、地址鎖存允許ALE

在系統擴展時,ALE用于控制地址鎖存器鎖存PO口輸出的低8位地址,從而實現數據與低位地址的復用。當單片機上電正常工作后,ALE端就周期性地以時鐘頻率的1/6向外輸出正脈沖信號,ALE的負載能力為8個LSTTL器件。

3、外部程序存儲器讀選通信號PSEN

PSEN是讀外部程序存儲器的選通信號,低電平有效。CPU從外部存儲器取指令時,它在每個機器周期中兩次有效。

4、程序存儲器地址允許輸入端E刀VPP

當EA為高電平時,CPU執行片內程序存儲器指令,但當PC中的值超過OFFFH,將自動轉向執行片外程序存儲器指令。當EA為低電平時,CPU只執行片外程序存儲器指令。對于8031,由于其無片內ROM,故EA必須接低電平。

5.、復位信號RST

該信號高電平有效,在輸入端保持兩個機器周期的高電平后,就可以完成復位操作。具有新型接口的MCS-51單片機實驗系統設計

2.2、國內外單片機應用的基本接口設計方式

由于MCS-51單片機的產生時間較其它新型單片機要早,而且在投入市場之后很快得到市場的認可,MCS-51以其性能穩定、成本低廉等特點很快占據了市場,并且在工業控制等領域中得到了廣泛的應用。但是就MCS-51單片機技術的發展更新而言卻不如人們想象的那樣理想,基本保持了當年面市時的本色。

主要表現為,接口方式簡單,自身具備的接口只有并行口、串行口等一些基本的接口類型?;谠摻Y構的單片機系統,局限于單片機的通信能力,使得其應用面受到一點限制。存儲器的擴展容量受地址總線條數的限制,最大只能擴展到64K。在開發手段上仍然采用匯編語言作為開發平臺,影響了單片機應用系統的開發周期。

2.3、單片機應用中對新型接口的實際需求

基于國內外MCS-51單片機接口的實際情況看,在一定程度上限制了MCS-51單片機的進一步推廣和應用。原因如下:

1、現在的單片機系統要求以更加靈活的方式與其它電子設備之間進行通信。比如單片機應用系統在和計算機通信時僅僅依賴原來的串口通信方式已經不能滿足要求,而且現在有些筆記本電腦已經沒有了串行接口,另外串行通信接口的通信速度也遠遠不及當前的USB口通信方式。

2、由于多媒體技術的發展和推廣,要求現在單片機應用系統具備一定的多媒體處理能力,多媒體信息在單片機系統中的存儲成為難題,因為MCS-51通過傳統的存儲器擴展方式外擴存儲器的最大容量是64K,而64K的存儲空間用于存儲多媒體信息幾乎是不可能的。MCS-51單片機通過擴展大容量存儲器,如CF卡,SD卡等,可以使單片機系統的數據存儲能力大大提高。

3、信息技術的發展要求現在的單片機系統具備網絡通信能力。為擴展其通信能力,單片機系統的網絡化己經成為時展的必然。

縱觀國內、國外的單片機應用系統,能夠很好解決上述問題的應用系統在MCS-51單片機系統的應用中幾乎還沒有,有些新型單片機雖然在設計時滿足了上述的一個或幾個要求,但是由于沒有經過長時間的市場的考驗,所以在一些對單片機系統的穩定性和抗干擾能力有較高要求的情況下,設計師們首選的單片機還是MCS-51系列的產品。所以解決MCS-51單片機與新型接口的連接已經成為一個具體的實際需求的問題。

三、51單片機模擬串口的方法

隨著單片機的使用日益頻繁,用其作前置機進行采集和通信在應用中也十分常見。一般是利用前置機采集各種終端數據后進行處理、存儲,再主動或被動上報給管理站。這種情況下下,采集會需要一個串口,上報又需要另一個串口,這就要求單片機具有雙串口的功能,但我們知道一般的51系列只提供一個串口,那么另一個串口只能靠程序模擬?,F在就以11.0592M的晶振為例,談談使用延時法是如何模擬串口的。

串口的每位需延時0.104秒,中間可執行96個指令周期。

#defineucharunsignedchar

sbitP1_0=0x90;

sbitP1_1=0x91;

sbitP1_2=0x92;

#defineRXDP1_0

#defineTXDP1_1

#defineWRDYN44//寫延時

#defineRDDYN43//讀延時

//往串口寫一個字節

voidWByte(ucharinput)

{

uchari="8";

TXD=(bit)0;//發送啟始位

Delay2cp(39);

//發送8位數據位

while(i--)

{

TXD=(bit)(input&0x01);//先傳低位

Delay2cp(36);

input=input>>1;

}

//發送校驗位(無)

TXD=(bit)1;//發送結束位

Delay2cp(46);

}

//從串口讀一個字節

ucharRByte(void)

{

ucharOutput="0";

uchari="8";

uchartemp="RDDYN";

//發送8位數據位

Delay2cp(RDDYN*1.5);//此處注意,等過起始位

while(i--)

{

Output>>=1;

if(RXD)Output|=0x80;//先收低位

Delay2cp(35);//(96-26)/2,循環共

占用26個指令周期

}

while(--temp)//在指定的

時間內搜尋結束位。

{

Delay2cp(1);

if(RXD)break;//收到結束位便退出

}

returnOutput;

}

//延時程序*

voidDelay2cp(unsignedchari)

{

while(--i);//剛好兩個

指令周期。

}

此種方法在接收上存在一定的難度,主要是采樣定位存在需較準確,另外還必須知道每條語句的指令周期數。此法可能模擬若干個串口,實際中采用它的人也很多,但如果你用KeilC,本人不建議使用此種方法,上述程序在P89C52、AT89C52和W78E52三種單片機上實驗通過。

參考文獻:

1杜春雷,ARM體系結構與編程,清華大學出版社,2003

2王卓人,鄧晉鈞,劉宗祥.IC片的技術與應用.北京:電子L業出版社,1999.2

3羅亞非等,凌陽16位單片機應用基礎,北京航空航天大學出版社,2002,7

4邊春遠,王志,MCS-51單片機應用開發實用子程序,人民郵電出版社,2005.9

5于京,張景璐,51系列單片機C程序設計與應用案例,中國電力出版社,2006.3