run.c

来自「该编程语言是C语言」· C语言 代码 · 共 89 行

C
89
字号
//--------------------------------------------------
// 运行部分的程序
// 包括起动,停车,换相程序
//--------------------------------------------------
#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 + =
减小字号Ctrl + -
显示快捷键?