资源描述:
《AVR单片机Can总线通信控制程序.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//===================================================================================//工程名称:汽车041项目目标板3-6程序//功能描述:CAN通信,继电器控制,AD采集//IDE环境:ICCAVR//Init2515:2515初始化程序//===================================================================================#include"i
2、om16v.h"#include"bit.h"#include"macros.h"#include"stdio.h"//标准输入输出头文件#include"2515.h"#include"SPI_Ctrl.h"#include"Function.h"#include"CAN0.h"#include"MAX518.h"#include"AD.h"#pragmainterrupt_handlerExtint0:2#pragmainterrupt_handlertimer1_isr:9#defineuintunsign
3、edint#defineucharunsignedchar/******************外部中断常量******************/#defineGLOBAL7//全局中断位宏定义#defineEXTINT06//外部中断0位宏定义#defineH_SRCLKPORTD
4、=(1<<6)//上升沿移位#defineL_SRCLKPORTD&=~(1<<6)//下降沿不移位#defineH_SERPORTD
5、=(1<<7)//595串行数据输#defineL_SERPORTD&=~(1<<7)//595
6、串行数据输#defineH_RCLKPORTD
7、=(1<<5)//595数据锁存放开#defineL_RCLKPORTD&=~(1<<5)//595数据锁存ucharFlag=0,Flag1=0,pp=0;ucharReceive_Data=0,Start_Data=0;ucharCAN_TX_Buf[8],CAN_RX_Buf[8];//*************************************************************//*函数说明:MCU端口初始化//*输入:无//*输
8、出:无//*调用函数://*************************************************************voidport_init(void)//IO端口初始化{DDRA=0x00;PORTA=0x00;DDRB=0xff;PORTB=0xff;DDRC=0xff;PORTC=0xff;DDRD=0xff;PORTD=0xff;}/*******************************************函数名称:Int_init功能:中断初始化参数:无返回
9、值:无/********************************************/voidInt_init(void){SREG
10、=BIT(GLOBAL);//使能全局中断MCUCR
11、=0x02;//外部中断0采用下降沿触发GICR
12、=BIT(EXTINT0);//使能外部中断0DDRD&=~(BIT(PD2));//配置中断管脚为输入PORTD
13、=BIT(PD2);//使能中断管脚的上拉}voidtimer1_init(void){TCCR1B=0x04;//256分频TCNT1H=0Xff;/
14、/赋初值TCNT1L=0Xfe;//赋初值TIMSK
15、=0x04;//中断使能SREG
16、=0x80;//总中断开关}/*******************************************函数名称:WR_74ls595(uchardata)功能:控制继电器/********************************************/voidWR_74ls595(uchardata){uchari,dat;L_RCLK;for(i=0;i<8;i++){L_SRCLK;if(data&
17、0x80)H_SER;elseL_SER;H_SRCLK;data<<=1;}H_RCLK;L_RCLK;}/*******************************************函数名称:Data_get()功能:对上位机发过来的数据分析后返回需要设置的故障代码/********************************************/v