為了增加彈珠台的樂趣,身為軟體人,硬是把 8051 的書借來海 K 了一頓.. 最後決定用較新的 AT89S51 單晶片來實做,電子材料行一顆 $60。
有了單晶片,接下來的大問題就是,如何將燒錄檔寫到晶片裡.. 市面上 AT89SXX 系列燒錄器,動輒兩千以上啊!Y 拍找到最便宜的也要一千多.. 拜 Google 之賜,網路上資源豐富,且 AT89S51 只需要 5v 電壓,其燒錄器的電路相當簡單,如下圖所示。
另外參考了這兩個網頁的製作心得
追風箏的小孩 - 自製 AT89S51 單晶片燒錄器
Greening - 自製 AT89S51單晶片燒錄器(完全免焊接)
這是第一階段買的部份零件,過程中跑了好幾趟材料行換零件,第一次覺得電子材料行真是個神奇的地方,好多有趣的玩意兒。
由於燒錄器常需要拿來拿去,因此最後我決定捨棄麵包板,改用萬用板來焊接,線路接點會比較穩固。Printer Port 的線路,也因為長久使用的考量,買了 6pin 的莫仕接頭,重複拔取比較不會破壞線路。而供應電源的 USB Port,剛好有一條多餘的 B Type USB 線,所以後來改換 B type 的 USB 母端。
為了不影響上班時間,只好犧牲午休以及下班後的時間,花了兩天將板子與 Printer Port 的線焊好,成品如下。所有電子零件價格總和也只有一百多元,比起市面上的燒錄器價格,讓我直呼現賺兩千塊呀!
接著就要進入燒錄的階段,可以到 ISP Flash Microcontroller Programmer 下載,個人是使用 ISP-3v0.zip。執行程式後,右上角選擇晶片名稱,點擊 Open File 選擇 Hex 燒錄檔,再按下 Write 即可開始寫入,寫入完成會跳出 OK 的訊息視窗。若有寫入失敗的情況,可以試著清空 Buffer,按下 Disp Buffer,並將所有欄位清為 FF,應該就可以再次寫入了。
小弟非硬體出身,談不上什麼寶貴的經驗,不過倒是運氣好解決了一些問題,有一些經驗可以分享。
Q1: 在執行 ISP-Pgm3v0.exe 時跳出「Privilege Instruction」,進入軟體後不管按什麼鈕,甚至按關閉視窗,都會跳出「Privilege Instruction」,只能用工作管理員強制關閉。
A: 若出現此狀況,請不要直接執行 ISP-Pgm3v0.exe,另外,先確定目錄中有否 AllowIO.exe 檔,接著打開命令提示字元,進入 ISP-3v0 目錄,輸入「AllowIO ISP-Pgm3v0 /a」,即可擁有權限存取 IO。
Q2、在燒錄軟體中,按下任何處理鈕時跳出「No Response from uC」,意思為 No Response from Micro-Controller。
A: 通常如果 IC 沒有接上,就會跳出這個訊息。這個問題我沒有遇到,但大部分人的經驗是,可能 Printer Port 線路沒接好,或是 Printer Port 訊號不穩定,或是 Printer Port 腳位接錯,譬如上面的電路圖腳位是從針腳處看進去的,千萬別接錯。若排除訊號線的問題或 IC 故障的可能,那就真的得好好檢查電路零件有沒有故障囉..
[2011/04/20 更新]
Q3、有朋友問到,電腦沒有 Printer Port,能否使用 USB 轉 Printer Port 轉換。關於這點,可以參考此篇文章,有詳細的「經驗分析」,以及購買轉接線的注意事項,請參考 USB 轉 Printer Port
[延伸閱讀] 童年的回憶 - 手工自製彈珠台
你好:D請問彈珠台 AT89S51需要寫程式嘛 如果有程式碼可以給我嘛:))
回覆刪除程式沒有寫得多漂亮,就不獻醜了,有問題倒是可以討論討論
回覆刪除因為我們想把這彈珠台做為專題報告 想知道材料需要甚麼 線路圖等:))
回覆刪除線路圖是憑空想像就開始焊接了,說真的實在沒有什麼 AutoCAD 的成品。我想主要的材料是 89S51 單晶片,取 10 隻腳位做 LED,另外 10 隻腳位做微動開關的感應器,9 隻腳位做兩個七段顯示器的控制,1 隻腳位做按鈕控制,1 隻腳位做蜂鳴器控制。
回覆刪除請問用「USB轉25PIN」再接到燒錄器上有辦法燒嗎?
回覆刪除因為我工作用的筆電沒有25PIN接頭……
這個問題也困擾過我,請參考網誌內容最後新增的部份,有一個討論的蠻詳細的討論串,裡頭有提到購買轉接線要注意的事項,以及可能遇到的問題。可以參考看看再決定
回覆刪除請問...電容是幾v的呢?可以給我詳細資訊嗎= =剛買材料發現沒注意到這點.........麻煩您了!!!!!
回覆刪除電容幾 v 應該無妨吧?我買的是 0.1uF 50V 耐壓 50 伏,可是這小小燒錄器應該不可能到這種程度..
回覆刪除如果用arduino應該會更簡單,http://www.arduino.cc/,現成的電路和晶片整組在拍賣網站NTD700左右就買得到了,建議買跟原廠型號相容的版本就好.便宜又好用(usb燒錄)
回覆刪除感謝您的資訊,USB 燒錄方便多了
回覆刪除不好意思
回覆刪除我在家裡試著用燒錄程式的時候
不斷的出現你說的第一個問題
可是用命令提示字元照著你的方法操作
仍然出現錯誤 錯誤訊息如下
AllowIO for PortTalk V2.0
Copyright 2002 Craig Peacock
http://www.beyondlogic.org
PortTalk: You do not have rights to access the Service Control Manager and
PortTalk: the PortTalk driver is not installed or started. Please ask
PortTalk: your administrator to install the driver on your behalf.
PortTalk: Couldn't access PortTalk Driver, Please ensure driver is loaded.
家裡電腦是WIN7 Printport是用USB的
而你提供的討論串的連結失效了
所以我就挑了兩個來試 結果還是不能用
不知道問題是出在哪裡??
所以來請教你一下
也許要請您請教高手了,Win7 在存取權限上的管理比舊版系統還要嚴謹,可能有很多 XP 系統以外的例外情況.. 沒有幫上忙不好意思嚕~
回覆刪除剛好對於樓上的問題有點經驗, 路過分享一下.
回覆刪除同樣是win7, 開啟"命令提示字元"麻煩到
開始>>所有程式>>附屬應用程式
找到"命令提示字元"右鍵以系統管理員身分開啟.
雖然程式成功開啟, 但燒錄時還是失敗, 還再找原因. 以上經驗希望有任何幫助!
你好 請教一下
回覆刪除我開啟ISP-3v0
也跑出Privilege Instruction
可是我看不太懂上面寫的(抱歉電腦不太好)
只能到開啟'命令提示字元'
然後就卡住了
能請你幫幫忙嗎
1. 首先確定 ISP-Pgm3v0.exe 同目錄下有沒有 AllowIO.exe 檔案
刪除2. 命令字元進入 ISP-3v0 目錄的方法,假設位於 D:\\Dir\ABC\ISP-3v0
依序在命令字元輸入:
D:
cd Dir
cd ABC
cd ISP-3v0
3. 命令字元進入 ISP-3v0 目錄後,再輸入 AllowIO ISP-Pgm3v0 /a
您好 我也遇到了 Privilege Instruction 的問題
刪除我有按照樓上大大的指示
但後來又遇到以下問題
我也檢查過以下所提到的PortTalk.SYS有無在System32的資料夾中,是有的。
所以現在卡住了。
麻煩各位大大解答,非常感謝。
D:\Motion\AT89S51\ISP-3v>AllowIO ISP-Pgm3v0/a
AllowIO for PortTalk V2.0
Copyright 2002 Craig Peacock
http://www.beyondlogic.org
PortTalk: Unknown error while starting PortTalk driver service.
PortTalk: Does PortTalk.SYS exist in your \System32\Drivers Directory?
PortTalk: Couldn't access PortTalk Driver, Please ensure driver is loaded.
請問一下
回覆刪除這邊擺的Parallel Port 電路圖 是從端口那邊方向看過去的 還是從背面焊點看過去的
(因為方向不同 左右會顛倒) ??????????