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

📄 main.h

📁 使用IAR编译器开发的ATmega128的程序 有串口通信 IO口控制 定时器 SPI接口等等功能的实现
💻 H
字号:
//数据结构
typedef unsigned char BOOLEAN; 
typedef unsigned char INT8U; /* Unsigned 8 bit quantity */ 
typedef signed char INT8S; /* Signed 8 bit quantity */ 
typedef unsigned int INT16U; /* Unsigned 16 bit quantity */ 
typedef signed int INT16S; /* Signed 16 bit quantity */ 
typedef unsigned long INT32U; /* Unsigned 32 bit quantity */ 
typedef signed long INT32S; /* Signed 32 bit quantity */ 
typedef float FP32; /* Single precision floating point */ 
typedef double FP64; /* Double precision floating point*/

#define  ZEROAIROPEN        {PORTA |=  (1<<PORTA0);     DDRA  |= (1<<DDA0);}
#define  ZEROAIRCLOSE       {PORTA &= ~(1<<PORTA0);     DDRA  |= (1<<DDA0);}
#define  COMAIROPEN         {PORTA |=  (1<<PORTA1);     DDRA  |= (1<<DDA1);}
#define  COMAIRCLOSE        {PORTA &= ~(1<<PORTA1);     DDRA  |= (1<<DDA1);}
#define  CHANNEL1OPEN       {PORTA |=  (1<<PORTA2);     DDRA  |= (1<<DDA2);}
#define  CHANNEL1CLOSE      {PORTA &= ~(1<<PORTA2);     DDRA  |= (1<<DDA2);}
#define  CHANNEL2OPEN       {PORTA |=  (1<<PORTA3);     DDRA  |= (1<<DDA3);}
#define  CHANNEL2CLOSE      {PORTA &= ~(1<<PORTA3);     DDRA  |= (1<<DDA3);}
#define  CHANNEL3OPEN       {PORTA |=  (1<<PORTA4);     DDRA  |= (1<<DDA4);}
#define  CHANNEL3CLOSE      {PORTA &= ~(1<<PORTA4);     DDRA  |= (1<<DDA4);}
#define  CHANNEL4OPEN       {PORTA |=  (1<<PORTA5);     DDRA  |= (1<<DDA5);}
#define  CHANNEL4CLOSE      {PORTA &= ~(1<<PORTA5);     DDRA  |= (1<<DDA5);}
#define  CHANNEL5OPEN       {PORTA |=  (1<<PORTA6);     DDRA  |= (1<<DDA6);}
#define  CHANNEL5CLOSE      {PORTA &= ~(1<<PORTA6);     DDRA  |= (1<<DDA6);}
#define  CHANNEL6OPEN       {PORTA |=  (1<<PORTA7);     DDRA  |= (1<<DDA7);}
#define  CHANNEL6CLOSE      {PORTA &= ~(1<<PORTA7);     DDRA  |= (1<<DDA7);}
#define  CHANNEL7OPEN       {PORTC |=  (1<<PORTC0);     DDRC  |= (1<<DDC0);}
#define  CHANNEL7CLOSE      {PORTC &= ~(1<<PORTC0);     DDRC  |= (1<<DDC0);}
#define  CHANNEL8OPEN       {PORTC |=  (1<<PORTC1);     DDRC  |= (1<<DDC1);}
#define  CHANNEL8CLOSE      {PORTC &= ~(1<<PORTC1);     DDRC  |= (1<<DDC1);}
#define  CHANNEL9OPEN       {PORTC |=  (1<<PORTC2);     DDRC  |= (1<<DDC2);}
#define  CHANNEL9CLOSE      {PORTC &= ~(1<<PORTC2);     DDRC  |= (1<<DDC2);}
#define  CHANNEL10OPEN      {PORTC |=  (1<<PORTC3);     DDRC  |= (1<<DDC3);}
#define  CHANNEL10CLOSE     {PORTC &= ~(1<<PORTC3);     DDRC  |= (1<<DDC3);}
#define  AIRROOMOPEN        {PORTC |=  (1<<PORTC4);     DDRC  |= (1<<DDC4);}
#define  AIRROOMCLOSE       {PORTC &= ~(1<<PORTC4);     DDRC  |= (1<<DDC4);}
#define  AIROUTOPEN         {PORTC |=  (1<<PORTC5);     DDRC  |= (1<<DDC5);}
#define  AIROUTCLOSE        {PORTC &= ~(1<<PORTC5);     DDRC  |= (1<<DDC5);}
#define  WATEROUTOPEN       {PORTC |=  (1<<PORTC6);     DDRC  |= (1<<DDC6);}
#define  WATEROUTCLOSE      {PORTC &= ~(1<<PORTC6);     DDRC  |= (1<<DDC6);}

#define  ALLOPEN            {PORTA =0xff;  DDRA  =0xff;  PORTC =  0xff;  DDRC  =0xff;}
#define  ALLCLOSE           {PORTA =0x00;  DDRA  =0xff;  PORTC =  0x00;  DDRC  =0xff;}

#define  ZEROPOSPINCONF      {PORTB &= ~(1<<PORTB5);     DDRB  &= ~(1<<DDB5);}//检查汽缸是否在0位的引脚,如果为高 则是在0位

#define CPU_CLK_FREQ 16000000
#define TICKS_PER_SEC 1
#define ENABLE_BIT_DEFINITIONS
#define MOTORFOWARD         {PORTE &= ~(1<<PORTE4);     DDRE  |= (1<<DDE4);}
#define MOTORBACK           {PORTE |=  (1<<PORTE4);     DDRE  |= (1<<DDE4);}
#define DRIVEHIGH           {PORTE |=  (1<<PORTE3);     DDRE  |= (1<<DDE3);}
#define DRIVELOW            {PORTE &= ~(1<<PORTE3);     DDRE  |= (1<<DDE3);}

⌨️ 快捷键说明

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