⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.h

📁 机器人部分C语言编码 c语言 供大家参考学习
💻 H
字号:
// *********************************************************************************** //
//
//	Filename		:   global.h
//	Title        	:   TowerBuilder Main Header File 
//	Author			:   Fung Tin Ching
//	Created Date	:   2007.11.27
//	Revisited Date	:   2008.01.16
//	Description		:   This header file is the Main Header File of the TowerBuiler Project.
//                      All Global Declaration should be placed at here
//	Version         :   1.2
//
//  Copyright (c) 2008, All rights reserved.
// *********************************************************************************** //

#ifndef __GLOBAL_H__
#define __GLOBAL_H__





 // ================================================================================================================= //
// =========================                          Macro Function                       ========================= //
// ================================================================================================================= //
#define high_byte(cnt_16bit) (u08)(cnt_16bit>>8)
#define low_byte(cnt_16bit)  (u08)(cnt_16bit)

// ================================================================================================================= //
// =========================                         Included Files                          ========================= //
// ================================================================================================================= //


// ================================================================================================================= //
// =========================                         Global Variables                      ========================= //
// ================================================================================================================= //




// pca.c
// --------
extern volatile u16 wheelCountLeft;
extern volatile u16 wheelCountRight;


// databus.c
// --------

extern bit flashing_LED;

extern volatile u08 sensor_front_ledon;
extern volatile u08 sensor_front_ledoff;
extern volatile u08 sensor_back_ledon;
extern volatile u08 sensor_back_ledoff;
extern volatile u08 sensor_side;



// ================================================================================================================= //
// =========================                         Constant Define                       ========================= //
// ================================================================================================================= //

// timer.c
// --------
#ifndef	F_CPU
	#define F_CPU            11059200
#endif

// motor.c
// --------
#define MOTOR_MODE
#define MOTOR_MODE_FORWARD     0
#define MOTOR_MODE_BACKWARD    1
#define MOTOR_MODE_BREAK       2
#define MOTOR_MODE_FREEWHEEL   3

// pca.c
// --------
#define PULSE_500US    0x01CC
#define PULSE_1MS      0x0399
#define PULSE_1_5MS    0x0566
#define PULSE_2MS      0x0733
#define PULSE_2_5MS    0x08FF
#define PULSE_20MS     0xB7FF

#define PCA_PERIOD     PULSE_20MS 
#define PWM1_DUTY      0x0770
#define PWM2_DUTY      PULSE_1MS
#define PWM3_DUTY      0x0295


// ================================================================================================================= //
// =========================                         Pin Configuration                     ========================= //
// ================================================================================================================= //

//--------------
// DATABus
#define DATABUS       P0

//--------------
// AddressBus
//  **  The THREE LSB bit (P2_0 ~ P2_2)
//#define ADDRESSBUS     P2
//#define ADDRESS_NULL   0

//--------------
// Motor Control
#define MCOUNTL	      P1_6
#define MCOUNTR       P1_7

#define MRD           P3_2
#define MLD           P3_3

#define ML1           P3_4
#define ML2           P3_5
#define MR1           P3_6
#define MR2           P3_7



//--------------
// Switch
#define KEY_1  		  P0_1
#define KEY_2  		  P0_0

  
//--------------
//F4LS138
#define ADD_D0 	  	  P2_0
#define ADD_D1    	  P2_1
#define ADD_D2 	 	  P2_2
// ADC0832
#define ADC_CSL       P2_5
#define ADC_SCK	      P2_4
#define ADC_SDA       P2_3



//--------------
// Ultrasonic
#define SCK           P1_0
#define SDA           P1_1
#define US_TRG        SCK
#define US_ECHO       SDA



//--------------
// Servo
#define PWM1          P1_3 
#define PWM2          P1_4
#define PWM3          P1_5 


//--------------



//--------------
// IR Sensor
//#define ADDRESS_FRONT   2
//#define ADDRESS_BACK    3
//#define ADDRESS_SIDE    4
#define FLOORSENSOR_TRG P2_6

#define SENSOR_FL	  P0_0
#define SENSOR_FR	  P0_1

//--------------
// Buzzer
#define BUZZER       P2_7



// ================================================================================================================= //
// =========================                         Function Prototype                    ========================= //
// ================================================================================================================= //


// TaskScheduler.c
// --------
void init_pca(void);
void init_timer2(void);

// motor.c
// ---------
void motor_ISR(void);
void logic_forward(void);
void init_motor(void);

void set_left_motor(u08 mode, u08 speed);
void set_right_motor(u08 mode, u08 speed);

// logic.c
// --------
void mainLogic(void);

// Databus.c
// --------
//void setAddress(unsigned char num);
///void updateSwitch(void);
//void updateFloorSensor(void); 

// pca.c
// --------
void setPWM1(u16 value);
void setPWM2(u16 value);
void setPWM3(u16 value);

//SWICTH
void key_on_off(u08 b)
{
	if(b==1)
	{
		KEY_1=1;
		KEY_2=1;
		ADD_D0=1;
		ADD_D1=0;
		ADD_D2=0;	
	}
	else if(b==0)
	{
		KEY_1=1;
		KEY_2=1;
		ADD_D0=0;
		ADD_D1=0;
		ADD_D2=0;	
	}
}


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -