课程方案设计书报告-频率计.docVIP

  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文档。上传文档
查看更多
合肥工业大学计算机学院 创新设计报告 设计题目: 频率计 专 业: 电子信息科学与技术 班 级: 10-01班 组 长: 副 组 长: 组 员: 2012年6月18日—2012年7月15日 基于52单片机的频率计 摘要:设计以ATMEL单片机为核心,利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。 本设计的目的是通过在对单片机原理及应用的学习,以及查阅资料,培养自学与动手能力,把学到的知识应用到日常生活当中。在设计的过程中,不断的补充不知道的内容、巩固所学,和队友的分工合作、相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。 关键字:AT89s52,高频,低频 ,110hz,测周,测频 设计题目及要求: (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次的频率信号溢出造成的示数错误 二频率计的硬件结构设计 1单元电路 (1)矩阵键盘 (2)数码管显示 2 三系统工作 原理 选择AT89S52单片机芯片,选用两位8段共阴极LED数码管实现频率显示,利用8279作I/O口扩展,连接数码管。通过定时器1计时方式,定时器0计数方式,定时每秒钟对外部频率计数,把计数值在数码管上显示 四软件设计 1 程序流程图 2程序设计: /********************************************** 功能说明:频率计,利用T0计数模式测频率 接线说明:P2控制位选,P1控制段选 作 者:合工大 LS **********************************************/ #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}; //共阴数码管 //--------------------延时----------------------------// void delay(unsigned char delaytime) { while(delaytime--); } //--------------------数码管显示----------------// void display() { S=0x01;delay(5);P1=table[temp1/1000];delay(500); S=0x02;delay(5);P1=table[temp1/100%10];delay(500); S=0x04;delay(5);P1=table[temp1/10%10];delay(500); S=0x08;delay(5);P1=table[temp1%10];delay(500); S=0x10;delay(5);P1=table[temp0/1000];delay(500); S=0x20;delay(5);P1=table[temp0/100%1

文档评论(0)

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

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

1亿VIP精品文档

相关文档