当前位置:文档之家› 基于AT89C51单片机控制步进电机汇编代码

基于AT89C51单片机控制步进电机汇编代码

#include
#include
#define DAC0832 XBYTE[0x0fff]
float code table2[]={ 100,102,104,107,109,112,114,117.0962,119.5090,121.9101,
124.2980,126.6713,129.0285,131.3682,133.6890,135.9895,138.2683,140.5241,142.7555,
144.9611,147.1397,149.2898,151.4103,153.4998,155.5570,157.5808,159.5699,161.5232,
163.4393,165.3173,167.1559,168.9541,170.7107,172.4247,174.0951,175.7209,177.3010,
178.8346,180.3208,181.7585,183.1470,184.4854,185.7729,187.0087,188.1921,189.3224,
190.3989,191.4210,192.3880,193.2993,194.1544,194.9528,195.6940,196.3776,197.0031,
197.5702,198.0785,198.5278,198.9177,199.2480,199.5185,199.7290,199.8795,199.9699,
200.0000,199.9699,199.8795,199.7290,199.5185,199.2480,198.9177,198.5278,198.0785,
197.5702,197.0031,196.3776,195.6940,194.9528,194.1544,193.2993,192.3880,191.4210,
190.3989,189.3224,188.1921,187.0087,185.7729,184.4854,183.1470,181.7585,180.3208,
178.8346,177.3010,175.7209,174.0951,172.4247,170.7107,168.9541,167.1559,165.3173,
163.4393,161.5232,159.5699,157.5808,155.5570,153.4998,151.4103,149.2898,147.1397,
144.9611,142.7555,140.5241,138.2683,135.9895,133.6890,131.3682,129.0285,126.6713,
124.2980,121.9101,119.5090,117.0962,114.6730,112.2411,109.8017,107.3565,104.9608,
102.4541,100.0000,97.5495,95.0932,92.6435,90.1983,87.7589,85.3270,82.9038,
80.4910,78.0899,75.7020,73.3287,70.9715,68.6318,66.3110,64.0105,61.7317,59.4759,
57.2445,55.0389,52.8603,50.7102,48.5897,46.5002,44.4430,42.4192,40.4301,38.4768,
36.5607,34.6827,32.8441,31.0459,29.2893,27.5753,25.9049,24.2791,22.6990,21.1654,
19.6792,18.2415,16.8530,15.5146,14.2271,12.9913,11.8079,10.6776,9.6011,8.5790,
7.6120,6.7007,5.8456,5.0472,4.3060,3.6224,2.9969,2.4298,1.9215,1.4722,1.0823,
0.7520,0.4815,0.2710,0.1205,1.0301,0.0301,0.1205,0.2710,0.4815,0.7520,1.0823,
1.4722,1.9215,2.4298,2.9969,3.6224,4.3060,5.0472,5.8456,6.7007,7.6120,8.5790,
9.6011,10.6776,11.8079,12.9913,14.2271,15.5146,16.8530,18.2415,19.6792,21.1654,
22.6990,24.2791,25.9049,27.5753,29.2893,31.0459,32.8441,34.6827,36.5607,38.4768,
40.4301,42.4192,44.4430,46.5002,48.5897,50.7102,52.8603,55.0389,57.2445,59.4759,
61.7317,64.0105,66.3110,68.6318,70.9715,73.3287,75.7020,78.0899,80.4910,82.9038,
85.3270,87.7589,90.1983,92.6435,95.0932,97.5459,100.0000};
void delay(unsigned int i)
{
while(i--);
}
void fang()
{
DAC0832=0;
delay(15);
DAC0832=0xff;
delay(15);
}
void jvchi()
{
unsigned char i;
for(i=0;i<255;i++)
{
DAC0832=i;
//delay(10);
}
}
void tran()
{
unsigned char i;
for(i=0;i<255;i++)
{
DAC0832=i;
//delay(10);
}
for(i=255;i>0;i--)
{
DAC0832=i;
//delay(10);
}
}
void sin()
{
unsigned int i;
for(i=0;i<256;i++)
{
DAC0832=table2[i];
//delay(10);
}
}
void main(void)
{
while(1)
{
if(P1==0xfe)fang();
if(P1==0xfd)jvchi();
if(P1==0xfb)tran();
if(P1==0xf7)sin();
if(P1==0xff)DAC0832=0;
}
}

相关主题
文本预览
相关文档 最新文档