|
0.png (39.7 KB, 下載次數: 92)
下載附件
2016-8-31 18:41 上傳
51單片機天車控制系統仿真電路原理圖
51單片機天車控制系統源程序如下:
- #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
- {
- speed = 100;
- }
- out_port = 0x03;
- while(1)
- {
- DCMotoDeal();
- StepMotoDeal();
- }
- }
復制代碼
0.png (92.7 KB, 下載次數: 96)
下載附件
2016-8-31 18:41 上傳
51單片機天車控制系統仿真的所有資料下載:http://www.zg4o1577.cn/bbs/dpj-54940-1.html
|
|