新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR128的程序——步進電機點動正反控制

        AVR128的程序——步進電機點動正反控制

        作者: 時間:2016-11-22 來源:網絡 收藏
        #include
        #include
        #define uchar unsigned char
        #define uintunsigned int
        uchar step_table[]={0xf1,0xf2,0xf4,0xf8};
        uchar step_table1[]={0xf8,0xf4,0xf2,0xf1};
        void Delayms(uint MS);
        void mcu_init(void)
        {
        DDRA=0XFF;
        PORTA=0XFF;
        DDRC=0XFF;
        PORTC=0XFF;
        DDRF|=0X0E;
        PORTF|=0X0E;
        PORTF&=0xF8;
        DDRB |=0X1f;
        PORTB|=0X1f;
        DDRD = 0x00;
        PORTD = 0XFF;
        }
        void main(void)
        {
        uint i,a1=0,a2=0;
        mcu_init();
        while(1)
        {
        if((PIND&0x01)!=0X01)
        {
        Delayms(5);
        if((PIND&0x01)!=0X01)
        {
        a1=1;
        while(a1)
        {
        PORTA=0XFE;
        for(i=0;i<4;i++)
        {
        PORTB = step_table[i];
        Delayms(3);
        }
        if((PIND&0X01)!=0X00);
        {
        PORTA=0XFF;
        a1=0;
        }
        }
        }
        }
        if((PIND&0x02)!=0X02)
        {
        Delayms(5);
        if((PIND&0x02)!=0X02)
        {
        a2=1;
        while(a2)
        {
        PORTA=0XEF;
        for(i=0;i<4;i++)
        {
        PORTB = step_table1[i];
        Delayms(3);
        }
        if((PIND&0X02)!=0X00);
        {
        PORTA=0XFF;
        a2=0;
        }
        }
        }
        }
        }
        }
        void Delayms(uint MS)
        {
        uint i,j;
        for( i=0;i
        for(j=0;j<1141;j++);
        }


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宁蒗| 福鼎市| 安乡县| 五河县| 宝兴县| 茂名市| 汾阳市| 吴堡县| 贺兰县| 张家港市| 大关县| 柳河县| 韶山市| 鲁甸县| 霸州市| 五河县| 太谷县| 哈密市| 永仁县| 三穗县| 内乡县| 天柱县| 亳州市| 东港市| 紫阳县| 商城县| 静宁县| 广丰县| 巍山| 石首市| 嘉峪关市| 凤山县| 金秀| 黎城县| 衡东县| 博白县| 久治县| 康乐县| 永平县| 德格县| 毕节市|