收藏 分销(赏)

电容测量仪设计说明书.docx

上传人:a199****6536 文档编号:3679265 上传时间:2024-07-13 格式:DOCX 页数:41 大小:937.41KB
下载 相关 举报
电容测量仪设计说明书.docx_第1页
第1页 / 共41页
电容测量仪设计说明书.docx_第2页
第2页 / 共41页
电容测量仪设计说明书.docx_第3页
第3页 / 共41页
电容测量仪设计说明书.docx_第4页
第4页 / 共41页
电容测量仪设计说明书.docx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、单片机技术课程设计说明书 电容测量仪 学 院: 电气与信息工程学院 学生姓名: 唐慧 指导教师: 王韧 职称 副教授 专 业: 电气工程及其自动化 班 级: 电气1301班 学 号: 1330140126 完成时间: 2016年06月 湖南工学院单片机技术课程设计课题任务书学院:电气与信息工程学院 专业:电气工程及其自动化指导教师王韧学生姓名唐慧课题名称电容测量仪内容及任务一、设计任务设计一个基于单片机的电容测量仪。二、设计内容1、电容测量仪的硬件系统(1)、单片机最小系统模块(2)、供电模块(3)、显示模块(4)、外围测量电路2、电容测量仪的软件系统(1)、定时器/计数器程序模块(2)、显示

2、程序模块(3)、按键处理程序模块(4)、控制与计算程序模块三、设计要求电容测量仪上电或按键复位后能自动显示系统提示符“S.”或其它开启标示符,进入准备工作状态。电容测量仪可通过LCD1602液晶屏或数码管来显示当前测量值;当把待测的元件插上测试端子后,按下按键即开始进行相应测量。主要参考资料1李广弟.单片机基础M.第3版.北京:北京航空航天大学出版社,2003.6.2李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,2012.12.3马忠梅.单片机的C语言应用程序设计M.第4版.北京:北京航空航天大学出版社,2003.6. 4李光飞.单片机C程序设计指导M.北京:北京航空航天大学

3、出版社,2003.01.5李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.9.教研室意见 教研室主任:(签字)年 月 日摘 要当前现代化电子市场正朝着快速及便利同时大容量的方向发展,现代电子产品几乎能运用到社会的各个领域当中,有力的推动了社会现代化的发展。同时,电子产品也被要求以更快速度的升级和更快速的处理。在电容测量仪系统硬件设计中,以AT89S52单片机为核心,使用对应的振荡电路转化为频率实现参数的测量。电容是采用555多谐振荡电路产生的,将振荡频率送入AT89S52的计数端端口,通过定时并且计数可以计算出被测频率,再通过该频率计算出被测参数,最后通过数码管显示测

4、量值。在电容测量仪系统软件设计中,使用C语言编程编写了运行程序;包括主程序模块、显示模块、电容测试模块。同样,在维修人员在对电子产品的维修中,电路的检测是最基本的,有时需要检测电路中各个部件是否工作正常,电容器是否工作正常。做出实物,通过实验测试,结果表明电容测量仪样机的功能和指标达到了设计要求。 关键词:555多谐振荡电路;单片机;三位数码管III目 录1 绪论11.1 电容测量仪研究意义11.2 实现功能11.3 总体方案介绍11.4 工作原理说明22 电容测量仪硬件系统设计32.1 AT89S52单片机简介32.2 电源电路42.3 复位电路42.4 晶振电路52.5 下载电路62.6

5、数码管显示电路62.7 RC振荡电路7 2.7.1 555定时器的简介7 2.7.2 RC振荡电路9 2.8 电路原理图112.9 实物图112.10 元器件清单113 电容测量仪软件系统设计123.1 单片机片外资源123.2 主程序模块123.3 数码管显示模块133.4 按键程序模块133.5 频率测量模块143.6 系统程序清单144 设计结果及误差分析154.1 电容测量仪使用说明154.2 电容测量仪调试结果15IV4.3 电容测量仪误差分析164.4 设计结论164.5 设计体会16结束语17参考文献18致谢19附录20附录A 电路原理图20附录B 电路实物图23附录C 元器件清

6、单24附录D 程序清单25IV1 绪论 1.1 电容测量仪研究意义近年来,测试仪器行业已经越过低谷阶段,重新回到了快速发展的轨道,尤其最近几年,中国本土仪器取得了长足的进步,特别是通用电子测量设备研发方面,与国外先进产品的差距正在快速缩小,对国外电子仪器巨头的垄断造成了一定的冲击。随着模块化和虚拟技术的发展,为中国的测试测量仪器行业带来了新的契机,加上各级政府日益重视,以及中国自主应用标准研究的快速进展,都在为该产业提供前所未有的动力和机遇。从中国电子信息产业统计年鉴中可以看出,中国的测试测量仪器每年都以超过30%以上的速度在快速增长。在此快速增长的过程中,无疑催生出了许多测试行业新创企业,也

7、催生出了一批批可靠性和稳定性较高的产品。由于测量电容方法多并具有一定的复杂性,所以电容测量仪的设计是在参考555定时器基础上拟定的一套自己的设计方案。是尝试用555定时器将被测参数转化为频率,这里将电容的测量电路产生的频率送入AT89S52的计数端端口,通过定时并且计数可以计算出被测频率再通过该频率计算出各个参数。1.2 实现功能(1) 电容测量仪在接入稳压电源后能显示初始化状态。(2) 电容测量仪进入待测量状态。(3) 接入被测量电容后三位数码管显示测量数据。(4) 按复位键可以进行重新测量。1.3 总体方案介绍电容测量仪的设计思想是把电容C通过RC振荡转换成频率信号f,这样就把模拟量转化为

8、数字量,然后送入核心进行计数后再对数据进行处理和运算求出被测电容的值,并送显示器显示。首先设计RC振荡电路,接入被测电容后,由555定时器构成振荡器产生方波。然后,把此脉冲信号通过接口传到AT89S52单片机上,对此脉冲信号进行计数,通过软件编程,使之转换成电容值,最后由三位数码管显示电容值。系统主要由测量电路和控制电路两部分组成。测量电路主要用于产生RC振荡频率f,而控制电路则用于对所产生的振荡频率进行计数处理控制并送显示等。系统设计框图如图1所示。图1 系统设计框图1.4 工作原理说明(1)测量部分测量部分的功能是把电容C通过RC振荡转换成频率信号f,这样就把模拟量转化为数字量。设计中RC

9、振荡是利用555定时器的振荡电路产生的。由于555内部的比较器灵敏度较高,而且采用差分电路形式,它的振荡频率受电源电压和温度变化的影响很小,故能保证检测结果的准确性。通过AT89S52单片机的I/O口自动识别,实现自动测量。 (2)控制部分控制部分以AT89S52单片机为核心,利用其管脚的特殊功能以及所具备的中断系统,定时/计数器和LED显示功能等。设计中采用三位数码管构成显示器,直观易懂,操作简单,且能降低功耗。2 电容测量仪硬件系统设计2.1 AT89S52单片机简介 以AT89S52单片机为控制核心,外扩外围电路,完成频率计所需要的外围电路。显示电路,键盘输入电路,复位电路等。AT89S

10、52单片机内部配以基本单元:即三个定时/计数器、5个中断源。可由编程来实现根据定时、计数时计数溢出而产生的中断申请信号中断功能,并由三位数码管对被测值进行显示。AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。 AT89S52单片机的基本特点是低功耗、高性能,片内由4KB可编程/擦除只读存储器的8位COMS微控制器组成,通过结合高密度、非易失存储技术来保证单片机引脚与相应指令系统的高兼容度。由于芯片里FLASH的存在,因此可以通过通用的非易失存储编程器实现在线编程以及重复编程等功能。在通常情况下,当系统掉电时,数据存储器的内容立即会被保存下来,而此时单片机其他一切都会停止工作,直

11、到产生下一个中断或硬件复位信号整个系统才会重新开始工作。AT89S52的内部特点:具有40个引脚、8K片内程序存储器空间、256B的随机存取数据存储器,32个外部双向输入/输出I/O口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个看门狗(WDT)电路,片内时钟振荡器。AT89S52引脚图如图2所示。图2 AT89S52引脚图2.2 电源电路电源电路是给数字频率计提供电源,此电路包括一个输入220V输出为15V的变压器,一个六脚开关,一个发光二极管、电容、电阻、导线组成。其中根据经验值可取C1=2200F,C2=470F,C3=C4=0.1F,R1=300,其中C1与C3组成

12、滤波结构,具有滤波作用,发光二极管的作用主要是:运用二极管的单向导电特性来提示电源是否接通或观察电源是否一直保持通电正常、稳定,并且300的电阻与二极管串联,其作用是保护二极管不会因为电流突然变大而被烧坏。本电路采用的是+5V直流稳压电源对整个系统进行供电。如图3所示。图3 电源电路2.3 复位电路复位电路的作用是按下复位键可以使显示界面回到最开始的地方。课程设计按键复位电路由两个电阻一个电容和一个按键组成,大小分别为22F,1K,200,1K电阻一端接电源,另一端接电容的正极接到单片机的复位引脚,200电阻按键串联后与22F电容并联,当按键按下时,200电阻与VCC直接相连,和1K电阻产生分

13、压,在RST产生复位所需的高电平。当按键松开的,VCC给电容充电,RST仍为高电平,而当电容充电完成后,相当于短路,则为低电平,正常工作。复位电路如图4所示。图4 复位电路2.4 晶振电路晶振电路的作用是产生单片机所必须的时钟频率。单片机工作所需的同步时钟信号由由以下两种方法获得,第一:由单片机片内时钟电路结合外部晶振、电容产生;第二:直接从单片机外部引入脉冲信号。设计中用第一方法,有石英晶体和微调电容(一般取值30pF左右)组成,石英晶体产生震荡,单片机振荡电路产生的脉冲信号称振荡信号,它的频率等于石英晶体的振荡频率(fosc),简称晶振频率,振荡脉冲信号还不是单片机工作所需的时钟信号,时钟

14、信号必须由振荡脉冲信号经单片机片内时钟电路的处理后才能产生。课程设计晶振电路主要由振荡电路和分频电路组成。其中振荡电路由高增益反相器以及并联外接的石英晶体和电容构成产生振荡脉冲。而分频电路则用于把振荡脉冲分频,已得到所需的时钟信号。振荡电路由单片机芯片的XTAL1端输入,XTAL2端输出。此时同时并接一个石英晶体振荡器以及两个33pF电容。而AT89S52中自带有分频电路所以不需要外接电路对脉冲信号进行分频。晶振频率是12MHz。如图5所示。图5 晶振电路2.5 下载电路由于AT89S52支持flash在线写入、擦除,所以下载电路是必不可少的部分。由下载口进行单片机与电脑的连接。并有下载电路产

15、生电源提供给单片机工作。主要是USB下载口(ISP)构成,1脚接P1.5;3脚接RET;4脚接P1.7;5脚接P1.6;6脚接VCC,7、8、9、10脚接GND;。通过下载口实现计算机与单片机的通信。如图6所示。图6 下载电路2.6 数码管显示电路三位数码管是由发光的二极管显示字段组成的。在单片机应用系统中使用最多的就是七段LED数码管,有共阴极和共阳极两种。共阳极的LED数码管显示器的公共端为发光二极管的阳极,通常接+5V电源,当发光二极管的阴极为低电平时,发光二极管点亮。电容测量仪设计中采用的是3位七段共阳极数码管显示器,一共具有12个引脚,4个位选端,8个字选端。单片机与数码管模块连接图

