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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3264|回復: 2
收起左側

舞蹈機器人步進機仿真+源程序+仿真文件

[復制鏈接]
ID:324366 發(fā)表于 2018-5-24 09:00 | 顯示全部樓層 |閱讀模式
舞蹈機器人步進機仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
QQ截圖20180524085421.png QQ截圖20180524085540.png QQ截圖20180524085526.png QQ截圖20180524085513.png


單片機源程序如下:
  1. #include "reg51.h"
  2. #include "intrins.H"
  3. //8步式步進電機脈沖序列
  4. //unsigned char steps[8] = {0x77,0x33,0xbb,0x99,0xdd,0xcc,0xee,0x66};
  5. unsigned char steps[8] = {0x2,0x6,0x4,0xc,0x8,0x9,0x1,0x3};
  6. //當前各電機在上述序列中的位置
  7. unsigned char cur_step[8] = {0,0,0,0,0,0,0,0};
  8. //這個文件用于記錄舞步信息序列
  9. char speed_tickers[8] = {0,0,0,0,0,0,0,0};
  10. //從上述文件中讀出的當前舞步信息
  11. unsigned char speeds[8] = {0,0,0,0,0,0,0,0};
  12. unsigned char data_pointer = 0;//指向舞步數(shù)據(jù)的指針
  13. unsigned char time_t = 0;//指定重新讀取一次 speeds 值的計時周期
  14. code char dancedata[] = {54,15,12,12,87,95,65,45,-89,-88,-54,-54,54,68,-45,-65,-65,-48,101,121,115,117,19,
  15. -98,-100,-21,-114,-101,-24,-98,95,102,102,100,130,30,10,-90,-120,87,102,103,105,109,104,-30,-102,-104,-106,110,100,
  16. 54,15,12,12,87,95,65,45,-89,-88,-54,-54,-98,95,102,102,100,130,30,10,-90,-120,87,102-114,-101,-24,-98,95,102,102,
  17. 100,130,30,10,-90,-120,87,102,102,100,130,30,10,-90,-120,87,102,103,105,54,15,12,12,87,95,65,45,-89,-88,-54,
  18. -98,-100,-21,-114,-101,-24,-98,95,102,102,100,130,30,10,-90,-120,87,102,103,105,12,87,95,65,45,-89,-88,-54,
  19. -98,-100,-21,-114,-101,-24,-98,95,102,102,100,130,30,10,-90,-120,87,102,103,105,109,104,-30,-102,-104,-106,110,
  20. 100,130,30,10,-90,-120,87,102,102,100,130,30,10,-90,-120,87,-120,87,102,103,105,109,104,-30,-102,-104,-106,110,
  21. 54,15,12,12,87,95,65,45,-89,-88,-54,-54,-98,95,102,102,100,130,30,10,-90,-120,87,102-114,-101,-24,-98,95,102,102,
  22. 54,15,12,12,87,95,65,45,-89,-88,-54,-54,-98,95,102,102,100,130,30,10,-90,-120,87,102-114,-101,-24,-98,95,102,102,
  23. 54,15,12,12,87,95,65,45,-89,-88,-54,-54,-98,95,102,102,100,130,30,10,-90,-120,87,102-114,-101,-24,-98,95,102,102,
  24. 54,15,12,12,87,95,65,45,-89,-88,-54,-54,-98,95,102,102,100,130,30,10,-90,-120,87,102-114,-101,-24,-98,95,102,102,
  25. -98,-100,-21,-114,-101,-24,-98,95,102,102,100,130,30,10,-90,-120,87,102,103,105,12,87,95,65,45,-89,-88,-54,
  26. -98,-100,-21,-114,-101,-24,-98,95,102,102,100,130,30,10,-90,-120,87,102,103,105,12,87,95,65,45,-89,-88,-54,
  27. -98,-100,-21,-114,-101,-24,-98,95,102,102,100,130,30,10,-90,-120,87,102,103,105,12,87,95,65,45,-89,-88,-54,
  28. };
  29. code char pin[8] = {1,2,4,8,16,32,64,128};
  30. char MAX_SPEED_TICKER = 120;
  31. unsigned char i; //電機序號

  32. void InitTimer(void) //初始化計數(shù)器
  33. {
  34.   TH0 = 0xFA;  //設置觸發(fā)周期:1000次
  35.   TL0 = 0x24;
  36.   TMOD = TMOD |0x01;  //select mode 1
  37.   TR0 = 1; //start timer0
  38.   ET0 = 1; //enable timer 0 interrupt
  39.   EA =1; //global interrupt enable
  40. }

  41. void SetAllSpeeds(void)  //設置各電機的速度,并讓它運動起來
  42. {
  43.   char delta;  //旋轉方向 1:正 -1:反  0:停
  44.   for(i=0;i<8;i++)
  45.   {
  46.     P2=pin[i]; //發(fā)送鎖存信號
  47.     speed_tickers[i] += speeds[i]; //計數(shù)值增加 speed[i]越高,增加得越多
  48.     if(speed_tickers[i] >= MAX_SPEED_TICKER) //如果計數(shù)值超過預定最大值,就發(fā)送脈沖
  49.     {
  50.       speed_tickers[i] = 0;
  51.       delta = 1;
  52.     }
  53.     else if(speed_tickers[i] <= -MAX_SPEED_TICKER) //同上,反響旋轉
  54.     {
  55.       speed_tickers[i] = 0;
  56.       delta = -1;
  57.     }
  58.     else delta = 0;
  59.     cur_step[i] += delta;
  60.     cur_step[i] &= 0x07; //計算當前應發(fā)脈沖
  61.     P0 = steps[cur_step[i]];
  62.     P2 = 0;
  63.   }
  64. }

  65. void OnTimer(void) interrupt 1 using 2
  66. {
  67.   unsigned char j;
  68.   SetAllSpeeds();
  69.   InitTimer();
  70.   time_t++;
  71.   if(time_t==200) //每200次觸發(fā)讀取一次新舞步數(shù)據(jù)
  72.   {
  73.     for(j=0;j<8;j++)
  74.       speeds[j] = dancedata[data_pointer+j];
  75.     data_pointer += 8;
  76.     time_t = 0;
  77.   }
  78. }

  79. void main()  //程序的入口
  80. {
  81.   InitTimer();  //初始化后等中斷
  82.   while(1);
  83. }
  84.    
