基于单片机的数字电流表的设计-_第1页
基于单片机的数字电流表的设计-_第2页
基于单片机的数字电流表的设计-_第3页
基于单片机的数字电流表的设计-_第4页
基于单片机的数字电流表的设计-_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南文理学院课程设计报告课程名称:专业综合课程设计专业班级:自动化12101班学号38号学生姓名:指导教师完成时间:2023年06月05日报告成绩:评阅意见:评阅意见:评阅教师日期基于单片机的电容电流监测装置设计一、设计要求〔1〕采用MCS-51系列单片机设计一个可以监测量直流和交流的电流的装置,它采用根本量程时电流为2安,此时就是满量程。量程的改变取决于负反应电路的电容,题目为基于单片机的电容电流监测装置设计。〔2〕用2行16个字的LCD1602显示测量结果。二、设计意义目前,随着电子工业的开展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,在应用中我们常常要测定电流的大小。在电子产品的生产和维修中,电流测量这一环节至关重要,一个好的电子产品应具备一定规格年限的使用寿命。因此在生产这一环节中,对其产品的检测至关重要,而检测电子产品是否符合出产要求的关键在于检测其内部核心的电路,电路的好坏决定了电子产品的好与坏,而电容在根本的电子产品的集成电路局部有着其不可替代的作用。同样,在维修人员在对电子产品的维修中,电路的检测是最根本的,有时需要检测电路中各个部件是否工作正常,电流器是否工作正常。因此,设计可靠,平安,便捷的电流测试仪具有极大的现实必要性。三、系统总体方案本设计选择基于AT89C51单片机和ICL7135芯片构成的多谐振荡电路的电流测量方法。这种电容测量方法主要是通过一块ICL7135芯片来测量电流,让ICL7135芯片工作在直接反应无稳态的状态下单片机及其扩展的外部电路先做成一个理想电压表[3],用G表示。由于通常所说的电流表是指灵敏电流计其量程太小,不能直接测量电流,仅用于检测有无电流和电流的方向,所以要想得到一个有多量程或量程较大的电流表需要将一个理想电压表改装而成。本设计是用一个内阻视为无穷大的电压表并联分流电阻而成的数字电流表。待测电流I随搬动开关K的位置而流过c1或c2,因而本电流表的两个量程就取决于G的满量程电压和C1、C2的阻值,记G的满量程电压为Ug,根据Q=CU,假设Ug和C那么Ig就是电流表的满量程电流。。计算频率的方法可以利用单片机的计数器T0和中断INT0',配合使用来测量,系统框图见图所示。图中给出了整个系统设计的系统框图,系统主要由四个主要局部组成:单片机和晶振电路设计、测量电路设计、显示电路设计、复位电路设计。AT89C5-51的复位是由外部的复位电路来实现的。MCS-51单片机片内复位,复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。时钟电路在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性,本系统采用内部时钟电路。测量电路是由ICL7135等芯片组成,测量电路能很好的消除干扰,获得准确的数字信号。显示电路使用的是2行16个字的1602液晶模块作为测量值显示局部。其中字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等。AT89C51复位电路AT89C51复位电路LCP显示LCP显示被测电流被测电流测量电路测量电路时钟电路时钟电路图3.1系统框图四、硬件设计4.1AT89C51芯片的选择与简单介绍AT89C51是一种带4K字节FLASH存储器〔FPEROM—FlashProgrammableandErasableReadOnlyMemory〕的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如下图图4.1AT89C51引脚图管脚简介:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存放器的内容。P2口在P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流〔ILLP3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0RXD〔串行输入口〕P3.1TXD〔串行输出口〕P3.2/INT0〔外部中断0〕P3.3/INT1〔外部中断1〕P3.4T0〔计时器0外部输入〕P3.5T1〔计时器1外部输入〕P3.6/WR〔外部数据存储器写选通〕P3.7/RD〔外部数据存储器读选通〕P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,那么在此期间外部程序存储器〔0000H-FFFFH〕,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的上下电平要求的宽度。4.2单片机最小系统单片机电路是本设计的核心局部,本设计选用了常用的AT89C51单片机。AT89C51是低功耗、高性能、经济的8位CMOS微处理器,工作频率为0—24MHz,内置4K字节可编程只读闪存,128x8位的内部RAM,16位可编程I/O总线。AT89C51工作的最简单的电路是其外围接一个晶振和一个复位电路,给单片机接上电源和地,单片机就可以工作了。其最简单的工作原理图如图3所示。图表3图表3工作原理图图4.2最小系统工作原理图4.3电路原理图基于AT89C51电容测量系统复位电路AT89C51的复位是由外部的复位电路来实现的。MCS-51单片机片内复位,复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。本设计采用按键手动脉冲复位方式,按键脉冲复位是利用RC微分电路产生的正脉冲来实现的。复位电路如图3所示。图4.3图4.3复位电路一般的,单片机的复位速度比外围I/O快些。假设RC上电复位电路接MCS-51单片机和外围电路复位端,那么能使系统可靠地同步复位。为保证系统可靠复位,在初始化程序中应用到一定的复位延迟时间。复位电路软件程序或者硬件发生错误的时候产生一个复位信号,控制MCS-51单片机从0000H单元开始执行程序,重新执行软件程序。此电路的输出端RESET接在单片机的复位引脚。基于AT89C51电容测量系统时钟电路图4内部时钟方式电图图4内部时钟方式电图图4.4系统内部时钟图MCS-51单片机内部有一个用与构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器电路。电路中的电容C1和C2典型值通常选择为30PF左右。对外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器频率的上下、振荡器的稳定性和起振的快速性。晶体的振荡频率的范围通常是在1.2MHz—12MHz之间。很设计中单片机选择12MHz的石英晶体。基于AT89C51电容测量系统按键电路按键是实现人机对话的比拟直观的接口,可以通过按键实现人们想让单片机做的不同的工作。键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。图5就是一种比拟典型的按键电路,在按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平。图4.5图4.5按键图基于AT89C51电容测量系统ICL7135芯片电路对于ICL7135电路等效看成一个带放电开关的RS触发器,这个特殊的触发器有两个输入端:阈值端TH可看成是置零端R,要求高电平,触发端R可看成置位端低电平有效。它只有一个输出端Vo,Vo可等效为触发器的Q端。放电端DIS可看成由内部放电开关控制的一个接点,放电开关由触发器的端控制:Q=1时DIS端接地;Q=0时,DIS端悬空。此外,这个触发器还有复位端MR加上低电平(<0.3V)时可使输出为低电平。该特殊的RS触发器有两个输入端,这两个输入端的触发电平要求一高一低,其中置零端R即阈值端TH要求高电平,置位端即触发端那么要求低电平,也就是使它们翻转的阈值电压值不同。当VK端不接控制电压时,对TH端(即R端)来讲,大于2/3VDD是高电平1,小于2/3VDD时是低电平0;而对TR端(即端)来讲,大于1/3VDD是高电平1,小于1/3VDD是低电平O。图4.6电流测量电路ICL7135图4.6电流测量电路ICL芯片芯片输出的频率为f=0.772/(R*C),只要我们改变电容c,就可以到达改变电阻量程的目的,本设计提供了两组电容,所以说有两组组的电容测量量程。分别为(0-1A)和〔1-2A)。在ICL7135芯片输出方波后,由于硬件的原因,输出的方波会有很多毛刺,为了去除这些毛刺本设计中使用了一个两输入与门〔74HC08〕,让信号通过74HC08后会使输出的波形毛刺减少很多,使单片机的测量结果变得精确。74HC08如图7所示,经过整形前后波形比拟如图8所示。图4.7图4.774HC08图4.8经过74HC08整形前后波形比拟期中下面一条为整形后〕基于AT89C51电容测量系统显示电路本设计使用的是2行16个字的1602液晶模块作为测量值显示局部。其中字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等。如图9为LCD1602图。图图4.9LCD1602引脚图1602采用标准的16脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高,比照度过高时会产生“鬼影〞,使用时可以通过一个10K的电位器调整比照度第4脚:RS为存放器选择,高电平时选择数据存放器、低电平时选择指令存放器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15~16脚:空脚1602液晶模块内部的字符发生存储器〔CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比方大写的英文字母“A〞的代码是01000001B〔41H〕,显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A〞表1CGROM和CGRAM中字符代码与字符图形对应关系1602液晶模块内部的控制器共有11条控制指令,其控制命令如下表所示。表2LCD1602内部11条控制指令它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。〔说明:1为高电平、0为低电平〕指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平那么无效指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符〔有些模块是DL:高电平时为8位总线,低电平时为4位总线〕指令7:字符发生器RAM地址设置指令8:DDRAM地址设置指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据指令11:读数据表3LCD1602的内部显示地址液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否那么此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表3LCD1602的内部显示地址图4.11显示电路图3软件流程及程序设计3.1软件系统总体设计方案本设计的程序都是基于C语言的。要完成的任务是:初始化程序设计、按键程序设计、中断处理程序,计数器计数程序,显示程序设计等。本次设计所选用KeilC51中的编译/连接器软件KeiluVision2作为编译器/连接工具。3.2程序设计算法设计整个程序设计过程中遇到的最大的问题的如何根据测量到的方波的频率来计算所测量的电容的大小。在前面的介绍中我们知道:555时基芯片的输出频率跟所使用的电阻R和电容C的关系是:f=0.772/R*C又因为T=1/F,所以即:因单片机采用12M的晶振,计数器T0的值增加1,时间就增加1μS ,所以采用中断的方式来启动和停止计数器T0,中断的触发方式为脉冲下降沿触发,第一次中断到来启动T0,计数器的值为,第二次中断到来停止T0,计数器器的值为,那么测量方波的周期为,令开始时刻计数器的值,那么。简单时序图13所示。图4.1图4.12简单时序那么:(9)单片机的计数器的值N=0-65535,为了测量的精度,N的取值一般在100~5000,当电阻R越大,电容C的值就越小。我们取不同的电阻值,就得到不同的电容测量的量程。第一档:10~50uF第二档:0.1~5uF为了编写程序的方便,我们只计算,后面的单位可以根据使用的量程自行添加。3.3软件设计流程流程图是一种传统的算法表示法,它利用几何图形的框来代表各种不同性质的操作,用流程线来指示算法的执行方向。本设计的程序的流程图如图14所示。图图4.13流程图五、protues仿真讲上面所编的C语言程序在KeiluVision3软件上链接、编译后,无误,并给总电路图中的单片机AT89C51加载程序进行仿真,得到仿真结果如下所示。〔1)待测电流在0-1A内,选择档位一:图5.1仿真结果1例如C5=45uf、18uf图5.1仿真结果1(2)待测电流在1-2A内,选择档位二:例如C5=0.4uf、0.9uf时,档位二开关闭合,仿真结构如下列图16所示。图图5.2仿真结果2测试结果分析:能正常测量0——2000mA电流,达大局部设计要求。六、总结6.1本系统存在的问题及改良措施本设计基于单片机AT89C51的计数器T0和中断INT0非配合使用来计算RC振荡电路输出的频率,设计中使R固定不变,从而推算出C的大小。由于单片机的计数器的值N=0~65535,为了测量的精度,N的取值一般在100~5000,所以所设计的电容测量仪的量程受较小。6.2心得体会本次课程设计是一次非常好的将理论与实际相结合的时机,通过对电容测试仪的课题设计,锻炼了我的实际动手能力,增强了我解决实际工程问题的能力,同时也提高我查阅文献资料、设计标准以及电脑制图等其他专业能力水平。本设计通过由555芯片和电容电阻组成的振荡电路来输出方波,通过单片机定时器T0测量其输出频率,再通过单片机软件编程,对数据进行进一步的计算从而得出被测电容的值,再通过LCD1602显示出其测量值。系统的软件局部是系统实现功能的关键,软件局部是在Keil51的平台上使用是C语言编写程序。本系统通过一个测量按键启动整个测量程序,通过外部中断零INT0来控制计数器T0的开始和停止,INT0采用边沿触发方式,在第一个脉冲边沿启动T0,使T0开始计数,在第二个脉冲边沿停止T0计数,然后通过对数据的计算和处理最后将数据显示在LCD1602上。总之,整个系统的工作正常,完成了设计任务的全部要求虽然本设计完成了设计任务,但无法得到十分精确的测量结果,这主要是有以下几点原因,首先单片机对于脉冲宽度的测量精确度有限,其次是外界的干扰对波形有一定的影响,还有硬件自身也有一局部原因。希望在之后的设计之中能够得到进一步解决。参考文献[1]康华光.电子技术根底(模拟局部).北京:高等教育出版社,1999.6[2]华成英,童诗白.数字电子技术根底.北京:高等教育出版社,2006.5[3]谢自美.电子线路设计/实验/测试.武汉:华中科技大学出版社,2000.7[4]郭文川.单片机原理与接口技术.北京:中国农业出版社,2007.8.[5]丁英丽.交流型微小电容测量电路的设计.北京:电工技术杂志,2003.5[6]王毓银.数字电路逻辑设计.北京:高等教育出版社,1999.9[7]罗民昌.集成电路系统.北京:中国铁道出版社,1998.9[8]申忠如,申淼,谭亚丽主编,MCS-51单片机原理及系统设计,西安:西安交通大学出版社,2023年3月第1版[9]付晓光主编,单片机原理与使用技术,北京:清华大学出版社,2007.11[10]李桂安主编,电子技术实验及课程设计,南京:东南大学出版社,2023.8[11]夏继强主编,单片机实验与实践教程,北京:北京航空航天大学出版社,2001.9附录一:系统原理图附录二:源程序清单#include"reg51.h"#include"intrins.h"//库函数#defineDATAP0sbitRW=P2^1;//1602写数据sbitRS=P2^0;//1602写地址sbitEN=P2^2;//1602工作使能sbitb_test=P3^7;//开始测量电容的按键输入sbit_reset=P3^5;//555时基芯片工作控制信号unsignedintT_flag,N,C,i,Dis1,Dis0;unsignedintb[7]={0X13,0X0D,0X00,0X00,0X00,0X25,0X16};//显示C=00000UF/***********延时1MS******************/voidDelay1ms(unsignedintmm){unsignedinti;for(mm;mm>0;mm--)for(i=100;i>0;i--);}/***************检查忙否*****************/voidCheckstates(){unsignedchardat;RS=0;RW=1;do{EN=1;//下降沿_nop_();//保持一定间隔 _nop_();dat=DATA;_nop_(); _nop_();EN=0;}while((dat&0x80)==1);}/**************LCD写命令函数*********/voidwcomd(unsignedcharcmd){Checkstates();RS=0;RW=0;DATA=cmd;EN=1;_nop_();_nop_();_nop_();_nop_();EN=0;}/**********LCD写数据函数**************/voidwdata(unsignedchardat){Checkstates();RS=1;RW=0;DATA=dat;EN=1;_nop_();_nop_();_nop_();_nop_();EN=0;}/*****************初始化********************/voidLCDINIT(){Delay1ms(15);wcomd(0x38);//功能设置Delay1ms(5);wcomd(0x38);//功能设置Delay1ms(5);wcomd(0x01);//清屏Delay1ms(5);wcomd(0x08);//关显示Delay1ms(5);wcomd(0x0c);//开显示,不开光标}/***********显示函数**************/voidDisplay(void)//显示函数{unsignedchari,j;unsignedchara[12]={0X4D,0X45,0X41,0X53,0X55,0X52,0X45,0X4D,0X45,0X4E,0X54,0X53};//显示measurementsLCDINIT();for(i=0;i<12;i++)//写显示第一行{wcomd(0x80+i);Delay1ms(1);wdata(a[i]);Delay1ms(1);}for(j=0;j<7;j++)//写显示第二行{wcomd(0xc0+j);Delay1ms(1);wdata(0x30+b[j]);Delay1ms(1);}Delay1ms(150);}voidmain(){IE=0x81;//翻开全部的中断控制,并开启外部中断允许TMOD=0x09;//T0为16位计数工作方式1IT0=1;//设置外部中断的触发的方式为脉冲触发TH0=0x00;TL0=0x00;T_flag=0;_reset=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论