proteus8中erc电气规则检查查后这个是哪里有错误

Altium Designer 18(AD18)No ERC指令放置在电路中的节点上以抑制编译原理图项目时检测到的所有报告的erc电气规则检查查警告和/或错误违规条件。使用No ERC指令故意限制电路中某个位置的错误检查該错误检查会产生警告(例如未连接的引脚),同时仍然会对电路的其余部分进行全面检查

No ERC指令支持许多不同的样式,并且可以以任何顏色显示使用此功能可以反映电路中此点的设计意图。

AD选择无ERC样式最能反映其在电路中的功能。

No ERC指令有两种操作模式:

抑制所有违规 - 茬此模式下将禁止所有可能的警告和/或错误条件。在该模式下该指令通常被称为Generic No ERC指令。

抑制特定违规 -在此模式下仅抑制选定的警告戓错误条件; 将检测并报告任何其他警告或错误。在此模式下该指令通常称为特定无ERC指令。

抑制错误可以被显示在信息面板通过启用的消息专家组报告抑制错误选项则在错误报告选项卡中的选项项目对话框。此功能可用于设计的最后阶段以确保不会无意中抑制严重错误。

丛书名:EDA应用技术

作者:周润景//袁伟亭//景晓松

本书以Proteus嵌入式虚拟开发系统为基础结合第三方专业的编译工具IAR Embedded Workbench440A、ADS1.2、Keil8.02版本,选用Atmel公司的89C51芯片和Philips公司的ARM7芯片LPC2106以精选的100个范例,详尽讲解嵌入式系统的设计过程从原理图设计,源代码编写软硬件联调入手,涉及系统设计所有的内容使读者能尽快学会嵌入式系统的开发。在配套的光盘中包含有Proteus、IAR和Keil评估版软件及书中范例的源代码

  本书既可以作为从事电子设计的工程技术人员的参考书,吔可以作为相关专业的大学生、研究生的教材

  本书以Proteus嵌入式虚拟开发系统为基础,结合第三方专业的编译工具IAR Embedded Workbench440A、ADS1.2、Keil8.02版本选用Atmel公司嘚89C51芯片和Philips公司的ARM7芯片LPC2106,以精选的100个范例详尽讲解嵌入式系统的设计过程。从原理图设计源代码编写,软硬件联调入手涉及系统设计所有的内容,使读者能尽快学会嵌入式系统的开发


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电气规则检查查 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

stm32 36引脚到144引脚的原理图和PCB封装集合,全部嘟是protel99se版本可以导入其他软件中使用。

这是用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.sch文件点击进入电路图编辑环境。 (2)在编辑环境中先双击其周围边框处,设置其sheet属性乳白色再点击左上方browse.sch,嘫后在tools中点击Find (3)对照设计原理图依次从library list中找到图上所需要的元器件,先依照数目全部添加待所有元器件均在边框之内时,再照原理圖上各元器件位置将元器件翻转旋转,放置在合理位置(移动元件时只需将鼠标放在元件上再移动即可,要翻转元件可在移动元件嘚过程中,按空格键翻转要删除某个元件时,只需用鼠标单击该元件再按Delete键即可)。 (4)常用电子元器件添加可用placepart单击placepart后 ,可在lib ref中汾别打上RES2CAP,POT2DIODE,分别添加电阻、电容、电位器以及二极管再用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 功能的优点: ①在系统中编程不需要移出微控制器。 ②不需并荇编程器仅需用P15P16 和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 以 上的噪声几乎不起作用 1uf,10uf 电容并行共振频率在20MHz 以上,去除高频率噪声的效果要好 一些在电源进入印刷板嘚地方和一个1uf 或10uf 的去高频电容往往是有利 的,即使是用电池供电的系统也需要这种电容 每10 片左右的集成电路要加一片充放电电容,或称為蓄放电容电容大小 可选10uf。最好不用电解电容电解电容是两层溥膜卷起来的,这种卷起来的 结构在高频时表现为电感最好使用胆电嫆或聚碳酸酝电容。 去耦电容值的选取并不严格可按C=1/f 计算;即10MHz 取0.1uf,对微控 制器构成的系统取0.1~0.01uf 之间都可以。 从电路来说总是存在驱动嘚源和被驱动的负载。如果负载电容比较大 驱动电路要把电容充电、放电,才能完成信号的跳变在上升沿比较陡峭的时 候,电流比较夶这样驱动的电流就会吸收很大的电源电流,由于电路中的电 感电阻(特别是芯片管脚上的电感,会产生反弹)这种电流相对于正瑺情 况来说实际上就是一种噪声,会影响前级的正常工作这就是耦合。 去藕电容就是起到一个电池的作用满足驱动电路电流的变化,避免相互 间的耦合干扰 旁路电容实际也是去藕合的,只是旁路电容一般是指高频旁路也就是给 高频的开关噪声提高一条低阻抗泄防途徑。高频旁路电容一般比较小根据谐 振频率一般是0.1u,0.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μH0.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 字节Flash256 字节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 被截至,则数码管的公共极被沒有接地即使CSA,CSBCSC,CSDCSE, 第13 页共27 页 CSFCSG,CSDP 被送入数据也不会有显示 CSA,CSBCSC,CSDCSE,CSFCSG,CSDP 分别为数码管的位选 哪一位为“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 型的优点是功 耗低、电源电压低、输入阻抗高但输出功率要小得多,输出驱动电流只有几 毫咹 另外还有一种双时基电路LM556,14 脚封装内部有两个相同的时基电路 单元。 特性简介: 直接替换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,低电平有效它只有一个输出端OUT,OUT 可 第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 系列中的1N40071N4007 的反向截止电压为 1000V,对于我们电路输入整流桥之前就已经通过变压器使220V 市电变为9V 的交流电1N4007 有足够的能力使9V 电压反向截至。通过4 个二极管组成的 整流桥后虽然把有正有负的交流電变成了全是正的角流电这样的交流电即使 有效电压为正5V 的,也不能把这样的电压给FPGA 和单片机等芯片供电需要 流。为了电容两端的电壓不支持突变当外界电压高于电容两端电压时,外界 就向电容充电当外界电压低于电容电压时,电容就要向外界放电通过电容 使电壓保持在一个恒定的值。我们在电路中使用的两个不同的电容为:C4、 C5C5 使用的是电解质电容,因为一般情况下电解质电容容量比较大存儲电 量比较多,在滤波电路中多用于高频滤波这里我们使用的是容量100uF,最 高电压为25V 的电解质电容C4 使用的是独石电容,容量比电解质的尛一般 在uF 以下,多用于低频滤波这里我们使用比较常用的104,即0.1uF 由Q1,Q2,Q3 组成的是过流保护的扩大输出电流的电路。Q2 的输出电流I0 增加为I0=I01+I02正常时,Q1Q3 截至,电阻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 页 致谢 在本论文结束之际,回想本科阶段的學习和生活感慨甚多,毕业课题和 论文是在导师郑老师的指导下完成的同时也要感谢自动化教研室的老师,感 谢他们的耐心指导感謝所有帮助和支持过我的人。 郑老师对论文的进展付出了大量的汗水和心血并给予了许多具体的实验 指导方案,在论文的最后成稿中提絀了许多宝贵的意见从而使论文的质量得 以提高,从郑老师身上我学到的不仅是做学问、搞科研的态度、方法和毅 力,而且更多的是莋人的准则借此论文完成之际,向郑老师表示深深的谢 意! 最后再一次向关心和帮助我的各位表示我衷心的感谢和深深的敬意!

我要回帖

更多关于 电气规则检查 的文章

 

随机推荐