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

標(biāo)題: 單片機(jī)控制28BYJ-48步進(jìn)電機(jī)驅(qū)動(dòng)源碼 [打印本頁(yè)]

作者: 深夜小怪俠    時(shí)間: 2018-4-26 17:26
標(biāo)題: 單片機(jī)控制28BYJ-48步進(jìn)電機(jī)驅(qū)動(dòng)源碼
單片機(jī)控制28BYJ-48步進(jìn)電機(jī)驅(qū)動(dòng)
單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>


  3. unsigned char CCW[8]={0x80,0xC0,0x40,0x60,0x20,0x30,0x10,0x90};   //逆時(shí)鐘旋轉(zhuǎn)相序表
  4. unsigned char CW[8]={0x90,0x10,0x30,0x20,0x60,0x40,0xC0,0x80};    //正時(shí)鐘旋轉(zhuǎn)相序表
  5. //unsigned char tab[] = {0x0f};

  6. sbit K1 = P3^0;  //反轉(zhuǎn)按鍵
  7. sbit K2 = P3^1;  //正轉(zhuǎn)按鍵
  8. sbit K3 = P3^2;  //停止按鍵
  9. sbit K4 = P3^3;  //  蜂鳴器

  10. unsigned char K1_Flag=0,K2_Flag=0,K3_Flag=0,K4_Flag=0;

  11. void delay_ms(unsigned int z)                //@11.0592MHz
  12. {
  13.         unsigned char i, j;
  14.    do
  15.    {
  16.         _nop_();
  17.         _nop_();
  18.         _nop_();
  19.         i = 11;
  20.         j = 190;
  21.         do
  22.         {
  23.                 while (--j);
  24.         } while (--i);
  25.         }while (--z);
  26. }

  27. void delay_us(unsigned int z)                //@11.0592MHz
  28. {
  29.         do
  30.         {
  31.                 _nop_();
  32.                 _nop_();
  33.                 _nop_();
  34.         }while(--z);
  35. }


  36. void main(void)
  37. {
  38.         unsigned char i;
  39.         while(1)
  40.         {
  41.                 if(K1 == 0)
  42.                 {
  43.                         delay_ms(5);
  44.                         {
  45.                                 if(K1 == 0)
  46.                                 {
  47.                                         K1_Flag = ~K1_Flag;
  48.                                         K2_Flag = 0;
  49.                                         K3_Flag = 0;
  50.                                         K4_Flag = 0;
  51.                                 }
  52.                                 while(K1 == 0);
  53.                         }
  54.                 }
  55.                 else if(K2 == 0)
  56.                 {
  57.                            delay_ms(5);
  58.                         {
  59.                                 if(K2 == 0)
  60.                                 {
  61.                                         K2_Flag = ~K2_Flag;
  62.                                         K1_Flag = 0;
  63.                                         K3_Flag = 0;
  64.                                         K4_Flag = 0;
  65.                                 }
  66.                                 while(K2 == 0);
  67.                         }
  68.                 }
  69.                 else if(K3 == 0)
  70.                 {
  71.                         delay_ms(5);
  72.                         {
  73.                                 if(K3 == 0)
  74.                                 {
  75.                                         K3_Flag = ~K3_Flag;
  76.                                         K1_Flag = 0;
  77.                                         K2_Flag = 0;
  78.                                         K4_Flag = 0;
  79.                                 }
  80.                                 while(K3 == 0);
  81.                         }
  82.                 }
  83.                 else if(K4 == 0)
  84.                 {
  85.                            delay_ms(5);
  86.                         {
  87.                                 if(K4 == 0)
  88.                                 {
  89.                                         K4_Flag = ~K4_Flag;
  90.                                         K1_Flag = 0;
  91.                                         K2_Flag = 0;
  92.                                         K3_Flag = 0;
  93.                                 }
  94.                                 while(K4 == 0);
  95.                         }
  96.                 }
  97.                 if(K1_Flag)
  98.                 {
  99.                         for(i=0;i<8;i++)  //旋轉(zhuǎn)45度
  100.                         {
  101.                                 P2=CW[i];
  102.                                 delay_us(80);   //調(diào)節(jié)轉(zhuǎn)速
  103.                         P0 = 0XC6;
  104.                         P2 &= 0XF0;
  105.                         P2 |= 0X02;
  106.                         P0 = 0XF9;
  107.                         P2 &= 0XF0;
  108.                         P2 |= 0X04;
  109.                         }
  110.                 }
  111.                 else if(K2_Flag)
  112.                 {
  113.                         for(i=0;i<8;i++)  //旋轉(zhuǎn)45度
  114.                         {
  115.                                 P2=CW[i];
  116.                                 delay_us(200);   //調(diào)節(jié)轉(zhuǎn)速
  117.                         }
  118.                         P0 = 0XC6;
  119.                         P2 &= 0XF0;
  120.                         P2 |= 0X02;
  121.                         P0 = 0Xa4;
  122.                         P2 &= 0XF0;
  123.                         P2 |= 0X04;
  124.                 }
  125.                 else if(K3_Flag)
  126.                 {
  127.                           for(i=0;i<8;i++)  //旋轉(zhuǎn)45度
  128.                         {
  129.                                 P2=CW[i];
  130.                                 delay_ms(1);   //調(diào)節(jié)轉(zhuǎn)速
  131.                         }
  132.                         P0 = 0XC6;
  133.                         P2 &= 0XF0;
  134.                         P2 |= 0X01;
  135.                         P0 = 0XB0;
  136.                         P2 &= 0XF0;
  137.                         P2 |= 0X02;
  138.                 }
  139.                 else if(K4_Flag)
  140.                 {
  141.                          for(i=0;i<8;i++)  //旋轉(zhuǎn)45度
  142.                         {
  143.                                 P2=CW[i];
  144.                                 delay_ms(5);   //調(diào)節(jié)轉(zhuǎn)速
  145.                         }
  146.                         P0 = 0XC6;
  147.                         P2 &= 0XF0;
  148.                         P2 |= 0X01;
  149.                         P0 = 0X99;
  150.                         P2 &= 0XF0;
  151.                         P2 |= 0X02;
  152.                 }
  153.         }
  154. }