16、如图7所示。图7 显示电路设计2.7 RC振荡电路建立振荡,就是要使电路自激,从而产生持续的振荡,由直流电变为交流电,对于RC振荡电路来说,直流电源即是能源,自激的因素是微弱的信号经过放大,通过正反馈的选频网络,使输出幅度越来越大,最后受电路中非线性元件的限制,使振荡幅度自动地稳定下来,为此采用555定时器来产生RC振荡频率。2.7.1 555定时器简介555定时器是一种模拟电路和数字电路相结合的中规模集成器件,它性能优良,适用范围很广,外部加接少量的阻容元件可以很方便地组成单稳态触发器和多谐定时器,以及不需外接元件就可组成施密特触发器。因此集成555定时被广泛应用于脉冲波形的产生与变换、测量

17、与控制等方面。(1)555定时器内部结构555定时器是一种模拟电路和数字电路相结合的中规模集成电路,其内部结构如图8所示,管脚排列如图9所示。图8 555定时器内部结构图9 555管脚排列图(2) 多谐定时器工作原理由555定时器组成的多谐定时器如图10所示,其中R1、R2和电容C为外接元件。其工作波如图11所示。图10 定时器工作原理图11 多谐振荡器工作波形图设电容的初始电压Uc0,t0时接通电源,由于电容电压不能突变,所以高、低触发端VTHVTL01/3Vcc比较器N1输出为高电平,N2输出为低电平,即=1,=0(1表示高电位,0表示低电位),R-S触发器置1,定时器输出u0=1此时=0

18、,定时器内部放电三极管截止,电源Vcc经R1,R2向电容C充电,uc逐渐升高。当uc上升到1/3Vcc时,N2输出由0翻转为1,这时=1,R-S触发顺保持状态不变。所以0tt1期间,定时器输出u0为高电平1。t=t2时刻,uc上升到2/3Vcc,比较器N1的输出由1变为0,这时=0,=1,R-S触发器复0,定时器输出u0=0。t1tt2期间,=1,放电三极管T导通,电容C通过R2放电。uc按指数规律下降,当uc2/3Vcc比较器N1输出由0变为1,R-S触发器的=1,Q的状态不变,u0的状态仍为低电平。t=t2时刻,uc下降到1/3Vcc,比较器N2输出由1变为0,R-S触发器的=1,=0,触

19、发器处于1,定时器输出u0=1。此时电源再次向电容C放电,重复上述过程。通过上述分析可知,电容充电时,定时器输出u0=1,电容放电时,u0=0,电容不断地进行充、放电,输出端便获得矩形波。多谐定时器无外部信号输入,却能输出矩形波,其实质是将直流形式的电能变为矩形波形式的电能。(3)振荡周期由图(11)可知,振荡周期。T1为电容充电时间,T2为电容放电时间。充电时间: 放电时间: 矩形波的振荡周期: 对于矩形波,除了用幅度,周期来衡量外,还有一个参数:占空比q,q=(脉宽tw)/(周期T),tw指输出一个周期内高电平所占的时间。图(10)所示电路输出矩形波的占空比: 2.7.2 RC振荡电路的设

20、计电容测试仪的设计采用的“脉冲计数法”,就利用了555芯片产生多谐振荡这一原理来设计的。由555芯片构成的多谐振荡电路,通过计算振荡输出的频率来计算被测电容的大小。RC振荡电路输出的是矩形波脉冲,振荡器的输出口要接到AT89S52单片机的输入引脚P3.5。这是因为T0设置为定时器,计内部脉冲,ATC89S52单片机设置为计数器计外部脉冲。电路原理图如图12所示。 图12 RC振荡电路接通电源后,C2、CX被充电,A点电压VC上升。当VC上升到2/3Vcc时,触发器被复位,同时555芯片内部放电三极管导通,此时V0为低电平。C2、CX通过R2和放电三极管放电,使VC下降。当VC下降到1/3Vcc

