PIC18F 45K80 CAN 通信实例,可通过模拟调试,注意选编译器,C18是不能通过。
单片机源程序如下:
#pragma config XINST = OFF // CONFIG1L
#pragma config FOSC = INTIO2, FCMEN = OFF, IESO = OFF ,PLLCFG = OFF // CONFIG1H
#pragma config BOREN = OFF, BORV = 0 // CONFIG2L
#pragma config WDTEN = OFF // CONFIG2H
/** I N C L U D E S **************************************************/
#include "main.h"
unsigned char CAN_RecFLAG=0;
unsigned char Flag50ms = 0;
// AD采样的数据变量
unsigned int VoltageEdlc[5];
unsigned int VoltageBat;
unsigned int Current1;
unsigned int Current2;
unsigned int Temperature1;
unsigned int Temperature2;
void InterruptHandler(void);
#pragma code high_vector=0x08
void high_interrupt (void)
{
_asm GOTO InterruptHandler _endasm
}
#pragma code
#pragma code low_vector=0x18
void low_interrupt (void)
{
_asm GOTO InterruptHandler _endasm
}
#pragma code
#pragma interruptlow InterruptHandler
#pragma interrupt InterruptHandler
void InterruptHandler(void)
{
static unsigned char Tick = 0;
static unsigned char ChannelNo = 0;
// 定时器0
if(INTCONbits.TMR0IF&&INTCONbits.TMR0IE) // timer0 = 10ms
{
INTCONbits.TMR0IF = 0;
TMR0H = 0x63;
TMR0L = 0xBF;
Tick++;
if(Tick ==200)
{
Flag50ms = 1; // 5s发送CAN消息到ECU
Tick = 0;
LATCbits.LATC5 = ~LATCbits.LATC5;
}
}
// CAN接收数据
if(PIR5bits.RXB0IF==1)
{
CAN_RecFLAG=1;
PIR5bits.RXB0IF=0; // 清接收中断标志
RXB0CONbits.RXFUL=0; // 清除标志,接收新报文
}
}
#pragma code
void main(void)
{
unsigned int EDLC_temp[4];
INTCON=0x00;
InitInterOSC();
InitPORT();
InitCan();
Timer0_Init();
// INTCON=0xc0; //使能中断 1100 0000
INTCONbits.GIE=1;
INTCONbits.PEIE=1;
// INTCONbits.GIEL=1;
// TXB0CONbits.TXREQ = 0;
while(1)
{
if(CAN_RecFLAG==1)
{
CAN_RecFLAG = 0;
TXB0D0=1; /* 写发送缓冲器数据区数据初值 */
TXB0D1=2;
TXB0D2=3;
TXB0D3=4;
TXB0D4=5;
TXB0D5=6;
TXB0D6=7;
……………………
上一篇:基于使用PIC16F87X单片机ADC制作的照度计
下一篇:pic单片机控制cc1101实现loral无线传输的源程序
推荐阅读
史海拾趣
随着技术的不断进步和市场需求的增长,DSMI Electronics SA公司开始寻求与国际知名品牌的合作。通过与多家国际大公司的合作,DSMI不仅提升了自身的技术水平和生产能力,还扩大了市场份额。特别是在嵌入式系统领域,DSMI的产品得到了广泛应用,成为了行业内的重要供应商之一。
随着技术的不断进步和市场的逐步打开,弘凯光电开始将业务拓展至全球范围。公司的客户群迅速扩大,遍布60多个国家和地区,同时在欧洲、北美、南美、东南亚和中东地区均设立了经销网点。此外,弘凯光电还积极寻求国际认证,以证明其产品的品质和可靠性。通过取得ISO9001质量保证体系、ISO14001国际环境管理体系认证等一系列认证,公司进一步提升了品牌形象和市场竞争力。
2021年,弘凯光电在江苏南通投资建设了集成智慧光源项目,总投资额高达10亿元。这一项目的建成,不仅大幅提升了公司的产能和效率,更为汽车照明、智能家居、3C电子等LED高端应用领域提供了高品质的产品。项目的成功投产,标志着弘凯光电在光电半导体领域的技术实力和市场地位得到了进一步提升。
在电子行业的快速发展中,ALD以其创新的CMOS技术崭露头角。1985年,公司创立之初,便致力于研发小功率线性集成电路,为线性工程师提供标准产品和定制方案。经过团队的不懈努力,ALD成功开发出了一系列具有高精度和低功耗特点的CMOS线性集成电路,这些产品在工业控制、电子仪器等领域得到了广泛应用,为公司的快速发展奠定了坚实基础。
在电子行业,技术创新是企业发展的关键。Cosel公司深知这一点,因此在发展过程中不断引进先进的技术和管理理念。1979年,公司引进了质量控制圈(QC circle)活动,通过全员参与的方式提高产品质量和客户满意度。随后,公司又引进了TQC(全面质量管理)和方针管理,进一步提升了企业的运营效率和产品质量。这些举措使得Cosel公司的产品在市场上获得了良好的口碑。
随着全球化进程的加速,Cosel公司开始将目光投向国际市场。1990年,公司成立了U.S.ELCO INC.(现名为COSEL U.S.A.,INC.),正式进入美国市场。随后,公司又设立了欧洲常驻办事处,进一步拓展了欧洲市场。这些举措使得Cosel公司的产品和服务能够覆盖更广泛的地区,为公司带来了更多的商机和发展空间。
PCF8576 为带有I2C 总线接口的字符式LCD 驱动/控制器,它有4 个背极输出和40 个显示段输出,因此,最多可驱动160 个LCD 显示段。PCF8576 可以级联以适应驱动较大规模的LCD 显示器,通过I2C 总线接口除了可以与具有I2C 总线接口的MCU 相连外,通过I2 ...… 查看全部问答∨ |
|
求好心人帮忙,毕业设计:基于spce061a 和 ov7620的图形采集与系统设计 以单片机为核心,利用COMS摄像头设计一个可对薄片透明体轮廓尺寸进行测量测试系统; 要求:(1)可进行图形显示 (2)测量精度:<0.1mm… 查看全部问答∨ |
|
我在linux系统上用vmware虚拟win2000,在里面跑ads,用jedi-ii仿真器和网络接口。 现发现有个工程在axd里面调试的时候总是一开始就进入死循环状态,步进调试到启动代码 B UndefHandler, 调试器会提示Warning 00056: The statement into which ...… 查看全部问答∨ |
|
我把CN0214方案。连同我画的框图一起打包一会,那个方案可拿来就用,我只是加了无线模块,这样可用无线进行数据传送。原方案保持不变我就是在UART输出的地方,加两个跳线,这样可无线,也可有线。 下面是PC端的程序框图 ...… 查看全部问答∨ |
|
【MSP430共享】基于MSP430F149的电动轿车电控系统设计 为解决汽车发展所带来的对石油能源需求的激增及环保的负面影响,国内、外已经掀起了研制各种电动汽车的高潮。目前主要用于电车上的动力电源有铅酸、镍氢、镍镉、燃料、锂离子蓄电池等,其中锂电池如动力磷酸铁锂以其重量轻、容量高、寿命长且无污染 ...… 查看全部问答∨ |