数字频率计单片机课程设计(共55页).docx

上传人:飞****2 文档编号:13556585 上传时间:2022-04-30 格式:DOCX 页数:55 大小:17.01MB
返回 下载 相关 举报
数字频率计单片机课程设计(共55页).docx_第1页
第1页 / 共55页
数字频率计单片机课程设计(共55页).docx_第2页
第2页 / 共55页
点击查看更多>>
资源描述

《数字频率计单片机课程设计(共55页).docx》由会员分享,可在线阅读,更多相关《数字频率计单片机课程设计(共55页).docx(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上单片机技术课程设计说明书数字频率计院 、 部: 学生姓名: 指导教师 职称 专 业: 班 级: 学 号: 完成时间: 专心-专注-专业湖南工学院单片机技术课程设计课题任务书学院: 专业:指导教师学生姓名课题名称数字频率计内容及任务一、设计任务设计一个能够测量周期性矩形波信号的频率、周期、脉宽、占空比的频率计。二、设计内容1、频率计的硬件系统(1)、单片机最小系统模块(2)、供电模块(3)、显示模块(4)、键盘模块2、频率计的软件系统(1)、系统监控程序模块(2)、显示程序模块(3)、键盘程序模块(4)、频率测量程序模块(5)、周期测量程序模块(6)、脉宽测量程序模块(

2、7)、占空比测量程序模块三、设计要求该频率计上电或按键复位后能自动显示系统提示符“P.”, 进入测量准备状态。按频率测量键则测量频率;按周期测量键则测量周期;按脉宽测量键则测量脉宽;按占空比测量键则测量占空比。被测信号频率范围:10Hz至500KHz。主要参考资料1李广弟.单片机基础M.第3版.北京:北京航空航天大学出版社,2003.6.2李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,2012.12.3马忠梅.单片机的C语言应用程序设计M.第4版.北京:北京航空航天大学出版社,2003.6. 4李光飞.单片机C程序设计指导M.北京:北京航空航天大学出版社,2003.01.5李

3、光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.9.教研室意见 教研室主任:(签字)年 月 日摘 要随着电子信息产业的不断发展,信号频率的测量在科技研究和实际应用中的作用日益重要。本课程设计是一个基于单片机技术的数字频率计。传统的频率计通常有很多的时序电路和逻辑电路组成,这种电路一般运行较慢,电路复杂不可靠,而且测频范围小。从频率计的原理出发,介绍了基于52系列单片机的数字频率计的设计方案,选择了实现系统得各种电路元器件。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序使单片机自动调节测量的量程,并把测出的频率数据送到LED数码管显示电路显示。本设计以

4、AT89S52单片机为核心,应用单片机的算术运算和控制功能并采用LED数码显示管将所测频率、周期、脉宽、占空比显示出来。系统简单可靠、操作简易,能基本满足一般情况下的需要。既保证了系统的测频精度,又使系统具有较好的实时性。本频率计设计简洁,便于携带,扩展能力强,适用范围广。关键字:数字频率计;单片机;计数器目 录 1 概述1.1 数字频率计研究意义随着电子产业的不断发展,不管是在相关的科技研究中还是在日常的实际应用中,频率测量的重要作用越来越凸显出来,然而就一般情况来看,仅由一些诸如组合、时序电路等基本硬件电路构成的数字频率计,其体积大、使用不方便,而且其运行速度也较慢,灵活度不高,如若测量低

5、频的信号时,则不适合直接使用。为了满足生活中日益增长的需求,人们开始通过结合单片机的优越特性来获得较为精确的频率,其中它基于时间或频率的模数转换原理,同时借助数字电路技术来提高测量的精确度。另一方面,结合单片机的数字频率计因其体积较小,运算速度较快,较宽测量范围等诸多优点,故而在现今科研领域中比传统频率计有着更普遍应用,更为重要的是,通常情况下,我们知道,仅由硬件组成的电路比有软件组成的电路更为复杂、繁琐,在出现差错时,更改硬件电路消耗的成本高、效率低,而经由软件编程就可以简单实现相应功能,由此它具有降低制作成本,提高使用效率的优点。伴随着当今科技的跨越式发展,人们对电子产品的需求也日益增加,

6、随后,低成本、高效率、精确性等优越特性日益成为人们力求达到的目标,就频率计而言,如若现如今还是借以传统方式来设计制造频率计,显而易见,不能满足人们不断增长的需求。此时,数字频率计的优势就渐渐凸显了:小巧轻便、集成度高、操作便捷、易于维护和修改。这些优点无一不满足着这人们更高的需求,可以试想一下,改变程序中的一段程序指令显然要比检查电路、甚至重新制作电路板要便捷的多。也正是由于基于单片机的数字频率计与传统的频率计相比,有着如此明显的优势,因此,我将基于单片机的数字频率计作为我的研究课题。在检测系统设计中熟悉并了解将作为单片机为控制核心,并辅以以独立式键盘、人机界面以实现课题所要求的功能。本课题主

7、要要求掌握数字频率相应的软硬件实现方法。扎实掌握并运用课题相关的学科理论知识,根据实际电路尽量设计制作出完美的频率计,以实现理论与实践的统一。1.2 设计任务设计一个能够测量周期性矩形波信号的频率、周期、脉宽、占空比的频率计。该频率计上电或按键复位后能自动显示系统提示符“P.”, 进入测量准备状态。按频率测量键则测量频率;按周期测量键则测量周期;按脉宽测量键则测量脉宽;按占空比测量键则测量占空比。1.3 功能要求说明 该数字频率计频率以单片机最小系统为基础,采用独立式键盘及动态显示结构组成。四个键(分别接于P1.0P1.3)控制测量,按S2键(接P1.0)测频率、按S4键(接P1.1)测周期,

8、按S6键(接P1.2)测脉宽,按S8键(接P1.3)测占空比。1.4 频率计课题设计的介绍及工作原理说明 本次设计主要分成两大方面:硬件电路的设计和软件程序的设计。硬件电路方面,采用单片机最小系统,便可实现课题要求。程序的设计方面,本人采用C语言编写程序。其整体框图如图1所示。 频率计工作原理:此数字频率计是利用单片机的P3.5(T1)引脚作为被测矩形波信号输入端,且单片机晶振FOSC=12MHZ,当S2键被按下时,此时测的是频率,被测矩形波信号从P3.5进入单片机,同时启动定时器T0和计数器T1,T1是工作在计数状态下,对输入的频率信号进行计数,工作在计数状态下的T1的最大计数值为FOSC/

9、24,由于FOSC=12MHz,则:T1的最大计数频率为500KHz,T0是工作在定时状态下,每定时1秒,就停止T1的计数,而从T1的计数单元中读取的计数值在进行数据处理后,送到LCD数码显示管显示出来,因为T0工作在定时状态下的最大定时时间为65ms,达不到1秒的定时,所以采用50ms,共定时20次。当S4键被按下时,此时测的是周期;当被测矩形波信号输入到P3.5口为高电平时,启动T0对其计数测出为高电平时的一个计数值,记录计数值,当被测矩形波信号输入到P3.5口为低电平时,启动T0对其计数测出为低电平时的一个计数值,记录计数值。两个计数值的和则为被测信号的周期;当S6键被按下时,此时测的是

10、脉宽,被测矩形波信号输入到P3.5后,测量电路在检测到脉冲的上升沿时打开定时器,在下降沿时关掉定时器,当P3.5由高电平变为低电平,定时器停止,读出定时器的值,这样通过对单片机自身的周期的计数,便得到了脉宽;当S8键被按下时,此时测的是占空比,可直接用测量得到的脉宽U比上周期T,即H=U/T,便得到了占空比。1.5 数字频率计总体设计方案 此方案主要以单片机为核心,利用单片机的计数、定时功能来实现频率的计数并且利用单片机的动态扫描法把测出的数据送到数字显示电路显示。其原理框图如图1所示:图1 单片机原理框图 此方案主要以单片机为核心,利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应

11、的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。 此方案的核心是数字频率计设计是采用以AT89S52为核心,辅以独立式键盘、数码管显示、复位电路,使得数字频率计具有清零、返回、复位等功能。实现了智能化运行,高效设计,方便快捷,运行平稳、可靠,易于维护,相关配备功能齐全。整体系统结构简明、使用芯片较少、控制、实现精度高。同时,尽量减小了PCB版所占用的面积大小;使用的元器件少,成本、消耗低;原理电路简单,调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。2 硬件系统的设计2.1 硬件系统总体设计该设计主要介绍系统中单片机AT89S52外围电路

12、重要模块的功能和电路原理图分析。并对电路中的核心器件进行必要的说明。2.2 硬件系统各模块功能简要介绍2.2.1 数码管电路 数码管电路采用了两个4位一体共阳数码管,P0口接为段控口,电阻的作用是限流,P2口为位控口控制三极管通和断,当其为低电平时三极管接通,相应的数码管显示。图2 数码管电路如图2所示数码管电路采用了两个4位一体共阳数码管,P0口接为段控口,电阻的作用是限流,P2口为位控口控制三极管通和断,当其为低电平时三极管接通,相应的数码管显示。2.2.2 独立键盘电路如图3,独立键盘电路采用按键低电平有效。键盘电路的作用是给单片机系统提供输入信号。通过外部按键使单片机接收信号,课程设计

13、采用独立式键盘,主要由8个独立键盘组成,按键的一端并接在一起接地。按键S2、S4、S6、S8,用来分别测量输入信号的频率、周期、脉宽、占空比。当没按下键时,端口输入为高电平,当按下键时,端口输入为低电平。 图3 独立键盘电路2.2.3 复位电路图4 复位电路 如图4,复位电路时单片机的硬件初始化操作。经复位操作后,单片机才能开始正常工作。它通过RST引脚送入单片机,进行复位操作,产生复位信号。复位电路的好坏直接影响单片机系统工作的可靠性,而单片机的复位电路共有上电复位、按键复位和脉冲复位3种,在本次设计中采用按键复位,复位电路采用手动复位的方式,利用一个电容电压的不可突变性使得复位信号能够维持

14、2个周期的高电平。2.2.4 晶振电路图5 晶振电路 如图5,AT89S52内部含有一个振荡器,可以作为CPU的时钟源,也可以由外部振荡器输入时钟信号,作为CPU的时钟源。高频率的时钟有利于程序更快的运行,也可以实现更高的信号采样率,从而实现更多的功能。但是对系统要求较高,而且功耗大,运行环境苛刻。考虑到单片机本身用在控制,并非高速信号采样处理,所以选取合适的频率即可。合适的频率的晶振对于选频信号强度准确度都有好处,这里采用大便是晶振频率FOSC=12MHz.2.2.5 电源电路图6 电源电路 如图6,采用USB供电,用于接通+5V电源。2.2.6 下载口电路图7 下载口电路如图7所示,由于A

15、T89S52支持flash在线写入、擦除,所以下载电路是必不可少的部分。由下载口进行单片机与电脑的连接。并有下载电路产生电源提供给单片机工作。主要是USB下载口(ISP)构成,1脚接P1.5;3脚接RET;4脚接P1.7;5脚接P1.6;10脚接VCC,6、7、8、9脚接GND;。通过下载口实现计算机与单片机的通信。2.2.7 AT89S52芯片图8 AT89S52芯片 如图8,主控制器采用AT89S52,是ATMEL公司生产的一款性能稳定的8位单片机。AT89S52具有1个8KB的Flash程序存储器,1个256字节的RAM,4个8位的双向可位寻址I/O端口,看门狗定时器,2个数据指针,3个

16、16位的定时/计数器及一个串行口和1个6向量二级中断结构,全双工串行口,片内晶体振荡器及时钟电路。3 软件系统的设计3.1 使用单片机资源的情况 内部RAM:20H单元存键码;40H-47H单元为显示频率、脉宽、占空比的缓冲区;21H-24H、60H和66H为间接存数区;SP指向70H单元;使用了通用寄存器区的第0组和第2组通用寄存器组;使用了专用寄存器区中的A、IE、P0、P2、P3,其中P0口为段控口,P2口为位控口,P3.5口作为待测频率、周期、脉宽、占空比信号的输入口。3.2 软件系统各模块功能简要介绍 系统的软件模块框图如图9所示:图9 系统软件模块框图各模块功能如下: (1) 主程

17、序模块:启动显示“P.”,等键按下。 (2) P.显示模块:显示“P.”。 (3) 键扫描模块:判断按键是否按下且是哪一个键,然后执行相关程序。 (4) 测周期程序模块:测量被测矩形波信号的周期。 (5) 测占空比程序模块:测量被测矩形波信号的占空比。 (6) 测脉宽程序模块:测量被测矩形波信号的脉宽。 (7) 测频率程序模块:测量被测矩形波信号的频率。 (8) 周期显示模块:显示测得的周期。 (9) 占空比显示模块:显示测得的占空比。 (10) 脉宽显示模块:显示测得的脉宽。 (11) 频率显示模块:显示测得的频率。 (12) 延时模块:用于各位显示间的延时。3.3 设计原理简介 本次设计的

18、重点是合理利用定时/计数器。 测量频率:使用T0的计数功能,T1的计时功能,当它们同时工作时如计时时间为1S,则T0中计的数即为频率。测量周期:此处定义周期为信号两个相邻上升沿的时间差,因此定时器从第一个上升沿开始计时到第二个上升沿结束计时即可测得周期。 因为测量脉宽和占空比的原理和测量周期的一致,此处不再重复。3.5 软件系统流程图图10 主程序流程图 如图10所示,首先查询键值,判断是否有键按下,如果没有则等待,接着继续查询键值,判断是否有键按下,如果有键按下,则判断按键,若S2按下,就计频率;若S4按下,就计周期;若S6按下,就计脉宽;若S8按下,就计占空比,最后把计量值转化为十进制显示

19、出来。图11 频率子程序流程图 如图11所示,首先,定时计数器初始化,接着判断按键是否按下,再将待测频率值用二进制频率转化为十进制数,最后显示出来。图12 周期子程序流程图 如图12所示,首先进行定时计数器初始化,接着判断P3.5口信号是否发生正跳变,如果是再接着判断信号是否为低电平,如果不是则继续判断信号是否发生正跳变;如果信号为低电平则把测得的周期化为十进制,最后显示出来。 图13 测脉宽子程序流程图 如图13所示,测脉宽子程序流程图,信号为低电平则把测得的周期化为十进制显示测得脉宽。图14 键盘扫描子程序流程框图 如图14所示,键盘扫描子程序流程图,判断按键是否按下且是哪一个键,然后执行

20、相关程序。4 设计误差分析及总结4.1 数字频率计的仿真 (1)当没有键按下时,运行仿真,数码管显示结果为: 图15 数码管显示P. (2)当输入信号频率为10Hz时,运行仿真,按下S2键,数码管显示结果为:图16 数码管显示频率 (3)当输入信号频率为10Hz时,运行仿真,按下S4键,数码管显示结果为:图17 数码管显示周期 (4)当输入信号频率为10Hz时,运行仿真,按下S6键,数码管显示结果为:图18 数码管显示占空比 (5)当输入信号频率为10Hz时,运行仿真,按下S8键,数码管显示结果为:图19 数码管显示脉宽4.2 频率计的使用说明待测频率信号从P3.5口引入,待测周期信号和待测脉

21、宽及占空比信号从P3.5口引入。测量不同的待测信号之前要按复位键S1手动复位。S2键测周期,S4键测频率,S6键测脉宽,S8键测占空比。4.3 数字频率计的误差分析 当被测矩形波的频率为1Hz时,所测得的频率为1Hz,误差为0;所测得的周期为us,误差为0.0014%;所测得的脉宽为um,误差为0.0014%;所测得的占空比为50%,误差为0。当被测矩形波的频率为10Hz时,所测得的频率为10Hz,误差为0;所测得的周期为us,误差为0.008%;所测得的脉宽为50004um,误差为0.008%;所测得的占空比为50%,误差为0。当被测矩形波的频率为100Hz时,所测得的频率为100Hz,误差

22、为0;所测得的周期为10000us,误差为0;所测得的脉宽为5001um,误差为0.0002%;所测得的占空比为50.01%,误差为0.02%。当被测矩形波的频率为1kHz时,所测得的频率为1001Hz,误差为0.1%;所测得的周期为1000us,误差为0;所测得的脉宽为499um,误差为0.2%;所测得的占空比为49.9%,误差为0.2%。当被测矩形波的频率为50kHz时,所测得的频率为50009Hz,误差为0.018%;所测得的周期为20us,误差为0;所测得的脉宽为11um,误差为10%;所测得的占空比为55%,误差为10%。当被测矩形波的频率为100kHz时,所测得的频率为Hz,误差为

23、0.017%;所测得的周期为10us,误差为0;所测得的脉宽为5um,误差为0;所测得的占空比为50%,误差为0。当被测矩形波的频率为500kHz时,所测得的频率为Hz,误差为0.0130%;所测得的周期为6us,误差为80%;所测得的脉宽为3um,误差为80%;所测得的占空比为50%,误差为0。此数字频率计由于晶振系统与定时器中断程序的原因,使它们在周期中占了一部分,从而产生了误差,可以用调节延时程序的初值来减小误差,但总的来说,所测频率越大,误差也会越大。4.4 设计总结基于单片机的频率计的设计涉及到计算机的硬软件知识,通过对系统的设计和调试,本次设计主要完成了以下工作:提出基于单片机的数

24、字频率计设计的基本方案;完成了硬件电路设计和软件电路的设计;编译了频率计的控制程序、数码转化程序、数据显示程序等系统软件程序;对硬件电路进行了误差分析。通过本次课程设计,使我更加熟悉了单片机最小系统,在设计的过程中,难点首先是程序的编写,这使我不得不把教材完整的看一遍。然后是求余程序的编写,移位相减解决了这个问题。再次是对频率连续可测量并使显示不间断,在延时程序中调用显示程序使这个问题得到了解决。其实设计程序中最主要的问题就是程序的循环了,这就要有清晰的思路,课程设计本身就是一个发现问题解决问题的平台,只是这一次我利用这个平台发现了一些显而易见的问题,本次设计暴露的我课本知识掌握不牢的缺点,今

25、后应当注意改正。结束语 基于单片机的频率计的设计涉及到计算机的硬软件知识,通过对系统的设计和调试,本次设计主要完成了以下工作:提出基于单片机的数字频率计设计的基本方案;完成了相应的硬件电路设计及仿真;编译了数字式频率计的控制程序、数码转化程序、数据显示程序等系统软件程序;对硬件电路进行了仿真,进行了误差分析。我更加地了解和掌握单片机的基本知识和基本的编写程序,也更加深入地了解单片机这么课程,掌握C语言的设计和调试方法。对于认识到自己在知识方面存在的不足,明确今后的学习方向是非常有益的。致 谢 感谢学院和凌老师对我的培养,给我这个自己动手的机会和空间。经过一段时间,终于在完成了设计,对自己的能力

26、有了很大的提升。在此我要感谢每一个帮助过我的人。首先,我要感谢的是我的指导老师凌老师,在百忙之中抽出时间为我的设计指点,提供帮助,他的优良作风和严谨的教学研究精神是我永远学习的榜样。其次我要感谢我的同学,在我最困难的时候伸出援助之手,用他们的智慧帮我解决各个难题。总而言之,感谢每一位关心过我的人,他们今天对我的付出,成为我将来工作的动力!参考文献1 马忠梅.单片机的C语言Windows环境编程宝典M, 北京:北京航空航天大学出版社,2003.62 李光飞.单片机C程序设计指导M,北京:北京航空航天大学出版社,2003.13 李光飞.单片机课程设计实例指导M,北京:北京航空航天大学出版社,200

27、4.94 刘可文.数字电子电路与逻辑设计M.第四版.高等教育出版社出版社,2006.55 林涛.数字电子技术基础M.清华大学出版社,2006.4 6 康光华.电子技术基础.数字部分M.第四版.高等教育出版社,2000.7 7 李哲英.电子技术及其应用基础M.高等教育出版社电子,2003.88 杜刚,高军,童宁宁基于AT单片机的频率计设计J,2004.79 李广弟,朱月秀,冷祖祁编著.第三版.北京:北京航空航天大学出版社,2007.610 周坚,崔肖娜单片机轻松入门M.北京:北京航空航天大学出版社,2005.911 定时/计算器的基本结构及工作原理S中山单片机学习网,2006.512 司佑全基于

28、单片机的数字频率计设计N.湖北师范学院学报(自然科学报),2005.3附 录附录A PCB图和元器件布局图图A1顶层图图A2接线图图A3 元器件布局图附录B 元件清单表3 材料清单元件名称元件参数数量电容33pF2电容22F2发光二极管9下载口1排阻10K4排阻4.7K1引线2六角开关1按键10AT89S521数码管4位共阳极2电阻1K4电阻2001电阻4708排针7540引脚座子120引脚座子1PCB板1USB接口1蜂鸣器1短路块3晶振12MHz1附录C 软件系统程序/*程 序 名:频率计程序编 写 者:尹华文指导老师:凌云时 间 :2016.12班 级 :电气1405班功 能 :频率计测试

29、频率,周期,脉宽,占空比 型 号 :AT89S52 使用晶振为12MHz#includereg52.h#include/*共阳数码管字型码*/char code dis_code=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x0c,0xff,0x8e,0x86,0xa1,0xc6; /*0,1,2,3,4,5,6,7,8,9,p.,灭,f,e,d,c*/char data find_code8=11,11,11,11,11,11,11,10;/*P.显示*/#define uchar unsigned char#define uint

30、unsigned int#define ulong unsigned longulong l,mk,zk;sbit P3_5=P35; /*外部被测信号*/uchar a,m;/*/函数名:void DelayX1ms(uint count)/功能: 延时时间为1ms/调用函数:/输入参数:count,1ms计数/输出参数:/说明:总共延时时间为1ms乘以count,crystal=12Mhz/*/void DelayX1ms(uint count) uint j; while(count-!=0) for(j=0;j80;j+); /* 函数原型:disp();*功 能:数码管显示。*/vo

31、id disp() char i,j=0xfe; char k; for(i=0;i8;i+) P2=j; k=find_codei; P0=dis_codek; DelayX1ms(1); j=_crol_(j,1); /* 函数原型:keychuli();*功 能:处理与键盘相连的P1口的内容,作为键值。*/uchar keychuli()uchar k; k=P1; /P1口内容送Kk=k; /取反return(k); /返回键值 /* 函数原型:key();* 功 能:键盘扫描函数,函数返回值即键值。*/uchar key() uchar keyz,keyzi; /键盘按键键值临时存放

32、 keyz=keychuli(); /调P1口处理函数 if(keyz!=0) /有键动作延时去抖动,否则函数返回 disp();disp(); keyz=keychuli(); /再次调P1口处理函数if(keyz!=0) /真正有键按下,取键值并暂存 keyzi=keyz;while(keyz!=0) /判按键是否释放,没有释放延时去抖动等待释放 disp();disp(); keyz=keychuli(); keyz=keyzi; /按键释放后恢复按键键值 return(keyz);/返回按键键值/*定时器0中断函数*/ void t0(void) interrupt 1 using 2

33、 TH0=(65536-49999)/256; /定时50ms TL0=(65536-49999)%256; a+; if(a=20) TR0=0;TR1=0; /*计数器1中断函数*/void t1(void) interrupt 3 using 2 TH1=0; TL1=0; m+;/* 函数原型:cepinlv();* 功 能:测频率函数。*/uchar cepinlv() TMOD=0X51;/设定时器1计数,定时器0定时50ms方式1 TH0=(65536-49999)/256;/定时50ms TL0=(65536-49999)%256; TH1=0x00; TL1=0x00; EA

34、=1; ET0=1; ET1=1; TR0=1; TR1=1; while(TR0=1); l=(m*65536+TH1*256+TL1); TH1=0x00; TL1=0x00; m=0; a=0; return(l);/* 函数原型:display();* 功 能:频率显示处理。/void display(void) find_code0=l%10;find_code1=(l/10)%10;find_code2=(l/100)%10;find_code3=(l/1000)%10;find_code4=(l/10000)%10;find_code5=(l/)%10;find_code6=(l

35、/)%10;find_code7=12;disp();/* 函数原型:cezhouqi();* 功 能:测周期函数与数据处理。/ void cezhouqi(void)cepinlv();l=/l;find_code0=l%10;find_code1=(l/10)%10;find_code2=(l/100)%10;find_code3=(l/1000)%10;find_code4=(l/10000)%10;find_code5=(l/)%10;find_code6=(l/)%10;find_code7=13;disp();/* 函数原型:cemaikuan();* 功 能:测脉宽函数。/ vo

36、id cemaikuan() TMOD=0x10;EA=1;IT1=1;ET1=1;TH1=0;TL1=0;m=0;while(P3_5=1);while(P3_5=0);TR1=1;while(P3_5=1);TR1=0;mk=m*65536+TH1*256+TL1;m=0;/* 函数原型:display1();* 功 能:测脉宽函数显示处理。*/ void display1(void) find_code0=mk%10;find_code1=(mk/10)%10;find_code2=(mk/100)%10;find_code3=(mk/1000)%10;find_code4=(mk/10

37、000)%10;find_code5=(mk/)%10;find_code6=(mk/)%10;find_code7=14;disp();/* 函数原型:cezhankongbi();* 功 能:测占空比函数显示处理。/ void cezhankongbi(void)cepinlv();l=/l;cemaikuan();zk=mk*100/l;find_code0=zk%10;find_code1=(zk/10)%10;find_code2=(zk/100)%10;find_code3=(zk/1000)%10;find_code4=(zk/10000)%10;find_code5=(zk/)%10;find_code6=(zk/)%10;find_code7=15;disp();/* 函数原型:main();* 功 能:按键测得频率、周期、脉宽、占空比;并在数码管上显示。/ void main()uch

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