復(fù)制代碼

所有資料51hei提供下載:
28BYJ-48步進(jìn)電機(jī)驅(qū)動(dòng).rar (30.14 KB, 下載次數(shù): 77)



作者: TopZhou    時(shí)間: 2018-4-26 21:35
有實(shí)物圖嗎
作者: 深夜小怪俠    時(shí)間: 2018-4-27 09:59
TopZhou 發(fā)表于 2018-4-26 21:35
有實(shí)物圖嗎

有的奧   不過(guò)這只是一個(gè)簡(jiǎn)單的demo  可以自己搭建的奧
作者: TopZhou    時(shí)間: 2018-4-27 13:06
P0 = 0XC6;
                        P2 &= 0XF0;
                        P2 |= 0X02;
                        P0 = 0XF9;
                        P2 &= 0XF0;
                        P2 |= 0X04;
是什么意思啊
作者: 深夜小怪俠    時(shí)間: 2018-5-3 16:16
TopZhou 發(fā)表于 2018-4-27 13:06
P0 = 0XC6;
                        P2 &= 0XF0;
                        P2 |= 0X02;

這是做的一個(gè)數(shù)碼管顯示,P2口做數(shù)碼管的位選,P0口做段選。不好意思,最近沒(méi)有登陸網(wǎng)站,沒(méi)有及時(shí)的回復(fù)你。
作者: hahaqinyou    時(shí)間: 2020-1-26 18:03
你的逆時(shí)鐘旋轉(zhuǎn)相序表怎么來(lái)的哦?我怎么查的是0x03,0x06,0x0c,0x09正轉(zhuǎn) 5.625°
作者: Ghroth    時(shí)間: 2020-3-17 23:09
好東西感謝
作者: 996445591    時(shí)間: 2023-9-11 10:01
TopZhou 發(fā)表于 2018-4-27 13:06
P0 = 0XC6;
                        P2 &= 0XF0;
                        P2 |= 0X02;

這是配置STC的IO口驅(qū)動(dòng)能力, 比如上拉,下拉




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日本高清视频网站 | 久久国产视频播放 | 成人毛片网 | 国产免费一区二区三区最新6 | 国产精品毛片一区二区三区 | 91直接看| 久热国产精品视频 | 国产真实精品久久二三区 | 精品福利一区二区三区 | 国产成人精品一区二区三区在线 | 天堂av在线影院 | av在线视 | 成人中文字幕在线观看 | 欧美精品一区二区三区四区 在线 | 色噜噜亚洲男人的天堂 | 久99久视频 | 激情五月激情综合网 | 日韩成人免费 | 精品久久久久久久久久久久久久久久久 | 亚洲日韩中文字幕一区 | 在线亚洲人成电影网站色www | 久久99一区二区 | 欧美1区| 午夜精品一区二区三区在线观看 | 日本综合在线观看 | 久久久www成人免费无遮挡大片 | 欧美一级二级在线观看 | 午夜免费观看体验区 | 国产一二三视频在线观看 | 中文二区| 91精品国产91久久久久久密臀 | 久久国产精品久久久久 | 精品久久久久久久久久久久久久久久久 | 亚欧洲精品在线视频免费观看 | 婷婷久久综合 | 999久久久 | 国产日韩精品久久 | 911影院| 亚洲欧美综合精品久久成人 | 久久久久亚洲精品 | 精品欧美二区 |