為了增加彈珠台的樂趣,身為軟體人,硬是把 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
[延伸閱讀] 童年的回憶 - 手工自製彈珠台
有了單晶片,接下來的大問題就是,如何將燒錄檔寫到晶片裡.. 市面上 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
[延伸閱讀] 童年的回憶 - 手工自製彈珠台