新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR128的程序——步進(jìn)電機(jī)順序轉(zhuǎn)動

        AVR128的程序——步進(jìn)電機(jī)順序轉(zhuǎn)動

        作者: 時(shí)間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
        #include
        #include
        #define uchar unsigned char
        #define uint unsigned int
        uchar step_table[]={0xf1,0xf2,0xf4,0xf8};
        uchar step_table1[]={0xf8,0xf4,0xf2,0xf1};
        void Delayms(uint MS);
        void delay(uint z);
        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,a2;
        mcu_init();
        while(1)
        {
        if((PIND&0x01)!=0X01)
        {
        Delayms(5);
        if((PIND&0x01)!=0X01)
        {
        a1=512;
        while(a1--)
        {
        for(i=0;i<4;i++)
        {
        PORTB = step_table[i];
        Delayms(3);
        }
        }
        delay(6000);
        delay(6000);
        delay(6000);
        a2=512;
        while(a2--)
        {
        for(i=0;i<4;i++)
        {
        PORTB = step_table1[i];
        Delayms(3);
        }
        }
        }
        }
        }
        }
        void Delayms(uint MS)
        {
        uint i,j;
        for( i=0;i
        for(j=0;j<1141;j++);
        }
        void delay(uint z)
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);
        }


        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 安阳县| 汉源县| 澄江县| 博野县| 罗定市| 望都县| 重庆市| 丰镇市| 沅陵县| 富平县| 广平县| 福建省| 磐安县| 浠水县| 华容县| 宜阳县| 荥阳市| 柳州市| 娄底市| 宿州市| 南宫市| 都安| 屏山县| 谷城县| 涿州市| 临泽县| 甘孜县| 英超| 禹城市| 峨山| 厦门市| 台江县| 稷山县| 普定县| 台中县| 闸北区| 炎陵县| 桃源县| 宣威市| 临高县| 定安县|