频率计的设计报告含详细原理流程图c语言程序proteus图等.docxVIP

频率计的设计报告含详细原理流程图c语言程序proteus图等.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学校名称:合肥工业大学 队员姓名:田中贺,汤旭,梁植程,黄传帮,杨骜,刘伟,王佩,徐国瑞,周冀,王槐铭,贾根发,陈明,林仁斌,张卫强 2012年7月10日 基于52单片机的频率计 摘要:以ATMEL单片机为核心,利用单片机的外部中断、定时器的计数模式和定时器的功能对信号发生器产生的脉冲频率进行计数。且可以根据频率的不同,单片机控制选择测周法或者测频法对产生的脉冲波形进行计数,以进行更加精确的频率测量。而且可以通过按键来进行频率测量方法的选择。 关键字:AT89s52,外部中断、定时器的计数模式和定时器,测周法、测频法。 设计题目及要求: (1):被测频率fx小于110Hz采用测周法,显示频率XXX。XXX;fx大于110Hz采用测频法,显示频率XXXXXX; (2):可利用键盘分段测量和自动分段测量; (3):可完成单脉冲测量,输入脉冲宽度范围是100微秒--0.1秒; (4):自由发挥其他功能. (5):要求有单片机硬件系统框图,电路原理图,软件流程图 原理: 1基本设计原理 运用单片机TO,T1计数功能来完成对输入信号的计数。其T1为 计数器,T1为计时器。 为T1装入初值19466,定时300ms,重复20次即为1s,与此同时将同时计数的T0里的值取出,即为该频率信号1s的频率示数 2系统主要功能 利用单片机的T0,T1计数定时器功能,来完成对输入信号进行率计数,计数结果通过8位动态数码管显示出来,。 特点1,由开关控制启动。 特点2,可利用键盘分段测量和自动分段测量; 特点3,可以多次测量,自动刷新 1s一次。 特点4,使用溢出标志T0count,防止20ms内计数超过65536次的频率信号溢出造成的示数错误 3.系统原理框图: 二频率计的硬件结构设计 1单元电路 单片机电路: (2)矩阵键盘 (3)数码管显示 (4)排阻(用于提高P0口电位) (5)模拟的信号发生器: 2 数码管AT89S52键盘 数码管 AT89S52 键盘 信号发生器 信号发生器 三系统工作 原理 选择AT89S52单片机芯片,选用两位8段共阴极LED数码管实现频率显示,利用8279作I/O口扩展,连接数码管。通过定时器1计时方式,定时器0计数方式,定时每秒钟对外部频率计数,把计数值在数码管上显示 四、软件设计 1 程序流程图 开始 开始 采集频率(1s内) 频率转换 十进制转换 数码管显示 Y N 键盘控制选模式择 2程序设计: /********************************************** *器件名:频率器; *设计要求1:被测频率fx小于110Hz采用测周法,显示频率XXX。XXX;fx大于110Hz采用测频法,显示频率XXXXXX; *设计要求2:可利用键盘分段测量和自动分段测量; *设计要求3:可完成单脉冲测量,输入脉冲宽度范围是100微秒--0.1秒; *设计要求4:自由发挥其他功能. *设计要求5:要求有单片机硬件系统框图,电路原理图,软件流程图。 *功能说明:频率计,利用T0计数模式测频率 *接线说明:P2控制位选,P1控制段选 **********************************************/ #includereg52.h #define S P2 #define uchar unsigned char #define uint unsigned int uint temp0,temp1,m,n,k,wei,num,t; unsigned long int temp; unsigned long int count; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6D,0x7D,0x07,0x7f,0x6f,0x00}; //共阳数码管 /*延时*/ void delay(unsigned char delaytime) { while(delaytime--); } /*数码管显示函数*/ void display() { S=0xfe;delay(5);P1=table[temp1/1000];delay(500); S=0xfd;delay(5);P1=table[temp1/100%10];delay(500); S=0xfb;delay(5);P1=table[temp1/10%10];delay(500); S=0xf7;delay(5);P1=table[temp1%10];delay(500); S=0xef;delay(5);P1=table[temp0/1000];delay(500); S=0xdf;delay(5);P1

您可能关注的文档

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档