📄 run.c
字号:
//--------------------------------------------------
// 运行部分的程序
// 包括起动,停车,换相程序
//--------------------------------------------------
#include "sfr.h"
#include "port.h"
//--------------------------------------------------
unchar dutycycle = 0;
unchar hall_value = 0; //HALL信号的值
extern bit motor_status;
//--------------------------------------------------
extern void set_bridge(void);
extern void set_pwm_wideth (unchar x);
extern void sensor_read (void);
//--------------------------------------------------
/*---------------延时程序----------------*/
void delay_ms(unint i) //i=1就延时1ms
{
unint j =0;
unint k = 0;
for( k = 0; k < i; k++ )
for( j = 0; j < 383; j++ );
}
void delay_us(unint i) //i=1就延时1ms
{
unint j =0;
unint k = 0;
for( k = 0; k < i; k++ )
for( j = 0; j < 100; j++ );
}
/*---------------启动程序----------------*/
void start(void)
{
sensor_read();
sb_1 = 1;
sb_3 = 1;
sb_5 = 1;
sb_6 = 0;
delay_ms(1000);
sb_6 = 1;
sb_1 = 0;
delay_us(1);
sb_1 = 1;
XBR1 = 0x43;
for( dutycycle = 80; dutycycle < 128; dutycycle++ )
{
set_pwm_wideth(dutycycle);
sensor_read();
set_bridge();
delay_ms(10);
}
motor_status = 1;
}
/*---------------停车程序----------------*/
void stop(void)
{
for( ; dutycycle > 0; dutycycle-- )
{
set_pwm_wideth(dutycycle);
sensor_read();
set_bridge();
}
motor_status = 0;
XBR1 = 0x40;
sb_1 = 1;
sb_3 = 1;
sb_5 = 1;
sb_4 = 1;
sb_6 = 1;
sb_2 = 1;
}
/*---------------运行----------------*/
void run (void)
{
sensor_read();
set_bridge();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -