Digitemp Junior – An RS-232 Port-Powered Digital Thermometer Digitemp Jr. is a device that is designed to measure and report ambient temperature. When connected to an RS-232 port on any PC, it will periodically measure and report in ASCII form the ambient temperature in degrees Celsius. These temperature readings can be monitored with any terminal program. IF the terminal program supports capture to disk, the temperature readings can be saved to disk for further analysis with a spreadsheet program or other data analysis tool. The simple ASCII output format of Digitemp Jr. makes it rel- atively easy to write custom software for receiving, recording, and analyzing ambient temperature data. Best of all, Digitemp Jr. requires no external power sup- plies or batteries. It is powered directly by the RS-232 port.
上传时间: 2013-10-21
上传用户:baitouyu
假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad(); 1、限幅滤波法(又称程序判断滤波法) A、方法: 根据经验判断,确定两次采样允许的最大偏差值(设为A) 每次检测到新值时判断: 如果本次值与上次值之差<=A,则本次值有效 如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值 B、优点: 能有效克服因偶然因素引起的脉冲干扰 C、缺点 无法抑制那种周期性的干扰 平滑度差 /* A值可根据实际情况调整 value为有效值,new_value为当前采样值 滤波程序返回有效的实际值 */ #define A 10 char value; char filter() { char new_value; new_value = get_ad(); IF ( ( new_value - value > A ) || ( value - new_value > A ) return value; return new_value; } 2、中位值滤波法 A、方法: 连续采样N次(N取奇数) 把N次采样值按大小排列 取中间值为本次有效值 B、优点: 能有效克服因偶然因素引起的波动干扰 对温度、液位的变化缓慢的被测参数有良好的滤波效果 C、缺点: 对流量、速度等快速变化的参数不宜 /* N值可根据实际情况调整 排序采用冒泡法*/
上传时间: 2014-12-26
上传用户:nanshan
Digitemp Jr. is a device that is designed to measure and report ambient temperature. When connected to an RS-232 port on any PC, it will periodically measure and report in ASCII form the ambient temperature in degrees Celsius. These temperature readings can be monitored with any terminal program. IF the terminal program supports capture to disk, the temperature readings can be saved to disk for further analysis with a spreadsheet program or other data analysis tool. The simple ASCII output format of Digitemp Jr. makes it relatively easy to write custom software for receiving, recording, and analyzing ambient temperature data. Best of all, Digitemp Jr. requires no external power supplies or batteries. It is powered directly by the RS-232 port.
上传时间: 2013-10-20
上传用户:Maple
针对盘山路存在的转弯盲区,即在转弯时司机无法得知弯路对面是否有车辆通过,设计一种基于C8051F310的山路转弯预防警示系统。该系统利用一阶滤波算法检测山路转弯时是否有车辆通过。运用该算法可增强系统检测的实时性,提高检测机动车辆的灵敏度,同时大大减少环境温度对检测的干扰。试验表明该系统能够正确指示出在山路转弯时是否有车辆通过,目前该系统已安装在盘山路上,可大大减少事故的发生率。 Abstract: Aiming at passing hilly road,there is a turn blind spot.Motormen usually do not know IF the passing of vehicles pass the road.So a system of defending accident on hilly road is designed,which is based on MCU C8051F310.The sys-tem uses the first-order filter algorithm to detect whether there are passing vehicles.This algorithm enhances the real-time detection and improves the sensitivity of detection vehicles.Meanwhile,it reduces the detection interference of environmen-tal temperature.The experimental results show that this system can exactly indicate IF there are passing vehicles.At present,the system has been successfully applied to hilly road.The system can greatly decrease accident.
上传时间: 2013-10-10
上传用户:归海惜雪
针对材料试验机等设备中要求测量或控制材料拉伸或压缩的位移,一般采用光电轴角编码器检测位置信号,输出正交编码脉冲信号。若采用其他方法检测位置信号,必然导致电路设计复杂,可靠性降低。因此,提出一种基于LS7266R1的电子式万能材料试验机设计方案。给出了试验机中的控制器工作原理,LS7266R1与单片机的接口硬件设计,以及主程序软件流程图。巧妙地把力量传感器,位移传感器等机械运动状态的压力或拉力以及位置坐标,变成了电压信号和电脉冲数字信号,供A/D测量和LS7266R1计数,从而实现了独立完成材料试验控制或通过PC机串口命令完成材料试验控制。 Abstract: Aiming at the requirement that the displacement of the tension and compression always be tested and controlled in the equipement such as material testing machine. The position signal was tested by photoelectric axial angle coder. Therefore, the paper proposes the design of electronic universal testing machine design based on LS7266R1. IF the position signal detected by other methods, will inevitably lead to the circuit design complexity, reliability decreased. The work theory of the controller, the hardware interface design between LS7266R1 and single chip, and the flow chart of main program, are presented in this paper. The signal of the compression or tension power and displacement at working, which tested by power sensor and displacement sensor especially, is changed into electric voltage and electric pulse numerical signals. And these signals can be tested by A/D and counted by LS7266R1. Finally the test of the material properties can be controlled by itself, or controlled by the COM command of PC.
上传时间: 2013-11-02
上传用户:yl1140vista
在冶金、化工,机械等各类工业控制中,电加热炉都得到了广泛的应用。目前国内的电加热炉温度控制器大多还停留在国际60年代水平,仍在使用继电一接触器控制或常规PID控制,自动化程度低,动态控制精度差,满足不了日益发展的工艺技术要求。电加热炉的温度是生产工艺的一项重要指标,温度控制的好坏将直接影响产品的质量。电加热炉由电阻丝加热,温度控制具有非线性、大滞后、大惯性、时变性、升温尊向性等特点。而且,在实际应用和研究中,电加热炉温度控制遇到了很多困难:第一,很难建立精确的数学模型:第二,不能很好地解决非线性、大滞后等问题。以精确数学模型为基础地经典控制理论和现代控制论在解决这些问题时遇到了极大地困难,而以语言规则模型(IF—THEN)为基础的模糊控制理论却是解决上述问题的有效途径和方法。国内现有的一些模糊设计方法大多存在不同缺点,而且真正把理论研究应用到实际系统的也较少。所以,深入研究在电加热炉系统控制中具体模糊控制设计理论是十分必要的。本文针对电加热炉这一控制对象,以Ts.94—1型号的箱形电加热炉为参考对象,分别采用工业控制中普遍使用的PID控制、经常见到的模糊控制策略,如基本模糊控制,对其进行仿真实验,比较,并进行了理论分析。针对上述电加热炉控制中存在的问题,本文设计了双模糊控制器。双模糊控制器在参数自整定模糊控制理论的基础上,对比例因子进行调整,克服原算法复杂丽不实用的特点,根据电加热炉不同的工作状态采用不同的模糊控制器,提高了控制精度,改善了控制效果。本文把模糊控制与神经网络技术相结合,利用神经网络很强的学习能力和自适应能力,建立了自适应神经模糊推理系统。把不依赖精确数学模型的模糊控制系统与有价值的经验数据或参考模型相结合,弥补了模糊控制的不足,使模糊控制系统更能发挥其强大优势,控制效果理想。在实践应用方面,以电加热炉为控制对象,开发了89C51单片机模糊控制器,主要进行了硬件和软件的设计。
上传时间: 2013-10-28
上传用户:yuanwenjiao
C51原理及相关基础入门知识 第一章:C51 流程控制语句一、分类条件语句、循环语句和开关语句。下面将对这些语句作详细介绍。(1) 条件语句条件语句的一般形式为:IF(表达式)语句 1;else语句 2;上述结构表示: 如果表达式的值为非0(TURE)即真, 则执行语句1, 执行完语句1 从语句2 后开始继续向下执行; 如果表达式的值为 0(FALSE)即假, 则跳过语句1 而执行语句2。所谓表达式是指关系表达式和逻辑表达式的结合式。注意:1. 条件执行语句中"else 语句2;"部分是选择项, 可以缺省, 此时条件语句变成:IF(表达式) 语句1;表示若表达式的值为非 0 则执行语句1 , 否则跳过语句1 继续执行。2. 如果语句1 或语句2 有多于一条语句要执行时, 必须使用"{"和"}" 把这些语句包括在其中, 此时条件语句形式为:IF(表达式){语句体 1;}else{语句体 2;}3. 条件语句可以嵌套, 这种情况经常碰到, 但条件嵌套语句容易出错, 其原因主要是不知道哪个IF 对应哪个else。例如:IF(x>20||x<-10)IF(y<=100&&y>x)printf("Good");elseprintf("Bad");对于上述情况,规定: else 语句与最近的一个IF 语句匹配, 上例中的 else 与 IF(y<=100&&y>x) 相匹配。为了使 else 与IF(x>20||x<-10) 相匹配, 必须用花括号。如下所示:IF(x>20||x<-10){IF(y<=100&&y>x)printf("Good");}
上传时间: 2013-10-24
上传用户:Sophie
ARM处理器的工作模式 ARM处理器状态 ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。 ARM处理器状态 进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。ARM处理器模式 ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys):运行具有特权的操作系统任务。定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。ARM处理器模式 ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式;其中除去用户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及需要访问受保护的系统资源等情况。ARM寄存器 ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。以及6个32位状态寄存器。 关于寄存器这里就不详细介绍了,有兴趣的人可以上网找找,很多这方面的资料。异常处理 当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。当一个异常出现以后,ARM微处理器会执行以下几步操作:进入异常处理的基本步骤:将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。将CPSR复制到相应的SPSR中。根据异常类型,强制设置CPSR的运行模式位。强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。 ARM微处理器对异常的响应过程用伪码可以描述为: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;当运行于 ARM 工作状态时IF == Reset or FIQ then;当响应 FIQ 异常时,禁止新的 FIQ 异常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:将连接寄存器LR的值减去相应的偏移量后送到PC中。将SPSR复制回CPSR中。若在进入异常处理时设置了中断禁止位,要在此清除。
上传时间: 2013-11-15
上传用户:hanbeidang
C51 中的关键字关键字 用途 说明auto 存储种类说明 用以说明局部变量,缺省值为此break 程序语句 退出最内层循环case 程序语句 Switch 语句中的选择项char 数据类型说明 单字节整型数或字符型数据const 存储类型说明 在程序执行过程中不可更改的常量值continue 程序语句 转向下一次循环default 程序语句 Switch 语句中的失败选择项do 程序语句 构成do..while 循环结构double 数据类型说明 双精度浮点数else 程序语句 构成IF..else 选择结构enum 数据类型说明 枚举extern 存储种类说明 在其他程序模块中说明了的全局变量flost 数据类型说明 单精度浮点数for 程序语句 构成for 循环结构goto 程序语句 构成goto 转移结构IF 程序语句 构成IF..else 选择结构int 数据类型说明 基本整型数long 数据类型说明 长整型数register 存储种类说明 使用CPU 内部寄存的变量return 程序语句 函数返回short 数据类型说明 短整型数signed 数据类型说明 有符号数,二进制数据的最高位为符号位sizeof 运算符 计算表达式或数据类型的字节数static 存储种类说明 静态变量struct 数据类型说明 结构类型数据swicth 程序语句 构成switch 选择结构typedef 数据类型说明 重新进行数据类型定义union 数据类型说明 联合类型数据unsigned 数据类型说明 无符号数数据void 数据类型说明 无类型数据volatile 数据类型说明 该变量在程序执行中可被隐含地改变while 程序语句 构成while 和do..while 循环结构ANSIC 标准关键字关键字 用途 说明bit 位标量声明 声明一个位标量或位类型的函数sbit 位标量声明 声明一个可位寻址变量
标签: C51
上传时间: 2013-10-08
上传用户:waves_0801
FeaturesThe following standard features are provided.• Choice of RTOS scheduling policy1. Pre-emptive:Always runs the highest available task. Tasks of identical priorityshare CPU time (fully pre-emptive with round robin time slicing).2. Cooperative:Context switches only occur IF a task blocks, or explicitly callstaskYIELD().• Co-routines (light weight tasks that utilise very little RAM).• Message queues• Semaphores [via macros]• Trace visualisation ability (requires more RAM)• Majority of source code common to all supported development tools• Wide range of ports and examples
上传时间: 2013-10-13
上传用户:13162218709