- #include <reg52.h>
- #include <intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- uchar code table1[]={0x03,0x06,0x0c,0x09}; //逆时针
- uchar code table2[]={0x03,0x09,0x0c,0x06}; //顺时针
- uchar code table3[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //逆时针
- uchar code table4[]={0x01,0x02,0x04,0x08}; //顺时针
- #define motor P1
- void delay(uchar ms) //延时
- {
- uchar j;
- while(ms--){
- for(j=0;j<250;j++)
- {;}
- }
- }
- void main()
- {
- uint i,j=0;
- while(1)
- {
- //逆时针共2048个脉冲 每次走360度
- /*for(i=0;i<2048;i++)
- {
- motor = 0x00;
- motor = table1[j];
- j++;
- if(j>=4)
- j=0;
- delay(2);
- }
- delay(200);*/
- //顺时针共256个脉冲 每次走45度
- /* for(i=0;i<256;i++){
- motor = 0x00;
- motor = table2[j];
- j++;
- if(j>=4)
- j=0;
- delay(2);
- }
- delay(200);
- //顺时针共4096个脉冲 每次走360度 因为每次半个角度
- for(i=0;i<4096;i++){
- motor = 0x00;
- motor = table3[j];
- j++;
- if(j>=8)
- j=0;
- delay(2);
- }
- delay(200); */
- for(i=0;i<2048;i++)
- {
- motor = 0x00;
- motor = table4[j];
- j++;
- if(j>=4)
- j=0;
- delay(3);
- }
- delay(200);
- }
- }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>