1 頁 (共 1 頁)

低價多功能電子秤的設計

文章發表於 : 週五 12月 19, 2003 12:56 pm
wensan
這是我在2000年參加Microchip舉辦的「八十九年度全國PIC盃單晶片微控制器應用專題製作大賽」,得到產業組第一名的作品。
貼出來給大家參考。

http://home.pchome.com.tw/store/wensanko/scale.htm

文章發表於 : 週五 12月 19, 2003 1:22 pm
Korping_Chang
精彩~!!! :worship:

小的當年畢業專題也做過類似的作品
之前在舊討論區貼過,有機會再挖出來跟諸位大佬觀摩指教一下 :blush:

文章發表於 : 週五 12月 19, 2003 2:05 pm
Jeff
好精采的設計報告! :ya:

單晶片設計果然很複雜~ :ale:
牽涉到的領域很廣~ :ale:
又要會設計電路, 又要會分析, 還必須要會寫程式.... :ale:

文章發表於 : 週五 12月 19, 2003 4:26 pm
smb
Wow∼相當了不起 :o
單晶片的應用真是相當有趣

文章發表於 : 週五 12月 19, 2003 4:41 pm
oldhan
柯大師再多寫幾本 uP 的書吧, 市面上有水準的 uP 書
很少. 劣幣驅良幣, 怎麼學生會學的好?
ex:在某一本 51 書籍的指令說明裡把 CJNE A,Direc,rel
A< = > Direc 的 C 旗標略掉.. :mad:
微軟的程式師真應該來寫 uP 程式, 看如何在有限空間
擠壓出最大功能, Windows/office 程式就不會越來越
大又慢.

文章發表於 : 週五 12月 19, 2003 10:02 pm
wensan
oldhan 寫:柯大師再多寫幾本 uP 的書吧, 市面上有水準的 uP 書
很少. 劣幣驅良幣, 怎麼學生會學的好?
ex:在某一本 51 書籍的指令說明裡把 CJNE A,Direc,rel
A< = > Direc 的 C 旗標略掉.. :mad:
微軟的程式師真應該來寫 uP 程式, 看如何在有限空間
擠壓出最大功能, Windows/office 程式就不會越來越
大又慢.



千萬別叫我「大師」!!!!!
我才五專畢業而已。
我的「母校」大約十年前電子工程科便已經停招,現在沒有電子工程科了。
我只是喜歡玩玩電路而已!

要再寫書,目前是不太可能。
現在我把大部分的時間花在陪我的寶貝兒子,
希望他有個快樂的童年!
寫書太花時間了。

文章發表於 : 週六 12月 20, 2003 6:39 am
Runner
為什麼偶都看不到照片?? :?:

文章發表於 : 週六 12月 20, 2003 3:33 pm
Mica
:o ~~~
真是太強了~~~
單晶這玩意兒用途還真是蠻廣的
當然~~~
寫程式的那個更是厲害.............. :aa:


自覺蠻汗顏的.....上課都在打BBS :ale:

文章發表於 : 週六 12月 20, 2003 5:17 pm
wensan
Runner 寫:為什麼偶都看不到照片?? :?:

圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔
圖檔

文章發表於 : 週六 12月 20, 2003 5:20 pm
wensan
Mica 寫::o ~~~
真是太強了~~~
單晶這玩意兒用途還真是蠻廣的
當然~~~
寫程式的那個更是厲害.............. :aa:


自覺蠻汗顏的.....上課都在打BBS :ale:


:ale: 整個設計就只有我一個人做而已,寫程式的那個又是誰呢? :ale:

文章發表於 : 週六 12月 20, 2003 6:02 pm
JesseChen
這個..有套件可以買嗎 :D

作甚模呢?... :D :D

文章發表於 : 週日 12月 21, 2003 8:12 am
Runner
文山大哥

實在太感謝了! :ya: :ya:

文章發表於 : 週一 12月 22, 2003 3:08 am
idle_newbie
對於那個 load cell 蠻好奇的 :bs:

