基于51单片机数字频率计的设计

本文详细介绍了如何使用51单片机AT89C51设计数字频率计,涵盖硬件设计,包括电源、单片机最小系统、时钟电路和LCD1602液晶显示电路,以及软件设计,包括定时器中断服务子函数和主函数。通过设计,实现了1HZ~1MHZ频率范围内的测量,具备较高的精度。文章还讨论了误差减小措施和功能扩展,如增加键盘控制、自动量程转换和液晶显示,旨在提升频率计的实用性与准确性。
摘要由CSDN通过智能技术生成

本文提出设计数字频率计的方案,重点介绍以单片机AT89C51为控制核心,实现频率测量的数字频率设计。测频的基本原理是采用在低频段直接测频法,在低频段直接测频法的设计思路,硬件部分由单片机和数计显示电路组成;软件部分由信号频率测量模块和数据显示模块等模块实现。应用单片机的控制功能和数学运算能力,实现计数功能和频率的换算。设计的频率计范围能够达到1HZ~1MHZ,满足所要求的频率范围,测量精度较高。

目录
前  言
第一章  总体设计方案
1.1 总设计框图
1.2 硬件设计分析
1.2.1 电源的设计
(4):LCD1602的指令说明及时序
(5): LCD1602的RAM地址映射及标准字库表
第二章  软件设计与分析
2.1 软件设计的组成
2.2  各部分软件分析
2.2.1  定时器0中断子函数
2.2.2  定时器1中断子函数
2.2.3  主函数
2.3  总源程序
第三章  软件介绍
3.1 PROTEUS简介
3.2 PROTEL 99 SE简介
3.2.1 电路工程设计部分
3.2.2 电路仿真与PLD部分
3.3 Protel 99 SE的功能特性
3.4 Protel99SE快捷键大全
3.6仿真图
3.7原理图
第四章  减小误差措施及扩展方面
4.1减小误差措施
4.2扩展方面
(1)预处理电路部分
(2)增加电源部分
4.3 功能上的完善
4.3.1 增加键盘控制
4.3.2 实现自动量程转换
4.3.3 液晶显示器(LCD)进行数据的显示
总结
致谢词
参考文献


前  言

频率是电子技术领域的一个基本参数,同时也是一个非常重要的参数,因此,频率测量已成为电子测量领域最基本最重要的测量之一。 随着科学技术的不断发展提高,人们对科技产品的要求也相应的提高,数字化的电子产品越来越受到欢迎。频率计作为比较常用和实用的电子测量仪器,广泛应用于科研机构、学校、家庭等场合,因此它的重要性和普遍性勿庸质疑。数字频率计具有体积小、携带方便;功能完善、测量精度高等优点,因此在以后的时间里,必将有着更加广阔的发展空间和应用价值。比如:将数字频率计稍作改进,就可制成既可测频率,又能测周期、占空比、脉宽等功能的多用途数字测量仪器。将数字频率计和其他电子测量仪器结合起来,制成各种智能仪器仪表,应用于航空航天等科研场所,对各种频率参数进行计量;应用在高端电子产品上,对其中的频率参数进行测量;应用在机械器件上,对机器振动产生的噪声频率进行监控;等等。研究数字频率计的设计和开发,有助于频率计功能的不断改进、性价比的提高和实用性的加强。以前的频率计大多采用TTL数字电路设计而成,其电路复杂、耗电多、体积大、成本高。随后大规模专用IC(集成电路)出现,如ICM7216,ICM7226频率计专用IC,使得频率计开发设计变得简单,但由于价格较高,因此利用IC设计数字频率计的较少。现在,单片机技术发展非常迅速,采用单片机来实现数字频率计的开发设计,实现频率的测量,不但测量准确,精度高,而且误差也很小。我们将介绍一种简单、实用的基于单片机的数字频率计的设计和制作。

第一章  总体设计方案

以AT89C51单片机为核心,起着控制作用。系统包括LCD1602液晶显示电路、复位电路、时钟电路。设计思路分为四个模块:复位电路、晶振电路模块、AT89C51、LCD1602液晶显示电路。

1.1 总设计框图

图1-1-1 总设计框图

1.2 硬件设计分析1.2.1 电源的设计

(1):系统电源使用直流5伏。

(2):单片机最小系统

单片机选用型号为AT89C51。

AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。

如图1-2-3所示为AT89C51单片机基本构造,其基本性能介绍如下:

图1-2-3 AT89C51单片机

AT89C51本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,3个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,但不可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

AT89C51的主要特性如下表所示:

兼容MCS—51指令系统
32个可编程I/O线
4k字节可编程闪烁存储器
可编程UARL通道
三个16位可编程定时/计数器中断
时钟频率0-24MHz
2个外部中断源,共8个中断源
256×8bit内部RAM
2个读写中断口线
可直接驱动LED
软件设置睡眠和唤醒功能
低功耗空闲和掉电模式
表1-2-1 AT89C51主要功能描述

AT89C51为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc51相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

P0口:P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。Flash编程和程序校验期间,P1接收低8位地址。

P2口:P2是一个带有内部上拉电阻的8 位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX @DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX @RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。

P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个AL脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条 MOVX 和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:振荡器反相放大器的输出端。

单片机最小原理图如图1-2-4所示。

图1-2-4 单片机最小系统
单片机最小系统说明:

时钟信号的产生:在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟振荡电路。

时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

一般地,电容C1和C2取30pF左右,晶体的振荡频率范围是1.2-12MHz。如果晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。

单片机复位使CPU和系统中的其他功能部件都处在一个确定的初始状态下,并从这个状态开始工作。单片机复位条件:必须使9脚加上持续两个机器周期(即24个振荡周期)的高电平。

(3):显示系统

LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图1-2-5所示:

LCD1602的主要技术参数:

1、显示容量:16×2个字符

2、芯片工作电压:4.5—5.5V

3、工作电流:2.0mA(5.0V)

4、模块最佳工作电压:5.0V

5、字符尺寸:2.95×4.35(W×H)mm

引脚功能说明

LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如图1-2-6所示:

编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无限虚空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值