现场总线技术以其先进性、实用性、可靠性、开放性等优点,已经成为自动化技术发展的热点。现场总线控制系统作为一种开放的、具可互操作性的、彻底分散的分布式控制系统,已经对传统的PLC、集散控制系统形成了巨大的冲击,具有广阔的发展前景。 作为现场总线之一的CAN总线以其可靠性高、实时性好、价格低廉、容易实现等优点,被广泛应用于工业控制领域。与传统的控制系统相比,基于CAN总线设计的工业控制系统可以减少系统控制的复杂性,降低成本,并能提高系统的稳定性和扩展性。 本论文针对某石材加工厂的具体应用需求,在分析了CAN总线协议的基础上,给出了工业控制网络的总体解决方案,主控节点硬件设计、软件设计,人机界面设计,以及网络通讯结构模型及具体实现流程,完成的主要工作如下: 软硬件平台设计,基于ARM处理器LPC2378开发了工控网络主控节点。设计了该节点的硬件电路,包括CAN总线接口电路、串行接口电路、AD、DA转换隔离电路等。在硬件平台上进行μC/OS-II操作系统移植,基于该操作系统编写了各硬件模块驱动程序,主要包括串行接口和CAN模块的初始化、数据接收以及发送。 通讯设计,根据工业控制应用的具体需求,设计了网络整体解决方案,包括网络拓扑方案,通讯结构等,基于CAN总线技术规范CAN2.0B自定义了CAN总线网络应用层通信协议CAN08。 人机界面设计,基于威纶MT505设计了工控网络的人机界面,编程实现人机界面与主控节点的Modbus通讯。
上传时间: 2013-07-09
上传用户:familiarsmile
WIM动态称重系统的研究对于保护公路的正常使用有着非常重要的经济利益和社会价值。针对我国公路WIM系统的研究现状和存在的问题,提出了新的思路、解决办法和改进措施,用以提高整个WIM系统的各项性能指标。 基于ARM的压电薄膜轴的车辆动态称重系统的嵌入式研究与设计,致力于提高WIM系统精度等各项性能指标,其采用了高新的软硬件技术,是一个比较有研究意义的课题。 本文首先从分析称重原理入手,提出了一个改进的系统整体设计方案,在该方案的前提下,通过不断地试验修改,搭建了一个基于Labview的现场模拟实验系统,为下一步研究和整个系统的实现打下了坚实的基础。本文所做的具体工作,概括起来有如下几点: 第一,简要地介绍了基于压电薄膜轴的WIM系统原理、影响因素以及课题研究的意义等; 第二,给出了系统整体设计方案,并设计了多个信号调理电路,诸如电荷放大电路,隔离电路以及滤波电路等; 第三,采用了32位的微处理器,并采用了一种比较完善的数据处理方法,提高了系统的软硬件技术,在此基础上研究设计了基于ARM-μgC/OS-Ⅱ的WIM嵌入式系统平台,完成了系统的软硬件设计、实现及操作系统移植; 最后,设计并实地进行了一个新的试验,即基于LabVIEW8.2的数据采集卡的现场模拟试验,给出了试验结果和分析。该试验方便于测量与数据采集,可得到较为精准的现场数据,为后续的数据处理打下了基础;
上传时间: 2013-07-29
上传用户:源弋弋
广州致远电子有限公司近期推出了系列的工业级微功率DC-DC电源模块,能够广泛应用于低频模拟电路,大功率IGBT驱动,纯数字电路,模拟前端隔离电路,RS232/RS485/D422隔离通讯接口,CAN-BUS隔离通讯接口,运算放大器电源和手持便携仪表等多种场合。其全面性与成熟可靠的设计,可以解决用户在电源和模拟前端部分设计中所遇到的较多难题,并可以节省开发时间,使用户的产品更快推出市场.
上传时间: 2013-10-17
上传用户:妄想演绎师
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
a_bit equ 20h ;个位数存放处 b_bit equ 21h ;十位数存放处 temp equ 22h ;计数器寄存器 star: mov temp,#0 ;初始化计数器 stlop: acall display inc temp mov a,temp cjne a,#100,next ;=100重来 mov temp,#0 next: ljmp stlop ;显示子程序 display: mov a,temp ;将temp中的十六进制数转换成10进制 mov b,#10 ;10进制/10=10进制 div ab mov b_bit,a ;十位在a mov a_bit,b ;个位在b mov dptr,#numtab ;指定查表启始地址 mov r0,#4 dpl1: mov r1,#250 ;显示1000次 dplop: mov a,a_bit ;取个位数 MOVC A,@A+DPTR ;查个位数的7段代码 mov p0,a ;送出个位的7段代码
上传时间: 2013-11-06
上传用户:lx9076
前面介绍了单片机的基本结构、功能及其扩展和基本外围设备的接口技术。从单片机应用系统设计的角度看,这些内容仅使我们掌握了单片机的工作状态,或者说,使我们掌握了单片机所提供的软件和硬件资源,以及怎样合理地使用这些资源。这为单片机应用系统设计奠定了基础。除此之外,一个实际的单片机应用系统除需要进行多种配置及其接口连接外,还会涉及到更为复杂的内容和问题,多种类型的电路结构(模拟电路、伺服驱动电路、抗干扰隔离电路等)。因此,单片机应用系统设计应遵循一些基本原则和方法。从一般应用角度来说,了解单片机应用系统的结构、设计的内容与一般方法,对于单片机应用系统的工程设计与开发有着十分重要的指导意义。
上传时间: 2013-11-23
上传用户:猫爱薛定谔
第八章 labview的编程技巧 本章介绍局部变量、全局变量、属性节点和其他一些有助于提高编程技巧的问题,恰当地运用这些技巧可以提高程序的质量。 8.1 局部变量 严格的语法尽管可以保证程序语言的严密性,但有时它也会带来一些使用上的不便。在labview这样的数据流式的语言中,将变量严格地分为控制器(Control)和指示器(Indicator),前者只能向外流出数据,后者只能接受流入的数据,反过来不行。在一般的代码式语言中,情况不是这样的。例如我们有变量a、b和c,只要需要我们可以将a的值赋给b,将b的值赋给c等等。前面所介绍的labview内容中,只有移位积存器即可输入又可输出。另外,一个变量在程序中可能要在多处用到,在图形语言中势必带来过多连线,这也是一件烦人的事。还有其他需要,因此labview引入了局部变量。
上传时间: 2013-10-27
上传用户:xieguodong1234
Keil C51 V8 专业开发工具(PK51) PK51是为8051系列单片机所设计的开发工具,支持所有8051系列衍生产品,,支持带扩展存储器和扩展指令集(例如Dallas390/5240/400,Philips 51MX,Analog Devices MicroConverters)的新设备,以及支持很多公司的一流的设备和IP内核,比如Analog Devices, Atmel, Cypress Semiconductor, Dallas Semiconductor, Goal, Hynix, Infineon, Intel, NXP(founded by Philips), OKI, Silicon Labs,SMSC, STMicroeleectronics,Synopsis, TDK, Temic, Texas Instruments,Winbond等。 通过PK51专业级开发工具,可以轻松地了解8051的On-chip peripherals与及其它关键特性。 The PK51专业级开发工具包括… l μVision Ø 集成开发环境 Ø 调试器 Ø 软件模拟器 l Keil 8051扩展编译工具 Ø AX51宏汇编程序 Ø ANSI C编译工具 Ø LX51 连接器 Ø OHX51 Object-HEX 转换器 l Keil 8051编译工具 Ø A51宏汇编程序 Ø C51 ANSI C编译工具 Ø BL51 代码库连接器 Ø OHX51 Object-HEX 转换器 Ø OC51 集合目标转换器 l 目标调试器 Ø FlashMON51 目标监控器 Ø MON51目标监控器 Ø MON390 (Dallas 390)目标监控器 Ø MONADI (Analog Devices 812)目标监控器 Ø ISD51 在系统调试 l RTX51微实时内核 你应该考虑PK51开发工具包,如果你… l 需要用8051系列单片机来开发 l 需要开发 Dallas 390 或者 Philips 51MX代码 l 需要用C编写代码 l 需要一个软件模拟器或是没有硬件仿真器 l 需要在单芯片上基于小实时内核创建复杂的应用
上传时间: 2013-10-30
上传用户:yy_cn
某型早期雷达的发射机只采用两个指针式电表作为监测设备,缺乏完善的机内测试系统,为了更有效地监测发射机的工作状态,采用了加装嵌入式监测系统的方法。利用成熟的单片机及数据采集技术,设计了用于雷达发射机的多点调理电路和隔离电路,研制成嵌入式的故障监测系统。该系统在发射机上加装调试后经长期使用,检验了其使用效果良好,可靠性高,具有推广使用价值。
上传时间: 2013-11-14
上传用户:fhjdliu