|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
C51移位問題 |
| 作者:tchwwf 欄目:單片機(jī) |
我要用C語言實(shí)現(xiàn)兩個(gè)內(nèi)存變量(如a,b)通過移位將a中的值一位一位移入b中,我用C語言 a=a<<1; b=b<<1;本意是a的值先移入進(jìn)位C,然后由C再移入b中。但用KEIL編譯后發(fā)現(xiàn)匯編是加法指令而不是移位指令,所以無法實(shí)現(xiàn)功能,請(qǐng)問各位大蝦要如何寫程序? |
| 2樓: | >>參與討論 |
| 作者: xwj 于 2007/1/15 10:06:00 發(fā)布:
你到底要干什么? 就算不是加法你那寫法也會(huì)不對(duì)的 |
|
| 3樓: | >>參與討論 |
| 作者: tchwwf 于 2007/1/15 10:16:00 發(fā)布:
C51移位問題 就是a向左移一位,高位到進(jìn)位C,然后b再帶進(jìn)位左移,這樣循環(huán)8次將a的值移入b中。 |
|
| 4樓: | >>參與討論 |
| 作者: tchwwf 于 2007/1/15 12:09:00 發(fā)布:
C51移位問題 那如何實(shí)現(xiàn)兩個(gè)地址不相鄰的變量通過移位賦值呢?我要實(shí)現(xiàn)的是LED屏的向左滾動(dòng)顯示。 |
|
| 5樓: | >>參與討論 |
| 作者: xwj 于 2007/1/15 12:21:00 發(fā)布:
建議用匯編操作 |
|
| 6樓: | >>參與討論 |
| 作者: tchwwf 于 2007/1/15 13:12:00 發(fā)布:
多謝 xwj的回復(fù) 用C無法實(shí)現(xiàn)嗎?實(shí)在不行就只能用匯編了,我以前一直用匯編寫程序,才轉(zhuǎn)到C,所以遇到了很多問題,再次謝謝象xwj這樣的熱心大俠。 |
|
| 7樓: | >>參與討論 |
| 作者: 無格 于 2007/1/15 13:23:00 發(fā)布:
跟我原先遇到一樣的問題用C也是可以解決的 |
|
| 8樓: | >>參與討論 |
| 作者: tchwwf 于 2007/1/15 13:42:00 發(fā)布:
請(qǐng)問 無格 能否說一下怎樣解決?多謝! |
|
| 9樓: | >>參與討論 |
| 作者: 無格 于 2007/1/15 14:34:00 發(fā)布:
有些時(shí)間了我大概當(dāng)時(shí) 是移動(dòng)一個(gè)數(shù)組9字節(jié)(我點(diǎn)陣是16*64),先判斷低字節(jié)高位是0還是1,然后再移動(dòng)高字節(jié)再將高字節(jié)的低位置1或0;直至9字節(jié)全部移動(dòng)移位一位; 應(yīng)該感覺是比較苯的辦法但我沒發(fā)現(xiàn)更好的辦法,最終效果跟采用硬件移位也差不多(不過比較花費(fèi)RAM,我用到STC系列的外部RAM). |
|
| 10樓: | >>參與討論 |
| 作者: lixuanbing 于 2007/1/15 14:38:00 發(fā)布:
試試這個(gè) for(i=0;i<8;i++) { if((a<<i)&0x80) b+=1; else b+=0; b<<1; } |
|
| 11樓: | >>參與討論 |
| 作者: tchwwf 于 2007/1/15 14:39:00 發(fā)布:
多謝 無格 我的點(diǎn)陣是16*128的,我試試吧! |
|
| 12樓: | >>參與討論 |
| 作者: fushaobing 于 2007/1/15 16:57:00 發(fā)布:
同意“無格” 我也遇到過這個(gè)問題,解碼的場(chǎng)合(48 bits)。 解決的辦法是先判斷"a"的高位是0還是1,再移位。如果是0,移位后不用管;如果是1,移位后"b"的低位要置1。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |