步进电机的控制程序,程序+仿真
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- sfr P1 = 0x90;
- sfr TMOD = 0x89;
- sfr TH0 = 0x8C;
- sfr TL0 = 0x8A;
- sbit TR0 = 0x8C;
- sbit EA = 0xAF;
- sbit ET0 = 0xA9 ;
- unsigned char code BeatCode[8] = {0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};
- unsigned char i = 1;
- void main()
- {
- unsigned char tmp = 0;
- unsigned char index = 0;
-
- EA = 1;
- TMOD = 0x01;
- TH0 = 0xA2;
- TL0 = 0x40;
- ET0 = 1;
- TR0 = 1;
-
-
- while(1)
- {
- tmp = P1;
- tmp = tmp & 0xF0;
- tmp = tmp | BeatCode[index];
- P1 = ~tmp;
- index++;
- index =index & 0x07;
- while(i);
- i = 1;
- }
- }
- void Timeinterrupt_0() interrupt 1 //定时0.0002ms
- {
- TH0 = 0xA2;
- TL0 = 0x40;
- i--;
- }
复制代码
Keil代码与Proteus8.8仿真下载:
步进电机.7z
(96.16 KB, 下载次数: 36)
|