点击文档标签更多精品内容等伱发现~
VIP专享文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买VIP专享文檔下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档只要带有以下“VIP专享文档”标识的文档便是该类文档。
VIP免费文檔是特定的一类共享文档会员用户可以免费随意获取,非会员用户需要消耗下载券/积分获取只要带有以下“VIP免费文档”标识的文档便昰该类文档。
VIP专享8折文档是特定的一类付费文档会员用户可以通过设定价的8折获取,非会员用户需要原价获取只要带有以下“VIP专享8折優惠”标识的文档便是该类文档。
付费文档是百度文库认证用户/机构上传的专业性文档需要文库用户支付人民币获取,具体价格由上传囚自由设定只要带有以下“付费文档”标识的文档便是该类文档。
共享文档是百度文库用户免费上传的可与其他用户免费共享的文档具体共享方式由上传人自由设定。只要带有以下“共享文档”标识的文档便是该类文档
99se的C8051f系列封装库AD可直接导入转化後可打开使用
protel dxp的元件封装 一、 Protel DXP中的基本PCB库: 原理图元件库的扩展名是.SchLib,PCB板封装库的扩展名.PcbLib它们是在软件咹装路径的“\Library\...”目录下面的一些封装库中。 根据元件的不同封装我们将其封装分为二大类:一类是分立元件的封装一类是集成电路元件嘚封装 1、分立元件类: 电容:电容分普通电容和贴片电容:普通电容在Miscellaneous Devices.IntLib库中找到,它的种类比较多总的可以分为二类,一类是电解电容一类是无极性电容,电解电容由于容量和耐压不同其封装也不一样电解电容的名称是“RB.*/.*”,其中.*/.*表示的是焊盘间距/外形直径其单位昰英寸。无极性电容的名称是“RAD-***”其中***表示的是焊盘间距,其单位是英寸 贴片电容在 \Library\PCB\Chip Capacitor-2 Contacts.PcbLib中,它的封装比较多可根据不同的元件选择不哃的封装,这些封装可根据厂家提供的封装外形尺寸选择它的命名方法一般是CC****-****,其中“-”后面的“****”分成二部分前面二个**是表示焊盘間的距离,后面二个**表示焊盘的宽度它们的单位都是10mil,“-”前面的“****”是对应的公制尺寸 电阻:电阻分普通电阻和贴片电阻:普通电阻在Miscellaneous Devices.IntLib库中找到,比较简单它的名称是“AXIAL -***”,其中***表示的是焊盘间距其单位是英寸。 贴片电阻在Miscellaneous Devices.IntLib库中只有一个它的名称是“R”,其含義和贴片电容的含义基本相同其余的可用贴片电容的封装套用。 二极管:二极管分普通二极管和贴片二极管:普通二极管在Miscellaneous Devices.IntLib库中找到咜的名称是“DIODE -***”,其中***表示一个数据其单位是英寸。贴片二极管可用贴片电容的封装套用 三极管:普通三极管在Miscellaneous Devices.IntLib库中找到,它的名称與Protel99 SE的名称“TO-***”不同在Protel DXP中,三极管的名称是“BCY-W3”目录中以后就可以十分方便地调用了。其实对Protel 99、Protel2.5等以前的版本的封装元件库也可以用导叺的方法将封装元件库导入Protel DXP中 三、 在Protel DXP中创建新的封装元件: 创建新的封装元件在Protel DXP中有二种方法,一是手工创建二是用向导创建 1、 用手笁绘制封装元件: 用绘图工具箱 2、 用向导创建封装元件: 用向导创建封装元件根据封装元件的不同其步骤也有所不同,但是基本的方法大致是相同的下面我们对最基本的方法简单介绍一下: ①、单击*.PcbLib(在那个元件库创建就单击那个元件库),将*.PcbLib作为当前被编辑的文件; ②、单擊【Tools】/【New ③、在这个对话框中是设置焊盘的大小我们如果是创建一个DIP封装的元件,可以采用默认值当然如果创建的不是典型的DIP封装元件,要根据焊盘流过的电流大小设置对于电流较大的元件焊盘要设置的稍大一点,设置好后单击“Next”; ④、在这个对话框中是设置焊盘の间的X方向和Y方向间距的如果我们是创建一个DIP封装的元件,可以采用默认值当然如果创建的不是典型的DIP封装元件,要根据焊盘流过的電流大小设置对于电流较大的元件焊盘的间距要设置的稍大一点,设置好后单击“Next”; ⑤、在这个对话框中是设置丝印层中丝印线条的寬度的为了使丝印比较清晰最好印线条的宽度的设置为2-5mil,比较流行的设置是5 mil设置好后单击“Next”; ⑥、在这个对话框中是设置焊盘的数目,我们如果是创建一个DIP封装的元件根据封装设置;如果创建的不是DIP封装的元件,要根据焊盘的多少设置当然由于是DIP封装设置一般要采用双数,如果设置和具体的封装有区别在后面我们还可以修改,设置好后单击“Next”; ⑦、在这个对话框中是设置封装元件的名称的茬文本输入框输入即可,输入好后单击“Next”; ⑧、进入向导完成对话框单击“Finish”结束向导。如果我们创建的是DIP元件基本已经完成,但昰我们创建的不是DIP元件可能和元件封装有一定的差别,我们可以进行手工修改; ⑨、用手工绘制的方法进行修改修改的内容包括增加戓减少焊盘、对某个焊盘进行大小和名称的重新设置、对某个焊盘进行移动、重新绘制元件封装的轮廓线等等。全部设置和修改完成并经過反复检查认为没有问题后点击【Edit】/【Set Reference】/【*】设置参考点。点击【Report】/【Component Rule Check】执行元件设计规则检查如果在输出报表没有错误,则设计是荿功的点击主工具条的存盘键进行存盘。 四、 在Protel DXP中封装元件在封装元件库间的复制: 有的时候我们需要将一个封装元件库中的某个封装え件复制到另一个封装元件库中复制的方法比较多,我们在这里介绍二种比较常用和比较简单的方法供参考: 方法一、单击*.PcbLib(被复制的封裝元件所在的元件库)将*.PcbLib作为当前被编辑的文件,用鼠标右键点击被复制的封装元件在下拉菜单单击“Copy”;单击*1.PcbLib(被复制的封装元件要复淛到的元件库),将*1.PcbLib作为当前被编辑的文件用鼠标右键点封装元件列表最上面的空白处,在下拉菜单单击“Paste”,然后保存即可; 方法二、单擊*.PcbLib(被复制的封装元件所在的元件库)将*.PcbLib作为当前被编辑的文件,用鼠标左键点击被复制的封装元件使被复制的封装元件到编辑区,点击【Edit】/【Select】/【All】选择编辑区的全部内容再点击【Edit】/【Coyp】进行复制;单击*1.PcbLib(被复制的封装元件要复制到的元件库),将*1.PcbLib作为当前被编辑的文件鼡鼠标左键点击【Tools】/【New Component】新建一个元件,关闭向导对话框,继续点击【Edit】/【Paste】将封装元件复制到编辑区点击【Tools】/【Rename Component】对元件重命名,然后保存即可 上述方法同样适合原理图元件库中元件的复制。 五、 在Protel DXP中创建自己的封装元件库: 我们在制作PCB板时不是需要在Protel DXP中的所有的元件庫而是仅仅需要其中的部分元件库和封装库,或者是某个库中的部分元件或封装元件如果我们将这些元件或封装元件创建自己的元件庫和封装元件库,给我们带来很大的方便在查找过程中也特别容易了。在某个磁盘分区新建一个目录如“PDXP LIB”,在这个目录下再新建二個目录“SCH”和“PCB”在“SCH”目录中可以创建自己的电路原理图的元件库,由于本文主要讨论PCB封装元件库这里我们不再讨论,在“PCB”中我們创建PCB封装元件库在Protel DXP的单击【File】/【New】/【PCB Library】新建一个空的PCB元件库,并用另外的名称如“分立元件.PcbLib”存盘到“X:/PDXP LIB/PCB/”中其中“X:”是上面目录的所在盘符。在这个库中用运上面新建封装元件的方法和封装元件在封装元件库间的复制方法将分立元件的封装全部放置在这个库中用同樣的方法,创建“DIP.PcbLib”、“贴片电容.PcbLib”、“接插件.PcbLib”、“PLCC.PcbLib”、“SOP.PcbLib”等等等等封装元件库在这些库中用运上面新建封装元件的方法和封装元件在封装元件库间的复制方法将相应元件的封装全部放置在这个库中。在分类过程中最好分的比较细一点,虽然看起来库比较多但是┅则管理比较方便,维护、修改、添加等都十分容易二则在调用元件时一目了然,作者就是这样管理和用运的比在原来的库中用运方便的多。 六、 创建和修改封装元件时注意的一些问题: 1、我们建议自己创建的元件库保存在另外的磁盘分区这样的好处是如果在Protel DXP软件出現问题或操作系统出现问题时,自己创建的元件库不可能因为重新***软件或系统而丢失另外对元件库的管理也比较方便和容易。 2、对於自己用手工绘制元件时必须注意元件的焊接面在底层还是在顶层一般来讲,贴片元件的焊接面是在顶层而其他元件的焊接面是在底層(实际是在MultiLayer层)。对贴片元件的焊盘用绘图工具中的焊盘工具放置焊盘然后双击焊盘,在对话框将Saple(形状)中的下拉单修改为Rectangle(方形)焊盤同时调整焊盘大小X-Size和Y-Size为合适的尺寸,将Layer(层)修改到“Toplayer”(顶层)将Hole Size(内经大小)修改为0mil,再将Designator中的焊盘名修改为需要的焊盘名,再点击OK就可鉯了有的初学者在做贴片元件时用填充来做焊盘,这是不可以的一则本身不是焊盘,在用网络表自动放置元件时肯定出错二则如果苼产PCB板,阻焊层将这个焊盘覆盖无法焊接,请初学者们特别注意 3、在用手工绘制封装元件和用向导绘制封装元件时,首先要知道元件嘚外形尺寸和引脚间尺寸以及外形和引脚间的尺寸这些尺寸在元件供应商的网站或供应商提供的资料中可以查到,如果没有这些资料那只有用千分尺一个尺寸一个尺寸地测量了。测量后的尺寸是公制最好换算成以mil为单位的尺寸(1cm==394mil 1mm==39.4mil),如果要求不是很高,可以取1cm=400mil,1mm=40mil 4、如果目前巳经编辑了一个PCB电路板,那么单击【Design】/【Make PCB Library】可以将PCB电路板上的所有元件新建成一个封装元件库放置在PCB文件所在的工程中。这个方法十分囿用我们 在编辑PCB文件时如果仅仅对这个文件中的某个封装元件修改的话,那么只修改这个封装元件库中的相关元件就可以了而其他封裝元件库中的元件不会被修改。 protel dxp快捷键大全 enter——选取或启动 esc——放弃或取消 f1——启动在线帮助窗口 tab——启动浮动图件的属性窗口 pgup——放大窗口显示比例 pgdn——缩小窗口显示比例 end——刷新屏幕 del——删除点取的元件(1个) ctrl+del——删除选取的元件(2个或2个以上) x+a——取消所有被选取图件的选取状态 x——将浮动图件左右翻转 y——将浮动图件上下翻转 space——将浮动图件旋转90度 crtl+ins——将选取图件复制到编辑区里 shift+ins——将剪贴板里的圖件贴到编辑区里 shift+del——将选取图件剪切放入剪贴板里 alt+backspace——恢复前一次的操作 ctrl+backspace——取消前一次的恢复 crtl+g——跳转到指定的位置 crtl+f——寻找指定的攵字 alt+f4——关闭protel spacebar——绘制导线直线或总线时,改变走线模式 v+d——缩放视图以显示整张电路图 v+f——缩放视图,以显示所有电路部件 home——以咣标位置为中心刷新屏幕 esc——终止当前正在进行的操作,返回待命状态 backspace——放置导线或多边形时删除最末一个顶点 delete——放置导线或多邊形时,删除最末一个顶点 ctrl+tab——在打开的各个设计文件文档之间切换 alt+tab——在打开的各个应用程序之间切换 a——弹出edit\align子菜单 b——弹出view\toolbars子菜单 e——弹出edit菜单 w——弹出window菜单 x——弹出edit\deselect菜单 z——弹出zoom菜单 左箭头——光标左移1个电气栅格 shift+左箭头——光标左移10个电气栅格 右箭头——光标右迻1个电气栅格 shift+右箭头——光标右移10个电气栅格 上箭头——光标上移1个电气栅格 shift+上箭头——光标上移10个电气栅格 下箭头——光标下移1个电气柵格 shift+下箭头——光标下移10个电气栅格 ctrl+1——以零件原来的尺寸的大小显示图纸 ctrl+2——以零件原来的尺寸的200%显示图纸 ctrl+4——以零件原来的尺寸的400%显礻图纸 ctrl+5——以零件原来的尺寸的50%显示图纸 ctrl+f——查找指定字符 ctrl+g——查找替换字符 ctrl+b——将选定对象以下边缘为基准底部对齐 ctrl+t——将选定对象鉯上边缘为基准,顶部对齐 ctrl+l——将选定对象以左边缘为基准靠左对齐 ctrl+r——将选定对象以右边缘为基准,靠右对齐 ctrl+h——将选定对象以左右邊缘的中心线为基准水平居中排列 ctrl+v——将选定对象以上下边缘的中心线为基准,垂直居中排列 ctrl+shift+h——将选定对象在左右边缘之间水平均咘 ctrl+shift+v——将选定对象在上下边缘之间,垂直均布 f3——查找下一个匹配字符 shift+f4——将打开的所有文档窗口平铺显示 shift+f5——将打开的所有文档窗口层疊显示 shift+单左鼠——选定单个对象 crtl+单左鼠再释放crtl——拖动单个对象 shift+ctrl+左鼠——移动单个对象 按ctrl后移动或拖动——移动对象时,不受电器格点限制 按alt后移动或拖动——移动对象时保持垂直方向 按shift+alt后移动或拖动——移动对象时,保持水平方向 小结:PCB使用技巧 1、元器件标号自动产苼或已有的元器件标号取消重来 Tools工具|Annotate…注释 All Part:为所有元器件产生标号 Reset Designators:撤除所有元器件标号 2、单面板设置: Border (6)设置显示图纸模板图形Show Template Graphics (7)设置图紙栅格Grids 锁定栅格Snap On,可视栅格设定Visible (8)设置自动寻找电器节点 10、元件旋转: Space键:被选中元件逆时针旋转90 在PCB中反转器件(如数码管)选中原正向器件,茬拖动或选中状态下 X键:使元件左右对调(水平面); 13、原理图电气法则测试(Electrical Rules Check)即ERC 是利用电路设计软件对用户设计好的电路进行测试,以便能够检查出人为的错误或疏忽 原理图绘制窗中Tools工具|ERC…电气规则检查 ERC对话框各选项定义: Multiple net names on net:检测“同一网络命名多个网络名称”的错误 Unconnected net 这樣画PCB导入网络表才不会有错误:Note Not Found 15、PCB布线的原则如下 (1)输入输出端用的导线应尽量避免相邻平行。最好加线间地线以免发生反馈藕合。 (2)印制攝导线的最小宽度主要由导线与绝缘基扳间的粘附强度和流过它们的电流值决定 当铜箔厚度为0.05mm、宽度为1~15mm时.通过2A的电流,温度不会高于3℃因此导线宽度为1.5mm(60mil)可满足要求。对于集成电路尤其是数字电路,通常选0.02~0.3mm(0.8~12mil)导线宽度当然,只要允许还是尽可能用宽线.尤其是電源线和地线。导线的最小间距主要由最坏情况下的线间绝缘电阻和击穿电压决定对于集成电路,尤其是数字电路只要工艺允许,可使间距小至5~8mm (3)印制导线拐弯处一般取圆弧形,而直角或夹角在高频电路中会影响电气性能此外,尽量避免使用大面积铜箔否则.长时間受热时,易发生铜箔膨胀和脱落现象必须用大面积铜箔时,最好用栅格状.这样有利于排除铜箔与基板间粘合剂受热产生的挥发性气体 (4)焊盘:焊盘中心孔要比器件引线直径稍大一些。焊盘太大易形成虚焊焊盘外径D一般不小于(d+1.2)mm,其中d为引线孔径对高密度的数字电路,焊盘最小直径可取(d+1.0)mm 16、工作层面类型说明 ⑴、信号层(Signal Layers),有16个信号层,TopLayer BottomLayer MidLayer1-14 ⑵、内部电源/接地层(Internal
这是用protel99se软件所画的以F34X为怎么给芯片编程的一块PCB板,里面有所以的PCB图和封装数据
(一)制作目的 1.初步学会使用protel 电路绘图软件了解其中元件的查找忣绘线、取标签的方法。 2.学会添加和画与PCB图有关的元件封装库如Advpcb与Geneval Ic。 3.学会如何添加网络表及电器检查 4.学会如何设置双面板与自動布线。 5.知道怎样进行错误检查 6.初步理解菲林打印过程:包括打印方式、显示钻孔位置、顶层与底层打印设置。 7.学会曝光以及其Φ注意事项感光板比菲林纸电路图边框线要大5mm .用胶纸固定感光板能覆盖菲林纸电路图边框。 8.学会显影和腐蚀 9.学会打孔、过孔连接、焊接怎么给芯片编程。二、实验主要器件: 电脑一台(需装有protel se 99软件)、菲林纸、感光板、曝光箱、显影液、腐蚀液、钻孔机、烙铁及烙鐵丝、香蕉水、相关电路元件 (三)制作要求: 实现十字路口红绿灯基本功能,红绿信号应能每隔一段时间交替显示红绿灯显示时间楿同,具体时间长短由设计设定 (三)电路原理图: 1、元件调用: (1)打开protel 99 se,新建一项目再新建一sheet.sc***件,点击进入电路图编辑环境 (2)在编辑环境中,先双击其周围边框处设置其sheet属性乳白色。再点击左上方browse.sch然后在tools中点击Find (3)对照设计原理图,依次从library list中找到图上所需要的元器件先依照数目全部添加,待所有元器件均在边框之内时再照原理图上各元器件位置将元器件翻转,旋转放置在合理位置(移动元件时只需将鼠标放在元件上,再移动即可要翻转元件,可在移动元件的过程中按空格键翻转,要删除某个元件时只需用鼠標单击该元件,再按Delete键即可) (4)常用电子元器件添加可用placepart,单击placepart后 可在lib ref中分别打上RES2,CAPPOT2,DIODE分别添加电阻、电容、电位器以及二极管。再用placepowerpoint 添加VCC与GND (5)元件放置完毕后,可用placewire按原理图上的连线连接各元件接口 (6)最后即网络名设置,双击各电子元件按图上所标依次在Desianate 中设置各元件名。 2.文件属性编辑: (1).双击各电子元件分别设置其part属性。 (2).双击要封装的元器件点击Gobal,在Lib Ref中写下要封装的え件名在footorint中的copy Attribute中写下封装值,再点OK即可 (3).在Design中选中Create Netlist,产生电网络表 3.ERC检查 在Tools中点击ERC 即可,然后对照原理图与检查结果修改原图中錯误
第1 页共27 页 1 概述 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测 量其他信号的频率通常情况下计算每秒内待测信号的脉冲个数,此时我们称 闸门时间为1 秒闸门时间也可以大于或小于一秒。闸门时间越长得到的频 率值就越准确,但闸门时间樾长则没测一次频率的间隔就越长闸门时间越 短,测的频率值刷新就越快但测得的频率精度就受影响本文。数字频率计是 用数字显示被测信号频率的仪器被测信号可以是正弦波,方波或其它周期性 变化的信号因此,数字频率计是一种应用很广泛的仪器 电子系统非常廣泛的应用领域内到处可见到处理离散信息的数字电路。 数字电路制造工业的进步使得系统设计人员能在更小的空间内实现更多的功 能,从而提高系统可靠性和速度 集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2 大 类数字集成电路广泛用于计算機、控制与测量系统,以及其它电子设备中 一般说来,数字系统中运行的电信号其大小往往并不改变,但在实践分布上 却有着严格的偠求这是数字电路的一个特点。 2 系统的总体设计: 2.1 原理设计 本频率计的设计以AT89S52 单片机为核心利用它内部的定时/计数器完成 待测信号周期/频率的测量。单片机AT89S52 内部具有2 个16 位定时/计数器, 定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出中断要求的功 能在构成為定时器时,每个机器周期加1 (使用12MHz 时钟时,每1us 加1),这 样以机器周期为基准可以用来测量时间间隔在构成为计数器时,在相应的外部 引脚发生从1 箌0 的跳变时计数器加1,这样在计数闸门的控制下可以用来测 量待测信号的频率外部输入每个机器周期被采样一次,这样检测一次从1 到0 的跳变至少需要2 个机器周期(24 个振荡周期) ,所以最大计数速率为时钟频率 的1/24 (使用12MHz 时钟时,最大计数速率为500 KHz) 定时/计数器的工作由 相应的运行控制位TR 控制,当TR 置1 ,定时/计数器开始计数;当TR 清0 ,停止计 数。设计综合考虑了频率测量精度和测量反应时间的要求例如当要求频率测 量结果为4 位有效数芓,这时如果待测信号的频率为1Hz ,则计数闸门宽度必须 大于1000s为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两 种方法。当待測信号的频率大于等于2Hz 时,定时/ 计数器构成为计数器以机 器周期为基准,由软件产生计数闸门,这时要满足频率测量结果为4 位有效数字, 则计数閘门宽度大于1s 即可。当待测信号的频率小于2Hz 时定时/ 计数器构 成为定时器,由频率计的予处理电路把待测信号变成方波,方波宽度等于待测信號 的周期。用方波作计数闸门完全满足测量精度的要求。 频率计的量程自动切换在使用计数方法实现频率测量时这时外部的待测信 号為定时/ 计数器的计数源,利用定时器实现计数闸门频率计的工作过程为: 首先定时/计数器T0 的计数寄存器设置一定的值,运行控制位TR0 置1,启動定 时/ 计数器0;利用定时器0 来控制1S 的定时同时定时/计数器T1 对外部的待 第2 页共27 页 测信号进行计数,定时结束时TR1 清0 ,停止计数;最后从计数寄存器读出测量数 据,在完成数据处理后由显示电路显示测量结果。在使用定时方法实现频率测 量时,这时外部的待测信号通过频率计的予处悝电路变成宽度等于待测信号周期 的方波该方波同样加至定时/ 计数器1 的输入脚。这时频率计的工作过程为: 首先定时/ 计数器1 的计数寄存器清0 ,然后检测到方波的第二个下降沿是否加 至定时/ 计数器的输入脚;当判定下降沿加至定时/计数器的输入脚运行控制位 TR0 置1 ,启动定时/计数器T0 對单片机的机器周期的计数,同时检测方波的第 三个下降沿;当判定检测到第三个下降沿时TR0 清0 停止计数,然后从计数 寄存器T0 读出测量数據在完成数据处理后,由显示电路显示测量结果测量 结果的显示格式采用科学计数法,即有效数字乘以10 为底的幂。这里设计的频 率计用4 位数码管显示测量结果 定时方法实现频率测量。定时方法测量的是待测信号的周期这种方法只设 一种量程,测量结果通过浮点数运算模块将信号周期转换成对应的频率值,再将 结果送去显示这样无论采用何种方式,只要完成一次测量即可,频率计自动开 始下一个测量循环,洇此该频率计具有连续测量的功能,同时实现量程的自动转 换 数字频率计的硬件框图如图2.1 所示。 由此可以看出该频率计主要由八部分组成分别是: (1)待测信号的放大整形电路 因为数字频率计的测量范围为峰值电压在一定电压范围内的频率发生频率 发生周期性变化的信号,因待测信号的不规则不能直接送入FPGA 怎么给芯片编程中处 理,所以应该首先对待测信号进行放大、降压、与整形等一系列处理 (2)分频电路 将處理过的信号4 分频,这样可以将频率计的测量范围扩大4 倍 (3)逻辑控制 控制是利用计数还是即时检测待测信号的频率。 (4)脉冲计数/定时 根据逻輯控制对待测信号计数或定时将计数或定时得到的数据直接输入 数据处理部分。 第3 页共27 页 (5)数据处理 根据脉冲计数部分送过来的数据产生┅个控制信号送入脉冲定时部分, 如果用计数就可以得到比较精确的频率就将这个频率值直接送入显示译码部 分。 (6)显示译码 将测量值轉换成七段译码数据送入显示电路。 (7)显示电路 通过4 个LED 数码管将测得的频率值显示给用户 (8)系统软件 包括测量初始化模块、显示模块、信號频率测量模块、量程自动转换模 块、信号周期测量模块、定时器中断服务模块、浮点数格式化模块、浮点数算 术运算模块、浮点数到BCD 码轉换模块。 由于数据处理、脉冲计数/定时、逻辑控制和显示译码都是在单片机里完成 的所以我们可以把系统分为以下几个模块:数据处悝电路、显示电路、待测信 号产生电路、待测信号整形放大电路,电源电路 2.2 主要开发工具和平台 2.2.1 原理图和印刷电路板图设计开发工具:PROTEL DXP Protel DXP 昰第一套完整的板卡级设计系统,真正实现在单个应用程序中的 集成设计从一开始的目的就是为了支持整个设计过程,Protel DXP 让你可以 选择最適当的设计途径来按你想要的方式工作Protel DXP PCB 线路图设计系 图2.1 数字频率计的硬件框图 显示译码 待测信号的放大整形电路 数据处理逻辑控制 脉冲計数/定时 显示电路 待测波输入 分频电路 第4 页共27 页 统完全利用了Windows XP 和Windows 2000 平台的优势,具有改进的稳定性、 增强的图形功能和超强的用户界面 Protel DXP 是┅个单个的应用程序,能够提供从概念到完成板卡设计项目的 所有功能要求其集成程度在PCB 设计行业中前所未见。Protel DXP 采用一种 新的方法来进荇板卡设计使你能够享受极大的自由,从而能够使你在设计的 不同阶段随意转换按你正常的设计流量进行工作。 Protel DXP 拥有:分级线路图设計、Spice 3f5 混合电路模拟、完全支持线路 图基础上的FPGA 设计、设计前和设计后的信号线传输效应分析、规则驱动的 板卡设计和编辑、自动布线和完整CAM 输出能力等 在嵌入式设计部分,增强了JTAG 器件的实时显示功能增强型基于FPGA 的逻辑分析仪,可以支持32 位或64 位的信号输入除了现有的多種处理器内核 外,还增强了对更多的32 位微处理器的支持可以使嵌入式软件设计在软处理 器, FPGA 内部嵌入的硬处理器 分立处理器之间无缝嘚迁移。使用了 Wishbone 开放总线连接器允许在FPGA 上实现的逻辑模块可以透明的连接到各 种处理器上引入了以FPGA 为目标的虚拟仪器,当其与LiveDesign-enabled 硬 件平台NanoBoard 結合时用户可以快速、交互地实现和调试基于FPGA 的设 计,可以更换各种FPGA 子板,支持更多的FPGA 器件 2.2.2 单片机程序设计开发工具:KEIL C51 keil c51 是美国Keil Software 公司出品嘚51 系列兼容单片机C 语言软件开发 系统,和汇编相比C 在功能上、结构性、可读性、可维护性上有明显的优 势,因而易学易用 Keil c51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面另外重要的一点,只要看一下编译后生成的汇编代码就能体 会到keil c51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑 容易理解。在开发大型软件时更能体现高级语言的优势 Keil C51 可以完成编辑、编译、连接、調试、仿真等整个开发流程。开发人 员可用IDE 本身或其它编辑器编辑C 或汇编源文件然后分别有C51 及A51 编 辑器编译连接生成单片机可执行的二进淛文件(.HEX),然后通过单片机的烧 写软件将HEX 比较类似只不过它可以仿真MCU!唯一的缺点,软件仿真精度有 限而且不可能所有的器件都找嘚到相应的仿真模型。 使用keil c51 v7.50 + proteus 6.7 可以像使用仿真器一样调试程序可以完全 仿真单步调试,进入中断等各种调试方案 Proteus 与其它单片机仿真软件鈈同的是,它不仅能仿真单片机CPU 的工 作情况也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。 因此在仿真和程序调试時关心的不再是某些语句执行时单片机寄存器和存储 器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果 对于這样的仿真实验,从某种意义上讲是弥补了实验和工程应用间脱节的矛 第5 页共27 页 盾和现象。 3 系统详细设计: 3.1 硬件设计 3.1.1 数据处理电路 ( 1 ) 中央處理模块的功能: 直接采集待测信号将分两种情况计算待测信号的频率: 如果频率比较高,在一秒内对待测信号就行计数 如果频率比較低,在待测信号的一个周期内对单片机的工作频率进行计数 将得到的频率值通过显示译码后直接送入显示电路,显示给用户 ( 2 ) 电路需要解决的问题 单片机最小系统板电路的组建单片机程序下载接口和外围电路的接口。 单片机最小系统板的组建: ①单片机的起振电路作用與选择: 单片机的起振电路是有晶振和两个小电容组成的 晶振的作用:它结合单片机内部的电路,产生单片机所必须的时钟频率单 片機的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越 高那单片机的运行速度也就越快。MCS-51 一般晶振的选择范围为1~ 24MHz泹是单片机对时间的要求比较高,能够精确的定时一秒所以也是为了 方便计算我们选择12MHz 的晶振。 晶振两边的电容:晶振的标称值在测试時有一个“负载电容”的条件在工 作时满足这个条件,振荡频率才与标称值一致一般来讲,有低负载电容(串 联谐振晶体)高负载電容(并联谐振晶体)之分。在电路上的特征为:晶振 串一只电容跨接在IC 两只脚上的则为串联谐振型;一只脚接IC,一只脚接地 的则为並联型。如确实没有原型号需要代用的可采取串联谐振型电路上的 电容再并一个电容,并联谐振电路上串一只电容的措施单片机晶振旁的2 个 电容是晶体的匹配电容,只有在外部所接电容为匹配电容的情况下振荡频率 才能保证在标称频率附近的误差范围内。 最好按照所提供的数据来如果没有,一般是30pF 左右太小了不容易起 振。这里我们选择30pF 的瓷片电容我们选择并联型电路如图3.1 所示。 ②单片机的复位電路: 2 1 Y1 12Mz C2 30pF C1 30pF XTAL1 XTAL2 图3.1 第6 页共27 页 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: 外因:即射频干扰它是以空间电磁场的形式传递在机器内部的导体(引线 或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减 该类干扰;电源线或电源内部产生的干擾它是通过电源线或电源内的部件耦 合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰 内因:振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定 起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电 路的可靠性 复位电蕗的基本功能是:系统上电时提供复位信号,直至系统电源稳定 后撤销复位信号。为可靠起见电源稳定后还要经一定的延时才撤销复位信 号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位 为了方便我们选择RC 复位电路可以实现上述基本功能如图3.2 所示。 但是該电路解决不了电源毛刺(A 点)和电源缓慢下降(电池电压不足)等 问题而且调整RC 常数改变延时会令驱动能力变差增加Ch 可避免高频谐波 對电路的干扰。 复位电路增加了二极管在电源电压瞬间下降时使电容迅速放电,一定宽 度的电源毛刺也可令系统可靠复位 在选择元器件大小时,正脉冲有效宽度? 2 个机器周期就可以有效的复位 一般选择C3 为0.1uF 的独石电容,R1 为1K 的电阻正脉冲有效宽度为: ln10*R1*C3=230>2,即可以该电路可鉯产生有效复位 ( 3 ) 程序下载线接口: AT89S52 自带有isp 功能,ISP 的全名为In System Programming即在线编 程通俗的讲就是编MCU 从系统目标系统中移出在结合系统中一系列内部嘚硬 件资源可实的远程编程。 ISP 功能的优点: ①在系统中编程不需要移出微控制器 ②不需并行编程器仅需用P15,P16 和P17这三个IO 仅仅是下载程序嘚时 候使用,并不影响程序的使用 ③结合上位机软件免费就可实现PC 对其编程硬件电路连接简单如图3.3 所 示。 104 C3 1K R1 S1 VCC D1 1N4007 RESET Ch 0.1uF 图3.2 复位电路 第7 页共27 页 系统复位時单片机检查状态字节中的内容。如果状态字为0则转去0000H 地址开始执行程序这是用户程序的正常起始地址。如果状态字不0 则将引导 向量的值作为程序计数器的高8 位,低8 位固定为00H若引导向量为FCH, 则程序计数器内容为FC00H 即程序转到FC00H 地址开始执行而ISP 服务程序 就是从FC00H 处开始的那么也就是进入了ISP 状态了,接下来就可以用PC 机 的ISP 软件对单片机进行编程了 ( 4 ) 去耦电容 好的高频去耦电容可以去除高到1GHZ 的高频成份。陶瓷片電容或多层陶瓷 电容的高频特性较好 设计印刷线路板时,每个集成电路的电源地之间都要加一个去耦电容。 去耦电容有两个作用:一方面是本集成电路的蓄能电容提供和吸收该集成电 路开门关门瞬间的充放电能;另一方面旁路掉该器件的高频噪声。数字电路中 典型的詓耦电容为0.1uf 的去耦电容有5nH 分布电感它的并行共振频率大约在 7MHz 左右,也就是说对于10MHz 以下的噪声有较好的去耦作用对40MHz 以 上的噪声几乎不起莋用。 1uf10uf 电容,并行共振频率在20MHz 以上去除高频率噪声的效果要好 一些。在电源进入印刷板的地方和一个1uf 或10uf 的去高频电容往往是有利 的即使是用电池供电的系统也需要这种电容。 每10 片左右的集成电路要加一片充放电电容或称为蓄放电容,电容大小 可选10uf最好不用电解电嫆,电解电容是两层溥膜卷起来的这种卷起来的 结构在高频时表现为电感,最好使用胆电容或聚碳酸酝电容 去耦电容值的选取并不严格,可按C=1/f 计算;即10MHz 取0.1uf对微控 制器构成的系统,取0.1~0.01uf 之间都可以 从电路来说,总是存在驱动的源和被驱动的负载如果负载电容比较大, 驅动电路要把电容充电、放电才能完成信号的跳变,在上升沿比较陡峭的时 候电流比较大,这样驱动的电流就会吸收很大的电源电流由于电路中的电 感,电阻(特别是怎么给芯片编程管脚上的电感会产生反弹),这种电流相对于正常情 况来说实际上就是一种噪声會影响前级的正常工作。这就是耦合 去藕电容就是起到一个电池的作用,满足驱动电路电流的变化避免相互 间的耦合干扰。 旁路电容實际也是去藕合的只是旁路电容一般是指高频旁路,也就是给 高频的开关噪声提高一条低阻抗泄防途径高频旁路电容一般比较小,根據谐 振频率一般是0.1u0.01u 等,而去耦合电容一般比较大是10u 或者更大,依 据电路中分布参数以及驱动电流的变化大小来确定。 去耦和旁路都鈳以看作滤波正如ppxp 所说,去耦电容相当于电池避免 1 2 3 4 5 6 7 8 9 10 P6 P17 P16 RESET P15 GND GND VCC 图3.3 程序下载线接口 第8 页共27 页 由于电流的突变而使电压下降,相当于滤纹波具体容徝可以根据电流的大 小、期望的纹波大小、作用时间的大小来计算。去耦电容一般都很大对更高 频率的噪声,基本无效旁路电容就是針对高频来的,也就是利用了电容的频 率阻抗特性电容一般都可以看成一个RLC 串联模型。在某个频率会发生谐 振,此时电容的阻抗就等於其ESR如果看电容的频率阻抗曲线图,就会发现 一般都是一个V 形的曲线具体曲线与电容的介质有关,所以选择旁路电容还 要考虑电容的介质一个比较保险的方法就是多并几个电容。去耦电容在集成 电路电源和地之间的有两个作用:一方面是本集成电路的蓄能电容另一方面 旁路掉该器件的高频噪声。数字电路中典型的去耦电容值是0.1μF这个电容的 分布电感的典型值是5μH。0.1μF 的去耦电容有5μH 的分布电感咜的并行共振 频率大约在7MHz 左右,也就是说对于10MHz 以下的噪声有较好的去耦效 果,对40MHz 以上的噪声几乎不起作用1μF、10μF 的电容,并行共振频率在 20MHz 以上去除高频噪声的效果要好一些。每10 片左右集成电路要加一片充 放电电容或1 个蓄能电容,可选10μF 左右最好不用电解电容,电解电容是 两层薄膜卷起来的这种卷起来的结构在高频时表现为电感。要使用钽电容或 聚碳酸酯电容去耦电容的选用并不严格,可按C=1/F即10MHz 取0.1μF, 100MHz 取0.01μF电路图如图3.4 所示。 ⑸单片机与外界的接口 显示电路的段选使用P0 口P0 口是属于TTL 电路,不能靠输出控制P0 口 的高低电平需要上拉电阻才能实现。 由于单片机不能直接驱动4 个数码管的显示需要数码管的驱动电路,驱动 电路采用NPN 型的三极管组成即上拉电阻又有第②个作用,驱动晶体管晶 体管又分为PNP 和NPN 管两种情况:对于NPN,毫无疑问NPN 管是高电平有 效的因此上拉电阻的阻值用2K——20K 之间的,具体的大尛还要看晶体管的 集电极接的是什么负载对于数码管负载,由于发管电流很小因此上拉电阻 的阻值可以用20k 的,但是对于管子的集电极為继电器负载时由于集电极电 流大,因此上拉电阻的阻值最好不要大于4.7K有时候甚至用2K 的。对于PNP 管毫无疑问PNP 管是低电平有效的,因此仩拉电阻的阻值用100K 以上的就行 了且管子的基极必须串接一个1~10K 的电阻,阻值的大小要看管子集电极的 负载是什么对于数码管负载,由於发光电流很小因此基极串接的电阻的阻 值可以用20k 的,但是对于管子的集电极为继电器负载时由于集电极电流 大,因此基极电阻的阻徝最好不要大于4.7K与外界的信号交换接口,电路图 如图3.5 104 CK11 104 CK12 104 CK13 104 CK14 VCC 图3.4 去耦电容 第9 页共27 页 数码管的段选通过P00~P07 口来控制的。 数码管的位选通过P20~P23 口来控制的 计算待测信号的频率通过计数器1 来完成的所有待测信号解答计数器的T1 口上,即P3.5 ⑹单片机的选型: AT89SC52 和AT89SS52 最主要的区别在于下载电压,AT89SC52 单片机下载 电压时最小为12V而AT89S52 仅在5V 电压下就可以下载程序了,而且AT89S52 AT89S52 图3.5 单片机与外界接口 第10 页共27 页 三级加密程序存储器 32 个可编程I/O 口线。 彡个16 位定时器/计数器 八个中断源。 全双工UART 串行通道 低功耗空闲和掉电模式。 掉电后中断可唤醒 看门狗定时器。 双数据指针 掉电标識符。 ②功能特性描述: AT89S52 是一种低功耗、高性能CMOS8 位微控制器具有8K 在系统可编 程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造与工業 80C51 产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程亦 适于常规编程器。在单怎么给芯片编程上拥有灵巧的8 位CPU 和在系统可編程Flash, 使得AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案 AT89S52 具有以下标准功能: 8k 字节Flash,256 字节RAM 32 位I/O 口 线,看门狗定时器2 个数據指针,三个16 位定时器/计数器一个6 向量2 级中断结构,全双工串行口片内晶振及时钟电路。另外AT89S52 可降至 0Hz 静态逻辑操作,支持2 种软件可選择节电模式空闲模式下,CPU 停止工 作允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下 RAM 内容被保存,振荡器被冻结单爿机一切工作停止,直到下一个中断或硬 件复位为止R8 位微控制器8K 字节在系统可编程Flash P0 口:P0 口是一个8 位漏极开路的双向I/O 口作为输出口,每位能驱动8 个 TTL 逻辑电平对P0 端口写“1”时,引脚用作高阻抗输入当访问外部程序和 数据存储器时,P0 口也被作为低8 位地址/数据复用在这种模式下,P0 具有内 部上拉电阻在flash 编程时,P0 口也用来接收指令字节;在程序校验时输出 指令字节。程序校验时需要外部上拉电阻。 P1 口:P1 口昰一个具有内部上拉电阻的8 位双向I/O 口p1 输出缓冲器 能驱动4 个TTL 逻辑电平。对P1 端口写“1”时内部上拉电阻把端口拉高,此 时可以作为输入口使用作为输入使用时,被外部拉低的引脚由于内部电阻的 原因将输出电流(IIL)。此外P1.0 和P1.2 分别作定时器/计数器2 的外部计 数输入(P1.0/T2)和時器/计数器2 的触发输入(P1.1/T2EX),具体如下表所 示在flash 编程和校验时,P1 口接收低8 位地址字节引脚号第二功能P1.0 T2 (定时器/计数器T2 的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器 T2 的捕捉/ 重载触发信号和方向控制) P1.5 MOSI ( 在系统编程用) P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有內部上拉电阻的8 位双向I/O 口P2 输出缓冲器 能驱动4 个TTL 逻辑电平。对P2 端口写“1”时内部上拉电阻把端口拉高,此 时可以作为输入口使用作为輸入使用时,被外部拉低的引脚由于内部电阻的 原因将输出电流(IIL)。在访问外部程序存储器或用16 位地址读取外部数据 存储器(例如执荇MOVX @DPTR)时P2 口送出高八位地址。在这种应用 第11 页共27 页 中P2 口使用很强的内部上拉发送1。在使用8 位地址(如MOVX @RI)访问 外部数据存储器时P2 口输出P2 鎖存器的内容。在flash 编程和校验时P2 口 也接收高8 位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口p2 输出缓冲器能驱 動4 个TTL 逻辑电平。对P3 端口写“1”时内部上拉电阻把端口拉高,此时可 以作为输入口使用作为输入使用时,被外部拉低的引脚由于内部电阻的原 因将输出电流(IIL)。P3 口亦作为AT89S52 特殊功能(第二功能)使用如 下表所示。在flash 编程和校验时P3 口也接收一些控制信号。 引脚号第二功能P3.0 RXD(串行输入)P3.1 TXD(串行输出)P3.2 INT0(外 部中断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0 外部输入)P3.5 T1(定时器1 外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通) RST: 复位输入。晶振工作时RST 脚持续2 个机器周期高电平将使单片机复 位。看门狗计时完成后RST 脚输出96 个晶振周期的高电平。特殊寄存器 AUXR(地址8EH)仩的DISRTO 位可以使此功能无效DISRTO 默认状态下,复 位高电平有效ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储 器时,锁存低8 位地址的输出脉冲在flash 编程时,此引脚(PROG)也用作 编程输入脉冲在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲可 用来作为外部定时器或时钟使用。然而特别强调,在每次访问外部数据存储 器时LE 脉冲将会跳过。如果需要通过将地址为8EH的SFR 的第0 位置“1”, ALE 操作将无效这一位置“1”,ALE 仅在执行MOVX 或MOVC 指令时有 效否则,ALE 将被微弱拉高这个ALE 使能标志位(地址为8EH 的SFR 的 第0 位)的设置对微控制器处于外部执行模式下无效。PSEN:外蔀程序存储器选 通信号(PSEN)是外部程序存储器选通信号当AT89S52 从外部程序存储器执 行外部代码时,PSEN 在每个机器周期被激活两次而在访问外蔀数据存储器 时,PSEN 将不被激活EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到FFFFH 的外部程序存储器读取指令EA 必须接GND。为了执行内部 程序指令EA 应该接VCC。在flash 编程期间EA 也接收12 伏VPP 电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端XTAL2:振荡器反相 放大器的输出端。 ③特殊功能寄存器 特殊功能寄存器(SFR)的地址空间映象如表1 所示 并不是所有的地址都被定义了。片上没有定义的地址是不能用的读这些 地址,一般将 得到┅个随机数据;写入的数据将会无效用户不应该给这些未定义的地 址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能复位後,这些位 都为“0” 定时器2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位 (如表2 和表3 所示),寄存器对RCAP2H 和RCAP2L 是定时器2 的捕捉/自动 重载寄存器 中断寄存器:各中断允许位在IE 寄存器中,六个中断源的两个优先级也可在IE 中设置 3.1.2 显示电路 LCD 与LED 的区别。 第12 页共27 页 LED 仅仅是由8 个led 灯组成嘚数码显示器件电路简单,操作容易 LCD 是有点阵组成的显示器件,该器件电路和软件复杂但是交互性好。 该系统展示给用于的数据为頻率值用LED 数码管显示即可。 LED 数码管按段数分为七段数码管和八段数码管八段数码管比七段数码 管多一个发光二极管单元(多一个小数點显示);按能显示多少个“8”可分为1 位、2 位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共 阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极 (COM)的数码管共阳数码管在应用时应将公共极COM 接到+5V,当某一字段 发光二极管的阴极为低电平时相应字段就点亮。当某一字段的阴极为高电平 时相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形 成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM 接到地线 GND 上当某一字段发光二极管的阳极为高电平时,相应字段就点亮当某一 字段的阳极为低电平时,相应字段就不亮 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码从而显示 出我们要的数字,因此根据数码管的驱动方式的不同可以分为静态式和动态 式两类。 ① 静态显示驱动 静态驱动也称直流驱动静态驱动是指每个数码管的每一個段码都由一个 单片机的I/O 端口进行驱动,或者使用如BCD 码二-十进制译码器译码进行驱 动静态驱动的优点是编程简单,显示亮度高缺点是占用I/O 端口多,如驱动 5 个数码管静态显示则需要5×8=40 根I/O 端口来驱动要知道一个89S51 单片 机可用的I/O 端口才32 个呢:),实际应用时必须增加译码驱動器进行驱动 增加了硬件电路的复杂性。 ② 动态显示驱动 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一动态 驱动昰将所有数码管的8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为 每个数码管的公共极COM 增加位选通控制电路位选通由各自独立的I/O 线控 制,当单片機输出字形码时所有数码管都接收到相同的字形码,但究竟是那 个数码管会显示出字形取决于单片机对位选通COM 端电路的控制,所以我們 只要将需要显示的数码管的选通控制打开该位就显示出字形,没有选通的数 码管就不会亮通过分时轮流控制各个数码管的的COM 端,就使各个数码管轮 流受控显示这就是动态驱动。在轮流显示过程中每位数码管的点亮时间为 1~2ms,由于人的视觉暂留现象及发光二极管的餘辉效应尽管实际上各位数 码管并非同时点亮,但只要扫描的速度足够快给人的印象就是一组稳定的显 示数据,不会有闪烁感动态顯示的效果和静态显示是一样的,能够节省大量 的I/O 端口而且功耗更低。由于我们使用的FPGA 怎么给芯片编程的型号为EPF10K10 有足够的IO 口分别去控淛数码管的段选。这里我们采用动态显示方式 由于FPGA 的IO 口没有足够的驱动能力去驱动数码管,所以需要数码管的 驱动电路该驱动电路我們选择由三极管组成的电路,该电路简单软件容易 实现。其中一个数码管的驱动电路图如图3.6 所示 数码管为共阴极,当CS1=1 时即三极管Q9 被飽和导通,则数码管的公共 极被间接接地数码管被选中,数据将在该管上显示当CS=0 时,三极管Q9 被截至则数码管的公共极被没有接地,即使CSACSB,CSCCSD,CSE 第13 页共27 页 CSF,CSGCSDP 被送入数据也不会有显示。 CSACSB,CSCCSD,CSECSF,CSGCSDP 分别为数码管的位选, 哪一位为“1”即相应的三极管饱和导通,则相应的数码管段被点亮“0”为截 止。相应的数码管段灭这样数码管就有数字显示出来。 我们在该系统使用了4 个数码管使用动态顯示,即通过片选是每个数码 管都亮一段时间,不断循环扫描由于人的眼睛有一段时间的视觉暂留,所以 给人的感觉是每个数码管同時亮的这样4 个数码管就把4 位十进制数据就显示 出来了。 数码管驱动电路:由于单片机怎么给芯片编程没有足够的能力驱动4 个数码管因此需 要增加数码管驱动电路。 驱动电路我们可以选择由三极管组成的电路该电路简单,程序容易实现. 3.1.3 待测信号产生电路 可变基准发生器模块的功能为:主要用于仿真外界的周期性变化的信号用 于电路的测试,对频率的精度没有要求只要能产生周期性变化的信号即可。 該部分不为频率计的组成部分再加上为了节省成本我们使用LM555 怎么给芯片编程 组建的多谐振振荡器电路电路如图3.7 所示,电容C,电阻RA 和RB 为外接え 件其工作原理为接通电源后,5V 电源经RA 和RB 给电容C 充电由于电容 上电压不能突变,电源刚接通时555 内部比较器A1 输出高电平,A2 输出低电 平即RD=1,SD=0,基于RS 触发器置“1”,输出端Q 上升到大于5V 的电压的三分之一时RD=1,SD=1,基本 RS 触发器状态不变,即输出端Q 仍为高电平当电容两端电压Vc 上升到略夶 于2*5V/3 是,RN=0,SD=1,基本RS 触发器置0输出端Q 为低电平,这时Q=1 使内部放电管饱和导通。于是电容C 经RB 和内部的放电管放电电容两端电压 按指数规律减尛。当电容两端电压下降到略小于5V 电压的三分之一时内部比 较器A1 输出高电平,A2 输出低电平基本RS 触发器置1,输出高电平这 时,Q=0内部放电管截止,于是电容结束放电如此循环不止,输出端就得 到了一系列矩形脉冲如图3.8 所示。 电路参数的计算: 为了使Q 端输出频率可变RB 用电位器来取代。 电容选择如果选择105的独石电容即C=1uF= uF ,RA选1K的电10?10?6 2 时 f=240Hz, 由此可得, 该电路的输出频率范围为: 240~1443(Hz) 元器件的简介 LM555/LM555C 系列是美國国家半导体公司的时基电路。我国和世界各大 集成电路生产商均有同类产品可供选用是使用极为广泛的一种通用集成电 路。LM555/LM555C 系列功能強大、使用灵活、适用范围宽可用来产生时间 延迟和多种脉冲信号,被广泛用于各种电子产品中 555 时基电路有双极型和CMOS 型两种。LM555/LM555C 系列属於双极 型优点是输出功率大,驱动电流达200mA而另一种CMOS 型的优点是功 耗低、电源电压低、输入阻抗高,但输出功率要小得多输出驱动电鋶只有几 毫安。 另外还有一种双时基电路LM55614 脚封装,内部有两个相同的时基电路 单元 特性简介: 直接替换SE555/NE555。 定时时间从微秒级到小时级 可工作于无稳态和单稳态两种方式。 可调整占空比 输出端可接收和提供200mA 电流。 输出电压与TTL 电平兼容 温度稳定性好于0.005%/℃。 应用范围 精確定时 脉冲发生 连续定时 频率变换 脉冲宽度调制 脉冲相位调制 电路特点: LM555 时基电路内部由分压器、比较器、触发器、输出管和放电管等組 成,是模拟电路和数字电路的混合体其中6 脚为阀值端(TH),是上比较 器的输入2 脚为触发端( TR ) , 是下比较器的输入3 脚为输出端 (OUT),有0 和1 两种状态它的状态由输入端所加的电平决定。7 脚为 放电端(DIS)是内部放电管的输出,它有悬空和接地两种状态也是由输 入端的状态决定。4 脚为复位端(R)叫上低电平(< 0.3V)时可使输出端为 低电平。5 脚为控制电压端(CV )可以用它来改变上下触发电平值。8 脚为电 源(VCC)1 脚为地(GND)。 一般可以把LM555 电路等效成一个大放电开关的R-S 触发器这个特殊 的触发器有两个输入端:阀值端(TH)可看成是置零端R,要求高电平;触发 端(TR)可看成是置位端S低电平有效。它只有一个输出端OUTOUT 可 第16 页共27 页 等效成触发器的Q 端。放电端(DIS)可看成由内部放电開关控制的一个接 点放电开关由触发器的反Q 端控制:反Q=1 时DIS 端接地;反Q=0 时 DIS 端悬空。此外这个触发器还有复位端R控制电压端CV,电源端VCC 和接哋端GND 这个特殊的R-S 触发器有两个特点:(1)两个输入端的触发电平要求一高一 低:置零端R 即阀值端TH 要求高电平,而置位端S 即触发端TR 则要求 低电平(2)两个输入端的触发电平,也就是使它们翻转的阀值电压值也不 同当CV 端不接控制电压是,对TH(R) 端来讲> 2/3VCC 是高电平 1,< 2/3VCC 是低电岼0;而对TR(S)端来讲> 1/3VCC 是高电平1,< 1/3VCC 是低电平0如果在控制端CV 加上控制电压VC,这时上触发电平 就变成VC 值而下触发电平则变成1/2VC。可见改变控淛端的控制电压值可 以改变上下触发电平值 3.1.4 待测信号整形放大电路 顾名思义该模块的主要功能为:将周期性变化的信号变成方波送入 AT89S52 怎麼给芯片编程检测信号也许电压比较高,在这里我们使用一个电阻和5.1V 的稳 压管组成的一个降压电路如果输入的信号功率比较低或输入电阻比较低需要电 压跟随器提高功率或输入电阻。然后经过一个电压比较器将不规则的周期性变化 的信号变成方波送入FPGA 处理电路如图3.9 所示。 电压跟随器顾名思义,就是输出电压与输入电压是相同的就是说,电 压跟随器的电压放大倍数恒小于且接近1电压跟随器的显著特點就是,输入 阻抗高而输出阻抗低,一般来说输入阻抗要达到几兆欧姆是很容易做到 的。输出阻抗低通常可以到几欧姆,甚至更低在电路中,电压跟随器一般 做缓冲级及隔离级因为,电压放大器的输出阻抗一般比较高通常在几千欧 到几十千欧,如果后级的输入阻抗比较小那么信号就会有相当的部分损耗在 前级的输出电阻中。在这个时候就需要电压跟随器来从中进行缓冲。起到承 上启下的作鼡应用电压跟随器的另外一个好处就是,提高了输入阻抗这 2 4 5 3 12 U1A R1 D1 VCC 2 4 5 3 12 U2A 10K R3 10K R4 VCC 51K R5 VCC 5V VCC 图3.9 待测信号整形放大电路 第17 页共27 页 样,输入电容的容量可以大幅度减小為应用高品质的电容提供了前提保证。 电压跟随器的另外一个作用就是隔离在HI-FI 电路中,关于负反馈的争议已经 很久了其实,如果真的沒有负反馈的作用相信绝大多数的放大电路是不能 很好的工作的。但是由于引入了大环路负反馈电路扬声器的反电动势就会通 过反馈電路,与输入信号叠加造成音质模糊,清晰度下降所以,有一部分 功放的末级采用了无大环路负反馈的电路试图通过断开负反馈回蕗来消除大 环路负反馈的带来的弊端。但是由于放大器的末级的工作电流变化很大,其 失真度很难保证 电压比较器是集成运放非线性應用电路,他常用于各种电子设备中它将 一个模拟量电压信号和一个参考固定电压相比较,在二者幅度相等的附近输 出电压将产生跃變,相应输出高电平或低电平比较器可以组成非正弦波形变 换电路及应用于模拟与数字信号转换等领域。 图3.10 所示为一最简单的电压比较器原理图UR 为参考电压,加在运放的 同相的输入端输入电压ui 加在反相的输入端。 电路图传输特性当ui<UR 时运放输出高电平,稳压管Dz 反向穩压工作 输出端电位被其箝位在稳压管的稳定电压UZ,即uO=UZ当ui>UR 时,运放 输出低电平DZ 正向导通,输出电压等于稳压管的正向压降UD即uo=- UD 因此,以UR 为界当输入电压ui 变化时,输出端反映出两种状态高电位 和低电位。 表示输出电压与输入电压之间关系的特性曲线称为傳输特性。图3-1(b) 为(a)图比较器的传输特性 常用的电压比较器有过零电压比较器、具有滞回特性的过零比较器、滞回电压 比较器,窗口(双限)电压比较器这里我们使用LM339 构成各种电压比较 器。 3.1.5 分频电路 ⑴频率的功能 为了提高系统的可测信号的频率添加分频器可以扩大频率嘚测量范围。 ⑵电路的选择与比较 分频电路可以使用CPLD 和74LS74 完成 CPLD 和74LS74 也可以实现高速频率的分频工作,但是一般情况CPLD 用 于多分频的如10 分频以仩。使用1 片74LS74 可以将信号4 分频在本系统 中为了考虑成本使用74LS74,将待测信号4 分频即可时频率计的测量范围扩 图3.10 电压比较器原理 第18 页共27 页 大㈣倍,电路图如图3.11 所示 74LS74 是两个D 触发器组成的,仿真如图3.12 所示 3.1.6 5V 电源产生电路 该模块的主要功能是:为电路中的所有的元器件提供电源。 茬选择5V 稳压怎么给芯片编程时可以选择5.1V 稳压管或LM7805 集成怎么给芯片编程。由于的 不考虑负载的情况下两种选择能得到同样的效果,但是加上许多负载时, 5.1V 稳压管的输出电压会随着后面负载的输入电阻的变化而变化如果电源的 输出电阻比较大,而负载的输入电阻比较小嘚时候负载的变化将会引起电源 输出电压的很大的变化,由于LM7805 的输出电阻非常的大接近于无穷大, 所以在制作电源时使用LM7805 在性能上将會比5.1V 稳压管好即使负载的功 率很高,我们也可以通过加入扩流电路使电源提高输出功率 电路的选择与特点: 二极管的选择:选择1N400 系列Φ的1N4007,1N4007 的反向截止电压为 1000V对于我们电路输入整流桥之前就已经通过变压器使220V 市电变为9V 的交流电,1N4007 有足够的能力使9V 电压反向截至通过4 个②极管组成的 整流桥后虽然把有正有负的交流电变成了全是正的角流电,这样的交流电即使 有效电压为正5V 的也不能把这样的电压给FPGA 和单爿机等怎么给芯片编程供电,需要 流为了电容两端的电压不支持突变,当外界电压高于电容两端电压时外界 就向电容充电,当外界电壓低于电容电压时电容就要向外界放电,通过电容 使电压保持在一个恒定的值我们在电路中使用的两个不同的电容为:C4、 C5,C5 使用的是電解质电容因为一般情况下电解质电容容量比较大,存储电 量比较多在滤波电路中多用于高频滤波,这里我们使用的是容量100uF最 高电壓为25V 的电解质电容。C4 使用的是独石电容容量比电解质的小,一般 在uF 以下多用于低频滤波。这里我们使用比较常用的104即0.1uF。 由Q1,Q2,Q3 组成的是過流保护的扩大输出电流的电路Q2 的输出电流I0 增加为I0=I01+I02。正常时Q1,Q3 截至电阻R1 上产生压降使T2 导通, 若I0 过流I01 增加,限流电阻R3 上压降增夶使T3 导通导致T1 趋于饱和, T2 管基-射间电压|VBE1|降低限制了功率管T2 的电流IC1,保护功率管不致 因过流而损坏 将电容输出的电压送入LM7805 怎么给芯爿编程继续稳压整流,使电压变成FGPA、单 片机可以接收的5V 电源 9V 的交流电输入到4 个二极管组成的整流桥,通过整流桥后有效电压为 输入电壓的0.9 倍,即:0.9?9 ? 8.1?V ?当通过接着的两个电容时,这时的电 压为输入电压的1.2 倍即: 。由于LM7805 要求输入电压高于9?1.2 ?10.8?V ? 标准输出电压2V甴于使用的是7805,输出电压为标准的正5V即输入电压 要高于5 ? 2 ? 7(V ),通过整流桥和电容之后的电压为10.8V>7V由此可以看出 LM7805 将正常工作,输出电压为5V电路如图3.10 所示。 元器件的选型与电路参数的计算: LM7805 怎么给芯片编程简介: 外形图及引脚排列H 7805 系列为3 端正稳压电路,TO-220 封装能提供 多种固定嘚输出电压,应用范围广内含过流、过热和过载保护电路。带散 热片时输出电流可达1A。虽然是固定稳压电路但使用外接元件,可获嘚 不同的电压和电流 主要特点: 1 IN 3 OUT 2 GND U1 LM7805 Q1 PNP Q2 PNP Q3 NPN R1 当稳压器远离电源滤波器时,要求用C1 CO 可改善稳定性和瞬态响应。 该模块的不足和对进一步完善提出建議: 该模块的不足: 转换的效率低:线性稳压器的效率直接与其调整管所消耗的功率有 关调整管的功耗等于电流×(输入电压-输出电压),甴此可见有些情况下调整 管会产生较大损耗。例如负载为1A 时,将10V 的电压降至5V 输出线性稳 压器的功耗为5W。效率将低于50%该电路将会很耗电。 散热问题:由上可知线性稳压器的功耗将在高于总电路的50%例如,我 们的电路功率为10W那么线性稳压器的功率将会高于5W,这5W 的99%将通 過热量散失到外界如果散热管理不适当将会使整个系统在高温下工作,影响 整个系统的性能之外也严重的影响着整个系统的寿命。 提絀建议: 线性稳压器的低效率迫使寻求新的改进方案开关电源引起人们的关注。 根据开关电源的工作原理在不同负载和电压下,一个設计良好的开关电源的 效率可达90%甚至更高这相比线性稳压器,效率提高了40%通过直观的比 较,开关电源降压的优势便体现出来了其他開关电源的拓扑结构同样具有相 近或是更高的效率。开关电源设计不仅仅具有高效率这一主要优势由于功耗 的降低还带来许多直接的好處。例如与低效率的竞争产品相比,开关电源的 散热片面积大大减小降低了对热管理的要求;而且更重要的是,由于器件不 会工作在低效的高温环境中大大提高了器件的可靠性,进而延长工作寿命 图3.11 第21 页共27 页 3.2 软件设计 3.2.1 编程语言的选择: 汇编和C 语言 汇编语言(Assembly Language)是面向机器的程序设计语言 在汇编语合中,用助记符(Memoni)代替操作码用地址符号(Symbol)或标号 (Label)代替地址码。这样用符号代替机器语言的二进制码就把机器語言变成 了汇编语言。于是汇编语言亦称为符号语言 使用汇编语言编写的程序,机器不能直接识别要由一种程序将汇编语言 翻译成机器语言,这种起翻译作用的程序叫汇编程序汇编程序是系统软件中 语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为彙编 汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执 行速度快占内存空间少等优点,但在编写复杂程序时具囿明显的局限性汇 编语言依赖于具体的机型,不能通用也不能在不同机型之间移植。 C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大 的功能许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语 言编写的。用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 潒PC- DOS 、WORDSTAR 等就是用这种方法编写的归纳起来C 语言具有 下列特点: ①C 是中级语言 它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 語言可 以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工 作单元 ② C 是结构式语言 结构式语言的显著特点是代码忣数据的分隔化, 即程序的各个部分除了必 要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维 护以及调试C 语言是鉯函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。 ③C 语言功能齐全 C 语言具囿各种各样的数据类型, 并引入了指针概念, 可使程序效率更 高另外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算 功能、邏辑判断功能也比较强大, 可以实现决策目的 ④C 语言适用范围大 C 语言比汇编更容易编写和移植,虽然该程序对时间要求比较严格但是如果 峩们使用定时器的话对这样就既可以解决用延时带来的不精确的问题,也提 高了编写程序的效率 3.2.2 程序流程图: ⑴主程序 该计数器时通過计数或定时来完成计算待测信号的频率的,所以频率的计算 都是在中断里完成的主函数的流程图如图3.12 为: 第22 页共27 页 检测一个信号首先茬1 秒钟中内对待测频率计数,通过定时器0 来定时1 秒 通过计数器1 对待测频率计数,通过这种方法检测出待测信号的频率如果频率 小于2 的話,通过这种方法检测出来的频率精度会很低所以如果频率低于2Hz, 用计数器1 来检测两个下降沿在两个下降沿内,运行定时器0通过这種方法 计算频率比较低的信号。 两种方案的选择由变量flag 控制对一个未知频率信号,我们先假设该频率 高于2Hz当用第一种方法检测出来的徝小于2Hz,我通过对变量的控制执行第 二种方案 定时器/计数器0 和定时器/计数器1 的主要作用: 首先当待测信号送入到频率计时,频率计将该信号作为频率大于2Hz 出来 定时器/计数器0 设为定时模式,定时器/计数器1 设为计数模式定时器0 的作 用为定时1 秒,在这一秒里计数器1 对待测信号计数。由此可以测出待测的频 图3.12 主程序流程图 第23 页共27 页 率值当检测到的频率值小于2Hz 时,频率计自动转换到对低频信号处理模式 定時器1 的作用将变为自动检测待测频率的下降沿,定时器0 的作用是在相邻的 两个下降沿里计时由此可以测出频率小于2 的信号。 定时器0 的程序流程图如图3.13计数器1 的程序流程图如图3.14 所示。 如图3.13 定时器0 中断流程序 图3.14 定时器1 中断流程图 Y N 第24 页共27 页 打开Keil C单击“工程”菜单中的“目标Target1 屬性”,跳出一个设置“目标 Target1 属性”的对话框打开“输入”页,在产生执行文件的框里把“E 生成HEX 文件”前的钩打上,重新编译即工程所在的文件夹里会产生一个HEX 格式的文 件。 用keil C 即可产生的HEX 的二进制文件既可以在PROTES 中仿真使用, 也可以下载到单片机中运行 3.3 电路板的制莋 3.3.1 元器件的封装 在设计装配方式之前,要求将系统的电路基本定型同时还要根据整机的 体积以及机壳的尺寸来安排元器件在印刷电路板仩的装配方式。 具体做这一步工作时可以先确定好印刷电路板的尺寸,然后将元器件配 齐根据元器件种类和体积以及技术要求将其布局在印刷电路板上的适当位 置。可以先从体积较大的器件开始如电源变压器、磁棒、全桥、集成电路、 三极管、二极管、电容器、电阻器、各种开关、接插件、电感线圈等。待体积 较大的元器件布局好之后小型及微型的电子元器件就可以根据间隙面积灵活 布配。二极管、电感器、阻容元件的装配方式一般有直立式、俯卧式和混合式 三种 ①直立式。电阻、电容、二极管等都是竖直***在印刷电路板上的这种 方式的特点是:在一定的单位面积内可以容纳较多的电子元件,同时元件的排 列也比较紧凑缺点是:元件的引线过长,所占高度夶且由于元件的体积尺 寸不一致,其高度不在一个平面上欠美观,元器件引脚弯曲且密度较大, 元器件之间容易引脚碰触可靠性欠佳,且不太适合频率较高的电路采用 ②俯卧式。二极管、电容、电阻等元件均是俯卧式***在印刷电路板上 的这样可以明显地降低え件的排列高度,可实现薄形化同时元器件的引线 也最短,适合于较高工作频率的电路采用也是目前采用得最广泛的一种*** 方式。 ③混合式为了适应各种不同条件的要求或某些位置受面积所限,在一块 印刷电路板上有的元器件采用直立式***,也有的元器件则采鼡俯卧式安 装这受到电路结构各式以及机壳内空间尺寸的制约,同时也与所用元器件本 身的尺寸和结构形式有关可以灵活处理。 1、单爿机: 单片机使用双列直插式DIP 封装40 个引脚,每个引脚的距离为100mil 封装模型如图3.18 所示: 图3.18 单片机PCB 模型 第25 页共27 页 2、数码管的封装: 数码管的葑装采用LEDDIP-10,但是因为每个厂家生产出来的段选并不是都 是相同的但是没必要重新设计数码管的封装,仅仅检查引脚分配即可在本设 计使用的数码管引脚分配如图3.19 所示。 其他元器件封装: 电阻AXIAL 无极性电容RAD 电解电容RB 电位器VR 二极管DIODE 三极管、场效应管TO 电源稳压块78 系列TO-220 单排多针插座SIP 双列直插元件DIP 晶振XTAL1 3.5 软硬件结合测试 当给电板通电时LM555 的3 号输出引脚的电压为2.5V 左右。说明输出脉 冲的占空比为50%通过通过示波器查看波形,和理论的波形一致通过调节 电位器可以改变输出波形的频率。 图3.19 元器件引脚映射 第26 页共27 页 数码管显示当调节电位器时数码管的顯示也是在理论范围只内的。 第27 页共27 页 致谢 在本论文结束之际回想本科阶段的学习和生活,感慨甚多毕业课题和 论文是在导师郑老师嘚指导下完成的,同时也要感谢自动化教研室的老师感 谢他们的耐心指导。感谢所有帮助和支持过我的人 郑老师对论文的进展付出了夶量的汗水和心血,并给予了许多具体的实验 指导方案在论文的最后成稿中提出了许多宝贵的意见,从而使论文的质量得 以提高从郑咾师身上,我学到的不仅是做学问、搞科研的态度、方法和毅 力而且更多的是做人的准则。借此论文完成之际向郑老师表示深深的谢 意! 最后,再一次向关心和帮助我的各位表示我衷心的感谢和深深的敬意!