附件为NE555电路智能设计软件,是以NE555芯片为核心,设计出不同的智能控制电路的软件。 NE555为8脚时基集成电路, 各脚主要功能(集成块图在下面) 1地GND 2触发 3输出 4复位 5控制电压 6门限(阈值) 7放电 8电源电压Vcc 应用十分广泛,可装如下几种电路: 1。单稳类电路作用: 定延时,消抖动,分(倍)频,脉冲输出,速率检测等。 2。双稳类电路作用: 比较器,锁存器,反相器,方波输出及整形等。 3。无稳类电路作用: 方波输出,电源变换,音响报警,玩具,电控测量,定时等。 我们知道,555电路在应用和工作方式上一般可归纳为3类。每类工作方式又有很多个不同的电路。在实际应用中,除了单一品种的电路外,还可组合出很多不同电路,如:多个单稳、多个双稳、单稳和无稳,双稳和无稳的组合等。这样一来,电路变的更加复杂。为了便于我们分析和识别电路,更好的理解555电路,这里我们这里按555电路的结构特点进行分类和归纳,把555电路分为3大类、8种、共18个单元电路。每个电路除画出它的标准图型,指出他们的结构特点或识别方法外,还给出了计算公式和他们的用途。方便大家识别、分析555电路。下面将分别介绍这3类电路
上传时间: 2013-10-23
上传用户:qimingxing130
注: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。就不会闪了。
上传时间: 2013-10-08
上传用户:dingdingcandy
首先简要温度传感器铂电阻PT100的特性以及测温的方法,在此基础上阐述基于PT100的温度测量系统设计,包括硬件与软件。采用C8051F41单片机,OP07放大器,铂电阻PT100及4位数码管组成系统,C语言编程。
上传时间: 2013-10-17
上传用户:bqc1245824354
近年来电脑虚拟仪器的发展很快。在飞速发展的计算机技术支持下,“软件即仪器”的理念得到了充分的发挥。计算机加软件配合合适的AD/DA界面和传感器/控制器,就可以完成形形色色的传统仪器的所有功能,应用领域遍及现代科技的各个方面,大有星火燎原之势。而且由于其成本较低,升级容易换代快,维护简单,特别是数据的采集、分析、管理做到了智能化,大大提高了工作效率,在科研、计量、工控、自控等应用上特别受青睐,发展势头已将传统仪器远远抛在了后面,并将持续下去。但是一般的虚拟仪器对于普通电子爱好者来说仍然是太昂贵了,而且由于通用的虚拟仪器要考虑高速信号,往往采用高速低分辨率的AD/DA芯片,一般分辨率只能达到8至12位,这对于电子爱好者常用的音频领域恰恰不够精确。在现代多媒体电脑上,声卡已经成为一个必不可少的重要组成部分,它给我们提供了丰富多彩的视听娱乐和有声交流功能,使“多媒体”的名称名副其实。但是你是否知道,利用声卡高精度的AD/DA变换界面,加上合适的软件,就可以构成功能十分强大的音频(超音频)虚拟仪器呢?并且,如果使用足够好的声卡,配合比较简单的扩展设备和传声器/放大器,再选用本文介绍的软件,将是目前音频虚拟仪器的最强、最佳选择。限于篇幅和时间,本文主要介绍一些原则性的测试方法,期望起到抛砖引玉的作用,给有兴趣的爱好者引个路。具体的应用还需要大家不断学习、探索,详细的软件应用方法将在2004年《无线电》杂志以及本站连续刊登介绍。1.声卡的选择声卡担负着模拟信号进出大门的重任,其性能如何,对虚拟仪器的精度有着最直接的影响,因此选择合适的声卡是非常有必要的。从分辨率看,一般电脑多媒体声卡为16位,取样频率为44.1/48KHz,而现在的主流中高档声卡大多具备了96KHz/24bit的取样精度,好的专业声卡甚至能达到输入/输出兼备的192KHz/24bit取样精度。从音频处理的技术指标看,许多质量良好的廉价声卡已经超越了一般模拟仪器,而高档的专业声卡更是具有极其优异的指标。这也不奇怪,因为专业声卡本身就是为专业的录音、监听、音频处理而设计的,是音频传播的门槛,理应具有良好的素质。例如,顶级的专业声卡频率响应可以从几Hz平坦地延伸到数十KHz至接近100 KHz,波动在正负0.1dB以下,噪声水平在-110dB以下,动态范围大于110dB,总谐波失真和互调失真远小于万分之一,通道分离度能达到100dB……这样的声卡已经超越了绝大多数模拟设备的指标,足以应付最苛刻的应用要求,也足以胜任高精度电脑音频虚拟仪器的要求,乃至于数十KHz的超声波研究。当然了,顶级的专业声卡价格昂贵,一般相当于一套主流电脑的价格,大多数业余爱好者不能或不愿承受,但比起模拟测试仪器来说还是便宜很多,而且软件升级没有限制。不过近来电脑音频设备市场看好,许多专业声卡厂家推出了“准专业”声卡进军多媒体市场,素质良好,支持多声道,价格也便宜很多,用途广泛,很适合业余爱好者选用。如果再“抠门”一点,精选百元级优质声卡也是可以应付一般的声学测量的,因为我们知道声学测量的瓶颈一般在于传声器而不是电路。当然这时最好对声卡模拟电路进行“打摩”如更换运放和输出电容等,以得到更好的效果。介绍一些具体的声卡品牌。顶级声卡首选Lynx Two/Lynx 22,据笔者所知是目前世界上指标最优秀的声卡,价格一千美元左右。类似的其它专业声卡有RME,比Lynx还贵(主要因为支持的声道数多)。另外如果单为测试用,一些专业的测试用AD/DA界面设备也可用(例如Sound Technology公司的产品),不过可能更昂贵,而且功能少,指标也未必更强,但好处是可以找到USB接口型的,可配合笔记本电脑使用。这类声卡可以进行精确的电路测试,如作为其它声卡、碟机、功放等设备的输入输出参考标准进行测量,声学测试更是不在话下。
上传时间: 2013-10-13
上传用户:zhengjian
注: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。就不会闪了。
上传时间: 2013-10-23
上传用户:mqien
请使用Mobile FBUS——用来创建与NOKIA手机连接的软件的理想解决方案!功能包括:发送SMS,管理待机画面,使用情况监控,存取电话本等等等等。这些控件的功能基本没有限制,可以充分展示Mobile FBUS DELPHI版的特性。它包括一个图标编辑器,允许你上传铃声,发送SMS等等。未注册时会有提示屏幕出现。适用语言:D4 D5
上传时间: 2013-12-25
上传用户:Andy123456
TOxygenSMS控件允许你发送接受文本和图片消息,读写缺省的SMS中心号码,获得保存的信息总数和统计它们的位置,从SMS收件箱中读取和删除信息。可以获得手机的IMEI,型号的软件和硬件版本和日期,电池容量和信号强度。该控件几乎适用于所有的NOKIA GSM手机:3210,3310,5110,5130,,5190,6110,6130,6150,6190,6210,6250,7110,7190,8210,8250,8290,8810,8850和 8890. 未注册时带提示屏幕。包含EXE演示。适用语言:CB4 CB5 D3 D4 D5 D6
标签: TOxygenSMS 控件 发送
上传时间: 2015-01-05
上传用户:shus521
此软件应用了桌面表单,自定义菜单,常用工具条,数据表加密,TREE等控件技术。新学者可以借鉴。人性与个性化的界面设计,嘿嘿,还真值得一看
上传时间: 2015-01-18
上传用户:远远ssad
一个日程管理和通讯录管理的软件,采用的Access数据库,其中用到了三个自已写的三个控件:无售点按钮(NFButton.ocx)、带图片的按钮(ImageButton.ocx)、改进的日历控件(GoldSealCanlendar.ocx)。
上传时间: 2013-12-14
上传用户:标点符号
pdu编码的软件源代码,其中还包含了中文的部分,核心代码不多,控件有第三方控件,大家看懂就可以随便编写了!
上传时间: 2014-01-02
上传用户:maizezhen