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

📄 main.h

📁 MEGA48单片机模拟/硬件两种方式实现TWI通讯
💻 H
字号:
#include"ioavr.h"
#ifndef MAIN_H
#define MAIN_H

#define PRESS   1
#define RELEASE 0

#define CRC_BYTE    4         /*CRC校验字节数*/

/****输出端口***/
#define SCK         PORTB_Bit6
#define SI          PORTB_Bit7
#define RCK         PORTD_Bit5
/*
#define SCK         PORTB_Bit2
#define SI          PORTB_Bit1
#define RCK         PORTB_Bit0
*/
/*
#define M1_UP   PC0
#define M1_DN   PC1
#define M2_UP   PC2
#define M2_DN   PC3
#define M3_UP   PD0
#define M3_DN   PD1
*/
#define MA      PD3     /*OC2B*/
#define MB      PB3     /*OC2A*/
#define MC      PD6     /*OC0A*/
#define MD      PD5     /*OC0B*/
#define ME      PB1     /*OC1A*/
#define MF      PB2     /*OC1B*/
#define HT1     PB0
#define HT2     PB7
#define HT3     PB6

#define K_M1UP    0
#define K_M1DN    1
#define K_M2UP    2
#define K_M2DN    3
#define K_M3UP    4
#define K_M3DN    5

#define F_MA      0
#define F_MB      1
#define F_MC      2
#define F_MD      3
#define F_ME      4
#define F_MF      5
#define F_HT1     6
#define F_HT2     7
#define F_HT3     8
#define F_PWR     15

#define M1_UP()       {PORTC_Bit0 = 0;PORTC_Bit1 = 1;}
#define M1_DOWN()     {PORTC_Bit1 = 0;PORTC_Bit0 = 1;}
#define M1_OFF()      {PORTC_Bit0 = 0;PORTC_Bit1 = 0;}
#define M2_UP()       {PORTC_Bit2 = 0;PORTC_Bit3 = 1;}
#define M2_DOWN()     {PORTC_Bit3 = 0;PORTC_Bit2 = 1;}
#define M2_OFF()      {PORTC_Bit2 = 0;PORTC_Bit3 = 0;}
#define M3_UP()       {PORTD_Bit0 = 0;PORTD_Bit1 = 1;}
#define M3_DOWN()     {PORTD_Bit1 = 0;PORTD_Bit0 = 1;}
#define M3_OFF()      {PORTD_Bit0 = 0;PORTD_Bit1 = 0;}

/***struct***/
struct _Led
{
  uint8 Sel[5];
  uint8 Seg[5];
};

struct _Data
{
  uint8 CPU_MOD;
  volatile uint8  Key;
  volatile uint8  Time;                 /*总时间,10/20/30min*/
  volatile uint8  Mode;                 /*振动模式*/
  uint8  Read[5];                       /*接收数据缓冲区*/
  uint8  Write[5];                      /*发送数据缓冲区*/
  volatile uint8  Mass[9];
  volatile uint8  Mass_Max;
  volatile uint16 Flag;
  uint16  Crc;
};

/*****************************
计数器结构体定义
*****************************/
struct _Count
{
  uint16 Time1;               /*Time1计数变量*/
  uint16 Time;                /*总测试时间计数变量*/
};

struct _Moto
{
  uint8  Flag;
  uint8  Mass;
  uint16 Count;
};

#endif
/*****************************
Data.Flag标志说明:
Data.Flag =0:上电状态(等待起始)
*****************************/

⌨️ 快捷键说明

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