论文部分内容阅读
摘 要:在电子相关领域频率是一个较为重要的测量参数,它可以反映出信号的一些特征,因此频率的测量已成为电子领域较为主要的的测量之一。频率计作为常用的测量仪器,广泛应用在高校、军事、科研机构等方面。近些年随着电子信息领域的蓬勃发展,人们对频率测量的精度要求越来越高,所以数字化的电子产品越来越受到大家的青睐。数字频率计具有可操作性强、精度高、功能齐全等优点,因此在今后,数字频率计必将是测量频率的主流仪器。
关键词:频率计;单片机;计数器;定时器
1.引言
数字频率计的使用十分广泛,在许多电子设备中都需要测量频率。尽管一些数字频率计设计过程复杂,但是功能齐全操作简单对使用者的要求很低。目前的数字频率计正在向微型化和智能方向发展。本文基于以上考虑,利用AT89C51单片机的两个定时计数器功能,来完成对采集到的信号进行频率计数,计数的频率结果通过液晶显示屏LCD1602显示出来。预期设计结果能够对0-480KHZ的信号频率进行准确计数,计数误差不超过±10HZ。
2.系统方案设计
2.1三种方案比较
2.1.1 方案一
频率计需要的定时1S的时间由多谐振荡器产生,其中多谐振荡器由NE555定时器和电位器组成,在进行分频操作就可以得到1S的脉冲;整形放大电路通过逻辑门电路和二极管组成;闸门电路用一个逻辑门,只在定时脉冲高电平时通过;计数电路可以通过5个十进制的计数器组成,计数器再将脉冲个数通过LED数码管显示出来。
2.1.2方案二
固定闸门信号1s,由555定时器和电容电阻构成的多谐振荡器产生脉宽1s的脉冲或晶振为32.768KHZ的晶振电路经CD4060的14级2分频得到2HZ的方波,再经4分频得到1s脉宽的脉冲。闸门信号和放大整形后的待测信号与非,多次十分频后接74LS151,再送到计数端。用74LS90计最高位的QD脚的负跳变沿个数,用来控制74LS151的信号通路,锁存和清零都由74LS123产生。
原理:每次计数都是以HZ为单位,超量程时,最高位由0到9,再9到置数为1,74LS90输出控制74LS151选择,将后面的脉冲10分频,有就是将最低位乘上10。74LS90同时控制小数点和量程的转换,当然小数点和量程指示显示要加锁存。计数器记录1s内所有的脉冲个数,但只保留了最高的3位。欠量程时有就是100HZ以下时,将高位的0消隐。(此方法只是个人想法,具体地电路设计还未尝试)。
2.1.3方案三
用4MHZ的晶振电路产生4MHZ的基准信号,经4分频,经过多次分频,分别得到1MHZ,100kHZ,10kHZ,1kHZ,100HZ,10HZ,1HZ,0.1HZ的频率接74LS151八选一数据选择器,再经D触发器2分频得到1us,10us,100us,1ms,10ms,100ms,1s,10s的闸门信号。用74LS123产生锁存和清零信号。74LS192作为扩展电路控制74LS151和74LS138完成自动换挡功能,欠量程和超量程信号分别有中间位和最高位的进位产生。
2.2 方案选择
方案一用的是555定时器,精度和稳度都不高。是4位数码管显示,可扩展电路过于简单,而且网上多采用这种方案。方案二是固定闸门信号的脉宽,灵活性太差,每次计数显示等待时间为2s。小数点显示和量程指示都要加锁存,过于繁琐。方案三对基准信号分频得到不同的闸门信号,灵活性高,计数和显示的时间可变。扩展电路采用74LS192可加可减计数器,量程可扩展。 它们的计算频率的原理一样: 闸门信号待测信号计数单位時间内的脉冲个数。
通过比较三种方案,最终我们选择显示电路用:LCD1602液晶显示电路;用51单片机T0计数、T1定时;波形整形电路较为简单,就是通过一个NPN型三极管,利用三极管的开关特性来保护电路;电路还附带一个由555构成的方波发生电路作为整个系统的内部信号,也可以通过选择接入外部正弦波、三角波、锯齿波等信号来测量频率。以下所有电路及软件都是按照此决定方案设计。
3.硬件简介
3.1 单片机简介
STC89C52单片机有40个引脚。包括时钟信号引脚、控制信号引脚等。有4个8位并行I/O端口,1个全双工异步串行端口,5个中断源,2个优先级,2个16位定时/计数器。其中在STC89C52单片机中的中断系统可以实现二级中断服务。当同一优先级的中断提出中断请求时,则由单片机内部的查询逻辑来确定响应 的次序。此外,有两个可编程定时/计数器的STC89C52单片机:它们可以作为定时器,也可以作为计数器。
3.2 LCD液晶显示屏
1602液晶显示屏是一种专门显示字符、数字、字母、汉字等的点阵型显示模块。它的工作电压为5V,控制简单、成本较低、适用于普通的数据显示。但是同时也具有功耗高、不能显示曲线、图像等缺点。通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,LCD1602模块使用HD44780控制器,可以通过编程实现字符信息的传送和现实。HD44780控制器通过指令(IR)和数据注册(DR),RAM(DDRAM),字符发生器(CGRAM)字符发生器存储器(CGRAM),地址计数器,RAM(AC)的显示数量进行注册。IR的功能是注册指令代码,只能写入不能读取,DR的功能用于注册数据。
STC89C52单片机的P0口的8位作为数据传输口,P1口的0、1、2位分别连接LCD1602的EN、R/W、RS功能端。其中R/W端是信号的读写端、EN是信号的使能端、RS是寄存器的选择端。这个模块设计的关键步骤是显示模块的初始化。首先对屏幕进行清除并将端口数据设置为8位,接下来显示行号和列号,最后设定一个无方向增量,将字符发送到LCD的BUFF区。经过设计决定使用两个字符数组,其中一个用于显示具体字符,另外一个显示电压数值。要显示的内容被发送到相应的数组,通过串口传送给LCD1602完成显示。
关键词:频率计;单片机;计数器;定时器
1.引言
数字频率计的使用十分广泛,在许多电子设备中都需要测量频率。尽管一些数字频率计设计过程复杂,但是功能齐全操作简单对使用者的要求很低。目前的数字频率计正在向微型化和智能方向发展。本文基于以上考虑,利用AT89C51单片机的两个定时计数器功能,来完成对采集到的信号进行频率计数,计数的频率结果通过液晶显示屏LCD1602显示出来。预期设计结果能够对0-480KHZ的信号频率进行准确计数,计数误差不超过±10HZ。
2.系统方案设计
2.1三种方案比较
2.1.1 方案一
频率计需要的定时1S的时间由多谐振荡器产生,其中多谐振荡器由NE555定时器和电位器组成,在进行分频操作就可以得到1S的脉冲;整形放大电路通过逻辑门电路和二极管组成;闸门电路用一个逻辑门,只在定时脉冲高电平时通过;计数电路可以通过5个十进制的计数器组成,计数器再将脉冲个数通过LED数码管显示出来。
2.1.2方案二
固定闸门信号1s,由555定时器和电容电阻构成的多谐振荡器产生脉宽1s的脉冲或晶振为32.768KHZ的晶振电路经CD4060的14级2分频得到2HZ的方波,再经4分频得到1s脉宽的脉冲。闸门信号和放大整形后的待测信号与非,多次十分频后接74LS151,再送到计数端。用74LS90计最高位的QD脚的负跳变沿个数,用来控制74LS151的信号通路,锁存和清零都由74LS123产生。
原理:每次计数都是以HZ为单位,超量程时,最高位由0到9,再9到置数为1,74LS90输出控制74LS151选择,将后面的脉冲10分频,有就是将最低位乘上10。74LS90同时控制小数点和量程的转换,当然小数点和量程指示显示要加锁存。计数器记录1s内所有的脉冲个数,但只保留了最高的3位。欠量程时有就是100HZ以下时,将高位的0消隐。(此方法只是个人想法,具体地电路设计还未尝试)。
2.1.3方案三
用4MHZ的晶振电路产生4MHZ的基准信号,经4分频,经过多次分频,分别得到1MHZ,100kHZ,10kHZ,1kHZ,100HZ,10HZ,1HZ,0.1HZ的频率接74LS151八选一数据选择器,再经D触发器2分频得到1us,10us,100us,1ms,10ms,100ms,1s,10s的闸门信号。用74LS123产生锁存和清零信号。74LS192作为扩展电路控制74LS151和74LS138完成自动换挡功能,欠量程和超量程信号分别有中间位和最高位的进位产生。
2.2 方案选择
方案一用的是555定时器,精度和稳度都不高。是4位数码管显示,可扩展电路过于简单,而且网上多采用这种方案。方案二是固定闸门信号的脉宽,灵活性太差,每次计数显示等待时间为2s。小数点显示和量程指示都要加锁存,过于繁琐。方案三对基准信号分频得到不同的闸门信号,灵活性高,计数和显示的时间可变。扩展电路采用74LS192可加可减计数器,量程可扩展。 它们的计算频率的原理一样: 闸门信号待测信号计数单位時间内的脉冲个数。
通过比较三种方案,最终我们选择显示电路用:LCD1602液晶显示电路;用51单片机T0计数、T1定时;波形整形电路较为简单,就是通过一个NPN型三极管,利用三极管的开关特性来保护电路;电路还附带一个由555构成的方波发生电路作为整个系统的内部信号,也可以通过选择接入外部正弦波、三角波、锯齿波等信号来测量频率。以下所有电路及软件都是按照此决定方案设计。
3.硬件简介
3.1 单片机简介
STC89C52单片机有40个引脚。包括时钟信号引脚、控制信号引脚等。有4个8位并行I/O端口,1个全双工异步串行端口,5个中断源,2个优先级,2个16位定时/计数器。其中在STC89C52单片机中的中断系统可以实现二级中断服务。当同一优先级的中断提出中断请求时,则由单片机内部的查询逻辑来确定响应 的次序。此外,有两个可编程定时/计数器的STC89C52单片机:它们可以作为定时器,也可以作为计数器。
3.2 LCD液晶显示屏
1602液晶显示屏是一种专门显示字符、数字、字母、汉字等的点阵型显示模块。它的工作电压为5V,控制简单、成本较低、适用于普通的数据显示。但是同时也具有功耗高、不能显示曲线、图像等缺点。通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,LCD1602模块使用HD44780控制器,可以通过编程实现字符信息的传送和现实。HD44780控制器通过指令(IR)和数据注册(DR),RAM(DDRAM),字符发生器(CGRAM)字符发生器存储器(CGRAM),地址计数器,RAM(AC)的显示数量进行注册。IR的功能是注册指令代码,只能写入不能读取,DR的功能用于注册数据。
STC89C52单片机的P0口的8位作为数据传输口,P1口的0、1、2位分别连接LCD1602的EN、R/W、RS功能端。其中R/W端是信号的读写端、EN是信号的使能端、RS是寄存器的选择端。这个模块设计的关键步骤是显示模块的初始化。首先对屏幕进行清除并将端口数据设置为8位,接下来显示行号和列号,最后设定一个无方向增量,将字符发送到LCD的BUFF区。经过设计决定使用两个字符数组,其中一个用于显示具体字符,另外一个显示电压数值。要显示的内容被发送到相应的数组,通过串口传送给LCD1602完成显示。