文章發表於 : 週一 12月 22, 2003 10:29 am
Mica
wensan 寫:
Mica 寫::o ~~~
真是太強了~~~
單晶這玩意兒用途還真是蠻廣的
當然~~~
寫程式的那個更是厲害.............. :aa:


自覺蠻汗顏的.....上課都在打BBS :ale:


:ale: 整個設計就只有我一個人做而已,寫程式的那個又是誰呢? :ale:


看來我表達有問題.... :ale:
我說的就是你咩~~~ :ho: ~

真是抱歉~~~一時"口拙"``` :eeh:

文章發表於 : 週一 12月 22, 2003 10:42 am
wensan
Mica 寫:
wensan 寫:
Mica 寫::o ~~~
真是太強了~~~
單晶這玩意兒用途還真是蠻廣的
當然~~~
寫程式的那個更是厲害.............. :aa:


自覺蠻汗顏的.....上課都在打BBS :ale:


:ale: 整個設計就只有我一個人做而已,寫程式的那個又是誰呢? :ale:


看來我表達有問題.... :ale:
我說的就是你咩~~~ :ho: ~

真是抱歉~~~一時"口拙"``` :eeh:


哈!哈!哈! :ho:
我還以為有誰偷偷跑來替我寫程式。

文章發表於 : 週一 12月 22, 2003 2:59 pm
smb
wensan老師您好,我想請問您PIC的問題 :D

PIC的INT接腳被觸發後
會先將返回位址存在堆疊頂端
接著跳去執行中斷副程式
可是我想在中斷副程式中加一個判別式來跳躍到其他地方
因此問題就來了,等我跳到別的地方執行後,那個返回位址還是存在
我猜想,那個INT按鈕如果多按幾次,堆疊可能就爆了 :ale:
所以我想把堆疊頂端的返回位址砍掉,但不曉得怎麼砍,呵呵∼

我的意思是,因為我這樣寫的話不會執行到RETFIE這個指令
所以我想能不能直接把堆疊頂端的回返位址砍掉

文章發表於 : 週一 12月 22, 2003 3:37 pm
wensan
smb 寫:wensan老師您好,我想請問您PIC的問題 :D

PIC的INT接腳被觸發後
會先將返回位址存在堆疊頂端
接著跳去執行中斷副程式
可是我想在中斷副程式中加一個判別式來跳躍到其他地方
因此問題就來了,等我跳到別的地方執行後,那個返回位址還是存在
我猜想,那個INT按鈕如果多按幾次,堆疊可能就爆了 :ale:
所以我想把堆疊頂端的返回位址砍掉,但不曉得怎麼砍,呵呵∼

我的意思是,因為我這樣寫的話不會執行到RETFIE這個指令
所以我想能不能直接把堆疊頂端的回返位址砍掉


PIC的堆疊不在程式可存取的記憶體範圍,
如果中斷後不執行RETFIE而直接跳回主程式,
並無法砍掉返回位址。
但PIC的堆疊是由「先入後出」的移位暫存器所構成,
既然程式已經跳回主程式,就不需要管原先的返回位址還留在堆疊裡,
下次的中斷或呼叫副程式自然會把已經不需要的返回位址擠掉,
除非這個返回位址之前的返回位址還需要用到,
就不能不執行RETFIE而直接跳回主程式,
因為直接跳回主程式表示放棄堆疊裡所有的返回位址!



還有,請不要叫我「老師」!
我並不喜歡「老師」!

文章發表於 : 週一 12月 22, 2003 3:46 pm
smb
wensan 寫:下次的中斷或呼叫副程式自然會把已經不需要的返回位址擠掉,

唔!原來是這樣 :o
因為以前玩EM78有時不小心會執行太多副程式塞爆堆疊 :ho:
不過現在想想,那好像跟我現在的情況不太一樣

wensan 寫:還有,請不要叫我「老師」!
我並不喜歡「老師」!

不小心說了禁語,抱歉!抱歉! :x
無論如何,還是謝謝您的指導,感謝!

文章發表於 : 週一 12月 22, 2003 5:22 pm
smb
因為沒有ICE可以實際模擬,所以只好用軟體模擬(剛才才摸會的)
可是,wensan兄
模擬的結果,堆疊還是爆了 :mad:
那個中斷的回返位址並不會被下一個擠掉
而是像我想的一樣,一直累積到最後,第九層,爆了 :bigcry:

