背景音乐

我的音乐

00:00 | 00:00

公告

2011-03-17 09:22:13
美国电子工业协会定义了一个标准电阻值系统,这个系统是在上个世纪定义的,那个时候电阻都还是碳膜工艺的,精度非常低。为了理解电阻值系统,拿10%精度的电阻来说,如果第一个电阻值是100Ω,就没有必要做105Ω的,因为100Ω的电阻精度是90到110Ω,所以第二个有意义的电阻值是120Ω,阻值精度范围从110Ω到130Ω。用这种方式类推从100Ω到1000Ω的电阻值是100, 120, 150, 180, 220, 270, 330等,这就是EIA定义的E12系列的电阻值。有人可能问为什么不是象100, 120, 140, 160, 180, 200这样的呢?实际上电阻值是按照下面的公式算出来的..
类别:未分类|阅读(5)|回复(0)|(0)阅读全文>>
2010-11-14 13:16:49

一、PWM实现AD
利用普通单片机的2个IO及一个运算放大器即可实现AD转换电路,而且很容易扩展成多通道。其占用资源少,成本低,AD转换精度可以达到8位甚至更高,因此具有一定的实用价值。 201009302321168828                                                             图1
1.1 硬件电路说明
图一中“RA0”和“RA1”为单片机的两个I/O脚,分别将其设置为输出与输入状态,在进行A/D转换时,在程序中通过软件产生PWM,由RA0脚送出预设占空比的PWM波形。RA1脚用于检测比较器输出端的状态。
R1、C1构成滤波电路,对RA0脚送出的PWM波形进行平滑滤波。RA0输出的PWM波形经过R1、C1滤波并延时后,在U1点产生稳定的电压值,其电压值U1=VDD*D1/(D1+D2),若单片机的工作电压为稳定的+5V,则U1=5V*D1/(D1+D2)。
图一中的LM324作为比较器使用,其输入负端的U1电压与输入正端的模拟量电压值进行比较,当U1大于模拟量输入电压时,比较器的输出端为低电平,反之为高电平。
1.2 AD转换过程
如果使RA0输出PWM波形,其占空比由小到大逐渐变化,则U1的电压会由小到大逐渐变化,当U1电压超过被测电压时,比较器的输出端由高电平变为低电平,因此可以认为在该变化的瞬间被测的模拟量与U1的电压相等。
由于U1的电压值=VDD*D1/(D1+D2),当VDD固定时,其电压值取决于PWM波形的占空比,而PWM的占空比由单片机软件内部用于控制PWM输出的寄存器值决定,若软件中用1个8位寄存器A来存放RA0输出的PWM的占空比值D1,因此在RA1检测到由“1”变为“0”的瞬间,A寄存器的值D1即为被测电压的A/D转换值,其A/D转换结果为8位。如果用16位寄存器来作输出PWM的占空比,则A/D转换值可达到16位。
1.3如何减少AD转换的误差
AD转换的误差主要由以下几个方面决定,分别说明如下:
(1)单片机的电源电压VDD:在该A/D转换中,VDD电压是造成A/D转换误差的主要原因,如果使VDD电压精度做到较高,则A/D转换误差可以做到很小,在VDD电压精度为0.5%情况下,实际的A/D转换误差小于1%。
(2)软件产生的PWM占空比:若用于产生PWM的软件设计不良,会使存放占空比的寄存器值与实际输出的PWM占空比不一致,这会导致测量误差。
(3)比较器输入端的失调电压:该电压对A/D转换精度有一定影响,但影响较小。
(4)RC滤波电路的纹波:在R1、C1取值不当的情况下,U1处的电压纹波较大,并且延时时间不够,会使A/D转换产生误差,因此R1、C1取值不能太小,但太大又会影响A/D转换速度,推荐使用图一中所示的R1、C1参数,在纹波合理的情况下,其转换误差也可通过软件消除。
AD转换误差的解决办法:
(1)对VDD造成的误差,只能通过提高VDD电压精度来解决,它相当于A/D转换的基准电压。
(2)对于软件中PWM设计不良导致的误差,可修改软件进行解决。
(3)对比较器及RC滤波电路的纹波导致的误差,在软件中可通过上、下检测法进行消除,即先将PWM的占空比由小到大变化,使U1电压由低往高逐渐变化,在比较器输出端变化时记录其A/D转换值,再将PWM的占空比由大到小变化,使U1电压由高到低变化,在比较器输出端变化时记录其A/D转换值,将两次的A/D转换值进行平均,可有效地消除这两种误差。
(4)对A/D转换值进行数字滤波,如多次转换求平均值等。数字滤波消除误差的方法很多,在此不再赘述。
1.4 如何提高AD转换的速度
由于该A/D转换是通过PWM滤波后再进行比较来完成的,其PWM的产生与滤波都需要一定的时间,因此其A/D转换速度较慢,适用于对A/D转换速度要求不高的产品中,其A/D转换速度取决于以下几个方面:
(1)单片机的运行速度:单片机的运行速度越高则PWM的频率可以越高, RC值就可以取得越小,其延时时间也可以更短,转换速度就更快。
(2)被测电压值的大小:由于U1电压时是由小到大逐渐加大的,当被测电压值较小时,U1电压上升到相应值的时间就越短,完成A/D转换的速度就越快。
(3)初始占空比:初始占空比越高,U1电压较大,其上升到被测电压值的时间也就会越短,完成A/D转换的速度也就越快。
由上所述,A/D转换的速度可以通过提高单片机的工作频率,并在预知被测电压范围时尽可能地设置较高的初始占空比值来加快转换速度,如果所要求的A/D转换精度要求不高,还可以在软件中缩短PWM输出的延时时间来提高A/D转换速度。若单片机带有外部电平变换中断和定时器中断,其A/D转换的精度和速度还可以得到提高。
二、PWM实现DA
利用同样的原理,可使该电路很容易的只用单片机的一个I/O脚实现D/A转换功能。其输出的模拟量电压Vout=VDD*D1/(D1+D2)。该输出电压带有纹波,当RC值足够大时,该纹波值几乎为零,可忽略不计。如图2所示。 201009302321447827                                                                   图2
为进一步减小纹波,可使用两级RC滤波。
此处LM324作为一个跟随器,提高电路的负载能力。
本文出自: 鸟的天空, 原文地址: http://www.xjtudll.cn/Exp/143/[/img]..
类别:未分类|阅读(33)|回复(0)|(0)阅读全文>>
2010-10-26 16:33:51
Btrfs 简介 文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext2/3,ext 文件系统以其卓越的稳定性成为了事实上的 Linux 标准文件系统。近年来 ext2/3 暴露出了一些扩展性问题,于是便催生了 ext4 。在 2008 年发布的 Linux2.6.19 内核中集成了 ext4 的 dev 版本。 2.6.28 内核发布时,ext4 结束了开发版,开始接受用户的使用。似乎 ext 就将成为 Linux 文件系统的代名词。然而当您阅读很多有关 ext4 的文章时,会发现都不约而同地提到了 btrfs,并认为 ext4 将是一个过渡的文件系统。 ext4 的作者 Theodore Tso 也盛赞 b..
类别:未分类|阅读(162)|回复(0)|(0)阅读全文>>
2010-10-13 15:35:34
LFC2  高增益运算放大器
LFC3  中增益运算放大器
LFC4  低功耗运算放大器
LFC54  低功耗运算放大器  
LFC75  低功耗运算放大器  
F003  通用Ⅱ型运算放大器  
F004(5G23)  中增益运算放大器  
F005  中增益运算放大器  
F006  通用Ⅱ型运算放大器  
F007(5G24)  通用Ⅲ型运算放大器  
F010  低功耗运算放大器  
F011  低功耗运算放大器  
F1550  ..
类别:未分类|阅读(34)|回复(0)|(0)阅读全文>>
2010-10-08 12:21:22
在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一种被称为栈的数据结构来支持参数传递。 栈是一种先进后出的数据结构,栈有一个存储区、..
类别:未分类|阅读(18)|回复(0)|(0)阅读全文>>
VS2008中文版及SP1、MSDN的MD5及SHA1值 VS2008太大了,有4.3G,微软官方提供了Team Suite的90天试用版,共分七个压缩分卷。我是下载了2天才下完。考虑到网络问题,如果要是哪个文件下载中损坏了,重新下一遍肯定是非常郁闷和痛苦的。因此这里放出各个文件的MD5及SHA1值。后面还附有Service Pack 1及 MSDN for VS2008+SP1的MD5和SHA1值。 VS2008CHS的7个压缩包
文件: VS2008TeamSuite90DayTrialCHSX1429243.part1.exe
大小: 734003200 字节
MD5: D0EB78D9CAC1A5B25A84C939474F16EC
SHA1: 420F21D7935C9733B47F8CF..
类别:未分类|阅读(71)|回复(0)|(0)阅读全文>>
2010-02-04 13:42:49
EditPlus 快捷键 文件
FileFtpUpload       Ctrl+Shift+S       上传文件到 FTP 服务器
FileNew           Ctrl+N           新建普通的文本文档
FileNewHtml       Ctrl+Shift+N       创建一个空白的 HTML 页面
FileNewBrowser     Ctrl+Shif..
类别:未分类|阅读(37)|回复(0)|(0)阅读全文>>
2009-12-31 13:48:25
控制台
先把控制台的中文弄出来吧。虽然选择很多,不过我还是喜欢cce,安装使用都很简单,运行cce,出中文了。祭起lynx四处转了一圈,工作正常。
X
X要出中文就简单多了。到/etc/profile里把export LC_ALL=POSIX改成
export LC_ALL=
export LC_LANG=zh_CN.GB2312
然后startx,果然已经有些中文字了。
然后改/etc/X11/XF86Config,加上
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Op..
类别:未分类|阅读(97)|回复(0)|(0)阅读全文>>
2009-12-29 20:35:53
安装Xorg:
1、在终端执行sysinstall。
2、将FreeBSD 安装光盘Disk1放入光驱中。
3、依次选择Configure->;Packages->CD/DVD->All->XOrg-7.3.1。
4、选择OK。
5、选择Install。
6、测试新生成的xorg.conf.new配置文件。
    #Xorg -config xorg.conf.new
    如果看到一个黑灰的格子和一个X形的鼠标指针,那么配置就是成功的。如果要退出测试,只要同时键入Ctrl+Alt+Backspace。如果鼠标工作不正常,则需要先配置它。
安装KDE:
仅仅..
类别:未分类|阅读(151)|回复(0)|(0)阅读全文>>
2009-12-28 10:10:38
原著:Joseph M. Newcomer
翻译:littleloach 原文出处:codeproject:CString Management
通过阅读本文你可以学习如何有效地使用 CString。
CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。
使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手册,但囊括了大部分常见基本问题。
这篇文章包..
类别:未分类|阅读(39)|回复(0)|(0)阅读全文>>
2009-12-09 21:20:19
1. -c     编译产生对象文件(*.obj)而不链接成可执行文件,当编译几个独立的模块,而待以后由链接程序把它们链接在一起时,就可以使用这个选项,如:
             $cc -c hello.c ===> hello.o
             $cc hello.o
2. -o     允许用户指定输出文件名,如
            $cc hello...
类别:未分类|阅读(168)|回复(0)|(0)阅读全文>>

【简介】
    当ctags使用ctags -R的命令,总是只能打出c的tag,但是c++的tag不能打出来,
    所以用<C-P>,<C-x><C-o>,不太好使。
    所以需要用到vim插件,omnicppcomplete(需要vim7.1以上)。
【omnicppcomplete下载地址】
    omnicppcomplete: http://www.vim.org/scripts/script.php?script_id=1520(new-omni-completion(全能补全))
【安装方法】
    install details
  ..
类别:未分类|阅读(2707)|回复(0)|(0)阅读全文>>
一、VIM的历史 1976年左右Bill Joy开发了vi,他也是伯克利大学的毕业生,后来他跟其他人一起成立了Sun Microsystems公司并成为了Sun的首席科学家。一开始Bill开发了ex,尔后开发了vi作为ex的visual interface,也就是说vi允许一次能看到一屏的文本而非一行,vi也因此得名。 “早期,当键盘和视频终端成为最新的计算机交互手段时,人们开发了VI。那时候的键盘不具有目前熟悉的全部功能键,所以,VI就设计成只需要打字机的键盘加上退出键就能完成对文本的输入和修改(现在有的还接受一些其他的键输入方式,如光标控制键)。尽管看起来..
类别:未分类|阅读(398)|回复(0)|(0)阅读全文>>
2009-11-23 16:40:34
以前研究Windows的基本概念时,我就知道它有一个POSIX子系统,可以在Windows下编译运行使用了POSIX库的程序。但这一直停留在书本概念层面,直到昨天看到Jeep同学的Windows系统上安装了一个Subsystem for UNIX-based Applications时,我便决定也安装试用一下。
有关Windows的POSIX子系统是什么、怎么用的问题,可以参考Wikipedia或Microsoft TechNet [英文][中文]上的介绍。它历经了NT时代的Microsoft POSIX subsystem、XP/2000时代的Microsoft Windows Services for UNIX (SFU)以及2003 R2/Vista/2008时代的Subsystem for UNIX-ba..
类别:未分类|阅读(220)|回复(0)|(0)阅读全文>>
分类:VIM/text 转载:水木社区VIM版版友推荐插件列表(06年12月)
http://www.newsmth.net/bbscon.php?bid=731&id=24898&ftype=11
-----------------------------------------------------------------------
BufExplorer  Taglist  latex-suite  word_complete  Sketch
DrawIt  Mark  SearchComplete  vcscommand  switchtags
ccal.rb  viki  NERD_tree  fencview  matrix
taglis  Tetris  BlockComment ..
类别:未分类|阅读(127)|回复(0)|(0)阅读全文>>
2009-11-21 20:34:07
VIM 插件一般安装在 5 个地方, 存放插件的路径都列在“runtimepath”选项中,我们可以使用 set 命令查看它:
:set runtimepath?
一般来说显示结果如下:
runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/
vim71,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
Unix 下的 $HOME/.vim 或 Windows 下的
[url=http://edyfox.codecarver.org/html/win_homedir.html][color=#0000ff]%HOME%[/color][/url]
/vimfiles是存储用户自定义脚本及插件。 该目..
类别:未分类|阅读(1857)|回复(0)|(0)阅读全文>>
2009-11-21 19:15:03
普通人的编辑利器——VIM (for windows) 2007年03月21日 星期三 下午 04:43 FROM linxuelin
2005年5月,我开始用VIM。此后渐入佳境,原来因版权自律而放弃盗版UltraEdit的遗憾一扫而空。并且,从VIM我才体会到,什么才是真正的编辑利器。在善用佳软或其他论坛发文,我都是先在VIM中输入,并方便高效地编辑好格式,再贴到网上。而我的通讯录、记事、读书笔记、工作 记 录也是在VIM中完成的。包括一些文档、数据的处理,让VIM过一下,也会提高不少效率。一句话,自用VIM以来,对它迷恋日深,几乎要超过 Total Commander。但是,正..
类别:未分类|阅读(1185)|回复(0)|(1)阅读全文>>
2009-11-18 10:32:32
首先,低价位的组装车考虑的第一点不是绝对的轻量化,而是适用和耐用,同时我也相信同价位的组装车不一定就能做的更轻。一味做的比组装车零件高档是没有必要的,但是组装车的优势就是自选配件,按照自己的需要来进行装配——
车架
组装车的第一步都是选择合适自己的车架,车架的正确选择,首先奠定了这辆车子是否能够给骑手带来最佳的骑行姿势,这直接影响到车手的骑行。按照体重和身高,我们有很多很多可选的配件,一般体重大的人,不一定能够适用十分轻量化的车架,甚至BIGCAT的车架也有建议使用的重量。如果您超..
类别:未分类|阅读(75)|回复(0)|(0)阅读全文>>
2009-11-11 10:53:45
Chapter 1 项目管理概述
1. 项目是指一种一次性的复合任务,具有明确的开始时间、明确的结束时间、明确的 规模与预算,通常还有一个临时性的项目组;
2. 项目就是定好时间解决问题;
3. 过程总是决定任务的成败;
4. 项目管理就是组织实施对实现项目目标所需的一切活动的计划、安排与控制;
5. 四个项目约束条件:
l P=性能要求,技术与功能方面;
C=工作的劳动力成本;l
T=项目要求的时间;l
l S=工作的规模与大小;
6. 原则:你只能决定这些约束中的三个,第四个将有事物本身的联..
类别:未分类|阅读(39)|回复(0)|(0)阅读全文>>
2009-11-10 16:02:56
TD AT 随E行
类别:未分类|阅读(253)|回复(1)|(1)阅读全文>>
 <<   1   2   >>   页数 ( 1/2 )