請問8051要怎樣處理32bit的資料比較好? |
缺席
|
tku_telent
一般會員 ![]() ![]() 發表:23 回覆:21 積分:8 註冊:2004-03-05 發送簡訊給我 |
|
happosai
高階會員 ![]() ![]() ![]() ![]() 發表:93 回覆:228 積分:109 註冊:2002-09-15 發送簡訊給我 |
|
tku_telent
一般會員 ![]() ![]() 發表:23 回覆:21 積分:8 註冊:2004-03-05 發送簡訊給我 |
|
阿信
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
㊣
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 可不可以只處理低八位元啊encoder的資訊,只處理低八位元,對馬達控制沒有幫助...
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
tku_telent
一般會員 ![]() ![]() 發表:23 回覆:21 積分:8 註冊:2004-03-05 發送簡訊給我 |
補充一下,我之前講的不清楚~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hctl-2032是由D0~D7傳輸8bit的資料,傳4次,現在我有一個伺服馬達,其上的encoder解析度為500Count/Revoluton,經由hctl-2032後變為2000Count/Revoluton。 基本的運作如下:
若開始時Reset Counter, D0~D31=0x00000000,
若目前設定是2000Count/Revoluton,轉完一圈後D0~D31=0x000007D0,
再轉第二圈後D0~D31=0x000007d1,0x000007d2,0x000007d3.... 一直累加下去. 由於Data Bus是8bit, 要切換sel1,sel2去讀4次bus才會得到32bit的position data. 所以我32bit都必需用到。
|
阿信
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
tku_telent
一般會員 ![]() ![]() 發表:23 回覆:21 積分:8 註冊:2004-03-05 發送簡訊給我 |
|
阿信
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
|
tku_telent
一般會員 ![]() ![]() 發表:23 回覆:21 積分:8 註冊:2004-03-05 發送簡訊給我 |
|
阿信
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
利用C旗標
配合SUBB指令 8051一次只能處理8位元
副程式就是有一段程式 K(32Bit)=N(32Bit)-M(32Bit)
(KB3,KB2,KB1,KB0)=(NB3,NB2,NB1,NB0)-(MB3,MB2,MB1,MB0)
clr C ;LSB mov A,NB0 subb A,MB0 mov KB0,A mov A,NB1 ;2nd Byte subb A,MB1 mov KB1,A mov A,NB2 ;3nd Byte subb A,MB2 mov KB2,A mov A,NB3 ;MSB subb A,MB3 mov KB3,A |
㊣
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 利用C旗標 配合SUBB指令 8051一次只能處理8位元 副程式就是有一段程式 K(32Bit)=N(32Bit)-M(32Bit) (KB3,KB2,KB1,KB0)=(NB3,NB2,NB1,NB0)-(MB3,MB2,MB1,MB0)這是指NBx>=MBx,如果有借位就掛了喔 如果你有用C在寫,這部份的運算建議用C處理. 那就不用為了借位問題,寫一些判斷與處理的方式而傷腦筋囉 顯示結果時再注意一下就ok囉 發表人 - ㊣ 於 2005/04/15 08:46:38clr C ;LSB mov A,NB0 subb A,MB0 mov KB0,A mov A,NB1 ;2nd Byte subb A,MB1 mov KB1,A mov A,NB2 ;3nd Byte subb A,MB2 mov KB2,A mov A,NB3 ;MSB subb A,MB3 mov KB3,A
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
阿信
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:111 回覆:983 積分:813 註冊:2005-03-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |