熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
| 謝謝各位指點(diǎn)。 |
|
#include <reg52.h> #include<intrins.h> unsigned int j,temp,temp1; void delay(t) { while(t--); } void main() { temp=0xfe; temp1=0x7f; while(1) { for(j=0;j<8;j++) { P1=temp; delay(10000); temp=_crol_(temp,1); //左移 } for(j=0;j<16;j++) //循環(huán)右移點(diǎn)亮16次,即兩輪,改次數(shù)即可改輪數(shù) { P1=temp1; temp1=_cror_(temp1,1); //右移 delay(10000); } } } |
|
左右往復(fù),一般這么寫: #include <reg52.h> #include <INTRINS.H> bit way; void main() { unsigned int i; P2 = 0xfe; while(1) { if(P2 == 0xfe) way = 1; //在右端,進(jìn)入左移模式 if(P2 == 0x7f) way = 0; //在左端,進(jìn)入右移模式 if(way) P2 = _crol_(P2,1); //左移 else P2 = _cror_(P2,1); //右移 for(i=0;i<30000;i++); 延時(shí) } } |
本帖最后由 188610329 于 2022-5-28 18:21 編輯 ccczzzyy 發(fā)表于 2022-5-28 17:43 左右往復(fù),一般這么寫: #include <reg52.h> #include <INTRINS.H> bit way; void main() { unsigned int i; P2 = 0xfe; while(1) { if(P2 == 0xfe) way = 1; //在右端,進(jìn)入左移模式 if(P2 == 0x7f) way = 0;//在左端,進(jìn)入右移模式 if(way) P2 = _crol_(P2,1); //左移 else P2 = _cror_(P2,1); //右移 for(i=0;i<30000;i++); 延時(shí) } } |
188610329 發(fā)表于 2022-5-28 11:52 謝謝您的幫助,也驗(yàn)證了程序。用庫(kù)函數(shù)很簡(jiǎn)潔,我想將他改成從右移到左,然后從左往右移動(dòng),但總是解決不了,要么不動(dòng),要么就一個(gè)方向移動(dòng)。應(yīng)該如何寫。謝謝。 |
|
流水燈,一般這么寫: #include <reg52.h> #include <INTRINS.H> void main() { unsigned int i; P2 = 0xfe; while(1) { P2 = _crol_(P2,1); //左移 // P2 = _cror_(P2,1); //右移 for(i=0;i<30000;i++); 延時(shí) } } |
|
<< 左移 高位丟棄,低位補(bǔ)0 >> 右移低位丟棄。對(duì)正數(shù)左補(bǔ)0,負(fù)數(shù)左補(bǔ)1 兩個(gè)符號(hào)定義是不一樣,不能換一符號(hào)就能達(dá)到你想要的效果 還是用“_crol_” 與“_cror_”實(shí)現(xiàn)左右循環(huán)吧 |
| 左和右是相對(duì)于你板子上的LED排列而言的,默認(rèn)是從左到右依次P20~P27 |
| 謝謝各位的指點(diǎn),也謝謝版主對(duì)主題的編輯,“關(guān)于單片機(jī)流水燈程序的流動(dòng)方向修改”,使其更有可讀性,目的更明確。 |
| 這個(gè)么其實(shí)也不用改的只需改變板的方位上下左右移不就變了嘛,又不是顯示文字?jǐn)?shù)字區(qū)別明顯 |
| P2口的排列順序是反著的,與其它的三個(gè)口不一樣 |
| 你這兩個(gè)程序?qū)懙牟诲e(cuò),關(guān)鍵就在第 26 行語(yǔ)句,要想實(shí)現(xiàn)你的想法只要將這條語(yǔ)句相互交換一下即可實(shí)現(xiàn)你的想法了。再或是把兩段程序里的第 26 條語(yǔ)句里的【 << 和 >> 】相互交換也可以! |
Powered by 單片機(jī)教程網(wǎng)