wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

帶插補計算的四象限步進電機控制仿真與單片機源程序

[復制鏈接]
ID:366841 發表于 2018-7-7 15:03 | 顯示全部樓層 |閱讀模式
51單片機使用ULN2003A芯片驅動步進電機程序加Proteus仿真。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
TIM截圖20180707150244.png 0.png

單片機源程序如下:
  1. #include<reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit KEY1=P1^0;
  5. sbit KEY2=P1^1;
  6. sbit KEY3=P1^2;
  7. sbit KEY4=P1^3;
  8. sbit KEY5=P1^4;
  9. sbit KEY6=P1^5;
  10. sbit KEY7=P1^6;

  11. uchar code motor_1[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09,
  12.                                           0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90}; //第一象限
  13. uchar code motor_2[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09,
  14.                                           0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90}; //第二象限
  15. uchar code motor_3[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09,
  16.                                           0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90};        //第三象限
  17. uchar code motor_4[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09,
  18.                                           0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90};
  19. uchar code shuma[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //第四象限

  20. uchar bushu[50];  //路徑存儲
  21. int F,Xe=0,Ye=0,J,Xm=0,Ym=0,dat=0,xiangxian=0;
  22. uint key_flag=0,key_change=0,chabu_flag=0,motor_flag=1,start_flag=0;


  23. void keyscan(void);                                               //獲取按鍵
  24. void chabu(void);                                                //插補計算
  25. void start(void);                                                //步進電機執行與數碼管顯示


  26. void main(void)
  27. {
  28.         EA = 1;                                           /*************************************/
  29.         ET0 = 1;                                                          
  30.         TMOD = 0x01;                                                 //定時器初始化//
  31.         TH0= (65536-1000) / 256;                        
  32.         TL0= (65536-1000)%256;          /*************************************/
  33.         TR0 = 1;
  34.         while(1)
  35.         {
  36.                   keyscan();                                                                  //按鍵計數獲取
  37.                 chabu();                                                                  //插補計算,生成步數軌跡
  38.                 start();                                                                  //電機按照軌跡運行
  39.         }
  40. }

  41. void keyscan(void)
  42. {
  43.         static uint key_up=1;
  44.         if(key_up&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0||KEY5==0||KEY6==0||KEY7==0))
  45.         {
  46.                 key_up=0;                                                      // 不支持連按。       
  47.                 if(key_change==1)                                                  //消抖,等待10ms
  48.                 {
  49.                         if(KEY1==0)         Xe++;
  50.                         if(KEY2==0)  Ye++;
  51.                         if(KEY3==0) {key_flag=1;xiangxian=1;}
  52.                         if(KEY4==0) {key_flag=1;xiangxian=2;}
  53.                         if(KEY5==0) {key_flag=1;xiangxian=3;}
  54.                         if(KEY6==0) {key_flag=1;xiangxian=4;}
  55.                         if(KEY7==0) {P0=0X99;}

  56.                 }
  57.         }
  58.         else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1&&KEY5==1&&KEY6==1)key_up=1;//按鍵松開       
  59. }

  60. void chabu(void)
  61. {
  62.         int i,a=0,b=0;
  63.        
  64.         if(key_flag==1)
  65.         {
  66.                 J=Xe+Ye;
  67.                 for(i=0;i<J;i++)
  68.                 {
  69.                         F=((Ym*Xe)-(Xm*Ye));                           //插補計算公式
  70.                         if(F==0||F>0)                                        //如果F大于等于零往X方向走
  71.                         {
  72.                                 a++;
  73.                                 if(a==8)a=0;
  74.                                 bushu[i]=(a-1);
  75.                                 Xm++;       
  76.                         }
  77.                         else                                                         //否則往Y方向走
  78.                         {
  79.                                 b++;
  80.                                 if(b==8)b=0;
  81.                                 bushu[i]=(b+7);
  82.                                 Ym++;
  83.                         }
  84.                         if(i==(J-1))                                         //判斷是否到達終點
  85.                         {
  86.                                 chabu_flag=1;
  87.                                 key_flag=0;
  88.                                 start_flag=1;       
  89.                         }       
  90.                 }
  91.                
  92.         }       
  93. }

  94. void start(void)
  95. {
  96.        
  97.         if(chabu_flag==1&&motor_flag==1&&start_flag==1&&xiangxian==1)//判斷是否為第一象限
  98.         {          
  99.                 motor_flag=0;
  100.                 P0=motor_1[bushu[dat]];
  101.                 if(bushu[dat]<8)
  102.                 {
  103.                         P2=shuma[bushu[dat]];
  104.                 }
  105.                 else
  106.                 {
  107.                         P3=shuma[(bushu[dat]-8)];
  108.                 }
  109.                 if(dat==(J-1))
  110.                 {
  111.                         Xe=0;Ye=0;Xm=0;Ym=0;dat=0;              //初始化變量
  112.                         key_flag=0;key_change=0;chabu_flag=0;
  113.                         motor_flag=1;start_flag=0;              //初始化標志量
  114.                 }       
  115.         }


  116.         if(chabu_flag==1&&motor_flag==1&&start_flag==1&&xiangxian==2)//判斷是否為第二象限
  117.         {          
  118.                 motor_flag=0;
  119.                 P0=motor_2[bushu[dat]];
  120.                 if(bushu[dat]<8)
  121.                 {
  122.                         P2=shuma[bushu[dat]];
  123.                 }
  124.                 else
  125.                 {
  126.                         P3=shuma[(bushu[dat]-8)];
  127.                 }
  128.                 if(dat==(J-1))
  129.                 {
  130.                         Xe=0;Ye=0;Xm=0;Ym=0;dat=0;              //初始化變量
  131.                         key_flag=0;key_change=0;chabu_flag=0;
  132.                         motor_flag=1;start_flag=0;              //初始化標志量
  133.                 }       
  134.         }

  135.         if(chabu_flag==1&&motor_flag==1&&start_flag==1&&xiangxian==3)//判斷是否為第三象限
  136.         {          
  137.                 motor_flag=0;
  138.                 P0=motor_3[bushu[dat]];
  139.                 if(bushu[dat]<8)
  140.                 {
  141.                         P2=shuma[bushu[dat]];
  142.                 }
  143.                 else
  144.                 {
  145.                         P3=shuma[(bushu[dat]-8)];
  146.                 }
  147.                 if(dat==(J-1))
  148.                 {
  149.                         Xe=0;Ye=0;Xm=0;Ym=0;dat=0;              //初始化變量
  150.                         key_flag=0;key_change=0;chabu_flag=0;
  151.                         motor_flag=1;start_flag=0;              //初始化標志量
  152.                 }       
  153.         }

  154.    if(chabu_flag==1&&motor_flag==1&&start_flag==1&&xiangxian==4) //判斷是否為第四象限
  155.         {          
  156.                 motor_flag=0;
  157.                 P0=motor_4[bushu[dat]];
  158.                 if(bushu[dat]<8)
  159.                 {
  160.                         P2=shuma[bushu[dat]];
  161.                 }
  162.                 else
  163.                 {
  164.                         P3=shuma[(bushu[dat]-8)];
  165.                 }
  166.                 if(dat==(J-1))
  167.                 {
  168.                         Xe=0;Ye=0;Xm=0;Ym=0;dat=0;              //初始化變量
  169.                         key_flag=0;key_change=0;chabu_flag=0;
  170.                         motor_flag=1;start_flag=0;              //初始化標志量
  171.                 }       
  172.         }
  173. }

  174. void Timer0( ) interrupt 1
  175. {
  176.         static uchar key_jishu=0,motor_jishu=0,motor_jishu_a=0;
  177.         TR0 = 0;
  178.         TH0= (65536-1000) / 256;                                                 //定時1ms
  179.         TL0= (65536-1000)%256;
  180.         key_jishu++;       
  181.         if(key_jishu==10&&key_change==0)                                 //按鍵延時
  182.         {
  183.                 key_change=1;                                                                 //按鍵標志量置1
  184.                 key_jishu=0;                                                                 //計數清零
  185.         }                                                               
  186.         if(chabu_flag==1)                                                                   //計數10ms的次數,因為500太大
  187.         {
  188.                 motor_jishu++;
  189.                 if(motor_jishu==10)
  190.                 {
  191.                         motor_jishu_a++;
  192.                         motor_jishu=0;
  193.                 }
  194.         }

  195.         if(motor_flag==0&&motor_jishu_a==50)                                 //50ms計時
  196.         {
  197.                 motor_flag=1;                                                                        //電機標志量置1
  198.                 dat++;                                                                                         //數組位置,電機步數
  199.                 motor_jishu_a=0;                                                                 //計數值清零
  200.         }
  201.         TR0 = 1;       
  202. }
