《基于at89c52单片机的简易频率计设计》由会员分享,可在线阅读,更多相关《基于at89c52单片机的简易频率计设计(16页珍藏版)》请在金锄头文库上搜索。
1、单片机系统开发与应用工程实习报告单片机系统开发与应用工程实习报告选题名称选题名称: 基于 AT89C52 单片机的简易频率计设计系(院)系(院): 专专 业业: 计)班班 级级: 姓姓 名名: 学学 号号: 指导教师指导教师: 学年学期学年学期: 2009 2010 学年 第 2 学期2010年 5 月 30 日摘要:在电子技术中,频率是一个经常用到的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。本项目主要阐述了以 AT89C52 单片机作为核心器件,采用模块化布局,设计一个简易数字频率计,以达到测量频率并进行显示的目的。本项目利用单片机的内部
2、定时器溢出产生中断来实现定时,把单片机内部的定时/计数器 0 作为定时器,实现 2.5ms 定时。外部待测脉冲从单片机的 TI(第 15引脚)输入,以定时/计数器 1 作为计数器,利用中断方式来达到间接测量的目的。最后采用四位数码管显示。本设计采用 C 语言进行软件编程,用 keil 软件进行调试。最后把调试成功后的程序固化到AT89C52 单片机中,接到预先焊好的电路板上,接上待测脉冲,通电运行,数码管成功显示待测脉冲频率。关键词:单片机;频率计;AT89C52目目录录1 项目综述.111 设计要求.112 系统设计.12 硬件设计.22.1 电路原理图.22.2 元件清单.22.3 主要芯
3、片引脚说明.33 软件设计.43.1 程序流程图.43.2 软件设计简述.53.3 程序清单.64 系统仿真及调试.104.1 硬件调试.104.2 软件调试.105 结果分析.10总结.11参考文献.121 项目综述项目综述在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十 分密切的关系,因此频率的测量就显得更为重要。本项目主要阐述了选择 AT89C52 单片机作为核 心器件,采用模块化布局,设计一个简易数字频率计测量频率并进行显示。11 设计要求设计要求基于 AT89C52 单片机简易频率计的设计要求如下:(1) 测量范围。幅度:0.55V;频率:1Hz1MH
4、z.(2) 测试误差0.1%。(3) 用 4 位数码管显示。当频率变化时,能通过数码管及时看到变化后的信号频率。12 系统设计系统设计121 框图设计基于 AT89C52 单片机简易频率计的电路主要由数码管显示电路、复位电路、晶振电路、电源电路等几部分组成,系统框图如图 3.1 所示。图 3.1 基于 AT89C52 单片机简易频率计系统框图123 知识点本项目需要通过学习和查阅资料,掌握和了解如下知识:1) +5V 电源原理及设计。2) 单片机复位电路工作原理及设计。3) 单片机晶振电路工作原理及设计。4) 频率信号发生器的特性及使用。5) 驱动电路 74LS244 的特性及使用。6) AT
5、89C52 单片机引脚结构及功能。7) 单片机 C 语言程序设计方法。2 硬件设计硬件设计2.1 电路原理图电路原理图基于 AT89C52 单片机简易频率计电路原理图如图 2-1 所示。图 2-1 基于 AT89C52 单片机简易频率计电路原理图2.2 元件清单元件清单基于 AT89C52 单片机简易频率计元件清单如表 2-1 所示。表 2-1 基于 AT89C52 单片机简易频率计元件清单元件名称型号数量/个用途单片机AT89C521控制核心 晶振12MHz1晶振电路 电容30pF2晶振电路电解电容10uF/10V1复位电路 电阻10k1复位电路 驱动器74LS2441LED 驱动 非门74
6、LS041位选信号 数码管4 位共阴1显示电路 按键1复位电路 电源+5V/0.5A1提供+5V2.3 主要芯片引脚说明主要芯片引脚说明2.3.1 AT89C52 引脚说明AT89C52 为 40 脚双列直插封装 8 位通用微处理器,采用工业标准的C51 内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主 IC 内部寄存器、数据 RAM 及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR 的接收解码及与主板 CPU 通信等。AT89C52 共有 6 个中断向量:两个外中断( INT0 和INT1) ,3 个定时器中断
7、(定时器 0、1、2)和串行口中断。AT89C52 引脚图如下:图 2-2 AT89C52 引脚图主要管脚有:XTAL1(19 脚)和 XTAL2(18 脚)为振荡器输入输出端口。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和 VSS(20 脚)为供电端口,分别接 +5V 电源的正负端。P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址 /数据总线复用口。P1,P2,P3 是一组带有内部上拉电阻的 8 位双向 I/O 口。2.3.2 74HC244 引脚说明74HC244 可以让输入的数据 保持比较长的时间,简单输入接口扩展通常使用的典型芯片为
8、 74HC244,由该芯片可构成三态数据缓冲器。 74HC244 芯片的引脚排列如下图所示:图 2-3 74HC244 引脚图74HC244 芯片内部共有两个四位三态缓冲器,使用时可分别以1C 和 2G 作为它们的选通工作信号。当 1/OE 和 2/OE 都为低电平时,输出端 Y 和输入端 A状态相同;当 1/OE 和 2/OE 都为高电平时,输出呈高阻态。3 软件设计软件设计本项目利用单片机的内部定时器溢出产生中断来实现定时。待测信号由单片机的TI 中断来间接测量。定时/计数器 0 定时 2.5ms 中断并对中断次数进行计数,当 2.5ms中断次数计到 40 次即 0.1s 时,查看定时/计
9、数器 1 上的计得的数值,经过计算得到的待测信号的频率值,放入显示缓冲区,由数码管进行显示。3.1 程序流程图程序流程图主程序流程图如图 3-1 所示。图 3-1 主程序流程图3.2 软件设计简述软件设计简述1)利用单片机的内部定时器溢出产生中断来实现定时。2)待测信号由单片机的 TI(第 15 引脚)中断来间接测量。3)采用 12MHz 晶振,机器周期为 1us4)定时/计数器 0 工作方式:定时方式,工作方式 1,每次定时 2.5ms。实现 2.5ms 定时算法:(3-1)1663(2) 102.5 10 (63036)1111011000111100DX X 即 TH0=0xf6,TL0
10、=0x3c 5)定时/计数器 1 工作方式:计数方式,工作方式 1。当 2.5ms 中断次数计到 40次即 0.1s 时,查看定时/计数器 1 上的计得的数值 。6)通过公式: (3-2)0.25 40计数值脉冲频率可以计算出脉冲频率。最后的数据以 KHz 单位,采用四舍五入的方法保留一位小数。7)显示采用四位共阴 LED 数码管,用单片机 P0 口的 8 位控制数码管的 8 段二极管的明暗。用 P2 口的 P2.0P2.3 作为 4 位数码管的选通信号,采用从低到高逐位扫描的方法。3.3 程序清单程序清单基于 AT89C52 单片机简易频率计程序清单如下:#includebit timeint0,timeint1;unsigned char dispbuf4;unsigned int period;unsigned int timecount=0;unsigned int count_1s;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /7 段数码管代码表HEX_TO_BCD(unsigned int n) /十六进制数转 BCD 码子程序,/将 BCD 码送至显