并口實現AT89S系列單片機ISP功能
1 ISP概述
從事單片機設計和開發(fā)的技術人員目前一般采用以下常用的方法開發(fā)單片機產品:首先利用單片機仿真設備進行硬件和軟件的仿真調試,然后將調試通過的目標代碼用程序燒寫器固化到單片機的程序存儲器中。在這個過程中,程序燒寫器是必不可少的開發(fā)工具。程序燒寫器一般價格較昂貴,對于初學者來說是一筆不小的開支,并將直接影響到初學者進一步學習開發(fā)單片機的積極性。另外,以后每修改一次源程序就要將單片機芯片從目標板上取出,再將更新后的目標代碼重新固化到單片機芯片中,這樣調試時就會由于頻繁地插拔單片機芯片而對芯片和電路板帶來相應的物理損壞。借助程序燒寫器進行單片機編程的缺點是燒寫設備昂貴,燒寫操作麻煩,不便于實現在系統編程(ISP)。為了克服上述缺點和局限性,一些80C51的新型兼容品設計了串行編程能力,也就是在芯片內部設置了實現“串行編程接口邏輯”硬件功能。
近幾年,ATMEL公司不斷完善和主力推出的AT89S系列單片機(包括AT89S51,AT89LS51,AT89S52,AT89LS52,AT89S53,AT89LS53,AT89S8252,AT89LS8252.AT89S8253,AT891.58253等型號)已逐漸取代原來的AT89系列和AT89C系列單片機。AT89S系列單片機其內部都是在標準80C51的基礎上額外設計了一個實現“串行編程接口邏輯”硬件功能,支持單片機芯片在系統編程(ISP)。
ISP是系統在線可編程,指電路板上的空白器件可以編程寫入最終用戶代碼,而不需要從電路板上取下器件,對于已經編程的器件也可以用ISP方式擦除或再編程。ISP的實現比較簡單,通常的做法是芯片內部的程序存儲器可以由上位機的軟件通過同步串行通信接口SPI來進行改寫,對于單片機來說可以通過SPI或其他的串行接口接收上位機傳來的數據并寫入程序存儲器中。ISP技術的優(yōu)勢是不需要編程器也可以進行單片機的實驗和開發(fā),既節(jié)省了單片機開發(fā)的成本,又免去了調試時頻繁插拔芯片的麻煩。ISP技術是未來單片機發(fā)展的方向。
2 AT89S系列單片機ISP原理
ATMEL公司推出的AT89S系列單片機支持ISP功能。AT89S系列單片機中的AT89S52單片機具有較強的功能和較高的性能價格比,因此本文選用AT89S系列單片機中的典型芯片AT89S52為例來介紹AT89S系列單片機的ISP原理。
AT89S52單片機具有在線編程功能,即在RST引腳處在高電平的情況下,利用P1.5/MOSI(串行數據輸入端),P1.6/MISO(串行數據輸出端),P1.7/SCK(同步時鐘信號輸入端)三個引腳的數據設置或傳送實現程序下載的功能。AT89S52單片機40引腳雙列直插式封裝(簡稱DIP40)引腳圖如圖1所示,AT89S52單片機串行編程接口如圖2所示。
圖1 AT89S52 DIP40引腳圖
圖2 AT89S52串行編程接口電路圖
評論