復制代碼

所有資料51hei提供下載:
步進電機控制.rar (63.11 KB, 下載次數: 71)


評分

參與人數 2黑幣 +55 收起 理由
MrXirt + 5 很給力!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:367194 發表于 2018-7-10 09:25 | 顯示全部樓層
小白有個問題想要問一下,F,Xe=0,Ye=0,J,Xm=0,Ym=0,dat=0,xiangxian=0這些變量從  int  改為  uchar
型為什么就只有X電機運動啊??
回復

使用道具 舉報

ID:367194 發表于 2018-7-10 09:38 | 顯示全部樓層
int F,Xe=0,Ye=0,J,Xm=0,Ym=0,dat=0,xiangxian=0;這條語句把 int 改為 uchar 就只有
回復

使用道具 舉報

ID:367194 發表于 2018-7-10 09:39 | 顯示全部樓層
int F,Xe=0,Ye=0,J,Xm=0,Ym=0,dat=0,xiangxian=0;
這條語句將 int 改為 uchar 為什么只有電機X運動??
回復

使用道具 舉報

ID:218113 發表于 2018-7-14 10:35 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:89286 發表于 2018-7-25 07:52 | 顯示全部樓層
thanks for sharing
回復

使用道具 舉報

ID:317629 發表于 2018-9-7 14:46 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:748774 發表于 2020-5-15 02:25 來自觸屏版 | 顯示全部樓層
請問怎么輸入坐標呀
回復

