pic18f单片机can通信程序及ad采样

pic18f单片机can通信程序及ad采样

ID:15777542

大小:30.88 KB

页数:7页

时间:2018-08-05

pic18f单片机can通信程序及ad采样_第1页
pic18f单片机can通信程序及ad采样_第2页
pic18f单片机can通信程序及ad采样_第3页
pic18f单片机can通信程序及ad采样_第4页
pic18f单片机can通信程序及ad采样_第5页
pic18f单片机can通信程序及ad采样_第6页
pic18f单片机can通信程序及ad采样_第7页
资源描述:

《pic18f单片机can通信程序及ad采样》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一、程序流程图二、功能描述:AD数据采集,AD采集20组数据,每组数据50个采样值,然后将采样值经过计算平均值并转换为十进制数据后发送到CAN,在PC机上用CANTools软件调试主函数流程图中断函数流程图三、程序源码/*********************************************************************************************************************************/#include"pic18f4680.h"/

2、*PIC18系列的头文件*/charCAN_TX_Adress_H,CAN_TX_Adress_L;/*CAN发送邮箱标识符高低字节*/charCAN_RX_Adress_H,CAN_RX_Adress_L;/*CAN接收邮箱标识符高低字节*/#defineCHANNEL70X1D//选择模拟通道7采集正输出电压#defineCHANNEL60X19//选择模拟通道6采集正输出电流#defineCHANNEL30X0D//选择模拟通道3采集正输出电压#defineCHANNEL20X09//选择模拟通道2采集正输出电流#

3、defineCHANNEL10X05//选择模拟通道1采集负输出电流#defineCHANNEL00X01//选择模拟通道0采集负输出电压#defineLN50//采集50次进行平均#defineLAN20//采集20个平均值bank2uintAD[LN];//存放50次采样值uintRES[LAN];//存放20个平均值uintRESVP=0x0000;//存放正输出电压采样值,供CAN上传数据uintRESIP=0X0000;//存放正输出电流电压采样值,供CAN上传数据uintRESVN=0X0000;//存放负输

4、出电压采样值,供CAN上传数据uintRESIN=0X0000;//存放负输出电流正电压采样值,供CAN上传数据ucharWAIT_FLAG;//等待中断标志位uintcount;//100次计数/*******************************************************************函数名:initial()**功能描述:系统初始化子程序,放在程序首部**************************************************************

5、**/voidinitial(){count=0;INTCON=0x00;/*bit7-bit0:关总中断*/PIE1=0;/*PIE1的中断不使能*/PIE2=0;/*PIE2的中断不使能*/PIE3=0;/*PIE3的中断不使能*/}/*******************************************************************函数名:initcan()**功能描述:CAN初始化子程序,采用标准标识符,正常工作模式********************************

6、********************************/voidinitcan(){//设置发送邮箱0标识符:10011001010=0x04CACAN_TX_Adress_L=0x55;//CAN低地址标识符CAN_TX_Adress_L=CAN_TX_Adress_L&0xe0;CAN_TX_Adress_H=0x99;//CAN高地址标识符,应与发送方标识符相同//设置接收邮箱0标识符:00110011111=0x019FCAN_RX_Adress_H=0x33;//CAN高地址标识符CAN_RX_Adr

7、ess_L=0xe0;//CAN低地址标识符,应与发送方标识符相同CAN_RX_Adress_L=CAN_RX_Adress_L&0xe0;//************设置对CAN进行配置***************TRISB=TRISB&0XFB;//设置CANRX/RB3输入,CANTX/RB2输出CANCON=0X80;//CANCON,bit7-5:1XX请求配置while((CANSTAT&0X80)==0)//CAN状态寄存器。bit7-5:100配置方式{;//等待进入CAN配置模式OPMODE=100}

8、//***********波特率设置**************************BRGCON1=0X07;//Sync_Seg(bit7-6)=1TQ,BRP(bit5-0)=1,则TQ=((2*(BRP+1))/Fosc=16/32M=0.5usBRGCON2=0X90;//bit7=1自由编程,bit6=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。