第一范文网 - 专业文章范例文档资料分享平台

基于单片机的数字频率计的课程设计 1HZ-10MHZ概要

来源:用户分享 时间:2025/5/30 20:50:18 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

其中绿色LED亮,是表示数码管显示的频率值是MHZ档,也就是频率的单位是MHZ,也就表明运行结果读数是9.643MHZ。

4.0 给定超过量程信号波后,信号运行图如下

其中三个LED灯都会点亮,数码管全部都显示为0

五、总结与体会

通过此次设计,我受益匪浅。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精度高,显示直观,所以经常要用到数字频率计。

通过此次设计,我熟练掌握了C语言的编写,仿真软件Proteus、编程软件KEIL和制版软件DXP 2004的应用,了解了相关元件的基本知识,同时还熟练掌握了对文献资料等的收集、查阅、应用。在设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的程序运行和仿真调试环节,本身就是在践行“过而能改,善莫大焉”的知行观,同时在老师的指导下,终于完成了此次设计。

此次设计也让我明白了思路即出路,有不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

参考文献

[1]李学海著.标准80C51单片机基础教程.北京航空航天大学出版社,2006 [2] 戴仙金主编.51单片机及其C语言程序开发实例.清华大学出版社,2008 [3] 李诚人.高宏洋等.嵌入式系统及单片机应用,清华大学出版社,2005 [4] 龚运新编著.单片机C语言开发技术.清华大学出版社,2006 [5] 张天凡等编著.51单片机C语言开发详解.电子工业出版社,2008 [6] 张义和.王敏男等.例说51单片机(C语言版).人民邮电出版社,2008 [7] 张洪润、刘秀英、张亚凡等.单片机应用设计200例 .北京航空航天大学出版社,2006

[8] 彭为、黄科、雷道仲等.单片机典型系统设计实例精讲.电子工业出版社, 2006 [9] 李学海著.标准80C51单片机基础教程.北京航空航天大学出版社,2006 [10] 李朝青.单片机原理及接口技术[M].北京航天航空大学出版社,1998. [11] 余发山,王福忠.单片机原理应用技术[M].徐州:中国矿业大学出版社,2003. [12]V.Yu.Teplov,A.V. Anisimov.Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect[J] ,2002

[13] Yeager Brent.How to troubleshoot your electronic scale[J]. Powder and Bulk Engineering. 1995

[14]WeiXiaoRu,JuJianZhi.Design of a CCD's driving circuit based on ATmega16.Microcomputer&Its Applications,2010,(16).

[15]HeLianYun,The Traffic Signal Lamp System Controlled with Single Chip Microcomputer.Computer Study,2008,(01).

附录A

程序源代码:

#include //声明所需数据库头文件

#define value P0 //数码管显示,段选 #define place P1 //位选

unsigned char d[4]; //对应共阳极数码管的各位

unsigned char Num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示0-9数字,共阳 //unsigned char Num[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};显示0-9数字,共阴

sbit clear=P2^3;

sbit ledG=P2^4; //led显示频率量程单位和档位 sbit ledY=P2^5; sbit ledR=P2^6;

unsigned char count=0; //定时器2计数 unsigned char gears; //档位

unsigned int tN; //不同档位计时值

unsigned int fCnta; //脉冲下降沿次数,T1 unsigned long regCnta; //脉冲次数暂存

unsigned int fCntb; //脉冲下降沿次数,T0 unsigned long regCntb; //脉冲次数暂存 unsigned long pCnt; //频率显示

void Delay(unsigned int DelayTime) {

while(DelayTime--); }

void display() {

if(gears==1) //HZ档 {

d[3]=0;

d[2]=pCnt/100;

d[1]=(pCnt0)/10; d[0]=pCnt;

place=0x01;value=Num[d[3]];Delay(200); place=0x02;value=Num[d[2]];Delay(200); place=0x04;value=Num[d[1]];Delay(200); place=0x08;value=Num[d[0]];Delay(200);

ledG=1; //显示HZ档,红色发光二极管点亮 ledY=1; ledR=0; }

if(gears==2) //KHZ档 {

d[3]=pCnt/1000;

d[2]=(pCnt00)/100; d[1]=(pCnt0)/10; d[0]=pCnt;

place=0x01;value=Num[d[3]];Delay(300); place=0x02;value=Num[d[2]];Delay(300);

place=0x04;value=Num[d[1]]+0x80;Delay(300); place=0x08;value=Num[d[0]];Delay(300);

ledG=1; //显示KHz档,黄色发光二极管点亮 ledY=0; ledR=1; }

if(gears==3) //MHZ档 {

d[3]=pCnt/1000;

d[2]=(pCnt00)/100; d[1]=(pCnt0)/10; d[0]=pCnt;

place=0x01;value=Num[d[3]]+0x80;Delay(50);//带小数点 place=0x02;value=Num[d[2]];Delay(50); place=0x04;value=Num[d[1]];Delay(50); place=0x08;value=Num[d[0]];Delay(50);

ledG=0; //显示MHZ档,绿色发光二极管点亮 ledY=1; ledR=1; }

if(gears==4) //超出范围 {

d[3]=0; d[2]=0; d[1]=0; d[0]=0;

place=0x01;value=Num[d[3]];Delay(100); place=0x02;value=Num[d[2]];Delay(100); place=0x04;value=Num[d[1]];Delay(100); place=0x08;value=Num[d[0]];Delay(100);

ledG=0; //超出范围,红、黄、绿发光二极管都点亮 ledY=0;

ledR=0;

基于单片机的数字频率计的课程设计 1HZ-10MHZ概要.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c57mh63h1s07f1wl0k4bu3bj0w6iip0013ni_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top