21、时,触发器又被置位,V0翻转为高电平。C2、CX放电所需的时间为: 式中:当放电结束时,放电三极管截止,VCC通过R1、R2向CX充电,V由1/3Vcc上升到2/3Vcc所需的时间为: 当VC上升到2/3VCC时,触发器翻转,如此周而复始,在输出端得到一个周期性的方波,其频率为: 根据555多谐振荡器频率计算公式及电容串联计算公式可推出: 整理得: 由上式可知,当电路设计完成后,所有参数除频率f外均为定值,且f随CX的变化而唯一改变。当电容较小时,脉冲频率之间相差上百甚至上千,电路中的电阻应做相应的调整。记录一秒钟内脉冲的数量,由查表可得到相对应的电容值。键盘电路的作用是给单片机系统提供输入信

22、号。2.8 电路原理图 电路原理图见附录A2.9 实物图 实物图见附录B2.10 元器件清单 元器件清单见附录C3 电容测量仪软件系统设计电容测量仪设计运用C语言编来编写课题程序,它由主程序、数码管显示子程序、按键控制子程序、频率测量子程序等模块组成。同时,软件系统都给出了较为详细的流程图。3.1 单片机片外资源 P1:数据传输; P0:控制数码管的位选; P2:控制数码管的段选; 定时器T0,计数器T1。3.2 主程序流程图主程序流程图如图13所示。图13 主程序流程图3.3 数码管显示模块单片机P0口分别控制数码管的位选。a-g为数码管的8位字数据线,分别与AT89S52单片机的P1.0-

23、P1.7相连,用于传输数据。相关程序流程图如图10所示,详细程序见附录D图14 数码管显示流程图3.4 按键程序模块当有操作按键按下时,单片机首先会先判断键值,然后依据判断出的键值来执行相应的键功能程序。相关程序流程图如图15所示。图15 按键程序流程图3.5 频率测量模块设计频率的计算采用单片机外部中断,对外触发电路产生的脉冲频率的测量,再通过对测量数据的校正来完成。单片机对频率测量的原理如图16所示。图16 测频率原理图示 说明:图16中t1时刻检测到高电平开定时器1,开始计数;t2时刻等待检测低电平;t3时刻第二次检测到高电平时关定时器停止计数。利用GATE=1,TR1=1,只有引脚输入

24、高电平时,T1才允许计数,利用此,将外部输入脉冲经引脚上输入,等待高电平的到来,当检测到高电平时开定时器开始计数,然后检测低电平,当检测到低电平时已经测得脉冲的脉宽,但我们测得是频率,故在程序中药继续检测等待下一个高电平的到来,此时关定时器停止计数,用此计数值乘以机器的周期数(晶振频率已知),得出触发电路产生的周期,然后再经过数据处理便得到输入信号的频率。相关程序流程图如图17所示。图17 频率测量流程图3.6 系统程序清单课题软件系统程序清单见附录D。4 设计结果及误差分析4.1 电容测量仪使用说明电容测量仪设计能测量0999nF的电容值。当接入0999nF量程范围内的电容时,能通过三位数码

25、管显示电容值;当超过量程时,发光二极管亮灯。按下复位键时,可以重新测量电容值。4.2 电容测量仪调试结果 (1)当接通12V稳压电源后,电容测量仪显示的是初始化状态如图18所示。图18 电容测量仪初始换状态 (2)当接上330nF的334电容时,测得电容值为405nF,电容测量仪的工作状态如图19所示。图19 电容测量仪工作状态4.3 电容测量仪误差分析由图19可知,被测电容已知是334电容,电容值为330nF。通过该电容测量仪测得电容值为405nF,所以测量相对误差为22.7%。可见测小电容误差较小,实际测量较大电容时误差会随之加大,引起误差的原因有如下几点: (1)首先单片机对于脉冲宽度的

