欧几里德算法:辗转求余 原理: gcd(a,b)=gcd(b,a mod b) 当b为0时,两数的最大公约数即为a getchar()会接受前一个scanf的回车符
上传时间: 2014-01-10
上传用户:2467478207
//9488定时器B功能测试 9488定时器B功能测试B:DAMI调试通过: 9488 8位定时器B的使用 有关的I/O为三个:TBPWM(输出)(P1.0) 模式有:间隔定时功能,PWM模式 有定时中断:定时器B溢出中断
上传时间: 2017-06-01
上传用户:ryb
基于单片机和PC机的实时温度控制系统设计这是一份非常不错的资料,欢迎下载,希望对您有帮助!
上传时间: 2022-03-08
上传用户:20125101110
摘要: 智能机器人仿真系统,由于智能机器人受到自身多传感器信息融合和控制多样性等因素的影响,仿真系统设计主要都 是以数学建模的形式化仿真为主,无法实现数学建模与场景实现协调仿真。为此,首先分析两轮移动机器人数学运动模型, 然后设计与机器人控制系统相关的传感器数据采集分析、机器人智能自动控制和人工控制等模块,以实现机器人控制的真 实场景。仿真系统利用 LabVIEW 设计控制界面,并结合 Robotics 工具包的建模、计算和控制功能。仿真结果表明设计的平 台更适合教学和实验室研究,并可为实际的物理过程提供数据参考和决策建议。 关键词: 机器人; 虚拟; 系统仿真 中图分类号: TP242 文献标识码: B1 引言 随着测控技术的发展,虚拟仪器技术已成为工业控制和 自动化测试等领域的新生力量[1]。而机器人作为一种新型 的生产工具,应用范围已经越来越广泛,几乎渗透到各个领 域,是一项多学科理论与技术集成的机电一体化技术。目前 机器人仿真系统主要集中在复杂的机器人数学模型构建与 形式化仿真,无法实现分析机器人运动控制的静态和动态特 性,更加无法实现控制的真实场景[2]。为了改善专业控制软 件在硬件开发周期较长的缺点,本文拟建立一个基于通用软 件的实时仿真和控制平台,以更适合教学和实验室研究。本 文以通用仿真软件 LabVIEW 和 Robotics [3]为实时仿真与控 制平台,采用 LabVIEW 搭建控制界面,利用 Robotics 在后台 进行系统模型和优化控制算法计算,使其完成机器人控制系 统应有的静态和动态性能分析,不同环境下传感器变化模拟 显示以及目标路径形成等功能。 2 系统构成 仿真系统的构成主要包括了仿真界面、主控制界面、障 碍检测、智能控制和人工控制模块。其中主要对人工控制和 智能控制进行程序设计。仿真运行时,障碍检测一直存在, 主要是为了在智能控制模式下的智能决策提供原始数据。 在人工控制模式下,障碍检测依然存在,只不过对机器人行 动不产生影响,目的是把环境信息直观
标签: 智能机器人
上传时间: 2022-03-11
上传用户:
随着现代科学技术的迅速发展和人们对数据采集技术要求的日益提 高,近年来数据采集技术得到了长足的发展,主要表现为精度越来越高, 传输的速度越来越快。但是各种基于ISA、PCI 等总线的数据采集系统存 在着安装麻烦、受计算机插槽数量、地址、中断资源的限制、可扩展性 差等缺陷,严重的制约了它们的应用范围。USB 总线的出现很好的解决了 上述问题,它是1995 年INTEL、NEC、MICROSOFT、IBM 等公司为解决传 统总线的不足而推出的一种新型串行通信标准。为了适应高速传输的需 要,2004 年4月,这些公司在原来1.1 协议的基础上制定了USB2.0 传输 协议,使传输速度达到了480Mb/s。该总线具有安装方便、高带宽、易扩 展等优点,已经逐渐成为现代数据采集传输的发展趋势。 以高速数字信号处理器(DSPs)为基础的实时数字信号处理技术近 年来发展迅速,并获得了广泛的应用。TMS320C6713 是德州仪器公司 ( Texas Instrument ) 推出的浮点DSPs , 其峰值处理能力达到了 1350MFLOPS,是目前国际上性能最高的DSPs 之一。同时该DSPs 接口丰 富,扩展能力强,非常适合于做主控芯片。 基于TMS320C6713 和USB2.0,本文设计了一套多路实时信号采集系 统。该设计充分利用了高速数字信号处理器TMS320C6713 和USB 芯片 CY7C68001 的各种优点,实现了传输速度快,采样精度高,易于扩展,接口简单的特点。在本文中详细讨论了各种协议和功能模块的设计。本文 的设计主要分为硬件部分和软件部分,其中硬件部分包括模拟信号输入 模块,AD 数据采集模块,USB 模块,所有的硬件模块都在TMS320C6713 的协调控制下工作,软件部分包括DSP 程序和PC 端程序设计。总的设计 思想是以TMS320C6713为核心,通过AD 转换,将采集的数据传送给 TMS320C6713 进行数据处理,并将处理后的数据经过USB 接口传送到上位 机。
上传时间: 2013-04-24
上传用户:fudong911
介绍了一种基于单片机借助CAN 总线技术设计的分布式区域交通信号灯智能控制系统。系统采用AT89C51 作为核心控制器,红外接收器接收来自发射器的红外信号,经解调后输入单片机进行处理,单片机与
上传时间: 2013-04-24
上传用户:ZJX5201314
温室技术是我国实现农业信息化的重要环节,温度是温室中的重要环境参数。实时控制是指在规定的时间内,系统必须做出相应的响应,是现代温室控制发展的更高要求。随着精细农业的发展,传统的大棚已经不能满足现代高精度、快速采集及响应的要求,由于温度的滞后性和难调控性,温度实时控制一直是温室控制的一大难题。 本课题整合了CPID与ARM的优点,提出运用CPID硬件来实现数据采集,移植实时操作系统到ARM来实现复杂算法控制,采用高精度数字传感器DS18820,并设计出混合PID模糊控制器来实现温室的变温管理,这对于现代温室的智能化控制有着十分重要的实际意义。较传统温室,优点在于(1)它改变以往依靠单片机软件来实现传感器周期性采集,改用CPID硬件产生数字传感器所需的读写时序,这种“以硬代软”的方案实时性好,且大大避免了软件运行时的不稳定性、系统冗余等先天缺陷。(2)操作系统能实现多任务、多线程以及友好的人机界面。 试验以华中农业大学的华北型机械通风式连栋塑料温室为试验模型,选择了ALTERA公司的EPM7128SLC84-15芯片和SAMSUNG公司的S3C44BOX芯片为目标板,以PC机为宿主机,设计了实时温度控制平台。 主要工作: (1)概述了温度实时测控的必要性并介绍了CPLD、ARM技术及嵌入式实时操作系统的发展。 (2)介绍了温度采集模块及CPLD与ARM通讯接口模块的设计。 (3)通过ARM存储模块、LCD显示模块、串口模块、Rt18019AS网口模块、uClinux操作系统模块等系统完成了本试验平台。 (4)介绍混合PID模糊控制算法并通过Simulink工具箱进行了仿真,得出混合PID模糊控制器较经典PID控制具有更快的动态响应、更小超调、抗干扰强的结论。 (5)最后,通过试验数据验证了整套系统实时采集的稳定性及可靠性,指出了本课题的不足之处和待改善的问题。
上传时间: 2013-04-24
上传用户:songyuncen
1) 全数字化设计,交流采样,人机界面采用大屏幕点阵图形128X64 LCD中文液晶显示器。 2) 可实时显示A、B、C各相功率因数、电压、电流、有功功率、无功功率、电压总谐波畸变率、电流总谐波畸变率、电压3、5、7、9、11、13次谐波畸变率、电流3、5、7、9、 11、13次谐波畸变率频率、频率、电容输出显示及投切状态、报警等信息。 3) 设置参数中文提示,数字输入。 4) 电容器控制方案支持三相补偿、分相补偿、混合补偿方案,可通过菜单操作进行设置。 5) 电容器投切控制程序支持等容/编码(1:2、 1:2:3、 1:2:4:8…)等投切方式。 6) 具有手动补偿/自动补偿两种工作方式。 7) 提供电平控制输出接口(+12V),动态响应优于20MS。 8) 取样物理量为无功功率,具有谐波测量及保护功能。 9) 控制器具有RS-485通讯接口,MODBUS标准现场总线协议,方便接入低压配电系统。
上传时间: 2013-11-09
上传用户:dancnc
1.有三根杆子A,B,C。A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上 经过研究发现,汉诺塔的破解很简单,就是按照移动规则向一个方向移动金片: 如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C 此外,汉诺塔问题也是程序设计中的经典递归问题
上传时间: 2016-07-25
上传用户:gxrui1991
溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }
上传时间: 2014-11-10
上传用户:wpwpwlxwlx