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
在冶金、化工,机械等各类工业控制中,电加热炉都得到了广泛的应用。目前国内的电加热炉温度控制器大多还停留在国际60年代水平,仍在使用继电一接触器控制或常规PID控制,自动化程度低,动态控制精度差,满足不了日益发展的工艺技术要求。电加热炉的温度是生产工艺的一项重要指标,温度控制的好坏将直接影响产品的质量。电加热炉由电阻丝加热,温度控制具有非线性、大滞后、大惯性、时变性、升温尊向性等特点。而且,在实际应用和研究中,电加热炉温度控制遇到了很多困难:第一,很难建立精确的数学模型:第二,不能很好地解决非线性、大滞后等问题。以精确数学模型为基础地经典控制理论和现代控制论在解决这些问题时遇到了极大地困难,而以语言规则模型(IF—THEN)为基础的模糊控制理论却是解决上述问题的有效途径和方法。国内现有的一些模糊设计方法大多存在不同缺点,而且真正把理论研究应用到实际系统的也较少。所以,深入研究在电加热炉系统控制中具体模糊控制设计理论是十分必要的。本文针对电加热炉这一控制对象,以Ts.94—1型号的箱形电加热炉为参考对象,分别采用工业控制中普遍使用的PID控制、经常见到的模糊控制策略,如基本模糊控制,对其进行仿真实验,比较,并进行了理论分析。针对上述电加热炉控制中存在的问题,本文设计了双模糊控制器。双模糊控制器在参数自整定模糊控制理论的基础上,对比例因子进行调整,克服原算法复杂丽不实用的特点,根据电加热炉不同的工作状态采用不同的模糊控制器,提高了控制精度,改善了控制效果。本文把模糊控制与神经网络技术相结合,利用神经网络很强的学习能力和自适应能力,建立了自适应神经模糊推理系统。把不依赖精确数学模型的模糊控制系统与有价值的经验数据或参考模型相结合,弥补了模糊控制的不足,使模糊控制系统更能发挥其强大优势,控制效果理想。在实践应用方面,以电加热炉为控制对象,开发了89C51单片机模糊控制器,主要进行了硬件和软件的设计。
上传时间: 2013-10-28
上传用户:yuanwenjiao
本文首先建立了航天器姿态动力学及运动学方程,该方程具有较强的非线性特性。通过将状态耦合部分作系统干扰项的处理,使原来的非线性模型转化为线性模型加非线性干扰的形式,从而得到了更加简单明了的姿态控制系统的表达式。 在应用滑模变结构原理对系统进行控制器设计时,首先通过二次型最优法求出了最优滑动面,在此基础上,利用自适应滑模控制原理,设计出了合适的系统控制律。 最后,运用所设计的姿态控制系统对某航天器进行数值仿真,并对仿真结果进行了分析。仿真结果很好地体现出所设计的变结构控制器的优点,并成功地对该航天器姿态进行了控制。
上传时间: 2014-01-06
上传用户:一诺88
这是偶最近研究的成果,正准备写论文的,关于一类单关节机器人的基于滤波器的滑模变机构控制策略,有完整的控制器和对象S函数,以及整个系统的模块文件,好处不用我说拉!
标签:
上传时间: 2014-01-18
上传用户:王小奇
此文利用倒立摆为例子,介绍了滑模变节构与鲁棒控制的综合控制方法。
标签: 倒立摆
上传时间: 2016-02-02
上传用户:ruan2570406
炸弹超人游戏c语言简板 ,两个人碗的,A控制WASD空格,B控制光标键和回车 命数,关的风格自己在文件头自己搞定;可以吃的道具由种分别加威力和雷数(最多8个)--简单的16色游戏。
标签: c语言
上传时间: 2016-04-27
上传用户:lhw888
内容简介 本书汇集了作者在制导律设计和被动跟踪滤波器设计方面取得的研究结果。 全书分成六部分,包括1) 空间拦截问题的数学描述,自适应滑模制导律和最优滑模制导律设计,滑模制导对目标机动和制导参数变化有完全自适应性的理论证明;2) 滑模制导律的智能化和模糊化实现方法;3) 空间飞行器大角度姿态机动变结构+PID组合控制策略;4) 增益导引规律和非线性 导引规律;5) 仅有角度测量条件下的几种新型非线性跟踪滤波器;6)“被动跟踪”问题的可观性分析,以及提高该问题可观性的改进的增广比例制导律和运动跟踪滑模制导律。 这部专著可以作为导航、制导与控制专业研究生和探测制导与控制技术专业本科生的专题阅读教材,可以作为控制理论与控制工程专业研究生的参考书,也可供从事制导控制系统设计工作的工程技术人员阅读参考。
上传时间: 2017-01-10
上传用户:拔丝土豆
本代码为编码开关代码,编码开关也就是数字音响中的 360度旋转的数字音量以及显示器上用的(单键飞梭开 关)等类似鼠标滚轮的手动计数输入设备。 我使用的编码开关为5个引脚的,其中2个引脚为按下 转轮开关(也就相当于鼠标中键)。另外3个引脚用来 检测旋转方向以及旋转步数的检测端。引脚分别为a,b,c b接地a,c分别接到P2.0和P2.1口并分别接两个10K上拉 电阻,并且a,c需要分别对地接一个104的电容,否则 因为编码开关的触点抖动会引起轻微误动作。本程序不 使用定时器,不占用中断,不使用延时代码,并对每个 细分步数进行判断,避免一切误动作,性能超级稳定。 我使用的编码器是APLS的EC11B可以参照附件的时序图 编码器控制流水灯最能说明问题,下面是以一段流水 灯来演示。
上传时间: 2017-07-03
上传用户:gaojiao1999
随着世界汽车工业的迅猛发展,汽车行驶速度的提高,汽车行驶安全性能越来越受到人们的重视,而汽车的紧急刹车往往造成汽车的侧翻而对驾驶员造成伤害,ABS系统就是在这种要求下产生和发展的,它是提高汽车制动安全性的又一重大进步。但是由于电子元件的故障导致ABS故障率也相对较高,使之不能正常的工作,给行车带来了极大安全隐患。本课题主要研究ABS在控制系统作用下进行增压,保压,降压操作从而将滑移率控制在一定范围内,保证车辆在刹车过程中的安全性。
标签: matlab 汽车防抱死制动系统 控制方法 仿真研究
上传时间: 2016-05-03
上传用户:杨少少少
/*================================================================= 4扫16*16下入上出C语言程序, 低位起笔,数据反相。 预定义 **************************************************************/ #include #include //可使用其中定义的宏来访问绝对地址? bit ture=1; // 使能正反相位选择 bit false=0; // 使能反相 sbit SCK=P3^6; // EQU 0B6H ; 移位 sbit RCK=P3^5; //EQU 0B5H ; 并行锁存 //sbit P1_3=P1^3; //外RAM扩展读写控制,不能重复申明 sbit EN1=P1^7; //BIT sbit FB=0xD8; // FB作为标志 sfr BUS_SPEED=0xA1; //访问片外RAM速度设置寄存器 sfr P4SW=0xBB; //P4SW寄存器设置P4.4,P4.5,P4.6的功能 sfr P4=0xC0; // P4 EQU 0C0H sbit NC=P4^4; sbit CS=P4^6; //片选 sfr WDT_CONTR=0xC1; // 0C1H ;看门狗寄存器 sfr AUXR=0x8E; // EQU 08EH ;附件功能控制寄存器 sfr16 DPTR=0x82; sfr CLK_DIV=0x97 ; //时钟分频寄存器 const unsigned int code All_zk =256 ; // 0E11H ;原数据总字节 const unsigned int code am_zk =128 ; // 0E13H ;单幕数据量 const unsigned char code asp = 255; // asp数据相位字,如果是正相字,那么asp=0 bit basp=1; // asp数据相位字标记,如果是正相字,那么basp=0 const unsigned char code font[]= // 晶科电子LED数码(反相字) {0xBD,0x81,0xEF,0xFF,0xBD,0x81,0xF7,0xFF,0xEF,0xEB,0x80,0x9F,0xEF,0x8F,0xEF,0xEF,0x7F,0x7B,0x7B,0x7F,0xBF,0xEF,0xEF,0xFF,0x7F,0x00,0xFF,0xFF,0xFF,0x80,0xFE,0xFF, 0x81,0xBD,0x0F,0x0F,0x81,0xBD,0xF0,0xF0,0xEF,0xED,0xE7,0xE1,0xEF,0xE1,0xEE,0xEE,0x7F,0x7B,0x7B,0x7F,0xBF,0xEF,0xEF,0xFF,0x7F,0x7F,0x7F,0x03,0xFF,0xFF,0xFF,0xF0, 0xBD,0x81,0xEF,0xEF,0xBD,0x81,0xF7,0xF7,0xEF,0x2E,0xC7,0xEF,0xEF,0xEE,0xED,0xED,0xFF,0x03,0x03,0x7F,0x80,0xE0,0xE0,0xFF,0x5F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFB, 0xFF,0xBD,0xFF,0x0F,0xFF,0xBD,0xFF,0xF0,0xEF,0xEF,0xAB,0xEF,0xEF,0xEF,0xED,0xED,0xFF,0x7B,0x7B,0x03,0xFF,0xEF,0xEF,0xE0,0xBF,0x7F,0x7F,0xFF,0xFF,0xFF,0xDF,0xFD, 0xBD,0xFD,0xFD,0xFF,0xBD,0xED,0xBD,0xFF,0xDD,0xBD,0xDD,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xEF,0x00,0xEF,0xEB,0xEB,0x81,0xFB,0xC3,0xDA,0xF7,0xFF,0xDF,0xDF,0xEE,0xFF, 0x80,0xFD,0xFD,0xFF,0xC0,0xED,0xED,0xFF,0xE0,0xBD,0xBD,0xFF,0xFF,0xFF,0xFF,0xFF,0xB3,0x00,0xC7,0x6D,0x8D,0xEB,0xDD,0xF3,0xDB,0xDB,0xFB,0x40,0xDF,0xDF,0xEE,0xE0, 0xFF,0xFD,0xFD,0xFF,0xFF,0xFD,0xED,0xFF,0xFF,0xBD,0xBD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xB7,0x2B,0xAB,0xDE,0xF7,0xDD,0xFB,0xFB,0x5B,0xC3,0xF7,0xEB,0xD0,0xEE,0xEF, 0xFF,0xFD,0xFD,0xF8,0xFF,0xBD,0xE1,0xC0,0xFF,0xBD,0xBD,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xD3,0xED,0xC7,0xFF,0xF7,0xDC,0xFB,0xFF,0xDB,0xD9,0xF7,0xF7,0xDF,0xC0,0xEE}; const unsigned char data xzL_data =0x08; //0603H;一幕一行字节数 const unsigned int data aL_data =0x20; //单幕单号线(单组线)数据量 const unsigned char data mov =0x03A ; //移动速度 const unsigned int data t_T =0x040A ; //0E0AH ; 05FAH; ;停留时间 const unsigned char data mu_num=0x02 ; //0602H ;幕数 unsigned int m; //m幕长变量<=am_zk unsigned char data_z; //数据寄存器 unsigned int xd; //数据指针寄存器 /*********************************************************************** 数据转移子函数 ===============================================================*/ char MOVD() { unsigned char f,nm; //nm幕数控制 unsigned char code *dptr; unsigned char xdata *xdptr = 0; f = asp ; for (m=0; m
上传时间: 2017-05-04
上传用户:sbfd010