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

📄 34

📁 电脑鼠走迷宫程序
💻
字号:
/****************************************Copyright (c)****************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File Name:           Mouse.Drive.h
** Last modified Date:  
** Last Version: 
** Description:         底层驱动程序头文件
** 
**--------------------------------------------------------------------------------------------------------
** Created By: 
** Created date: 
** Version: 
** Descriptions: 
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
*********************************************************************************************************/


#ifndef __Mouse_Drive_h
#define __Mouse_Drive_h


/*********************************************************************************************************
  包含头文件
*********************************************************************************************************/
#include "hw_memmap.h"
#include "hw_ints.h"
#include "hw_types.h"
#include "interrupt.h"
#include "gpio.h"
#include "sysctl.h"
#include "Systick.h"
#include "Timer.h"
#include "Pwm.h"
#include "adc.h"
#include "Zlg7289.h"
#include "Type.h"
#include "Micromouse.h"
#include "Mouse_Config.h"


/*********************************************************************************************************
  PB端口定义
*********************************************************************************************************/
#define __IRSEND_BEVEL      GPIO_PIN_0                                  /*  驱动斜角红外的调制信号      */

#define __LEFTSIDE          GPIO_PIN_1                                  /*  左方传感器输出的信号        */
#define __FRONTSIDE_L       GPIO_PIN_2                                  /*  左前方传感器输出的信号      */
#define __FRONTSIDE         GPIO_PIN_3                                  /*  前方传感器输出的信号        */
#define __FRONTSIDE_R       GPIO_PIN_4                                  /*  右前方传感器输出的信号      */
#define __RIGHTSIDE         GPIO_PIN_5                                  /*  右方传感器输出的信号        */


/*********************************************************************************************************
  PC端口定义
*********************************************************************************************************/
#define __KEY               GPIO_PIN_4                                  /*  按键连接的端口              */


/*********************************************************************************************************
  PD端口定义
*********************************************************************************************************/
#define __PHRA1             GPIO_PIN_0                                  /*  右侧步进电机的A1相          */
#define __PHRA2             GPIO_PIN_1                                  /*  右侧步进电机的A2相          */
#define __PHRB1             GPIO_PIN_2                                  /*  右侧步进电机的B1相          */
#define __PHRB2             GPIO_PIN_3                                  /*  右侧步进电机的B2相          */
#define __PHLA1             GPIO_PIN_4                                  /*  左侧步进电机的A1相          */
#define __PHLA2             GPIO_PIN_5                                  /*  左侧步进电机的A2相          */
#define __PHLB1             GPIO_PIN_6                                  /*  左侧步进电机的B1相          */
#define __PHLB2             GPIO_PIN_7                                  /*  左侧步进电机的B2相          */


/*********************************************************************************************************
  PE端口定义
*********************************************************************************************************/
#define __IRSEND_SIDE       GPIO_PIN_0                                  /*  驱动左前右正向红外发射      */


/*********************************************************************************************************
  常量宏定义--传感器
*********************************************************************************************************/
#define __LEFT              0                                           /*  左方传感器                  */
#define __FRONTL            1                                           /*  左前方传感器                */
#define __FRONT             2                                           /*  前方传感器                  */
#define __FRONTR            3                                           /*  右前方传感器                */
#define __RIGHT             4                                           /*  右方传感器                  */


/*********************************************************************************************************
  常量宏定义--电脑鼠状态
*********************************************************************************************************/
#define __STOP              0                                           /*  电脑鼠停止                  */
#define __GOAHEAD           1                                           /*  电脑鼠前进                  */
#define __TURNLEFT          3                                           /*  电脑鼠向左转                */
#define __TURNRIGHT         4                                           /*  电脑鼠向右转                */
#define __TURNBACK          5                                           /*  电脑鼠向后转                */


/*********************************************************************************************************
  常量宏定义--电机状态
*********************************************************************************************************/
#define __MOTORSTOP         0                                           /*  电机停止                    */
#define __WAITONESTEP       1                                           /*  电机暂停一步                */
#define __MOTORRUN          2                                           /*  电机运行                    */


/*********************************************************************************************************
  常量宏定义--电机运行方向
*********************************************************************************************************/
#define __MOTORGOAHEAD      0                                           /*  电机前进                    */
#define __MOTORGOBACK       1                                           /*  电机后退                    */



/*********************************************************************************************************
  结构体定义
*********************************************************************************************************/
struct __motor {
    int8    cState;                                                     /*  电机运行状态                */
    int8    cDir;                                                       /*  电机运行方向                */
    uint32  uiPulse;                                                    /*  电机需要运行的脉冲          */
    uint32  uiPulseCtr;                                                 /*  电机已运行的脉冲            */
    int32   iSpeed;                                                     /*  但前速度                    */
};
typedef struct __motor __MOTOR;


/*********************************************************************************************************
  常量宏定义
*********************************************************************************************************/
uint8 keyCheck(void);
void mouseInit(void);
void mouseGoahead(int8  cNBlock);                                       /*  前进N格                     */
void mazeSearch(void);                                                  /*  前进N格                     */
void mouseTurnleft(void);                                               /*  向左转90度                  */
void mouseTurnright(void);                                              /*  向右转90度                  */
void mouseTurnback(void);                                               /*  向后转                      */
void sensorDebug(void);                                                 /*  传感器调试                  */
void voltageDetect(void);
static void __delay(uint32  uiD);
static void __rightMotorContr(void);
static void __leftMotorContr(void);
static void __mouseCoorUpdate(void);
static void __mazeInfDebug(void);
static void __irSendFreq(uint32  __uiFreq, int8  __cNumber);
static void __irCheck(void);
static void __wallCheck(void);                                          /*  墙壁检测                    */
static void __sensorInit(void);
static void __stepMotorIint(void);
static void __keyInit(void);
static void __sysTickInit(void);
static void __ADCInit(void);


#endif
/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

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