《基于51单片机的数字频率计设计报告》由会员分享,可在线阅读,更多相关《基于51单片机的数字频率计设计报告(18页珍藏版)》请在金锄头文库上搜索。
1、目录摘要 .3关键词 .3正文 .41 概述 .42 总体设计方案 .52.1 软件 .52.2 设计思路 .53 系统软件设计 .53.1 主板说明 .53.2 芯片主要性能 .53.3 功能特性描述 .63.4 引脚描述 .64 系统软件设计 .94.1 初始定义 .94.2 子程序设计 .94.3 主要源程序 .105 系统调试 .136 课程设计体会 .157 参考文献 .15附录 .16摘要:数字频率计是现代科研生产中不可或缺的测量仪器,它以十进制数显示被测频率,基本功能是测量正弦信号,方波信号,及其它各种单位时间内变化的物理量。本系统采用AT89S52单片机智能控制,结合外围电子电
2、路,设计的频率计性能稳定。在软件设计上采用了单片机的C语言设计,通过单片机内部定时/计数器同时动作,在测量频率时将测频率和测周期相结合,提高了频率计的测量准确性。测量结果在四位七段式数码管上输出显示,结果精确到整数位。频率计的软件设计,系统软件设计简单明了,适用于测量频率从19999Hz的脉冲信号,超频自动报警,安全可靠。关键词:数字频率计;AT89S52单片机;信号;AT89S52最小系统板;LG5011BSR正文1. 概述 单片机是 20 世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等
3、领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在线系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 本项目以AT89S52为基本控制元件,能够对19999Hz频段内的正弦信号,方波信号,及其它各种单位时间内变化的物理量进行初略测量,可应用于教学实
4、验,学生自主实验等对频率精确度要求不高的场合,也可应用于家用情况下频率的初步获取。在科技高度发达的今天,作为一名工科的大学生,一款简易的频率测量仪器,人手必备。2.总体设计方案2.1 软件:采用 Keil uVision3 做为开发工具,进行编程设计,通过progisp2.0 将程序下载到开发板芯片中。2.2 设计思路:利用 AT89S52 内部的定时/计数器 0,和定时/计数器 1 结合完成,在初化 AT89S5 时,把定时/计数器 0 设置为计数方式,计数的信号来源于单片机的引脚 P35,定时/计数器 1 设置为定时方式.上电后按下按键 kye1(P20),去抖启动,同时开始 T1 的定时
5、过程和 T0 的计数过程,T1 定时 20ms,设置定时中断,当 T1 第 20 次进入中断定时结束时,停止 T0 的计数过程。之后通过读取T0 的计数值 N,就可以知道在 1s 内输入信号的频率为 val。若 T1 定时不到1s,T0 计数到 65536 溢出,则进入计数中断,蜂鸣器报警。输出频率计频率按下按键计数溢出 蜂鸣器报警 图一 程序控制方框图3系统硬件设计3.1 主板【简要说明】 3.1.1 尺寸:长 128mm 宽 87mm 高 18mm3.1.2 支持芯片:AT89S51/S52/S53 支持 STC89C51/C52/C53(加 转换板可使用 ATMEGA8/48、ATMEG
6、A16/32)3.1.3 工作电压:直流 4.55.5 伏3.1.4 单片机标准十针下载接口。(可使用并口下载线和 USB 下载线 下载)3.1.5 特点:(1)具有电源指示。(2)所以 I/O 口以引出并有 LED 灯指示。(3)四位数码管显示、四位按键输入、32 位 LED 发光二极 管显示。(4)标准的 11.0592M 晶振。(晶振可以插拔更换)(5)具有上电复位和手动复位。(6)四种供电接口(USB 供电、端子引入供电、排针引入供电、电源头接口供电)(7)串口通信使用 MAX232 接口,同时可以下载 STC 单片机程序。3.2 芯片主要性能: 与MCS-51单片机产品兼容8K 字节
7、在线系统可编程Flash存储器1000 次擦写周期4.0V-5.5V 工作电压 全静态操作:0Hz33Hz 三级加密程序存储器256*8 字节的内部数据存储器32 个可编程I/O口线 三个16位定时器/计数器 八个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 图二 芯片管脚示意图 看门狗定时器 双数据指针 掉电标识符 快速编程周期 灵活ISP编程(字节和 模式) 绿色(-免费)工作包操作3.3 功能特性描述:AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在线系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C
8、51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式
9、下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.4 引脚描述:VCC : 电源GND: 地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口。P1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1
10、”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器 /计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX )。在flash编程和校验时,P1口接收低8位地址字节。引脚号 第二功能P1.0 T2(定时器/计数器 T2 的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向控制)P1.2 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)表1 P1口第二功能说明P2 口:
11、P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8
12、 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的 原因,将输出电流(IIL)。在flash编程和校验时,P3口也接收一些控制信号。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。Port Pin Alternate FunctionsP3.0 RXD (serial input port)P3.1 TXD (serial output port)P3.2 INT0 (external interrupt 0)P3.3 INT1 (external interrupt 1)P3.4 T0 (timer 0 external input)P3.5 T1 (timer 1 external input)P3.6 WR (external data memory write strobe)P3.7 RD (external d