基于嵌入式实时操作系统的OBD-II诊断协议框架,以Cortex-M3为内核,采用uc/os II操作系统实现了ISO15765协议,成功通过CAN总线读取了车辆的OBD-II系统数据,通过上位机监控窗口,能实时检查汽车故障码与汽车传感器数据。可在此基础上评价汽车健康状况,并可对故障及早预防,降低行车成本,提供行车安全性;本设计充分考虑中国汽车市场主流总线发展的情况,提供了在复杂的车载环境下远程车载诊断设备的解决方案。
上传时间: 2013-11-19
上传用户:爱死爱死
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
此提出了一种基于Matlab/Simulink及实时代码生成工具R哪(Real.Time Workshop)的电力电子与电力传动控制系统软件的设计方法。首先在Simulink下搭建控制系统模型,进行相应仿真完善,验证控制算法,根据目标DSP型号添加相应DSP内核、外设并设置控制参数,然后直接将模型转化为相应DSP的C源代码.在相应的硬件平台支持下即可完成相关实验。
上传时间: 2013-11-04
上传用户:wincoder
Linear Technology offers a variety of devices that simplifyconverting power from a USB cable, but the LTC®3455represents the highest level of functional integration yet. The LTC3455 seamlessly manages power flowbetween an AC adapter, USB cable and Li-ion battery,while complying with USB power standards, all from a4mm × 4mm QFN package. In addtion, two high efficiencysynchronous buck converters generate low voltage railswhich most USB-powered peripherals require. TheLTC3455 also provides power-on reset signals for themicroprocessor, a Hot SwapTM output for poweringmemory cards as well as an uncommitted gain blocksuitable for use as a low-battery comparator or an LDOcontroller. The PCB real estate required for the entire USBpower control circuit and two DC/DC converters is only225mm2.
上传时间: 2013-11-02
上传用户:名爵少年
设计了一个基于单片机的轿车车内一氧化碳浓度测控功能的系统。该系统以16位高性能单片机SPCE061A为控制核心,采用高精度敏感元件MQ-7,集成运算放大器INA128进行信号调理,并引入了实时操作系统μC/OS-II进行任务管理。实验表明:系统实现了轿车空调运行时一氧化碳气体的实时监控,CO浓度不超过300 ppm,同时具有温度测量功能,便于进行空调操作,参数测量准确,为保证轿车内人员安全提供了可靠方案。
上传时间: 2013-12-04
上传用户:缥缈
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
和其他的μC/OS-II移植文件类似,设备代码由以下3 到5 个文件组成的。 Os_cpu.h Os_cpu_c.c Os_cpu_a.s90 (该文件仅在ICC 编译器中使用) Os_cpu_i.s90 (该文件仅在ICC 编译器中使用) Os_dbg.c Os_dbg.c 仅需在IAR 工程中使用。 3.01 OS_CPU.H 3.01.01 OS_CPU.H, macros for ‘externals’ Listing 3-1, OS_CPU.H, 外部宏(macros for ‘externals’) #ifdef OS_CPU_GLOBALS #define OS_CPU_EXT #else #define OS_CPU_EXT extern #endif
上传时间: 2013-11-25
上传用户:zhaistone
本文开发出一套小型计算机数控系统。在硬件上,由上位机和下位机两部分构成。上位机采用PC机或工控机,主要实现与用户交互.,完成数据处理。下位机采用MCS-51单片机系统,主要实现通讯及强实时信号的处理。下位机控制软件使用了嵌入式实时操作系统μC/OS-II进行开放式数控系统的开发。软件设计部分,上位机采用Visual Basic为开发工具,下位机采用C51、51汇编。
上传时间: 2014-08-14
上传用户:assef