基于AT89C51的数字频率计设计与实现

5星 · 超过95%的资源 需积分: 0 6 下载量 112 浏览量 更新于2024-09-10 收藏 476KB DOC 举报
长沙航空职业技术学院电子技术应用专业《微处理器应用与实践》作业,关于设计和制作一个基于AT89C51单片机的数字频率计。 本文将详细介绍如何设计和实现一个单片机频率计,该设计主要围绕以下几个方面展开: 1. **频率计基本原理**: 频率计的主要任务是测量信号在单位时间内变化的次数。在本设计中,采用了一种基于定时器和计数器的方法。首先设定一个定时器,使其工作1秒,同时使用计数器记录这1秒内输入信号的脉冲个数。定时器时间到后,停止计数并读取计数器的值,这个值即为信号的频率。 2. **项目要求**: - 开发工具:使用Keil C51编程环境,Proteus仿真软件,以及EASY下载软件。 - 控制核心:采用AT89C51单片机,它具有内置定时器和计数器功能。 - 显示部分:使用数码管显示测量结果。 - 扩展功能:增加高位清零模式,提高测量精度和灵活性。 3. **总体设计思路**: 设计思路是通过设置单片机的定时器在1秒内触发中断,计数器则在此期间持续计数。当定时器中断发生时,读取计数器的值并停止计数,然后通过数码管显示频率值。 4. **硬件电路设计**: - 晶振:12MHz的外部晶振提供时钟信号,确保定时器的精度。 - 复位电路:采用上电复位方式,31脚需保持高电平,20脚接地,40脚接入5V电源。 - I/O接口:P1口用于输出数码管的段选数据,P2口用于输出位选数据,数码管采用共阳极连接,通过220欧姆上拉电阻驱动。 - 计数器和定时器:89C51单片机内部的计数器和定时器用于计数和定时。 5. **程序设计**: - 主程序流程包括初始化、定时器设置、计数器启动、中断服务和结果显示等步骤。 - 程序代码包含对定时器的配置、数码管显示的控制以及中断服务子程序,以实现频率的实时测量和显示。 6. **仿真验证**: 使用Proteus进行电路仿真,验证设计的正确性和功能完整性。通过观察仿真结果,确认频率计能准确地测量输入信号的频率。 7. **实物制作**: 学生们完成了频率计的实物制作,并提供了安装后的照片,证明了设计从理论到实际操作的成功转化。 这个单片机频率计项目涵盖了单片机系统设计的多个关键环节,包括硬件电路设计、软件编程、仿真验证以及实物制作,是学习和实践单片机应用的一个典型实例。