久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3262|回復: 8
收起左側

單片機管腳定義問題

[復制鏈接]
ID:143767 發表于 2020-6-5 16:39 | 顯示全部樓層 |閱讀模式
請問下面程序怎樣知道它定義的是P1.1-P1.4呢,如果我想定義P2.0-P2.4或P3.0-P3.4怎樣去設置呢,謝謝!

/*
1、本程序用于測試4相步進電機常規驅動
2、需要用跳帽或者杜邦線把信號輸出端和對應的步進電機信號輸入端連接起來
3、速度不可以調節的過快,不然就沒有力矩轉動了
可以按照給的原理圖接線
  接P1.1-P1.4
*/
#include <reg52.h>

unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10};//正轉表格
unsigned char code B_Rotation[4]={0x10,0x08,0x04,0x02};//反轉表格

void Delay(unsigned int i)//延時
{
        while(--i);
}

main()
{
        unsigned char i;

        while(1)
        {
                  for(i=0;i<4;i++)      //4相
             {
                     P1=B_Rotation[i];  //輸出對應的相 可以自行換成反轉表格
                     Delay(500);        //改變這個參數可以調整電機轉速
                 }
          }
}


回復

使用道具 舉報

ID:94031 發表于 2020-6-5 18:58 | 顯示全部樓層
這句話 P1=B_Rotation[i]; 說明驅動在P1口,根據數組定義知道在低4位。
回復

使用道具 舉報

ID:642838 發表于 2020-6-5 19:51 | 顯示全部樓層
code F_Rotation數組02,04,08,10換成2進制就是對應的P1.1-P1.4。
定義P2.0-P2.4,把數組unsigned char code F_Rotation[5]={0x01,0x02,0x04,0x08,0x10}
再把 P1=B_Rotation[i]改成P2=B_Rotation[i]
回復

使用道具 舉報

ID:538157 發表于 2020-6-5 19:55 | 顯示全部樓層
“0x”代表十六進制數,4位二進制可以表示一個十六進制數,0x02對應的二進制數是“0000 0010”,正好對應51單片機的一個P端口。這樣應該就理解了。
實際上上面的程序操作的整個P1端的8位都被操作了。想要只操作其中某一位,看看C語言的位操作語句,百度一些例子,你就知道了。
當然,“sbit”關鍵字也可以。
回復

使用道具 舉報

ID:295874 發表于 2020-6-5 20:32 | 顯示全部樓層
P1=B_Rotation[i];  //輸出對應的相 可以自行換成反轉表格
修改此處的P1就可以實現
回復

使用道具 舉報

ID:591219 發表于 2020-6-5 21:53 | 顯示全部樓層
首先,你要了解這段括號內的二進制
B_Rotation[4]={0x10,0x08,0x04,0x02}
0x10:0001 0000
0x08:0000 1000
0x04:0000 0100
0x02:0000 0010
之后,理解這段
P1=B_Rotation[i];
i從0開始,就是把 0x10(0001 0000)賦值給 P1,即P1.4 = 1;
i遞增,把剩下的全都賦值給P1,使得P1.4到P1.1逐漸置1,實現反轉
所以 想要修改到P2口,首先修改P2=B_Rotation[i];
之后,根據你想用的P2口,在修改   B_Rotation[4]={0x10,0x08,0x04,0x02}  中的值
例如 你想用的P2.0到P2.3(四相電機,需要四個i/o口)
B_Rotation[4]={0x08,0x04,0x02,0x01}

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:348250 發表于 2020-6-5 22:19 | 顯示全部樓層
P1=B_Rotation[i]; 這句話是用的總線知識,P1口連接的是電機的相即(B_Rotation[i]),通過上面的數組將16進制賦值給P1口(P1口的8個引腳構成 16進制),從而驅動電機
回復

使用道具 舉報

ID:143767 發表于 2020-6-6 17:20 | 顯示全部樓層
謝謝各位指點的很細,學到了很多,非常感謝!
回復

使用道具 舉報

ID:420836 發表于 2020-6-7 08:44 | 顯示全部樓層
數組定義用于P1端口,0x02表示引腳1或P1.1,0x04表示P1.2,0x08表示P1.3,0x10表示P1.4。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产资源网 | 天天拍天天色 | 一区二区久久电影 | 性色综合 | 精品欧美色视频网站在线观看 | 亚洲导航深夜福利涩涩屋 | 国产电影一区二区三区爱妃记 | 免费av播放 | 欧美黄在线观看 | 成人免费视频一区 | 一区二区三区四区在线播放 | www免费视频| 午夜免费视频 | 免费高清av | 欧美一区二区三区视频在线观看 | 亚洲区一区二区 | 国产精品视频网 | 久久精品国产久精国产 | 黄色免费在线观看网址 | 欧美极品在线 | 一级免费毛片 | 成人免费毛片片v | 亚洲 中文 欧美 日韩 在线观看 | 亚洲一区二区久久 | 国产精品久久久爽爽爽麻豆色哟哟 | 一本久久a久久精品亚洲 | 81精品国产乱码久久久久久 | 黄色一级大片视频 | 看片国产| 亚洲视频二 | 日日噜噜夜夜爽爽狠狠 | 一级一级毛片免费看 | 国产区在线观看 | 免费视频久久 | 91视频大全 | 91久久国产综合久久91精品网站 | 国产一区二区在线91 | 精品国产一区二区三区观看不卡 | 亚洲一区二区三区在线 | 成人一区在线观看 | 91麻豆精品国产91久久久久久 |