這意味著那個INT按鈕不能按九次,不然會....爆 :x
不過我猜老師檢查的時候不會那麼閒按到九下 :D
更何況實驗早就過了,現在只是在修改程式弄報告而已 :P

文章發表於 : 週一 12月 22, 2003 8:02 pm
wensan
smb 寫:因為沒有ICE可以實際模擬,所以只好用軟體模擬(剛才才摸會的)
可是,wensan兄
模擬的結果,堆疊還是爆了 :mad:
那個中斷的回返位址並不會被下一個擠掉
而是像我想的一樣,一直累積到最後,第九層,爆了 :bigcry:

這意味著那個INT按鈕不能按九次,不然會....爆 :x
不過我猜老師檢查的時候不會那麼閒按到九下 :D
更何況實驗早就過了,現在只是在修改程式弄報告而已 :P


我已經很久沒用ICE了。
我記得ICE好像可以設定要不要做堆疊堆滿的檢查,
如果您用的是經常把堆疊的返回位址放棄掉的程式寫法,
又把ICE設為要做堆疊堆滿的檢查,
那不爆才怪!

great!!!

文章發表於 : 週一 12月 22, 2003 8:14 pm
Luker-Chen
真棒!!

程式本身我個人也是覺得是很簡單啦
兩三下就OK

難的是
要懂的東西必須跨足多個領域

就如 姐夫大 所言

又要會設計電路, 又要會分析, 還必須要會寫程式..........

要有點小全才才行哪 :bs:

Re: great!!!

文章發表於 : 週一 12月 22, 2003 8:42 pm
wensan
Luker-Chen 寫:真棒!!

程式本身我個人也是覺得是很簡單啦
兩三下就OK

難的是
要懂的東西必須跨足多個領域

就如 姐夫大 所言

又要會設計電路, 又要會分析, 還必須要會寫程式..........

要有點小全才才行哪 :bs:


您過獎了!

文章發表於 : 週一 12月 22, 2003 9:38 pm
smb
wensan 寫:我已經很久沒用ICE了。
我記得ICE好像可以設定要不要做堆疊堆滿的檢查,
如果您用的是經常把堆疊的返回位址放棄掉的程式寫法,
又把ICE設為要做堆疊堆滿的檢查,
那不爆才怪!

嗯... :roll:
可是如果真的燒成IC的話,那堆疊爆了應該會當機吧(我沒試過)
看來還是該從其他地方解決才行
謝謝您的指教 :)

文章發表於 : 週二 12月 23, 2003 5:39 am
wensan
smb 寫:
wensan 寫:我已經很久沒用ICE了。
我記得ICE好像可以設定要不要做堆疊堆滿的檢查,
如果您用的是經常把堆疊的返回位址放棄掉的程式寫法,
又把ICE設為要做堆疊堆滿的檢查,
那不爆才怪!

嗯... :roll:
可是如果真的燒成IC的話,那堆疊爆了應該會當機吧(我沒試過)
看來還是該從其他地方解決才行
謝謝您的指教 :)


「堆疊爆了」指的是最早堆進堆疊的返回位址被擠出去了,
如果被擠掉的返回位址就是想放棄的返回位址,
程式不會當掉的!

再次強調,PIC的堆疊不在程式可定址的範圍內,
而是獨立的「先入後出」移位暫存器(佇列),
其實PIC並沒有堆疊指標!
不像8051是在程式可定址的記憶體內指定一個區域做堆疊,
「堆疊爆了」指的是堆疊指標超出了劃定為堆疊的範圍,
所以程式會當掉!

文章發表於 : 週二 12月 23, 2003 9:02 am
Dream_Reader
Korping_Chang 寫:精彩~!!! :worship:

小的當年畢業專題也做過類似的作品
之前在舊討論區貼過,有機會再挖出來跟諸位大佬觀摩指教一下 :blush:


我幫過好幾組學生做過類似專題! :D

喔! 對了還有超音波測距器, 可以拿來做倒車雷達跟量身高用. :ho: