基于单片机at89c51的信号发生器的设计与实现内容摘要:

试。 鉴于此,美国马克西姆公司开发了新一代函数信号发生器 ICMAX038,它克服了上述方案二中芯片的缺点,可以达到更高的技术指标,是上述芯片望尘莫 及的。 MAX038 频率高、精度好,因此它被称为高频精密函数信号发生器 IC。 在锁相环、压控振荡器、频率合成器、脉宽调制器等电路的设计上, MAX038都是优选的器件。 方案四:利用专用直接数字合成DDS芯片的函数发生器,能产生任意波形并达到很高的频率,但成本较高。 方案五:采用函数信号发生器 ICL8038 集成模拟芯片,它是一种可以同时产生方波、三角波、正弦波的专用集成电路。 但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉 ,且价格 较 高。 方案六:采用 AT89C51 单片机和 DAC0832 数模转换器相结合的电路来产生波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。 它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少,适合学生毕业设计。 经比较,方案六既可满足毕业设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比高,所以采用该方案。 基于单片机 AT89C51 的信号发生器的设计与实现 4 方案的结构模块划分 本次设计 所研究的就是 用单片机将某种波形所对应的数字量进行输出,再 通过 D/A 转换器 转换输出一组连续变化的 5V 的电压脉冲值,同时再 通过 液晶 显示部分显示其 频率 值 和波形 名称。 在设计时分块来做,分为 D/A 转换, 单片机系统,键盘控制和液晶显示 4 个 主要模块,最后通过联调仿真,做出电路板成品, 从而简化人机交互的问题,具体设计模块如图 21 所示。 图 21 系统总框图 各功能模块介绍 如下: 单片机 最小系统 :包括时钟电路和复位电路 键盘 控制电路 : 用按键来控制输出 波形的 种类和调节频率 D/A 转换 电路 : 单片机把待转换的数字量输送到 DAC0832 来把 数字信号 转换为模拟信号。 显示电路 : 采用液晶显示器 显示波形的 名称和 频率 系统要求是便携式低 功耗的,所以在硬件电路建立前首先粗略计算一下整个系统所需的功耗, 考虑单片机部分 功耗的大小,选择合适的器件以及参数。 AT89C51 LCD 键盘控制 DAC0832 运放输出 时钟电路 复位电路 基于单片机 AT89C51 的信号发生器的设计与实现 5 第 3 章 硬件电路的设计 主控电路及主控芯片的选择 单片机即单片微型计算机( Single CHip Microputer)是把组成微型计算机的各种功能部件,包括中央处理单元( CPU)、随机存储器( RAM)、程序存储器( ROM)、定时器/计数器及输入输出接口等部件都集成在一块芯片上。 是一种集成度高、性 价比优越、质量小、体积小的微型计算机。 单片机按其使用目的可以分为通用和专用两种类型。 通用单片机是一种基本芯片,内部功能及资源丰富,性能全面,适应性强 , 可覆盖多种用途。 用户可以根据需要设计成各种不同的单片机控制系统,即有一个再设计的过程。 专用型单片机在设计时已对系统结构进行了简化,对软、硬件进行了优化,可靠性高,成本低,但是这类单片机功能单一,通常是针对某一特定的产品。 本设计应采用通用型单片机。 随着半导体集成工艺的不断发展,单片机也正朝着 CMOS 化、低功耗、体积小、大容量、高性能低价格和外围电路内装化等几个 方向发展。 在单片机家族中, Intel 公司推出的MCS51 系列中的 80C51 是其中的佼佼者。 MCS51 系列单片机是 8 位单片机中应用范围最广的一类单片机。 近几年来,许多单片机开发厂商也推出了许多基于 80C51 单片机内核的扩展型单片机,产品在保持与 51 单片机兼容的基础上改善了很多特性,性能各异。 常用的单片机有很多种: Intel8051 和 8751 系列、 Motorola 的 MC6801 系列、 Atmel 的 AT89系列、台湾 Winbond(华邦 )W7 和 W78 系列、荷兰 PHilips 的 51LPC 和 LPC900 系列、 ZILOG的 Z8 系列等。 本设计中最终选用了 ATMEL 公司的 AT89C51 单片机。 AT89C51 单片机是美国 ATMEL 公司推出的低功耗 /低电压 、 高性能的 8 位单片机,片内含 4KBFlasH 程序存储器,它采用了 CMOS 工艺和 ATMEL 公司的高密度非易失性存储器( NURAM)技术,该 存储器的全称为闪速可编程可擦除只读存储 器 ( FPEROM, FlasH Programmable and Erasable Read Only Memory),其输出引脚和指令系统与标准 MCS51 系统兼容。 由于将多功能 8 位 CPU 和闪烁存储器组合 在单个芯片中,是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 单片机的发展史 单片机诞生于 20 世纪 70 年代末,经历了 SCM、 MCU、 SoC 三大阶段。 起初模型 即 单片微型计算机( Single Chip Microputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。 “创新模式 ”获得成功,奠定了 SCM 与通用计算机完全不同的发展道路。 在开创嵌入式系统独立发展道路上, Intel 公司功不可没。 即微控制器( Micro Controller Unit)阶段,主要的技术发展方向是:不 基于单片机 AT89C51 的信号发生器的设计与实现 6 断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。 它所涉及的领域都与对象系统相关,因此,发展 MCU 的重任不可避免地落在电气、电子技术厂家。 从这一角度来看, Intel 逐渐淡出 MCU 的发展也有其客观因素。 在发展 MCU 方面,最著名的厂家当数 Philips 公司。 Philips 公司以其在嵌入式应用方面的巨大优势,将 MCS51 从单片微型计算机迅速发展到微控制器。 因此,当我们回顾嵌入式系统发展道路时,不要忘记 Intel 和Philips 的历史功绩。 嵌入式系统 单片机是嵌入式系统的独立发展之路 ,向 MCU 阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了 SoC 化趋势。 随着微电子技术、 IC 设计、 EDA 工具的发展,基于 SoC 的 单片机应用系统设计 会有较大的发展。 因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。 单片机的特点 1 . 单片机的存储器 ROM 和 RAM 时严格区分的。 ROM 称为程序存储器,只存放程序,固定常数,及数据表格。 RAM 则为数据存储器,用作工作区及存放用户数据。 2 . 采用面向控制的指令系统。 为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。 3 . 单片机的 I/O 口通常时多功能的。 由于单片机芯片上引脚数目有限,为 了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。 4 . 单片机的外部扩展能力很强。 在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。 89C51 单片机介绍 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器( FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。 AT89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器 的单片机。 单片机的 可擦除只读存储器可以反复擦除 100 次。 该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS51 指令集和输出管脚相兼容。 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器, AT89C2051 是它的一种精简版本。 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 引脚图如图 31 所示。 基于单片机 AT89C51 的信号发生器的设计与实现 7 图 31 AT89C51与 AT89C2051引脚图 管脚说明 如下描述 : VCC:供电电压。 GND:接地。 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 门电流。 当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示: 基于单片机 AT89C51 的信号发生器的设计与实现 8 口管脚 备选功能 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉 冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷 振荡均可采用。 如采用外部时钟源驱动器件, XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。