全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1921
推到 Plurk!
推到 Facebook!

請問一下關於 89S51 或 AVR 等的單晶片多工的問題。

答題得分者是:bernie_w39
apple51
一般會員


發表:3
回覆:5
積分:1
註冊:2008-04-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-19 23:48:20 IP:61.59.xxx.xxx 未訂閱
請問一下關於 89S51 或 AVR 等的單晶片能做到類似 多執行緒 的功能嗎?? 
比如說這一隻腳位輸出一種信號,而另一隻腳位可以 "同時" 輸出另一種信號,等的方式。
或者是這一隻腳位有信號輸入要處理時,另一隻腳位也可以輸出另一種信號,而不用停下來等。

如果用中斷,好像也達不到 多執行緒 的效果,因為不是會先停下目前做的事,然後去處理中斷位址寫的事嗎 ??

如果行的話,可否討論一下做法,謝謝!!
感謝各位的答覆,謝謝!!
bernie_w39
資深會員


發表:3
回覆:199
積分:280
註冊:2007-10-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-20 00:25:44 IP:118.166.xxx.xxx 訂閱
如果是要兩隻腳真的 "同時" "同步" 處理無關的訊號, 是作不到的.
但是如果在訊號處理上, 允許一點點的誤差或是延遲, 可以透過程式
的技巧, 以假多工的方法完成.

建議您把要輸出及輸入的訊號特徵描述一下, 這樣比較有機會來
想想辦法.
apple51
一般會員


發表:3
回覆:5
積分:1
註冊:2008-04-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-20 02:14:33 IP:61.59.xxx.xxx 未訂閱
嗯. 謝謝!!
是否可以大概講一下 假多工 是什麼樣的做法

我想要做的是模擬 CD換片機
輸出 : 到主機有二條線,一是同步信號,一是信號線。
輸入 : 到單晶片的有一條線,是主機來的信號。

由於在接收主機信號並判讀時,其同步信號跟信號線還是有在對主機丟信號
所以我才會想問,單晶片多工怎麼做

而我是用這個軟體看信號的
http://www.xs4all.nl/~jwasys/old/index.html?10
發現輸出與輸入,再同一時間有重疊的可能的。

謝謝各位的回覆!!

bernie_w39
資深會員


發表:3
回覆:199
積分:280
註冊:2007-10-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-20 17:09:50 IP:61.218.xxx.xxx 訂閱
您說的信號, 會不會是類似 SPI 的訊號. 一個是 data out, 從 MCU 送到外部,
另一個是 data in, 從外部送到 MCU, 另一個是 clk.

如果 clock 的頻率不高, 可以用軟體來模擬, 如果 clock 頻率高, 就得找有支援
SPI 界面的 MCU 才行.

假多工就是 MCU 輪流去處理每一件事, 讓每一件事都可以往下進行, 看起來就像
多工一樣. 但只要有一件事卡住了, 沒有交出控制權, 其它的作業都不會動.

像您這個應用, clock 依時間發出, 發出時看看有沒有要送的資料, 有就擺上
data out. 另外看看有沒有資料從 data in 進來. 然後一直循環, 應該就可以了.
apple51
一般會員


發表:3
回覆:5
積分:1
註冊:2008-04-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-05-20 18:06:43 IP:61.59.xxx.xxx 未訂閱
謝謝~ 我在試試。
ererer40
初階會員


發表:37
回覆:91
積分:45
註冊:2008-05-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-05-21 14:53:02 IP:60.248.xxx.xxx 訂閱
請問我們的個人電腦不是只有一個cpu嗎,那因該不管速度多怏,他還是單工吧,就像大大說的要是有一個程式不交出控制權,其他的工作都沒辦法做

所謂的當機因該也是類似如此吧
編輯記錄
ererer40 重新編輯於 2008-05-21 14:54:01, 註解 無‧
系統時間:2024-05-11 12:29:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!