2008年11月27日 星期四

最近又開始玩8051~

最近兼差的公司打算做台機器...
至於啥機器就不提了...

整個的架構很簡單...
一顆MCU做控制、輸入跟輸出...
簡單的一台機器要幾佰張小朋友看地球...

不過最近有點散散的...
機車行跟公司兩頭跑...
久沒碰8051了...
結果碰到一堆鳥問題...
搞的有點心力交瘁...
做夢說夢話...還問采薇說...你剛才拿的那顆IC放在哪裡???

這次用了一顆AT93C46...
(新版的型號是AT93C46D,IC上的MARK則是ALMU814,MARK的意義在Datasheet內有說明)
卡這顆IC卡了半天一直搞不定...
直接抓大陸那邊分享的範例來改...資料燒不進去...
啃AT93C46的datasheet啃了半天...研究指令跟時序到底是哪出了問題...
最後才發現...媽的...我接在89S51上的Port2的線接錯了...Orz

這次的收穫是...學會用這顆Serial EEPROM...還蠻好用的...
賺到一台萬用燒錄器(大陸的VP-280)...
還有五張小朋友的生活費...

只可惜最後不是採用我的東西...
另外找公司設計...
因為一來我拖的太久...
二來東西要賣到國外...
如果出了啥問題就很麻煩...
據說開發加上開模花了一千多張小朋友看地球...
不過對方一天就把原型生出來...看樣子我還是太嫩了...

不過還是有如釋重負的感覺...
我可不希望去當兵了然後整天為了奇奇怪怪的機器問題在那邊煩惱...
而且那間公司做的方式跟我大同小異...
不同的是...我原本打算用文字型的LCDM加上按鍵開關來搞定...
那間公司居然用觸控LCDM來搞...
光那顆LCDM就不知道要多少錢了...
不過有機會的話我也想拿一顆來玩玩>\\\\<

賺到一台萬用燒錄器...
看樣子有時間可以來搞我的數位錶頭了XDDDD

另外...前面有一個禮拜的時間我在搞89S51的燒錄問題...
這當中又有一半的時間我在找我的實習版跟書(因為我忘記我借給誰了)
另外一半的時間我在接電路土法煉鋼自己燒= =
最後我發現一個問題...
89S51使用序列燒錄時...
如果要燒錄的HEX檔或是Binary檔比較大的話...
會有燒錄失敗的問題...
(使用之前我用過的某燒錄程式
http://www.ourchip.com/NZILIAO/Other/89S_ISP/index.htm)
但是後來拿到萬用燒錄器之後...燒錄卻是正常的...
猜測是因為燒錄指令不同的緣故...
因為89S51的燒錄指令有分Byte mode跟Page mode...
當初在寫燒錄程式的時候的想法是...
既然可以一個Byte一個Byte燒錄...
那我就不用Page mode燒錄了...
因為Hex檔內的資料其實不是連續資料...

或許是因為這樣的緣故所以會出問題?!
這個問題等哪天我有那個熱血繼續寫89S51的燒錄程式再來想吧:)

沒有留言:

張貼留言

Fix msmtp does not work in old ubuntu/debian version

主要是舊版msmtp沒有處理好email header 現在的smtp伺服器會檢查mail header 寄件人跟帳號不一致不給寄 收件人不是合法mail address自然不能寄 #!/bin/bash # Workaround until mtmsp >= 1.8....