使用道具 舉報

ID:748774 發表于 2020-5-15 02:46 來自觸屏版 | 顯示全部樓層
MrXirt 發表于 2018-7-10 09:39
int F,Xe=0,Ye=0,J,Xm=0,Ym=0,dat=0,xiangxian=0;
這條語句將 int 改為 uchar 為什么只有電機X運動??

你好,我想請問下怎么把xy的坐標輸入進去,是通過改程序還是按鍵
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
2021最新国产精品一区| 久久免费视频66| 中文娱乐网av| 久久无码精品丰满人妻| 日韩免费视频播放| 91精品久久久久久蜜桃| 亚洲精品自拍视频| 午夜av一区二区| 成人教育av在线| 亚洲高清免费| 国产精品自在线拍| 国产白浆在线免费观看| av在线电影网站| 最近中文字幕免费mv视频多少集| 日本五十熟hd丰满| 亚洲精品在线视频免费观看| 男女超爽视频免费播放| 久久久久久九九九九| 孩xxxx性bbbb欧美| 亚洲精品国产综合久久| 色婷婷综合久久久久中文一区二区 | 成人午夜免费视频| 欧美日韩mv| 美国成人xxx| 国产欧美一区二区三区精品酒店| 国产人成在线视频| 福利片在线免费观看| 精品一区二区在线欧美日韩| 国产sm主人调教女m视频| 久久久久亚洲av成人片| 中文字幕一区二区三区人妻电影| 热久久精品免费视频| 蜜臀在线免费观看| 久久人人97超碰人人澡爱香蕉| 国产精品福利无圣光在线一区| 中文字幕日韩欧美在线| 欧美破处大片在线视频| 美女精品视频在线| 天堂中文在线播放| 黄色大片在线播放| 精品成人一区二区三区免费视频| 91黑丝在线| h在线观看免费| 91av福利| 国产原创在线播放| 中文资源在线官网| 精品人妻一区二区三区含羞草 | 午夜电影网亚洲视频| 国产三级三级三级精品8ⅰ区| 国产一区二区在线看| 香蕉久久a毛片| 亚洲国内精品| 激情综合久久| 欧美搞黄网站| 欧美精品日韩| 欧美视频一区| 今天的高清视频免费播放成人| 四季av在线一区二区三区| 久久亚洲道色| 日本久久成人网| 全球av集中精品导航福利| 一区中文字幕电影| 欧美电影院免费观看| aa亚洲一区一区三区| 日韩精品第二页| 男人亚洲天堂| 一本到av在线| 婷婷丁香六月天| 922tv免费观看在线| 欧美13~18sex性hd| 最近2018年手机中文在线| 亚洲а∨精品天堂在线| 韩日在线视频| 快射av在线播放一区| 国产不卡在线| 国内激情视频在线观看| 自拍视频在线看| 99久久婷婷国产综合精品首页| 日本亚洲欧洲无免费码在线| 欧美高清一级片| 香蕉久久夜色精品国产更新时间| 精品久久美女| 亚洲午夜电影| 精品午夜一区二区三区在线观看| 国产一区二三区| 国产色一区二区| 亚洲成av人影院| 色嗨嗨av一区二区三区| 91精品国产色综合久久不卡电影| 精品精品国产高清a毛片牛牛| 亚洲欧美精品在线| 欧美黄色三级网站| 国产精品第10页| 国产精品手机视频| 中文字幕久精品免| 国产精品wwwww| 欧美大喷水吹潮合集在线观看| 国产又粗又黄又猛| 日韩欧美高清在线观看| 中国女人真人一级毛片| 欧美一区二区黄片| 中国老太性bbbxxxx| 成全视频在线播放大地| 韩国福利在线| 一区一区三区| 全国精品免费看| 激情久久中文字幕| 国产精品一二三| 日韩国产高清影视| 亚洲美女一区| 国产综合久久久久久久久久久久| 久久婷婷国产综合精品青草| 亚洲国产成人av好男人在线观看| 91精品国产免费| 久久亚洲欧美日韩精品专区| 国产精品久久精品| 久久精品国产一区二区三区日韩| 成年人网站国产| 久久免费精品国产| 国产一级视频在线| 空姐吹箫视频大全| 夜先锋资源网| 日本国产在线| 播放一区二区| 亚洲精品成人| 国产不卡视频在线播放| 亚洲在线免费播放| 亚洲国产一区二区三区在线观看| 国模吧一区二区| 久久伊人资源站| 国产三级国产精品国产专区50| 毛片aaaaaa| 性猛交富婆╳xxx乱大交天津| 美女黄色在线网站大全| 波多野结衣一区二区| 日本一区二区三区中文字幕| 国产精品v欧美精品v日本精品动漫| 国产不卡视频一区二区三区| 欧美日韩国产一区在线| 夜夜嗨av色一区二区不卡| 国产精品最新在线观看| 男女日批视频在线观看| 国产精品无码久久久久一区二区| 中文字幕视频在线播放| 免费看美剧网站| 中文字幕中文字幕在线十八区 | 一本色道久久亚洲综合精品蜜桃| 国产麻豆a毛片| 欧美自拍偷拍第一页| 老司机很黄的视频免费| 97成人资源| 欧美日韩四区| 成人免费在线播放视频| 亚洲精品小视频| 亚洲一区二区久久久久久| 成年人视频观看| 久久国产在线视频| 国产精品入口麻豆免费| 久久99精品久久久久久野外| 少妇精品久久久一区二区三区| 国产精品羞羞答答xxdd| 欧美午夜精品一区二区三区| 97福利一区二区| 超碰超碰超碰超碰超碰| 香蕉久久久久久久| 四虎激情影院| 免费观看在线午夜影视| 成人综合久久| 欧美韩日一区二区三区四区| 国产网站欧美日韩免费精品在线观看| 亚洲a中文字幕| 在线视频观看一区二区| 亚洲无码精品在线播放| 日日噜噜噜夜夜爽爽狠狠| 国产成人免费精品| 久久99蜜桃精品| 91麻豆精品国产91久久久资源速度 | 少妇av片在线观看| 亚洲最新永久观看在线| 色影视在线观看| 欧美a级片视频| 亚洲视频一区在线| 久久香蕉国产线看观看网| 在线看成人av电影| 国产精品丝袜一区二区| 一个人免费播放在线视频看片 | 一个人免费观看视频www在线播放 一个人免费视频www在线观看 | 成人性生交大片免费观看嘿嘿视频 | 一级黄色片在线播放| 男女激情网站| 欧美黄色录像| 国产人成亚洲第一网站在线播放| 夜夜嗨av色一区二区不卡| 日本成人黄色| 久久国产波多野结衣| 九色91偷拍| 国精产品一区一区三区四川| 狠狠色狠狠色综合| 亚洲成人xxx| 亚洲精品一品区二品区三品区| 在线日韩国产网站| c++连点器| 亚洲天堂中文字幕在线观看| 97精品超碰一区二区三区| 中文字幕亚洲第一| www污在线观看| 中文字幕在线观看精品| 黄视频在线播放| 尹人成人综合网| 欧美高清hd18日本| 日本一区二区三区精品视频| 九九九免费视频| 午夜黄色一级片| 日韩欧美视频| 欧美午夜精品在线| 亚洲最大福利网| 中文字幕第24页| 夜夜骑天天操| 亚洲香蕉视频| 午夜欧美2019年伦理| 国产综合色香蕉精品| 欧美大片免费播放器| 污视频在线播放| 精品三级av| 一区二区三区在线观看动漫| 成人黄色av网站| 超碰97av在线| 嫩草嫩草嫩草| 精品9999| 日韩黄色av网站| 日日摸日日碰夜夜爽av| 无码精品一区二区三区在线| 色吧亚洲日本| 99精品国产99久久久久久白柏| 一色屋色费精品视频在线观看| 日本久久精品视频| www.久久ai| 欧美一级黄色网| 国产精品老女人视频| 一区二区冒白浆视频| 日本爱爱爱视频| 夜夜爽夜夜操| 成人午夜网址| 韩国成人精品a∨在线观看| 亚洲激情第一页| 国产欧美日韩网站| 亚洲第一大网站| www.com污| 丰满人妻一区二区三区免费视频 | 欧美99久久| 91精品国模一区二区三区| 亚洲日本无吗高清不卡| 国产精品无码粉嫩小泬| 日韩欧美一起| 成人av网站在线观看免费| 午夜精品久久17c| 丰满大乳奶做爰ⅹxx视频| 1pon在线| av成人毛片| 中日韩美女免费视频网址在线观看| 女人和拘做爰正片视频| 2017亚洲男人天堂| 91嫩草精品| 欧美性xxxxxxxx| 国产肉体ⅹxxx137大胆| 青青草社区视频| 国产毛片久久久| 欧美亚洲动漫制服丝袜| 中国一级大黄大黄大色毛片| 亚洲成年人视频| 永久免费精品视频| 精品视频一区二区不卡| 搞av.com| 91视频久色| 久久精品青草| 在线精品国产成人综合| 性色av蜜臀av浪潮av老女人| 丁香花高清电影在线观看完整版| 日本中文在线一区| 午夜免费在线观看精品视频| 黑人狂躁日本娇小| 黄色网址视频在线观看| 久久综合久久综合久久| 国产精品三区在线| 国产又爽又黄免费软件| 成人短视频软件网站大全app| 无码av中文一区二区三区桃花岛| 国产日韩第一页| 国内精品2019| 欧美gayvideo| 中文字幕久久久| 免费看的黄色网| 羞羞网站在线看| 亚洲精品视频在线看| 久久精品精品电影网| 国模私拍在线观看| 男人久久精品| 2021久久国产精品不只是精品| 91在线在线观看| 国产xxxxxx| 亚洲尤物av| 亚洲人成网站色ww在线| 欧美色图亚洲激情| 麻豆网站在线免费观看| 国产精品久久久久久久久久久免费看 | 色佬视频在线观看| 精品一区二区三区免费观看| 国产精品嫩草影院久久久| 无码视频在线观看| 天堂va在线高清一区| 精品不卡在线视频| 成人影视免费观看| 好了av在线| 亚洲一区二区三区四区在线观看| www.xxx麻豆| jlzzjlzz欧美大全| 丁香另类激情小说| 日本一区二区在线视频| 国产网站免费看| 日韩高清不卡在线| 99视频免费观看| 一色屋色费精品视频在线看| 亚洲在线日韩| 91精品综合久久久久久五月天| 亚洲乱色熟女一区二区三区| 波多野结衣的一区二区三区| 欧美激情一区二区三区成人 | 9色在线视频网站| 亚洲一区二区在线播放相泽| 欧美精品无码一区二区三区| 亚洲成人福利| 自拍偷拍欧美激情| 欧美国产亚洲一区| 香蕉视频免费在线| 日韩美女视频19| 久久99999| 黄视频网站在线看| 91黄视频在线观看| 欧美精品欧美极品欧美激情| 男人的天堂免费在线视频| 日韩一级片在线播放| 国内外成人激情视频| 情趣网站视频在线观看| 中文字幕中文字幕在线一区| av黄色在线网站| 久香视频在线观看| 欧美日韩中文字幕在线| 女性生殖扒开酷刑vk| 99爱在线观看| 精品免费视频一区二区| 欧美成人aaa片一区国产精品| 日韩欧美一级| 欧美国产日本高清在线| 99久久久国产精品无码网爆| 激情亚洲网站| 国产精品大全| 影视先锋av资源站| 国产精品久久网站| 一级日韩一区在线观看| 男女小视频在线观看| 国产精品久久久久天堂| 亚洲天堂网2018| av人人综合网| 国产婷婷成人久久av免费高清| 久久久久久久久久久久久av| 99久久精品费精品国产风间由美| 国产精品亚洲激情| 国产超碰97| 久久久www成人免费毛片麻豆| 中文字幕第21页| 涩涩网在线视频| 中文字幕在线观看亚洲| a级片免费观看| 美国av一区二区| 日韩精品一区二区免费| 91高清在线视频| 日韩欧美在线不卡| 青青青国产在线| 99热这里只有精品8| 亚洲精品欧美精品| 久蕉在线视频| 日韩久久久精品| 性高潮视频在线观看| 亚洲专区一区二区三区| 天天综合中文字幕| 大地资源中文在线观看免费版| 日韩一卡二卡三卡四卡| 五月婷婷激情视频| 99成人在线| 91麻豆天美传媒在线| 一本一道波多野毛片中文在线 | 久草影视在线| 欧美伊人精品成人久久综合97 | 欧美特级www| 超碰手机在线观看| 亚洲国产精品久久久天堂| 久久精品国产一区二区三区日韩| 亚洲伦理电影| 制服丝袜亚洲播放| 中文字幕日韩第一页|