作者:溫正偉 出處:磁動力電子 www.cdle.net
|
很多朋友來索要PCB圖紙,在這我把它出來,有需要的朋友可以下載查看! ↑c擊下載:PCB圖紙
后記:此文是在2003年編寫的,現在SST89C58已停產,大家可以參考本文使用89E564RD等芯片來制作,相關的EASYIAP程序可以到SST官方網站下載。祝你成功!
初學51單片機或是業余玩玩單片機開發,每次總要不斷的調試程序,如沒有仿真器又不喜歡用軟件仿真,那只有每次把編譯好的程序燒錄到芯片上,然后在應用電路或實驗板上觀察程序運行的結果,對于一些小程序這樣的做好也可以很快找到程序上的錯誤,但是程序大了,變量也會變的很多,而直接燒片就很難看到這些變量的值了,在修改程序時還要不斷的燒片實驗,確實很麻煩,這時如果有一臺仿真器就會變得很好方便了。但一臺好的仿真器對于業余愛好者來說確實有一些貴,在這里介紹這種易于自制的51芯片仿真器雖然有一些地方不夠完善,但還是非常適于初學51單片機的朋友和經濟能力不是很好的業余愛好者。
這個仿真器的仿真CPU是使用SST公司的SST89C58或SST89C54(其它相容的芯片也可,這里主要講述SST89C58),對于沒有可以燒寫SST89C58芯片的朋友應該選用CA版本的SST89C58芯片,這個CA型號的芯片出廠時已內置了BSL1.1E的固件程序。那什么是BSL呢?BSL就是英文BOOT-Strap Loader,意思就是可引導裝載,形象來說就像電腦用DOS起動盤起動后可以裝載應用程序并運行。只不過SST89C58是用串口來輸入程序資料的。為了能把編譯好的單片機程序HEX或BIN文件下載到SST89C58芯片上,SST公司還提供了一種叫EasyIAP的軟件,IAP為In-Application Programming,有了這個軟件就可以把SST89C54變為在線下載的實驗器。在這里不詳述EasyIAP的使用,只講述如何利用它去把SST89C58升級為帶SoftICE固件程序的51仿真器。
 |
圖1 SST89C58 |
一、制作帶串口的的最小化應用板 無論是EasyIAP還是仿真器,都需要用串行口使SST89C58芯片和PC上位機進行通訊傳輸數據,因此我們先要制作一個帶RS232/TTL轉換的應用板,如果你的51實驗電路板或目標電路板已帶有這樣的電路那么你就可以跳過這一段了。圖二是筆者所設計的可以用于制作SST89C58/54仿真器、S51系列下載器或51系列實驗應用的小型應用板。它的電路是很簡單的,用兩個NPN的小功率三極管和一些電阻二極管做RS232/TTL轉換(可參看http://www.cdle.net/web/alldata/CDLE/cdle050012.htm),其它元件則做復位和時鐘振蕩電路。圖三是我以前做的51應用板,剛好可以用就拿來用了,省卻了用萬用板做圖四那樣的東西,但這塊應用板不能像圖4那個可以當芯片插到目標板上。在晶振方面最好使用11.0592M或12M。
 |
圖2 原理圖(點擊看大圖) |
 |
圖3 應用板做的仿真器 |
 |
圖4 網友做的仿真器 |
二、有編程器的做法 做好以上所說的電路后,那么就可以把仿真CPU的HEX文件燒到SST89C58里面,再把它插到上面的電路中就可以了。因為SST89C58有兩個程序存儲區,在這里要注意的是在燒寫時就把仿真監控程序燒到SST89C58的第二個存儲區也就是的RB1。燒寫時要求用支持SST89C58的編程器,站長所用的是TOP2000。燒寫設置畫面如圖五,在這里要注意的是如果你要燒寫BSL固件程序做IAP在線下載器是不要對加密位SB1-3進行加密,并設存儲位為RB1,否則無法用IAP功能。各編程器的設置不一樣具體參看編程口的說明書。
 |
圖5 TOP2000B燒寫SST89C58做仿真器時的設置 |
三、沒有編程器的做法 如果你手頭上沒有支持SST89C58的編程器,那么你就要購賣CA版的SST89C58芯片,當然不是CA版的也是可以做的,只是相對來說比較麻煩這里就不做討論了,可以對參看紅日網友發起的貼子(http://www.cdle.net/bbs/dispbbs.asp?boardID=18&ID=940&page=1)。 1.首先把CA版的SST89C58芯片插到上面介紹的電路板中,因CA版上已裝入了BSL3,你可以先下載EasyIAP11E,測試一下你的電路板是否是正常工作的。(用EasyIAP11F也可以)如果你能保證你的電路是正常工作的可以跳過這一步。把你的電路接到電腦串口上,打開EasyIAP11E軟件。
 |
圖6 EasyIAP11E(點擊看大圖) |
按菜單上的RS232彈出串口設置畫面,設好你要用的串口和波特率,選用波特率選用默認的38400就可。確定后按菜單的“Auto DetectChip”圖七中1所示。
 |
圖7 電路正常程序的畫面 (點擊看大圖) | 當你的電路正常時就會圖七的畫面,并在2所示位置顯示芯片的型號,BSL版本等信息。如果你無法到這一步就請檢查你的電路是否有正常的復位和起振,串口電路是否正;蛐酒欠駬p壞等等問題。
2.升級BSL11E到BSL11F。下載EaspIAP11F并運行。下面是操作截圖和注意事項。
 |
圖8 | 圖八中選中的菜單項是把11E升級到11F的命令,下面一個則可以用檢測固件版本連接固件,如固件是11E也會提示是否升級到11F,最上一個則用于11F連接EaspIAP用。
 |
圖9 |
 |
圖10 |
 |
圖11 提示 | |