数字频率计的课程方案设计书.docx
《数字频率计的课程方案设计书.docx》由会员分享,可在线阅读,更多相关《数字频率计的课程方案设计书.docx(17页珍藏版)》请在冰豆网上搜索。
数字频率计的课程方案设计书
HUBEINORMALUNIVERSITY
湖北师范学院
课程设计
题目:
数字频率计
学院:
教育信息与技术学院
专业:
信息工程
班级:
1103班
姓名:
张超袁健华
学号:
2011116020308
2011116020326
指导老师:
闻辉
二O一二年十二月三十日
一、设计任务及要求:
设计任务:
在数电模电理论课程的基础之上,利用相关集成元件和必要的电路基础搭建电路,对数入的测定信号,用数码管显示频率计数值
要求:
(1)查阅资料,绘画出原理图
(2)位数:
能计4位十进制数,技术位数主要取决于被测信号频率的高低,如果被测信号频率较高,可以相应的增加显示位数。
(3)测量频率量范围:
1HZ----9999HZ。
(4)显示方式:
用7段LED数码管显示读数,做到读数稳定,不跳变测量信号类型:
正弦波,方波,三角波。
(5)具有超量程报警功能
提高要求:
搭建硬件电路并调试通过。
指导教师签名:
2013年1月5日
二、指导教师评语:
指导教师签名:
2013年1月5日
三、成绩
2013年1月5日
目录
一.数字频率计简介…………………..P3
1.1数字频率计的发展现状及研究概况…….P3
1.2本课题研究背景及主要研究意义…..…..P3
1.3本课题主要研究内容………………….P4
二.数字频率设计计原理………………P3
1.1设计原理……………………………..P4
1.2整体电路图(基于protues仿真)…..P41.3各模块简介……………………………..P5
1.3.1AT89C51单片机………..……....P5
1.3.2最小系统…………………...…..P7
1.3.374LS245…………………….….P8
1.3.4六位数码管………………….…P9
1.3.5其他元件介绍…………………..P11
三.数字频率计工作原理..……….…P11
四.数字频率计的程序………….…..P12
五.运行环境…………………….…....P14
六.设计分析……………………...…..P16
1.1结果分析…………………………...P16
1.2设计提高…………………….……..P16
1.3参考文献………………….………..P16
一数字频率计简介
1.1数字频率计的发展现状及研究概况
数字频率计是现代通信测量设备系统中不可缺少的测量仪器,不但要求电路产生频率准确的和稳定度高的信号,而且能方便的改变频率。
数字频率计主要实现方法有直接式、锁相式、直接数字式和混合式四种。
直接式的优点是速度快、相位噪声低,但结构复杂、杂散多,一般只应用在地面雷达中。
锁相式的优点是相位同步的自动控制,制作频率高,功耗低,容易实现系列化、小型化、模块化和工程化。
直接数字式的优点是电路稳定、精度高、容易实现系列化、小型化、模块化和工程化。
随着单片锁相式数字频率计的发展,锁相式和数字式容易实现系列化、小型化、模块化和工程化,性能也越来越好,已逐步成为两种最为典型,用处最为广泛的数字频率计。
1.2本课题研究背景及主要研究意义
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。
在数字电路中,频率计属于时序电路,它主要由具有记忆功能的触发器构成。
在计算机及各种数字仪表中,都得到了广泛的应用。
在CMOS电路系列产品中,频率计是用量最大、品种很多的产品。
本课题采用的是直接数字式的频率计,设计原理简单,是全硬件电路实现,电路稳定、精度高,大大的缩短了生产周期。
1.3本课题主要研究内容
该数字频率计的设计主要实现用数字显示被测信号的频率,该设计是以51单片机作为核心,与传统频率计相比该设计具有更高的测量精度和速度,具有各种中断处理能力,并且具有丰富的数字输入输出口和通信口等。
该频率计的设计在软件上采用C51编写,并采用计数式测频方法,通过单片机外围电路中由12M晶振构成的振荡电路产生的闸门信号进行计时,并对整形后的被测信号进行脉冲计数以得到被测信号的频率值。
二数字频率计设计原理
1.1设计原理
频率信号易于传输,抗干扰性强,可以获得较好的测量精度。
因此,频率检测是电子测量领域最基本的测量之一。
频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1s。
闸门时间可以根据需要取值,大于或小于1s都可以。
闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。
闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。
一般取1s作为闸门时间。
数字频率计的关键组成部分包括测频控制信号发生器、计数器、锁存器、译码驱动电路和显示电路,其原理框图如图1所示。
1.2整体电路图(基于protues仿真)
1.3各模块简介
1.3.1AT89C51单片机
单片机品种繁多,就应用情况看,应用最广者当属Intel公司的MCS-51系列8位机。
在Philips等公司推出新一代80C51系列单片机后,各种型号的80C51层出不穷。
MCS-51系列单片机是Intel公司在总结MCS-48系列单片机的基础上于20世纪80年代初推出的高档8位单片机。
MCS-51系列的制成及发展与HMOS工艺的发展密切相关,HMOS是高性能的NMOS工艺。
而CMOS与HMOS工艺的结合则产生了C-HMOS工艺的产品,例如80C51、80C31等。
这类产品既保持了HMOS高速和高封装密度的特点,又具有CMOS低功耗的优点。
C-HMOS工艺的单片机具有掉电保护和冻结运行两种独特的处理方式。
引脚功能
VCC:
接正极电源+5v
GND:
接地
RST:
复位信号输入引脚
XTAL1,XTAL2:
接外部晶振引脚,外部时钟电路如图1-6
P0,P1,P2,P3:
不扩展功能作双向I/O口用,访问外部存储器时,P2,P0分别做地址总线高低8位地址。
本次设计使用的是STC89C51
1.3.2最小系统
51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。
51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好
P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。
设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。
计数值N乘以机器周期Tcy就是定时时间t。
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。
在每个机器周期的S5P2期间采样T0、T1引脚电平。
当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。
由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。
当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。
标识符号地址寄存器名称
P30B0HI/O口3寄存器TH18DH定时器1高8位
SCON98H串行口控制寄存器SBUF99H串行数据缓冲寄存器
TCON88H定时控制寄存器TL08AH定时器0低8位
TH08CH定时器0高8位TL18BH定时器1低8位
TH18DH定时器1高8位TMOD89H定时器方式选择寄存器
PCON87H电源控制及波特率选择寄存器
1.3.374LS245
DIR是H时,A→B。
74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
P0口与74LS245输入端相连,E端接地,保证数据线畅通。
8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输(P0.1→D1)。
1.3.4六位数码管
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
每一笔划都是对应一个字母表示DP是小数点.
动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。
1.3.5其他元件介绍
按键蜂鸣器发光二级管排阻
三.数字频率计工作原理
用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1s。
闸门时间可以根据需要取值,大于或小于1s都可以。
闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。
闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。
一般取1s作为闸门时间。
在1秒内,计算出在这段时间内,记录输入正负脉冲信号的次数,通常情况下,在按下K1键时程序启动T0定时器和T1计时器,T1计数器1秒的计数值就是信息源的频率值,如果按下K1键则启动定时器与计数器,在松开K1键后显示频率(有一个缓冲时间,1S后才会显示),本次设计,我们是记录50ms内的记录次数,然后记录20次,从而达到记录1秒的目的,此时系统所记录的数字是以16进制记录的,在通过相应的语句进行转换,将计数值转换为5伟十进制数并存入显示缓冲。
如果记录的频率值小于9999HZ,那么P3.7口将被赋予高电位,此时与P3.7口相连的绿灯(另一端为低电平)则会发光,如果记录的频率值大于9999HZ的话,那么P3.7将被赋予低电平,此时与P3.7口相连的红灯和蜂鸣器(另一端相连的为高电平)将会发光并且响应,另外每次变换输入频率时,需要重按一次K1键,将数据清零并重计。
四.频率计的程序(本课程用C语言编写,Keil调试通过)
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitL=P3^7;
ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
ucharDisp_Buffer[]={0,0,0,0,0};
ucharcodeDSY_BIT[]={0xfe,0xfd,0xfb,0xf7,0xef};
ucharCount=0;
sbitK1=P1^0;
//延时
voidDelay(ucharx)
{
uchari;
while(x--)
for(i=0;i<120;i++);
}
//主程序
voidmain()
{
uchari;
IE=0x8a;//允许T0,T1中断
TMOD=0x51;//T1为16位计数器,T1为16位定时器
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
while
(1)
{
if(K1==0)//如果按下K1键则启动定时器与计数器
{
Delay(10);
if(K1==0)
{
TR1=TR0=1;
}
}
else//松开K1键后显示频率(1S后才会正常显示)
{
for(i=0;i<5;i++)
{
P2=DSY_BIT[i];
P0=DSY_CODE[Disp_Buffer[i]];
Delay
(2);
}
}
}
}
//中断子程序
voidINT_T0()interrupt1
{
uintTmp;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(++Count==20)
{
TR1=TR0=0;
Count=0;
//将计数值转换为5位十进制数并存入显示缓冲
Tmp=TH1*256+TL1;
Disp_Buffer[4]=Tmp/10000;
Disp_Buffer[3]=Tmp/1000%10;
Disp_Buffer[2]=Tmp/100%10;
Disp_Buffer[1]=Tmp%100/10;
Disp_Buffer[0]=Tmp%10;
TH1=TL1=0;
}
if(Disp_Buffer[4]>=1)
L=0;
else
L=1;
}
五.运行环境
利用单片机AT89C51实现频率计的设计中用到了两种软件:
PROTEUS7.5,KeiluVision4.前者在之前的学习中就有所了解,对其运行环境也比较熟悉。
图为protues仿真环境
在PROTEUS中调入单片机、数码管、LED、或门、晶振、电阻、电容等,对元器件参数进行相应设置,并进行连线工作,完成了频率计的原理图绘制,如上图。
图为KEIL集成开发环境
程序编写正确之后,通过Keil软件进行编译,生成了HEX文件。
图为当频率大于9999HZ的时候,频率计红灯亮并且蜂鸣器响应
图为当频率小于9999HZ的时候,绿灯亮
六.设计分析
1.1结果分析
在通过一系列的课程设计的原理分析,设计思路整理,相关的编程,调试,软件仿真之后,通过硬件搭建实物焊接并且调试通过,在一定频率范围内,在不影响实际测量精度的前提下,本次设计的频率计是非常成功的。
1.2设计提高
在确保精度的前提下,为更好地适应多种实际电路的需要,力求将频率计的精度精确到小数点后面两位,整数部分提高到6位。
1.3参考文献
[1]《电子技术基础模拟部分》康华光高等教育出出版社
[2]《电子技术基础数字部分》康华光高等教育出出版社
[3]《C程序设计第四版》谭浩强清华大学出版社
[4]《单片机原理与应用》张友德复旦大学出版社
[5]《新概念51单片机C语言教程》郭天祥电子工业出版社