26、测量精确度有限 (2)外界的干扰对波形有一定的影响 (3)所选取的元器件精度不够,造成了一定的误差4.4 设计结论 由以上结果可知:电容测量仪接入稳压电源后,能够测量电容,达到设计要求。4.5 设计体会通过做电容测量仪设计,在知识层面上,学得了很多新知识以及解决问题的新方法。在实践方面,提高了动手能力,提高了解决实际问题的能力等等。在思想上,更加明白的坚持不懈的重要性,学习探索的重要性,实践动手的重要性。课程设计是大学非常重要的教学环节,通过课程设计学生能够了解到一些实际与理论之间的差异。通过课程设计不仅可以巩固专业知识,为以后的工作打下了坚实的基础,而其还可以培养和熟练使用资料,运用工具书的

27、能力,把所学的课本知识与实践结合起来。课程设计是知识和实践的结合,提高了学生对知识的理解,同时也是我们动手能增强的体现过程,所以作为学生一定要切实完成课程设计。结束语 在王老师的悉心指导下,通过一段时间的学习和探索,进一步熟悉、了解了单片机相关知识,重新温习了C语言编程和数字电子技术。电容测量仪是采用以AT89S52为核心,辅以多谐振荡电路、三位数码管、复位电路等,来实现电容值的测量。实现了智能化运行,高效设计,方便快捷,运行平稳、可靠,易于维护,相关配备功能齐全。整体系统结构简明、使用芯片较少、控制、实现精度高。同时,尽量减小了PCB版所占用的面积大小;成本、消耗低。尽管达到了设计要求,但其

28、中仍然存在着很多需要改进的地方。作品实测中,测量电容值有一定的误差,而且电容值越大时误差越大,该误差则是来源于振荡电路产生的频率和单片机程序上的误差。希望在之后的设计之中能够得到进一步解决。在人机交换方面,显示部分可以改用显示效果更好的液晶屏显示,使系统工作状态和数据显示更加清晰、更加人性化。该电容测量仪设计的硬件电路图简单,可降低生产成本。采用单片机可提高系统的可靠性和稳定性,缩小系统的体积,调试和维护方便,而且以AT89S52单片机最小系统为核心的设计能够满足了整个系统的工作需求,555定时器实现了被测电容参数的频率化,将被测电容的频率信号送入单片机计数,再经过显示电路显示被测参数的测量值

29、,运行程序用C语言编程,经过不断测试,电容测量仪系统各个模块都能正常工作,成功实现了设计的要求。参考文献1李广弟.单片机基础M.第3版.北京:北京航空航天大学出版社,2003.6.2李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,2012.12.3马忠梅.单片机的C语言应用程序设计M.第4版.北京:北京航空航天大学出版社,2003.6. 4李光飞.单片机C程序设计指导M.北京:北京航空航天大学出版社,2003.01.5李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.9.6郭天祥.51单片机C语言教程M.北京:电子工业出版社,2009.6.致 谢经历了一

30、段时间的学习,在王老师的悉心指导下,我通过自己的努力完成了电容测量仪的课程设计。在这里,我由衷的感谢王老师的悉心指导,在本次课程设计中王老师拓宽了我对单片机知识层面的理解,深入浅出的讲解给予了我很大的帮助,让我对相关单片机的理论知识更加深入了解,使得我在实际设计中逐渐将把自己所学的理论知识灵活应用于课程设计之中,严格的设计要求让我的课本知识通过实践得到了极大地升华,大大提升了我的实践动手能力、编程能力。王老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,以及平易近人的人格魅力对我影响深远。在此,谨向王老师致以诚挚的谢意和崇高的敬意。其次我也非常感谢我的室友提供的无私帮

