虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

用软件无

  • 开发板测试用软件

    开发板测试用软件,关于winCE,keypadtest自编测试,

    标签: 开发板 测试 软件

    上传时间: 2014-12-04

    上传用户:llandlu

  • 数据包过滤(packet filtering)是一个用软件或硬件设备对向网络上传或从网络下载的数据流进行有选择的控制过程。数据包过滤器通常是在将数据包从一个网站向另一个网络传送的过程中允许或阻止它们的

    数据包过滤(packet filtering)是一个用软件或硬件设备对向网络上传或从网络下载的数据流进行有选择的控制过程。数据包过滤器通常是在将数据包从一个网站向另一个网络传送的过程中允许或阻止它们的通过(更为常见的是在从英特网向内部网络传输数据时,或从内部网络向英特网传输)。数据包过滤类防火墙对所有通过它进出的数据包进行检查,并阻止那些不符合既定规则数据包的传输。

    标签: filtering packet 数据包 网络

    上传时间: 2013-12-31

    上传用户:qlpqlq

  • 用软件模拟SPI总线

    用软件模拟SPI总线,已通过测试。大家只要改到一下管脚配置就可放心用。

    标签: SPI 软件模拟 总线

    上传时间: 2017-08-03

    上传用户:weixiao99

  • 在单片机上实现长时间精确计时。用软件实现调节时钟计时

    在单片机上实现长时间精确计时。用软件实现调节时钟计时,以保证长时间计时的准确性。该程序是一个显示在一个双行LCD显示屏上的数字时钟,显示格式为DD HH:MM:SS,其长时间准确计时可以为控制系统准确控制提供保障。类似的计算调整方法可以应用到任何独立计时的单片机系统中。

    标签: 计时 单片机 时钟 软件实现

    上传时间: 2014-10-09

    上传用户:zaizaibang

  • 汽车EPS用无刷直流电动机及其控制系统的设计.rar

    由于电动助力转向(EPS)系统具有高性能、高效率、低成本、节能环保等优点,随着汽车电子技术的发展,电动助力转向技术逐渐取代传统的液压助力转向(HPS),成为转向助力技术的主流。 @@ 本文在详细了解EPS系统性能要求和工作原理的基础上,对各种已有的EPS助力电机进行了总结和比较。对比结果表明,无刷直流电机(BLDC)凭借其显著的优点,成为EPS助力电机的较优选择。 @@ 无刷直流电机作为一种由电动机本体和驱动器组成的机电一体化产品,与传统的直流电机一样,具有良好的起动和调速性能,并且由于用电子换向取代了机械换向,不存在传统直流电机的换向火花和机械噪声,在许多性能要求比较高的场合已得到普遍应用。随着电力电子技术、计算机技术的发展,其应用范围还在进一步扩展。然而,BLDC电机作为EPS系统的助力电机也并非全无缺点。永磁电机中固有的齿槽转矩的存在,以及由于采用120°换向工作模式造成的转矩波动,都会严重影响EPS系统的操控性能。 @@ 本课题针对无刷直流电机在汽车电动助力转向系统中的应用,根据EPS系统对助力电机的要求,设计了一台转向助力用永磁无刷直流电动机,并使用有限元方法对电机性能进行了分析。为了反映参数变化对电机性能的影响,从而为电机的设计提供指导,我们还用场路耦合的解析算法对电机性能进行了分析。在分析结果的基础上,对永磁电机中的齿槽转矩进行了研究,并针对样机提出了齿槽转矩的削弱方法,然后使用三维有限元的方式对所提出的方法进行了仿真验证。 @@ 根据EPS系统的工作原理,探讨了助力电机的控制策略,并设计了带传感器的无刷直流电机的控制系统。分别完成控制系统硬件和软件的设计,并进行了相关实验,结果表明基本达到了设计的目标。 @@关键词:EPS、无刷直流电机、电机设计与优化、有限元、控制器设计

    标签: EPS 汽车 无刷直流电动机

    上传时间: 2013-07-29

    上传用户:cx111111

  • 电动机构用稀土永磁无刷直流电动机控制系统研究

    该文着重研究了稀土永磁(REPM)无刷直流电动机(BLDCM)的高性能控制技术.在全面分析了稀土永磁无刷直流电动机的结构特点、工作原理、运行方式以及外部特性的基础上,通过系统建模和数字仿真分析,分别针对航空低压直流(LVDC)和高压直流(HVDC)两种电动机构用永磁无刷电动机,在小范围转速连续调节下的闭环稳速控制技术进行了详细理论研究,提出了利用转子位置传感器信号间接测量电机转速进行电机转速闭环稳速控制的策略.同时就两套无刷直流电动机控制器的硬件电路和软件程序问题进行了重点工程设计,采用了高性能的AT89C2051和AT89C51单片机作为微处理器,用数字软件技术对电机进行调速和转速闭环控制,使电机在一定范围内能够进行精确调速和速度稳定控制.通过优化设计、软硬件结合,实现了控制器小型化,提高了控制器可靠性,减小了体积与重量.永磁无刷直流电动机控制器样机的测试结果表明:电机转速可在要求范围内连续调节,在几乎三倍的额定转矩范围内,电机转速在设定值下可保持高于指标精度的稳定工作,控制器之间通用性强、散热可靠.

    标签: 电动 机构 无刷直流电动机 控制

    上传时间: 2013-07-03

    上传用户:chens000

  • 用单片机AT89C51改造普通双桶洗衣机

    用单片机AT89C51改造普通双桶洗衣机:AT89C2051作为AT89C51的简化版虽然去掉了P0、P2等端口,使I/O口减少了,但是却增加了一个电压比较器,因此其功能在某些方面反而有所增强,如能用来处理模拟量、进行简单的模数转换等。本文利用这一功能设计了一个数字电容表,可测量容量小于2微法的电容器的容量,采用3位半数字显示,最大显示值为1999,读数单位统一采用毫微法(nf),量程分四档,读数分别乘以相应的倍率。电路工作原理  本数字电容表以电容器的充电规律作为测量依据,测试原理见图1。电源电路图。 压E+经电阻R给被测电容CX充电,CX两端原电压随充电时间的增加而上升。当充电时间t等于RC时间常数τ时,CX两端电压约为电源电压的63.2%,即0.632E+。数字电容表就是以该电压作为测试基准电压,测量电容器充电达到该电压的时间,便能知道电容器的容量。例如,设电阻R的阻值为1千欧,CX两端电压上升到0.632E+所需的时间为1毫秒,那么由公式τ=RC可知CX的容量为1微法。  测量电路如图2所示。A为AT89C2051内部构造的电压比较器,AT89C2051 图2 的P1.0和P1.1口除了作I/O口外,还有一个功能是作为电压比较器的输入端,P1.0为同相输入端,P1.1为反相输入端,电压比较器的比较结果存入P3.6口对应的寄存器,P3.6口在AT89C2051外部无引脚。电压比较器的基准电压设定为0.632E+,在CX两端电压从0升到0.632E+的过程中,P3.6口输出为0,当电池电压CX两端电压一旦超过0.632E+时,P3.6口输出变为1。以P3.6口的输出电平为依据,用AT89C2051内部的定时器T0对充电时间进行计数,再将计数结果显示出来即得出测量结果。整机电路见图3。电路由单片机电路、电容充电测量电路和数码显示电路等 图3 部分组成。AT89C2051内部的电压比较器和电阻R2-R7等组成测量电路,其中R2-R5为量程电阻,由波段开关S1选择使用,电压比较器的基准电压由5V电源电压经R6、RP1、R7分压后得到,调节RP1可调整基准电压。当P1.2口在程序的控制下输出高电平时,电容CX即开始充电。量程电阻R2-R5每档以10倍递减,故每档显示读数以10倍递增。由于单片机内部P1.2口的上拉电阻经实测约为200K,其输出电平不能作为充电电压用,故用R5兼作其上拉电阻,由于其它三个充电电阻和R5是串联关系,因此R2、R3、R4应由标准值减去1K,分别为999K、99K、9K。由于999K和1M相对误差较小,所以R2还是取1M。数码管DS1-DS4、电阻R8-R14等组成数码显示电路。本机采用动态扫描显示的方式,用软件对字形码译码。P3.0-P3.5、P3.7口作数码显示七段笔划字形码的输出,P1.3-P1.6口作四个数码管的动态扫描位驱动码输出。这里采用了共阴数码管,由于AT89C2051的P1.3-P1.6口有25mA的下拉电流能力,所以不用三极管就能驱动数码管。R8-R14为P3.0-P3.5、P3.7口的上拉电阻,用以驱动数码管的各字段,当P3的某一端口输出低电平时其对应的字段笔划不点亮,而当其输出高电平时,则对应的上拉电阻即能点亮相应的字段笔划。

    标签: 89C C51 AT 89

    上传时间: 2013-12-31

    上传用户:ming529

  • MCS51系列单片机软件控制复位的可靠方法

    MCS51系列单片机软件控制复位的可靠方法:文章指出了一种广泛流传的误解:在MCS-51系列单片机中,只要用指令使程序从起始地址开始执行,就可以复位单片机,摆脱干扰。通过实验,揭示了软件控制复位的可靠方法。有的单片机(如8098)有专门的复位指令,某些增强型MCS-51系统单片机虽然没有复位指令,但片内集成了WATCHDOG电路,故抗干扰也不成问题。而普及型MCS-51系列单片机(如8031和8032)既然无复位指令,又不带硬件WATCHDOS,如果没有外接硬件WATCHDOG电路,就必须采用软件抗干扰技术。常用的软件抗干扰技术有:软件陷阱、指令冗余、软件WATCHDOG等,它们的作用是在系统受干扰时能及时发现,再用软件的方法使系统复位。所谓软件复位就是用一系列指令来模仿复位操作,这就是MCS-51系列单片机所特有的软件复位技术。现用一简单的实验说明。接于P1.0的发光二极管LED0用来表示主程序的工作情况,接于P1.1的发光二极管LED1用于表示低级中断子程序的工作情况,接于P1.2的发光二极管LED2用来表示高级中断子程序的工作情况,接于P3.2口的按钮用来设立干扰标志,程序检测到干扰标志后故意进入死循环或掉进陷井,模仿受干扰的情况,从而检验各种复位方法的实际效果。实验初始化程序如下:

    标签: MCS 51 单片机 软件控制

    上传时间: 2013-11-03

    上传用户:sevenbestfei

  • HT48&HT46 MCU用软件执行I2C总线的控制功能的方

    I2C 总线包括了两条串行总线(时钟线SCL 和数据线SDA),通过这两条总线能实现多个芯片之间的通信。在互相连接的芯片中,至少有一个芯片作为总线控制器,而其它芯片则作为从控制器。在本应用说明中,介绍了用Holtek 的八位RISC 结构的单片机作为单总线控制器的软件实现的方法。在本文的示例中,采用了一片EEPROM(型号HT24LC02,2Kbit)作为从控制器参与测试。电路说明:HT24LC02 的A0、A1、A2、VSS、WP 引脚接地,VCC 接+5V,SCL 接PA3,SDA 接PA2使用说明:例程中先向eeprom 中写数据,写完后,再将eeprom 中内容读出来,并将读出数据进行比较,若数据不相等程序跳到fail_out 中;若相等,最后程序跳到ok_end 中。本说明中提供了一个源文件OP_HT24.ASM 和一个包含文件HT24.ASM。在应用时,要将OP_HT24.ASM 文件添加到用户的project 中,并修改HT24.INC 文件中的变量设置,以建立SCL/SDA引脚来与用户的应用电路相匹配。

    标签: HT MCU I2C 48

    上传时间: 2013-10-19

    上传用户:ming52900

  • Arduino学习笔记4_Arduino软件模拟PWM

    注:1.这篇文章断断续续写了很久,画图技术也不精,难免错漏,大家凑合看.有问题可以留言.      2.论坛排版把我的代码缩进全弄没了,大家将代码粘贴到arduino编译器,然后按ctrl+T重新格式化代码格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脉宽调制波,通过调整输出信号占空比,从而达到改 变输出平均电压的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 个8 位精度PWM 引脚,分别是3, 5, 6, 9, 10, 11 脚。我们可以使用analogWrite()控 制PWM 脚输出频率大概在500Hz 的左右的PWM 调制波。分辨率8 位即2 的8 次方等于 256 级精度。但是有时候我们会觉得6 个PWM 引脚不够用。比如我们做一个10 路灯调光, 就需要有10 个PWM 脚。Arduino Duemilanove 2009 有13 个数字输出脚,如果它们都可以 PWM 的话,就能满足条件了。于是本文介绍用软件模拟PWM。 二、Arduino 软件模拟PWM Arduino PWM 调压原理:PWM 有好几种方法。而Arduino 因为电源和实现难度限制,一般 使用周期恒定,占空比变化的单极性PWM。 通过调整一个周期里面输出脚高/低电平的时间比(即是占空比)去获得给一个用电器不同 的平均功率。 如图所示,假设PWM 波形周期1ms(即1kHz),分辨率1000 级。那么需要一个信号时间 精度1ms/1000=1us 的信号源,即1MHz。所以说,PWM 的实现难点在于需要使用很高频的 信号源,才能获得快速与高精度。下面先由一个简单的PWM 程序开始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 这是一个软件PWM 控制Arduino D13 引脚的例子。只需要一块Arduino 即可测试此代码。 程序解析:由for 循环可以看出,完成一个PWM 周期,共循环255 次。 假设bright=100 时候,在第0~100 次循环中,i 等于1 到99 均小于bright,于是输出PWMPin 高电平; 然后第100 到255 次循环里面,i 等于100~255 大于bright,于是输出PWMPin 低电平。无 论输出高低电平都保持30us。 那么说,如果bright=100 的话,就有100 次循环是高电平,155 次循环是低电平。 如果忽略指令执行时间的话,这次的PWM 波形占空比为100/255,如果调整bright 的值, 就能改变接在D13 的LED 的亮度。 这里设置了每次for 循环之后,将bright 加一,并且当bright 加到255 时归0。所以,我们 看到的最终效果就是LED 慢慢变亮,到顶之后然后突然暗回去重新变亮。 这是最基本的PWM 方法,也应该是大家想的比较多的想法。 然后介绍一个简单一点的。思维风格完全不同。不过对于驱动一个LED 来说,效果与上面 的程序一样。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,这段代码少了一个For 循环。它先输出一个高电平,然后维持(bright*30)us。然 后输出一个低电平,维持时间((255-bright)*30)us。这样两次高低就能完成一个PWM 周期。 分辨率也是255。 三、多引脚PWM Arduino 本身已有PWM 引脚并且运行起来不占CPU 时间,所以软件模拟一个引脚的PWM 完全没有实用意义。我们软件模拟的价值在于:他能将任意的数字IO 口变成PWM 引脚。 当一片Arduino 要同时控制多个PWM,并且没有其他重任务的时候,就要用软件PWM 了。 多引脚PWM 有一种下面的方式: int brights[14] = {0}; //定义14个引脚的初始亮度,可以随意设置 int StartPWMPin = 0, EndPWMPin = 13; //设置D0~D13为PWM 引脚 int PWMResolution = 255; //设置PWM 占空比分辨率 void setup() { //定义所有IO 端输出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //随便定义个初始亮度,便于观察 brights[ i ] = random(0, 255); } } void loop() { //这for 循环是为14盏灯做渐亮的。每次Arduino loop()循环, //brights 自增一次。直到brights=255时候,将brights 置零重新计数。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是计数一个PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每个PWM 周期均遍历所有引脚 { if(i < brights[j])\   所以我们要更改PWM 周期的话,我们将精度(代码里面的变量:PWMResolution)降低就行,比如一般调整LED 亮度的话,我们用64 级精度就行。这样速度就是2x32x64=4ms。就不会闪了。

    标签: Arduino PWM 软件模拟

    上传时间: 2013-10-08

    上传用户:dingdingcandy