復制代碼

所有資料51hei提供下載:
舞蹈機器人步進機仿真.zip (61.59 KB, 下載次數(shù): 30)


回復

使用道具 舉報

ID:313328 發(fā)表于 2018-5-25 13:53 | 顯示全部樓層
值的收藏了
回復

使用道具 舉報

ID:91165 發(fā)表于 2018-5-30 10:35 | 顯示全部樓層
真不錯的資料
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕在线观看网址 | 成人av播放| 毛片aaa| 久久久久久久免费视频 | 欧美日韩二区三区 | 亚洲视频在线播放 | 狼人色| 色婷婷一区二区三区四区 | 黄色av免费观看 | 在线观看亚洲一区 | 日本不卡中文字幕 | 国产中文字幕在线播放 | 在线免费毛片 | 色www| 欧美一级片在线观看 | 三级黄色在线观看 | 日韩国产综合 | 久久精品视频网站 | 日本黄色三级视频 | 成人免费网站黄 | 日韩欧美综合 | 欧美日韩高清在线 | 黄色av免费在线观看 | 国产伦理一区 | 日韩欧美自拍 | 国产免费a | 亚洲第一天堂网 | 成人在线免费 | 久久精品一区二区三区四区五区 | 欧美日韩a | 久久免费视频观看 | 高清乱码男女免费观看 | 亚洲人成在线播放 | 免费看黄色av | 精品久久久久久久久久久久久 | 激情网站 | 亚洲激情视频在线观看 | 欧美精品久久久久久久 | av在线一区二区三区 | 91精品国产成人www | 97cao|