新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > L298N直流步進電機驅動直流電機程序

        L298N直流步進電機驅動直流電機程序

        作者: 時間:2016-11-11 來源:網絡 收藏
        1. #include
        2. #defineucharunsignedchar
        3. #defineuintunsignedint
        4. sbit INPUT1=P1^0;//控制口
        5. sbit INPUT2=P1^1;
        6. sbit INPUT3=P1^2;
        7. sbit INPUT4=P1^3;
        8. sbit ENA=P1^4;//產生PWM波
        9. sbit ENB=P1^5;
        10. uint MA=0,MB=0;
        11. uint SpeedA=20;//50%占空比
        12. uint SpeedB=20;
        13. voiddelay(uint z){
        14. uint x,y;
        15. for(x=z;x>0;x--)
        16. for(y=125;y>0;y--);
        17. }
        18. voidmain(void)
        19. {
        20. L298N_init();
        21. while(1){}
        22. }
        23. voidL298N_init(void)
        24. {
        25. delay(1000);
        26. delay(1000);
        27. INPUT1=1;INPUT2=0;
        28. INPUT3=1;INPUT4=0;//電機停此
        29. TH0=0xF4;
        30. TL0=0x48;
        31. TH1=0xF4;
        32. TL1=0x48;
        33. TMOD=0x11;
        34. TR0=1;
        35. TR1=1;
        36. ET0=1;
        37. ET1=1;
        38. EA=1;
        39. }
        40. voidtime0_int()interrupt 1using1
        41. {
        42. TR0=0;
        43. TH0=0xF4;
        44. TL0=0x48;
        45. MA++;
        46. if(MA
        47. ENA=1;
        48. }
        49. elseENA=0;
        50. if(MA==40){
        51. MA=0;
        52. }
        53. TR0=1;
        54. }
        55. voidtime1_int()interrupt 3using1
        56. {
        57. TR1=0;
        58. TH1=0xF4;
        59. TL1=0x48;
        60. MB=MB+1;
        61. if(MB
        62. ENB=1;
        63. }
        64. elseENB=0;
        65. if(MB==40){
        66. MB=0;
        67. }
        68. TR1=1;
        69. }


        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 昌黎县| 天祝| 湾仔区| 颍上县| 综艺| 平昌县| 都昌县| 北京市| 安溪县| 龙州县| 宜川县| 特克斯县| 石阡县| 元谋县| 都江堰市| 偏关县| 吴忠市| 昂仁县| 贵阳市| 罗源县| 张家口市| 鹿泉市| 元朗区| 冕宁县| 泰州市| 子洲县| 孝感市| 家居| 余干县| 玛沁县| 云梦县| 杂多县| 新河县| 梁河县| 博野县| 哈尔滨市| 林州市| 隆回县| 柞水县| 西吉县| 乃东县|