欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

關(guān)于單片機(jī)流水燈程序的流動(dòng)方向修改

查看數(shù): 2971 | 評(píng)論數(shù): 12 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2022-5-27 19:59

正文摘要:

板子倒過(guò)來(lái)看是符合要求的,請(qǐng)各位指點(diǎn)一下,程序?qū)幔?

回復(fù)

ID:1028260 發(fā)表于 2022-5-29 07:57
謝謝各位指點(diǎn)。
ID:979299 發(fā)表于 2022-5-28 18:24
#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);
                }
        }
}
ID:624769 發(fā)表于 2022-5-28 18:18
左右往復(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í)
         }
}



ID:624769 發(fā)表于 2022-5-28 18:12
本帖最后由 188610329 于 2022-5-28 18:21 編輯
ccczzzyy 發(fā)表于 2022-5-28 17:43
謝謝您的幫助,也驗(yàn)證了程序。用庫(kù)函數(shù)很簡(jiǎn)潔,我想將他改成從右移到左,然后從左往右移動(dòng),但總是解決不 ...

左右往復(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í)
         }
}







ID:1028260 發(fā)表于 2022-5-28 17:43
188610329 發(fā)表于 2022-5-28 11:52
流水燈,一般這么寫:

#include

謝謝您的幫助,也驗(yàn)證了程序。用庫(kù)函數(shù)很簡(jiǎn)潔,我想將他改成從右移到左,然后從左往右移動(dòng),但總是解決不了,要么不動(dòng),要么就一個(gè)方向移動(dòng)。應(yīng)該如何寫。謝謝。
ID:624769 發(fā)表于 2022-5-28 11:52
流水燈,一般這么寫:

#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í)
         }
}
ID:979299 發(fā)表于 2022-5-28 10:32
<< 左移 高位丟棄,低位補(bǔ)0
>> 右移低位丟棄。對(duì)正數(shù)左補(bǔ)0,負(fù)數(shù)左補(bǔ)1
兩個(gè)符號(hào)定義是不一樣,不能換一符號(hào)就能達(dá)到你想要的效果
還是用“_crol_” 與“_cror_”實(shí)現(xiàn)左右循環(huán)吧
ID:99525 發(fā)表于 2022-5-28 09:28
左和右是相對(duì)于你板子上的LED排列而言的,默認(rèn)是從左到右依次P20~P27
ID:1028260 發(fā)表于 2022-5-28 09:03
謝謝各位的指點(diǎn),也謝謝版主對(duì)主題的編輯,“關(guān)于單片機(jī)流水燈程序的流動(dòng)方向修改”,使其更有可讀性,目的更明確。
ID:96682 發(fā)表于 2022-5-28 09:02
這個(gè)么其實(shí)也不用改的只需改變板的方位上下左右移不就變了嘛,又不是顯示文字?jǐn)?shù)字區(qū)別明顯
ID:1012735 發(fā)表于 2022-5-28 07:27
P2口的排列順序是反著的,與其它的三個(gè)口不一樣
ID:385830 發(fā)表于 2022-5-28 07:05
你這兩個(gè)程序?qū)懙牟诲e(cuò),關(guān)鍵就在第 26 行語(yǔ)句,要想實(shí)現(xiàn)你的想法只要將這條語(yǔ)句相互交換一下即可實(shí)現(xiàn)你的想法了。再或是把兩段程序里的第 26 條語(yǔ)句里的【 << 和 >> 】相互交換也可以!

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表