31、助,他们无数次的争论和探讨使我的工作有了长足的进展。祝愿王老师工作顺利,同学们学业有成!附 录附录A 电路原理图 附录B 电路实物图附录C 元器件清单名称规格数量 变压器15V21 散热片 1 整流桥 2W101 电容 2200F1 电容 100F1 电容 470F1 电容 3.3F1 电容 1nF1 电容 33pF2 电容 0.1F3 电阻 3.9K1 电阻 10K2 电阻 1K13 电阻 3001 芯片 NE5551 芯片 AT89S521 芯片 LM78051 下载口 1 晶振 12M1 按键 1 六角开关 1 三位数码管 0.1F1 发光二极管 1 三极管 2N39063附录D 程序清

32、单/*程 序 名:电容测量仪程序编 写 者:唐慧指导老师:王韧 时 间:2016.06.20班 级:电气本1301班功 能:测量电容 型 号:AT89S52 使用晶振为12MHz*/#includereg51.h#include#include#define uchar unsigned char#define uint unsigned int/*0 1 2 3 4 5 6 7 8 9 A B C D E F*/ Unsigne char code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC

33、6,0xA1,0x86,0x8E;sbit A1 = P02;sbit A2 = P03;sbit A3 = P04;sbit LED=P26; unsigned char I=0;unsigned int T0count=0; unsigned char T0FLAG=0; unsigned char T4S=0;unsigned char T4Scount=0;bit flag=0; unsigned char Pulse_FLAG=1;/电容- float CZ=0; float CX=0; unsigned long x;unsigned int Pulsenum;/脉冲个数/*定义全

34、局变量*/unsigned int VCC_dat = 0x00; unsigned char dat = 0x00; /AD值unsigned char Tdat = 0x00; /设定值unsigned char temp5;unsigned char count = 0x00; /定时器计数/*函数功能:延时ms入口参数:MS返 回:null备 注:null*/void DelayMs(uint Ms) unsigned char i,j; do for(i=5;i0;i-) for(j=98;j0;j-); while(-Ms);/End of Timer0IntProc/ / 主程序

35、void main(void) A1=0; A2=0; A3=0; TMOD=0x51; /设置定时器0,方式1:16位定时器 TH1=0; TL1=0; TH0=(65536-2000)/256; /设定定时周期 TL0=(65536-2000)%256; TR0=1; TR1=1; ET1=1; ET0=1; EA=1;LED=1; while(1) if(flag=1)flag=0; T4Scount+; x=Pulsenum*65536+TH1*256+TL1;/计算1s内的脉冲个数,频率=脉冲个数CZ=510000/x;/电容挡计算 if(x40500)CZ=0; if(x99999

36、9)CZ=999999; /限制最高值CZ=CZ/6; if(CZ999)CZ=999; /限制最高值 if(CZ1)CZ=CZ-1; VCC_dat=CZ; if(T4Scount=1) temp0 = VCC_dat/100; VCC_dat = VCC_dat%100; temp1 = VCC_dat/10; VCC_dat = VCC_dat%10; temp2 = VCC_dat;/更新电容值显示 if(T4Scount=4) T4Scount=0; T0count=0; Pulsenum=0; TH1=0; TL1=0; TR1=1; void Time0(void) interr

37、upt 1 using 1 TH0=(65536-2000)/256; TL0=(65536-2000)%256; T0count+; if(T0count=497)/1s计时到 TR1=0; T0count = 0; flag=1;I+;if(I=1)A2=1;A3=1;A1=0; P1=dispcodetemp0; if(I=2)A1=1;A3=1;A2=0; P1=dispcodetemp1; if(I=3)A1=1;A2=1;A3=0;I=0; P1=dispcodetemp2; /* 函 数 名: Exti0_interrupt* 函数功能: /T0引脚下降沿进入中断* 入口参数: 无* 返 回: 无*/void T1_interrupt(void) interrupt 3 using 0 Pulsenum+;/保存测得脉搏值 34

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服