1、步进电机加减速运行程C程序1./*/ 2./*/ 3./* 4./* 步进电机加减速运行程 序 5./* 步进电机启动时,转速由慢到快逐步加 速。 6./* 步进电机匀速运 行 7./* 步进电机由快到慢逐步减速到停止 8./* 9./*/ 10. 11.#include 12.#include 13. 14.#define uchar unsigned char 15.#define uint unsigned int 16. 17.sbit addr0 = P14; 18.sbit addr1 = P15; 19.sbit addr2 = P16; 20.sbit addr3 = P17;
2、 21. 22.uchar code FFW8=0x0e,0x0c,0x0d,0x09,0x0b,0x03,0x07,0x06;/正转数组 23.uchar code REV8=0x06,0x07,0x03,0x0b,0x09,0x0d,0x0c,0x0e;/反转数组 24.uchar rate ; 25./*/ 26./* 27./* 延时 28./* 11.0592MHz时钟, 29./* 30./*/ 31.void delay() 32. 33. uchar k; 34. uint s; 36.do 37. 38.for(s = 0 ; s 100 ; s+) ; 39. while(
3、-k); 40. 41. 42. 43.void delay2(uchar k) 44. 45. 46. uchar s; 47.for(s = 0 ; s k ; s+) ; 48. 49. 50. 51./*/ 52./* 53./*步进电机正转 54./* 55./*/ 56.void motor_ffw() 57. 58. uchar i; 59. 60.for (i=0; i8; i+) /一个周期转30度 61. 62. P0 = FFWi;/取数据 63. addr0 = 1; 64. addr1 = 0; 65. addr2 = 1; 66. addr3 = 1; 67. ad
4、dr3 = 0; 68. delay(); /调节转速 69. 70. 71. 72./*/ 73./* 74./*步进电机反转 75./* 76./*/ 77.void motor_rev() 78. 80. 81.for (i=0; i8; i+) /一个周期转30度 82. 83. P0 = REVi; /取数据 84. addr0 = 1; 85. addr1 = 0; 86. addr2 = 1; 87. addr3 = 1; 88. addr3 = 0; 89. delay(); /调节转速 90. 91. 92. 93./* 94.* 95.*步进电机运行 96.* 97.*/
5、98.void motor_turn() 99. 100. uchar x; 101. rate=0x30; 102. x=0xf0; 103.do 104. 105. motor_ffw(); /正转加速 106. rate-; 107. while(rate!=0x0a); 108. 109.do 110. 111. motor_ffw(); /正转匀速 112. x-; 113. while(x!=0x01); 114. 115.do 116. 117. motor_ffw(); /正转减速 118. rate+; 119. while(rate!=0x30); 120.do 121.
6、122. motor_rev(); /反转加速 123. rate-; 124. while(rate!=0x0a); 125. 126.do 127. 128. motor_rev(); /反转匀速 129. x-; 130. while(x!=0x01); 131. 132.do 133. 134. motor_rev(); /反转减速 135. rate+; 136. while(rate!=0x30); 137. 138. 139./* 140.* 141.* 主程序 142.* 143.*/ 144.main() 145. 146. 147. P1=0xf0; 148. 149.while(1) 150. 151. P0 = 0x00;/ULN2003输出高电平 152. addr0 = 1; 153. addr1 = 0; 154. addr2 = 1; 155. addr3 = 1; 156. addr3 = 0; 157. delay2(255); 158. 159. motor_turn(); 160. 161. 162.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1