天车控制系统仿真加控制
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include "AT89X52.h"
- #include "intrins.h"
- // Definition for output port and input pins
- #define out_port P3
- unsigned char const sequence[8] = {0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};
- sbit key_for = P1 ^ 2;
- sbit key_rev = P1 ^ 3;
- sbit Inc = P1 ^ 0;
- sbit Dec = P1 ^ 1;
- sbit Dir = P2 ^ 0;
- sbit PWM = P2 ^ 1;
- int speed;
- void delay(unsigned int j)
- {
- for(; j>0; j--);
- }
- void delayms(unsigned int j)
- {
- unsigned char i;
- for(; j>0; j--)
- {
- i = 120;
- while (i--);
- }
- }
- void DCMotoDeal(void)
- {
- if(!Inc)
- {
- speed = speed > 0 ? speed - 1 : 0;
- }
- if(!Dec)
- {
- speed = speed < 500 ? speed + 1 : 500;
- }
- PWM=1;
- delay(speed);
- PWM=0;
- delay(500-speed);
- }
- void StepMotoDeal(void)
- {
- unsigned char i;
- if (!key_for)
- {
- i = i<8 ? i+1 : 0;
- out_port = sequence[i];
- delayms(50);
- }
- else if (!key_rev)
- {
- i = i>0 ? i-1 : 7;
- out_port = sequence[i];
- delayms(50);
- }
- }
- void main(void)
- {
- // 选择方向和时间
- Dir = 1;
- if (Dir)
- {
- speed = 400;
- }
- else
- {
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
天车控制系统.zip
(57.32 KB, 下载次数: 16)
|