第一章绪论1.1 选题背景及其意义信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
各种波形曲线均可以用三角函数方程式来表示。
能够产生多种波形,如方波、锯齿波、三角波、正弦波的电路被称为函数信号发生器。
在通信、广播、电视系统,在工业、农业、生物医学领域内,函数信号发生器在实验室和设备检测中具有十分广泛的用途。
1.2 单片机概述单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 随机存储器RAM、只读存储器ROM、多种I/O 口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机具有集成度高、系统结构简单、使用方便、实现模块化、可靠性高、处理功能强、速度快等特点,因此被广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
1.3 信号发生器分类信号发生器是指产生所需参数的电测试信号的仪器。
因其应用广泛,种类繁多,特性各异,分类也不尽一致。
按信号波形可分为正弦信号、函数信号、脉冲信号和随机信号发生器等四大类;按频率覆盖范围分为低频信号发生器、高频信号发生器和微波信号发生器;按输出电平可调节范围和稳定度分为简易信号发生器、标准信号发生器和功率信号发生器;按频率改变的方式分为调谐式信号发生器、扫频式信号发生器、程控式信号发生器和频率合成式信号发生器等。
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
1.4 研究题目及其意义信号发生器是一种经常使用的设备,由纯粹物理器件构成的传统的设计方法存在许多弊端,如:体积较大、重量较沉、移动不方便、信号失真较大、波形形状调节过于死板,无法满足用户对精度、便携性、稳定性等要求,研究设计出一种具有频率稳定、准确、波形质量好、输出频率范围宽、便携性好等特点的波形发生器具有较好的市场前景。
以满足工业领域对信号源的要求。
本次试验实现利用单片机AT89S52 和8 位D/A 转换芯片DAC0832 共同实现方波、锯齿波、三角波、正弦波这四种常用波形的发生。
根据设计的要求,对各种波形的频率和幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。
在程序运行中,当接收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出。
并且可以通过数码管和键盘显示模块,键盘可以实现对几种波形的切换。
第二章信号发生器方案设计与选择信号发生器是指产生所需参数的电测试信号的仪器。
按信号波形可分为正弦信号、波形信号、脉冲信号和随机信号发生器等四大类。
本文利用单片机构造低频信号发生器,可产生正弦波,方波,三角波,三种波形,再通过D/A 转换器DAC0832 把数字信号转变为模拟信号,经OP07 放大输出到示波器,与此同时外接LCD显示输出信号的类型和频率。
2.1 方案的设计与选择方案一:采用单片函数发生器可产生正弦波、方波等,操作简单易行,用D/A 转换器的输出来改变调节电压,可以实现数控调整频率,但产生信号的频率稳定度不高。
方案二:利用芯片组成的电路输出波形,MAX038 是MAXIM 公司生产的一个只需要很少外部元件的精密高频波形产生器,他能产生准确的高频正弦波、三角波、方波。
输出频率和占空比可以通过调整电流、电压或电阻来分别地控制。
所需的输出波形可由在A0和A1 输入端设置适当的代码来选择,且具有输出频率范围宽、波形稳定、失真小、使用方便等特点。
方案三:采用Atmel 公司的AT89C51 单片机编程方法实现,该方法的可以通过编程的方法控制信号波形的频率和幅度,而在硬件电路不便的情况下,通过程序实现频率的变化和输出波形的选择,并同时在显示器显示相应的结果。
方案一输出信号频率不够稳定;方案二成本高,程序复杂度高;方案三,软硬件结合,硬件成本低,软件起点低,优化型相对比较好,容易实现,且满足设计要求。
综合考虑,我采用了方案三,用AT89C52 单片机设计低频信号发生器,能够满足信号的频率稳定性和精度的准确行。
2.2 设计原理简介该设计设计一个低频信号发生器,我们采用的是AT89C52 单片机用软件实现信号的输出。
该单片机是一个微型计算机,包括中央处理器CPU,RAM,ROM、I/O 接口电路、定时计数器、串行通讯等,是波形设计的核心。
该信号发生器原理框图如图2.1,总体原理为:利用AT89C52 单片机构造低频信号发生器,可产生正弦波,方波,三角波,三种波形,通过C 语言对单片机的编程即可产生相应的波形信号,并可以通过键盘进行各种功能的转换和信号频率的控制,当输出的数字信号通过数模转换成模拟信号也就得到所需要的信号波形,通过运算放大器的放大输出波形,同时让显示器显示输出的波形信息。
图2.1 信号发生器原理框图图2.1本方案其主要模块包括复位电路、时钟信号、键盘控制、D/A 转化及LCD 显示。
其各个模块的工作原理如下:(1)复位电路是为单片机复位使用,使单片机接口初始化;89C52 等CMOS51 系列单片机的复位引脚RET 是施密特触发输入脚,内部有一个上拉低电阻,当振荡器起振以后,在RST 引脚上输出2 个机械周期以上的高电平,器件变进入复位状态开始,此时ALE、PSEN、P0、P1、P2、P3输出高电平,RST 上输入返回低电平以后,变退出复位状态开始工作。
该方案采用的是自动上电复位,在系统运行时,(2)时钟信号是产生单片机工作的时钟信号,控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU 的速度。
89C52 内部有一个可控的反相放大器,引脚XTAL1、XTAL2 为反相放大器输入端和输出端,在XTAL1、XTAL2 上外接12MHZ 晶振和30pF 电容便组成振荡器。
时钟信号常用于CPU 定时和计数。
(3)键盘模块是是用于控制信号输入的类型,当按键按下时,可以通过单片机编程读取闭合的键号,实现相应的信号输出。
其步骤主要是a、判断是否有键按下;b、去抖动,延时20ms 左右;c、识别被按下的键号;d、处理,实现功能。
(4)D/A 转换也称为数模转换,是把数字量变换成模拟量的线性电路。
单片机产生的数字信号通过DAC0832 转化成模拟信号,输出相应的电流值,通过OP07 集成运算放大器可以取出模拟量得电压值,最后利用示波器获得输出的模拟信号的波形;衡量数模转换的性能指标有分辨率、转换时间、精度、线性度等。
LCD可以直接把电转化为光用于是显示相关输出波形的信息,包括信号的类型和频率。
2.3 设计功能(1)本方案利用利用P2.0控制开关信号输入类型,当按一下输出正弦波;再按一下输出三角波;再按一下输出方波;再按一下没有波形输出。
(2)本方案输出利用LCD显示器,用于显示输出信号的类型和频率。
(3)利用DAC0832 数模转换芯片实现信号的转换,并通过集成运算放大器将信号放大,输出信号能够在Proteus 软件中的示波器中显示。
(4)信号频率范围要求:1—1KHz。
(5)输出信号幅度:0~5V。
3.1 AT89C52 单片机简介3.1.1 单片机简介AT89C52 是一种带4K 字节FLASH 存储器的低电压、高性能CMOS 8 位微处理器,俗称单片机。
该芯片具有优异的性价比,集成度高,体积小,可靠性强,控制功能强等优点。
其外形及引脚排列如图3.1 所示。
图3.13.1.2 主要特性兼容性能强4K 字节可编程FLASH 存储器全静态工作:0Hz-24MHz128×8 位内部RAM32 可编程I/O 线两个16 位定时器/计数器5 个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路3.1.3 管脚功能说明VCC:供电电压4~6V 典型值5V);GND:接地;RST:复位引脚输入高电平使89C51 复位,返回低电平退出复位;EA/Vpp:运行方式时,EA 为程序存储器选择信号,EA 接地时CPU 总是从外部存储器中取指令,EA 接高电平时CPU 可以从内部或外部取指令;FLASH 编程方式时,该引脚为编程电源输入端Vpp(=5V 或12V);PSEN :外部程序存储器读选通信号,CPU 从外部储存器取指令时,从PSEN 引脚输出读选通信号(负脉冲);ALE /PROG :运行方式时,ALE 为外部储存器低8 位地址锁存信号,FLASH 编程方式时,该引脚为负脉冲输入端;XTAL1,XTAL2 为内部振荡器电路(反相放大器)的输入端和输出端,外接晶振电路;P0 口:P0 口为一个8 位漏级开路双向I/O 口,每脚可吸收8TTL 门电流。
当P0 口的管脚第一次写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 的一些特殊功能如表3.2。
P3口引脚第二功能表3.23.2.1 工作原理定义:DAC0832 是8 分辨率的D/A 转换集成芯片,由8 位输入锁存器、8 位DAC 寄存器、8 位D/A 转换器及转换控制电路四部分构成。
8 位输入锁存器用于存放主机送来的数字量,使输入数字得到缓冲和锁存,并加以控制;8 位DAC 寄存器用于存放存放待转换的数字量,并加以控制;8 位D/A 转换器输出与数字量成正比的模拟电流,由与门、与非门组成的输入控制的输入电路来控制2 个寄存器的选通或锁存状态,其原理框图如3.3。