单片机数字频率计设计_本科毕业设计(论文)(编辑修改稿)内容摘要:

3 章 硬件的设计 基本设计原理 本设计是基于 ATMEL 公司生产的 AT89C51 单片机为核心的数字频率计,是利用该 51 单片机内部的定时 /计数器来完成待测信号频率的测量。 AT89C51 单片机内部具有 2 个 16 位的定时 /计数器 T0 与 T1,其工作方法可以通过编程来实现所需的定时 /计数与产生计数溢出中断要求的功能。 定时 /计数器 T0 与 T1 的核心都是 16位的加 1 计数器, TH0 与 TL0 构成在构成定时 /计数器 T0 加 1 计数器的高 8 位和低8 位; TH1 与 TL1 构成在构成定时 /计数器 T1 加 1 计数器的高 8 位和低 8 位。 加 1计数器的初值可以通过程序设定,这样就可以获得不同的计数值或定时时间。 当加1 计数器用作定时器时,每个机器周期加 1(使用 12MHz时钟时,每 1us 加 1) ,这样以机器周期为基准可以用来测量时间间隔。 当加 1 计数器用作计数器时,在相应的外部引脚发生从 1 到 0 的跳变时计数器加 1,这样在计数闸门的控制下可以用来测量待测信号的频率。 外部输入每个机器周期被采样一次,这样检测一次从 1 到0 的跳变至少需要 2 个机器周期( 24 个振荡周期),所以最大计数速率为时钟频率的 1/24。 AT89C51 单片机的时钟频率可以在 0Hz— 24MHz 范围内自动调节,当使用 12MHz 时钟时,最大计数速率为 500KHz。 定时 /计数器的工作由相应的运行控制位 TR 控制,当 TR 置 1 时 ,定时 /计数器开始计数;当 TR 置 0 时,停止计数。 在本设计方案中,我通过程序设定 T0 工作在计数状态下, T1 工作在计时状态下。 T0 计数器对输入的信号经行计数。 由于信号的频率就是每秒钟信号脉冲的个数,于是我让 T1 工作在定时状态下,定时时间为 1 秒。 每定时 1 秒钟到,就停止 T0 的计数,然后从 T0 的计数单元中读取计数的数值,即完成了信号频率的测量。 最后通过五位数码管显示出频率值。 由于要尽可能的使用最少的元件,在满足设计要求的前提下,我尽可能的减少了元器件的使用。 将被测信号不加任何处理,直接输入单片机的 口。 而将被测 信号经行放大整形、倍频锁相等处理就不再进行了。 这样做会使该频率计在测量信号频率时产生精度误差,但能够满足设计要求。 系统硬件模块关系 系统总体 系统总体分为:中央控制芯片,时钟电路,复位电路,显示电路等部分。 系统总体方框如图 4 所示。 西京学院本科毕业设计(论文) 7 图 系统整体方框图 AT89C51 是一个低功耗,高性能 CMOS8 位单片机,片内含 4k Bytes ISP 的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机 AT89C51 可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89C51 具有如下特点: 40 个引脚, 4k Bytes Flash 片内程序存储器, 128 bytes的随机存取数据存储器( RAM), 32 个外部双向输入 /输出( I/O)口, 5 个中断优先级 2 层中断嵌套中断, 2 个 16 位可编程定时计数器, 2 个全双向串行通信口,看门狗( WDT)电路,片内时钟振荡器。 此外 , AT89C51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。 空闲模式下, CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。 同时该芯片还具有 PDIP、 TQFP和 PLCC 等三种封装形式,以适应不同产品的需求。 单片机管脚说明 AT89C51 单片机管脚如图 所示。 时 钟 电 路 复位电路 AT89C51 单片机 电源电路 数 码 管 显 示 输 入 信 号 西京学院本科毕业设计(论文) 8 图 AT89C51 引脚分布图 P0: P0 口为一个 8 位漏级开路双向 I/O 口 ,每脚可吸收 8TTL 门电流。 当 P1口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。 在 FIASH 编程时, P0 口作为原码输入口,当FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1 口作为第八位地址接收。 P2: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出4 个 TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门西京学院本科毕业设计(论文) 9 电流。 当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 RXD(串行输入口) (串行输出口) (外部中断 0) (外部中断 1) T0(计时器 0 外部输入) T1(计时器 1 外部输入) /WR(外部数据存储器写选通) (外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些 控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在低平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR 8EH 地址上置 0。 此时, ALE只有在执行 MOV X, MOV C 指令 是 ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间使用外部程序存储器,不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET。 当 /EA 端保持高电平时,此期间使用内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 VCC:供电电压。 GND:接地。 西京学院本科毕业设计(论文) 10 单片机 I/O 口分配表 单片机 I/O 口分配表如表 所示。 表 单片机 I/O 口分配表 开始键 信号采集 ~ 数码管位选通端 ~ 数码管段码 频率显示电路 频率显示电路如图 所示。 图 频率显示电路图 当按键按下以后, 端直接与地接通,使 引脚为低电平;当键弹起后, 重新恢复高电平,从而产生一个脉冲信号给单片机,单片机从而接收输入信号并测量。 时钟电路 单片机工作是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是单片机控制器中的时序电路发出的。 单片机的时序就是 CPU 在执行指令时所需控制信号的时间顺序。 为了保证各部件的同步工作,单内部电路应在唯一的时钟信号下严格按时序进行工作。 MCS51 系列单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。 MCS51 的时钟产生方法有“内部时钟方式”与“外部时钟方式”两种。 在本设计中采用了内部时钟方式。 其电路图如图 所示。 西京学院本科毕业设计(论文) 11 图 时钟电路 如图 所示,利用芯片内部的振荡器,然后在引脚 XTALl 和 XTAL2 两端跨接晶体振荡器 X1(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。 外接晶振 X1 时, C1 和 C2 的值通常选择为 30pF 左右; Cl 与 C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在 ~ 12MHz 之间选择。 为了减少寄生电容,更好地保证振荡器稳定可靠的工作,振荡器和电路应尽可能安装得与单片机引脚 XTALl和 XTAL2 靠近。 电源电路 直流稳压电源一般由电源变压器、整流、滤波及稳压电路所组成。 5V 直流电源如图 所示。 图 直流电源电路图 复位按钮 复位电路和时钟电路是维持单片机最小系统运行的基本模块。 复位电路通常分西京学院本科毕业设计(论文) 12 为两种:上电复位和手动复位。 有时系统在运行过程中出现程序跑飞的情况,在程序开发过程中,经常需要手动复位。 所以本次设计选用手动复位按钮,其电路图如图 所示。 图 手动复位按钮 数码管显示电路 显示器是微机重要的输出设备。 显示器有显示监控结果、提供用户操作界面等功能。 在本次设计中采用了 LED 显示器,即数码管。 数码管的每一个数码段是一只发光二极管。 当发光二极管导通。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。