数字频率计.docx

上传人:b****1 文档编号:2015743 上传时间:2023-05-02 格式:DOCX 页数:17 大小:276.77KB
下载 相关 举报
数字频率计.docx_第1页
第1页 / 共17页
数字频率计.docx_第2页
第2页 / 共17页
数字频率计.docx_第3页
第3页 / 共17页
数字频率计.docx_第4页
第4页 / 共17页
数字频率计.docx_第5页
第5页 / 共17页
数字频率计.docx_第6页
第6页 / 共17页
数字频率计.docx_第7页
第7页 / 共17页
数字频率计.docx_第8页
第8页 / 共17页
数字频率计.docx_第9页
第9页 / 共17页
数字频率计.docx_第10页
第10页 / 共17页
数字频率计.docx_第11页
第11页 / 共17页
数字频率计.docx_第12页
第12页 / 共17页
数字频率计.docx_第13页
第13页 / 共17页
数字频率计.docx_第14页
第14页 / 共17页
数字频率计.docx_第15页
第15页 / 共17页
数字频率计.docx_第16页
第16页 / 共17页
数字频率计.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字频率计.docx

《数字频率计.docx》由会员分享,可在线阅读,更多相关《数字频率计.docx(17页珍藏版)》请在冰点文库上搜索。

数字频率计.docx

数字频率计

单片机课程设计

题目:

数字频率计

班级:

电气084

姓名:

王金龙

学号:

200809317

指导教师:

路小娟

设计时间:

2011.1.14

 

评语:

 

成绩

目录

 

一引言………………………………………………………………………………………..2

1.1课程设计的目的………………………………………………………………………..2

1.2课程设计的意义………………………………………………………………………..2

二课程设计课题……………………………………………………………………………..2

三基本原理…………………………………………………………………………………..2

四功能及按键说明…………………………………………………………………………..2

五主要硬件介绍……………………………………………………………………………..3

5.189C51芯片介绍………………………………………………………………………...3

5.2六位LED显示器………………………………………………………………………4

六程序流程图………………………………………………………………………………..5

6.1主程序main流程图5

6.2定时50ms中断子程序流程图6

6.3显示子程序流程图6

七原理图7

八源程序代码7

九仿真结果与分析10

十课程设计心得与体会14

十一参考文献………………………………………………………………………………15

数字频率计

一、引言

1.1课程设计的目的

通过本次课程设计,巩固和加深“单片机原理与应用”中的理论知识,了解和应用proteus仿真系统,结合软硬件,基本掌握单片机的应用的一般设计方法,提高电子电路的设计和实验能力,并且提高自身查找和运用资料能力。

1.2课程设计的意义

通过本次课程设计,使得理论知识系统化,从中或得一些实战工作经验,提高个人与团体指挥的作用。

二、课程设计课题

频率计系统设计:

用AT89C51单片机设计一个六位LED显示的频率计。

三、基本原理

本系统采用测量频率法,可将频率脉冲直接连接到AT89C51的T0端,将T/C1用做定时器。

T/C0用做计数器。

在T/C1定时的时间里,对频率脉冲进行计数。

在1S定时内所计脉冲数即是该脉冲的频率。

图1:

测量时序图

由于T0并不与T1同步,并且有可能造成脉冲丢失,所以对计数器T0做一定的延时,以矫正误差。

具体延时时间根据具体实验确定。

四、功能及按键说明

P0.0~P0.5为LED位选择,其中P0.5指向十万位P0.0指向个位,RP1为P0口的上拉电阻。

P2.0~P2.7为LED的段位选择,对应LED的A,B,C,D,E,F,G,DP。

P3.4为待测频率入口。

五、主要硬件介绍

5.189C51芯片介绍

许多由关硬件设计中都使用到单片机89C51,其功能[7]比以往的单片机强大的多。

89C51引脚图如图3-2所示。

图2:

89C51引脚图

芯片引脚功能:

主电源引脚Vcc和Vss

Vcc(40脚):

接+5V电压;

Vss(20脚):

接地;

89C51晶振接法如图3-3。

图3:

89C51晶振接法图

选用6MHz频率的晶体,允许输入的脉冲频率为250kHz。

电容的大小范围为20pF~40pF,本设计选用30pF电容。

5.2六位led显示器

单片机应用系统中常使用LED作为显示器,在需多位LED显示时,为了简化电路,降低成本,常将所有门的选线并联在一起,由一个8位I/O口控制,而共阴(阳)I/O线受控制,实现各部分时选通。

图4:

6位LED动态显示接口电路

由于所有6位选线皆由一个I/O口控制,因此,在每一瞬间,6位LED会显示相同的字符。

要想每位显示不同的字符,就必须采用扫描方阵轮流点亮各位LED,即在每一瞬间只使某一位显示字符。

在此瞬间,段选控制I/O口输出相应字符段选码(字型码),而位选则控制I/O口在该显示相应字符。

如此轮流,使每位分时显示该位应显示字符,根据人眼视觉特性,当LED所加信号频率大于50Hz时,人眼不能感觉其变化,所以每位显示的间隔不能超过20ms,也就是说要在20ms之内分时的点亮所有LED,LED越多所分的时间越短,亮度就会不足;如果增加点亮时间,又会使扫描频率下降,有闪烁感容易造成人眼的彼劳,这种方式就是我们大家常用的动态扫描方式,也是此种显示器的主要工作方式。

六、程序流程图

6.1主程序main流程图

2、定时50ms中断子程序xtimer1()流程图

3

、显示子程序display流程图

七、原理图

图5:

频率计原理图

八、源程序代码

/*简易数字频率计:

T1定时计器,T0计数器,由P34(/T0)口输入待测频率*/

/*T1定时1S,在这1S内T1的计数值就是待测的频率值。

*/

#include//头文件

#include//头文件

#defineucharunsignedchar//宏定义

#defineuintunsignedint//宏定义

sfr16DPTR=0x82;//定义DPTR

bitstatus_F=1;//状态标志位

uintaa,qian,bai,shi,ge,bb,wan,shiwan;//定义变量

ucharcout;

unsignedlongtemp;//定义长整型变量

/*数码管显示0-9*/

ucharcode

table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

/*子函数声明*/

voiddelay(uintz);

voidinit();

voiddisplay(uintshiwan,uintwan,uintqian,uintbai,uintshi,uintge);

voidxtimer0();

voidxtimer1();

/*主函数*/

voidmain()

{

P0=0XFF;//初始化P0口

init();//调用定时器,计数器初始化

while

(1)

{

if(aa==19)//定时20*50MS=1S

{

aa=0;//定时完成一次后清0

status_F=1;//完成计数

TR1=0;//关闭T1定时槛,定时1S完成

delay(46);//延时较正误差

TR0=0;//关闭T0

DPL=TL0;//计数量的低8位

DPH=TH0;//计数量的高8位

temp=DPTR+cout*65535;//计数值放入变量

shiwan=temp%1000000/100000;

wan=temp%100000/10000;

qian=temp%10000/1000;//显示千位

bai=temp%1000/100;//显示百位

shi=temp%100/10;//显示十位

ge=temp%10;//显示个位

}

display(shiwan,wan,qian,bai,shi,ge);//调用显示函数

}

}

 

/*定时器,计数器初始化*/

voidinit()

{

temp=0;//变量赋初值

aa=0;

cout=0;

IE=0X8A;//开中断,T0,T1中断

TMOD=0x15;//T1为定时器工作于方式1,T0为计数器工作于方式1

TH1=0x3c;//定时器赋高8初值,12M晶振

TL1=0xb0;//定时器赋低8初值,12M晶振

TH0=0;//计数器赋高8初值初值

TL0=0;//计数器赋低8初值

TR1=1;//开定时器1

TR0=1;//开计数器0

}

 

/*显示子函数*/

voiddisplay(uintshiwan,uintwan,uintqian,uintbai,uintshi,uintge)

{

P0=0xdf;//P0口是位选11011111改成11111101==0XDF

P2=table[shiwan];//显示shiwan位

delay(5);

P0=0xef;//P0口是位选11101111改成11111110==0XFE

P2=table[wan];//显示wan位

delay(3);

P0=0xf7;//P0口是位选111101111改成01111111==0X7F

P2=table[qian];//显示千位

delay(3);

P0=0xfb;//P0口是位选11111011改成10111111==0XBF

P2=table[bai];//显示百位

delay(3);

P0=0xfd;//P0口是位选11111101改成11011111==0XDF

P2=table[shi];//显示十位

delay(3);

P0=0xfe;//P0口是位选11111110改成11101111==0XEF

P2=table[ge];//显示个位

delay(3);

}

/*定时中断子函数*/

voidxtimer1()interrupt3

{

TH1=0x3c;//定时器赋高8初值

TL1=0xb0;//定时器赋低8初值

aa++;

}

/*计数器中断子函数*/

voidxtimer0()interrupt1

{

cout++;

}

/*延时子函数。

延时1MS*/

voiddelay(uintz)

{

uinti,j;

for(i=0;i

for(j=0;j<110;j++);//j上限为125

}

九、仿真结果与分析

此简易频率计的特点是由于加入了延时补偿,对于低频率脉冲能够准确计数,对于较高频率,则频率越高,误差越大。

但总体来讲,误差相对较小。

1、在1~3257HZ,测量结果是准确的,如图6所示1HZ,1KHZ,3257HZ的仿真图:

 

图6:

1HZ,1KHZ,3257HZ的仿真图

2、在3258HZ~9.5KHZ的时候测量有误差并且慢慢减少。

在3258HZ时候达到最大误差0.03069%,如图。

9.5KHZ时候达到最小误差0.01368%。

如图:

图7:

测量3258HZ的仿真结果

图8:

测量95013HZ的仿真结果

3、从9.6KHZ~999.7629KHZ,测量误差越来越大,在9.6KHZ为0.01458%,在999.7629KHZ时为0.0237%

图9:

测量9.6KHZ的仿真结果

图10:

测量999.7629KHZ的仿真结果

十、课程设计心得体会

在单片机应用系统设计时,必须先确定该系统的技术要求,这是系统设计的依据和出发点,整个设计过程都必须围绕这个技术要求来工作。

在设计时遵循从整体到局部也即自上而下的原则。

把复杂的问题分解为若干个比较简单的、容易处理的问题,分别单个的加以解决。

在设计开始时,我们应根据应用的和设计要求提出设计的总体任务,绘制硬件和软件的总框图。

将总任务分解成可以独立表达的子任务,这些子任务再向下分,直到每个子任务足够简单,能够直接而容易的实现为止。

在程序调试时应按各个功能模块分别调试。

在程序设计时,正确合理的设计是非常重要的,比如说,有些执行程序以实时中断方式调用时,如果不正确的设计,有可能陷入无休止的中断申请,使程序无法正常工作。

正确的程序设计包括程序的结构是否合理,一些循环结构和循环指令的使用是否恰当,能否使用较少的循环次数或较快的指令,是否能把某些延迟等待的操作改为中断申请服务,能否把某些计算方法和查表技术适当简化等。

另外程序的设计要具有可扩展性,程序的结构要标准化,便于阅读、修改和扩充。

通过本次课程设计,我更加地了解和掌握单片机的基本知识和基本的编写程序,也更加深入地了解单片机这么课程,掌握汇编语言的设计和调试方法,熟悉proteus系统的操作及其功能应用,更加熟悉设计的流程及程序的组合、调用和系统的调试。

在程序设计中,要善于调用或参考已有程序并加以修改,得到自己想要的能够实现硬件系统性能,这样可以节省很多时间,比如说,本次设计中的那个额外增加的功能——脉冲计数,就是调用proteus实验指导书里的程序并做一些修改而实现的。

十一、参考文献

[1]苏家.柏荣,志锋,单片机原理及应用技术,等教育出版社;

[2]李群芳,肖看.单片机原理、接口及应用.清华大学出版社;

[4]赫建国,刘立新,党剑华.基于单片机的频率计设计[J].西安邮电学院学报;

[5]陈敬远.数字频率计的VHDL设计[J].浙江传媒学院学报;

[3]proteus系列单片机微机仿真实验系统实验指导书(附录);

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2