毕业设计——基于C8051F340的低频函数信号发生器设计.doc

上传人:文库蛋蛋多 文档编号:3975631 上传时间:2023-03-30 格式:DOC 页数:57 大小:10.38MB
返回 下载 相关 举报
毕业设计——基于C8051F340的低频函数信号发生器设计.doc_第1页
第1页 / 共57页
毕业设计——基于C8051F340的低频函数信号发生器设计.doc_第2页
第2页 / 共57页
毕业设计——基于C8051F340的低频函数信号发生器设计.doc_第3页
第3页 / 共57页
毕业设计——基于C8051F340的低频函数信号发生器设计.doc_第4页
第4页 / 共57页
毕业设计——基于C8051F340的低频函数信号发生器设计.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《毕业设计——基于C8051F340的低频函数信号发生器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计——基于C8051F340的低频函数信号发生器设计.doc(57页珍藏版)》请在三一办公上搜索。

1、毕 业 设 计 低频信号发生器指导教师 方华学院名称工程学院 专业名称电子信息工程论文提交日期年月 论文答辩日期年月答辩委员会主席 _评 阅 人 _摘 要函数信号发生器是一种能够产生多种波形,如三角波、矩形波(含方波)、正弦波的电路。现今社会上出现的函数信号发生器多种多样,频率的范围也在变得越来越来宽,产生的波形也有多种的波形可供选择。在电子行业的基础设施和制造等领域,函数发生器都是有效的通用仪器。它可以生成不同频率和幅度的大量信号,用来评估新电路的运行情况,代替时钟信号,对新产品进行制造测试,及用于许多其它用途。函数信号发生器长期以来都是模拟电路构成的。本设计主要介绍了基于单片机的多路信号发

2、生器构造及其原理。本次设计的主要任务是产生低频的信号源,其产生的波形包括正弦波、三角波和方波,频率从1HZ到1MHZ可调变化,幅度从0V到3V可调变化。在本次设计中,主要利用单片机采用程序设计方法产生相应的波形,通过键盘来控制三种波形的类型选择、频率变化,并通过不同颜色的LED来区分不同的波形和通过LED数码管显示相应的频率数值,再通过D/A转换器将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来。系统大致包括信号发生部分、数/模转换部分以及LED显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。设计正文分为前言、系统总体设计、系统硬件设计、系统软件设计和硬件电路

3、制作及调试五大部分。其中第三、四、五章是本文的中心,它介绍了设计者的思路和系统原理和制作过程。本次设计所得出的正弦波、三角波和方波失真度较小,波形平滑好看,在显示部分,频率的数值是由4位数码管来显示,波形类型的显示是由3个不同颜色的LED灯来显示,十分的直观且价格实在。关键词:函数信号发生器 单片机 数码管 按键 D/A转换目 录1 前言11.1 选题背景11.2 国内外研究现状12 系统总体设计32.1 设计任务32.2 系统总体方案的确定32.2.1 方案对比32.2.2 系统功能分工52.2.3 操作设计53 系统硬件电路设计63.1 系统硬件电路的总体框图及原理63.2 主电路设计及原

4、理63.2.1 单片机电路模块63.2.2 D/A转换电路模块93.2.3 键盘电路模块133.2.4 显示电路模块134 系统软件设计164.1 人机互换模块164.1.1 显示子模块164.1.2 键盘处理子模块184.2 波形产生模块185 硬件电路制作及调试195.1 硬件单元电路制作195.1.1 电路原理图及PCB板制作195.1.2 硬件电路调试205.2各模块软件调试215.2.1 Keil uvision3环境介绍215.2.2 软件调试225.3 软硬件联调235.4调试及测试仪器256 总结26致谢27参考文献28英文摘要29附录1:各波形在各频率下的波形图附录2:系统完

5、整程序1绪论1.1 选题背景及意义 信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如方波、锯齿波、三角波、正弦波的电路被称为函数信号发生器。在通信、广播、电视系统,在工业、农业、生物医学领域内,函数信号发生器在实验室和设备检测中具有十分广泛的用途。信号源是根据用户对其波形的命令来产生信号的电子仪器。信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其他仪表测量感兴趣的参数。可见信号源在电子试验和测试处理中,并不测量任何参数,而是根据使用者的要求,仿真各种测试信号,提供给被测电路,以达到测试的需要。1.2

6、单片机概述单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机具有集成度高、系统结构简单、使用方便、实现模块化、可靠性高、处理功能强、速度快等特点,因为被广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。1.3信号发生器分类信号发生器是指产生所需参数的电测试信号的仪器。因其应用广泛,种类繁多,特性各异,分类也不尽

7、一致。按信号波形可分为正弦信号、函数信号、脉冲信号和随机信号发生器等四大类;按频率覆盖范围分为低频信号发生器、高频信号发生器和微波信号发生器;按输出电平可调节范围和稳定度分为简易信号发生器、标准信号发生器和功率信号发生器;按频率改变的方式分为调谐式信号发生器、扫频式信号发生器、程控式信号发生器和频率合成式信号发生器等。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。 第二章 信号发生器方案设计与选择2.1 设计任务设计要求的技术指标:1、波形:正弦波、方波、三角波2、频率:1HZ1MHZ3、幅值电压:0V3V信号发生器是指产生所需参数的电测试信号的仪器。按信号波形可分为正弦

8、信号、波形信号、脉冲信号和随机信号发生器等四大类。本文利用单片机构造低频信号发生器,可产生正弦波,方波,三角波,锯齿波四种波形,再通过D/A转换器DAC0832把数字信号转变为模拟信号,经OP07放大输出到示波器,与此同时外接8位LED显示输出信号的类型和频率。2.2方案的设计与选择方案一:采用单片函数发生器可产生正弦波、方波等,操作简单易行,用D/A转换器的输出来改变调节电压,可以实现数控调整频率,但产生信号的频率稳定度不高。方案二:利用芯片组成的电路输出波形,MAX038是MAXIM公司生产的一个只需要很少外部元件的精密高频波形产生器,他能产生准确的高频正弦波、三角波、方波。输出频率和占空

9、比可以通过调整电流、电压或电阻来分别地控制。所需的输出波形可由在A0和A1输入端设置适当的代码来选择,且具有输出频率范围宽、波形稳定、失真小、使用方便等特点。方案三:采用Atmel公司的AT89C51单片机编程方法实现,该方法的可以通过编程的方法控制信号波形的频率和幅度,而在硬件电路不便的情况下,通过程序实现频率的变化和输出波形的选择,并同时在显示器显示相应的结果。方案一输出信号频率不够稳定;方案二成本高,程序复杂度高;方案三,软硬件结合,硬件成本低,软件起点低,优化型相对比较好,容易实现,且满足设计要求。综合考虑,我们采用了方案三,用AT89C51单片机设计低频信号发生器,能够满足信号的频率

10、稳定性和精度的准确行。 2.3设计原理简介该设计设计一个低频信号发生器,我们采用的是AT89C51单片机用软件实现信号的输出。该单片机是一个微型计算机,包括中央处理器CPU,RAM,ROM、I/O接口电路、定时计数器、串行通讯等,是波形设计的核心。该信号发生器原理框图如图2.1,总体原理为:利用AT89C51单片机构造低频信号发生器,可产生正弦波,方波,三角波,锯齿波四种波形,通过C语言对单片机的编程即可产生相应的波形信号,并可以通过键盘进行各种功能的转换和信号频率的控制,当输出的数字信号通过数模转换成模拟信号也就得到所需要的信号波形,通过运算放大器的放大输出波形,同时让显示器显示输出的波形信

11、息。UA741运算放大数/模转换器 接口电路AT89C51单片机键盘输入输出 图2.1信号发生器原理框图本方案其主要模块包括复位电路、时钟信号、键盘控制、D/A转化及LED显示。其各个模块的工作原理如下:(1)复位电路是为单片机复位使用,使单片机接口初始化;89C51等CMOS51系列单片机的复位引脚RET是施密特触发输入脚,内部有一个上拉低电阻,当振荡器起振以后,在RST引脚上输出2个机械周期以上的高电平,器件变进入复位状态开始,此时ALE、PSEN、P0、P1、P2、P4输出高电平,RST上输入返回低电平以后,变退出复位状态开始工作。该方案采用的是人工开关复位,在系统运行时,按一下开关,就

12、在RST断出现一段高电平,使器件复位。(2)时钟信号是产生单片机工作的时钟信号,控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度。89C51内部有一个可控的反相放大器,引脚XTAL1、XTAL2为反相放大器输入端和输出端,在XTAL1、XTAL2上外接12MHZ晶振和30pF电容便组成振荡器。时钟信号常用于CPU定时和计数。(3)键盘模块是是用于控制信号输入的类型,当按键按下时,可以通过单片机编程读取闭合的键号,实现相应的信号输出。其步骤主要是a、判断是否有键按下;b、去抖动,延时20ms左右;c、识别被按下的键号;d、处理,实现功能。(4)D/A转换也称为数模转换,是把数字量变

13、换成模拟量的线性电路。单片机产生的数字信号通过DAC0832转化成模拟信号,输出相应的电流值,通过OP07集成运算放大器可以取出模拟量得电压值,最后利用示波器获得输出的模拟信号的波形;衡量数模转换的性能指标有分辨率、转换时间、精度、线性度等。LED显示器用由若干个发光二极管按一定的规律排列而成,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光用于是显示相关输出波形的信息,包括信号的类型和频率。2.4设计功能(1)本方案利用利用2位(P1.0和P1.1)控制开关信号输入类型,其中当P1.0=0,P1.1=0输出正弦波;当P1.0=0,P1.1=1输出三角波;当P1.0=1,

14、P1.1=0输出锯齿波;当P1.0=1,P1.1=1输出方波。(2)本方案输出利用8位LED显示器,该显示器为共阴极,输入段选码低电平有效,用于显示输出信号的类型和频率,如1KHz正弦波,显示为1.1000。根据设计要求,我们在系统启动时,还要在LED中显示“COE学号加上后4位”5秒钟,即显示“CEO3632”。(3)利用DAC0832数模转换芯片实现信号的转换,并通过集成运算放大器将信号放大,输出信号能够在Proteus软件中的示波器中显示。(4)信号频率范围要求:1MKHz。(5)输出信号幅度:03V第三章主要电路元器件介绍3.1AT89C51单片机简介3.1.1单片机简介AT89C51

15、是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器,俗称单片机。该芯片具有优异的性价比,集成度高,体积小,可靠性强,控制功能强等优点。其外形及引脚排列如图3.1所示。图3.1AT89C51引脚图3.1.2主要特性.兼容性能强.4K字节可编程FLASH存储器.全静态工作:0Hz-24MHz.1288位内部RAM.32可编程I/O线.两个16位定时器/计数器.5个中断源.可编程串行通道.低功耗的闲置和掉电模式.片内振荡器和时钟电路3.1.3管脚功能说明VCC:供电电压46V典型值5V);GND:接地;VppEA:运行方式时,EA为程序存储器选择信号,EA接地时CPU总是从外部存储

16、器中取指令,EA接高电平时CPU可以从内部或外部取指令;FLASH编程方式时,该引脚为编程电源输入端Vpp ;PSEN:外部程序存储器读选通信号,CPU从外部储存器取指令时,从PSEN引脚输出读选通信号(负脉冲);ALE/PROGALE:运行方式时,ALE为外部储存器低8位地址锁存信号,FLASH编程方式时,该引脚为负脉冲输入端;XTAL1,XTAL2为内部振荡器电路(反相放大器)的输入端和输出端,外接晶振电路;P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

17、在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口

18、当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号;P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口如表2.1。表2.1P3口第二功能口引脚第二功能口引脚第二功能P3.0RXD(串行输

19、入口)P3.4T0(记时器0外部输入)P3.1TXD(串行输出口)P3.5T1(记时器1外部输入)P3.2/INT0(外部中断0)P3.6/WR(外部数据存储器写选通)P3.3/INT1(外部中断1)P3.7/RD(外部数据存储器读选通)3.2DAC08093.2.1工作原理DAC0832是8分辨率的D/A转换集成芯片,由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。8位输入锁存器用于存放主机送来的数字量,使输入数字得到缓冲和锁存,并加以控制;8位DAC寄存器用于存放存放待转换的数字量,并加以控制;8位D/A转换器输出与数字量成正比的模拟电流,由与门、与非门组成的

20、输入控制的输入电路来控制2个寄存器的选通或锁存状态,其原理框图如3.3。当WR2和XFER同时有效时,8位DAC寄存器端为高电平“1”,此时DAC寄存器的输出端Q跟随输入端D也就是出入寄存器Q端得电平变化,反之,当端为低电平“0”时,第一级8位输入寄存器Q端得状态则锁存到第二级8位DAC寄存器中,以便第三极8位DAC转换器进行D/A转换。3.2.2DAC0832的主要特性参数分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(+5V+15V)低功耗,20mW。3.2.3DAC0832引脚功能简介D0D7:8位数据输入线,TTL电平,有效时

21、间应大于90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILECS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;IOUT2:电流输出端2,其值与IOUT1值之和为一

22、常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vcc的范围为+5V+15V;VREF:基准电压输入线,VREF的范围为-10V+10V;AGND:模拟信号地DGND:数字信号地3.3数码显示管3.3.1原理及分类一位LED显示器由8个发光二极管组成,其中7个发光二极管a-h控制7个笔画段的亮或暗,另一位控制一个小数点的亮和暗。LED显示器有共阴极和共阳极2种形式,其结构如图3.4所示。共阳极显示器是发光二极管的阳极连接在一起,当需要显示某字符时,只需要将共阳极端接高电平,a-h中某些位接低电平即可。共阴极显示器是发光二极管的阴极连接在一起,当需要

23、显示某字符时,只需要将共阴极端接低电平,a-h中某些位接高电平即可。3.3.2显示器的工作方式显示器的工作方式分为静态显示方式和动态显示方式两种。静态显示方式就是显示器在显示一个字符时,相应的发光二极管恒定的导通或截止,例如a、b、c、e、f导通,g截止时显示“0”,这种使显示器显示字符的字形数据常称为段数据。静态显示方式的每一个七段显示器,需要由一个8位并行口控制。优点是显示稳定,提高了工作效率,缺点是位数较多时显示口随之增加。动态显示方式是一位一位的轮流点亮各位显示器,对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间

24、参数可以实现亮度较高较稳定的显示,如显示器的位数不大于8位,则控制显示器公共极的电位只需要一个8位口(位数据口),控制字形也需要一个8位口(段数据据口)。第四章单元电路的硬件设计硬件原理硬件电路的设计决定一个系统的的功能,是设计的基础所在,而一般设计的目标:可靠,简洁,高效,优化,好的硬件电路可以给程序的编写带来极大的优势,同时使可以很好的提高该信号设计的精度和灵敏度,使整个系统工作协调有序。4.1硬件原理框图对于该低频信号发生器的设计,我们采用了以AT89C51单片机芯片作为核心处理器,编程实现各种不同类型信号的产生,最后通过DA转换输出到示波器。结构简单,思路仅仅有条,而根据设计的基本要求

25、,我们又把其细分为不同的功能模块,各个功能模块相互联系,相互协调,通过单片机程序构成一个统一的整体,其整体电路原理框图如图4.1所示:图4.1硬件原理框图4.2单片机AT89C51系统的设计89C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形,P2控制显示器段选码,P3口P3.4-P3.6通过74LS138译码

26、器控制位选码,输出显示信息。如果有键盘按下,则在控制器端产生一个读信号,使单片机读入信号,如果有信号输出,则在写控制端产生一个写信号,并通过示波器和显示器显示相应的信息。单片机引脚分配如下:XTAL1,XTAL2:外接晶振,产生时钟信号;RST:复位电路;P0口:键盘输出信号。具体为:P1.0、P1.1波形选择;P1.2、P1.3、P1.4频率个位,十位,百位调节;P1.5频率加减控制;P1.6跳出循环。P1口:8位数字信号输出输出,外接DAC0832;P2口:LED显示器段选码;P3口:P3.0锁存器74HC573片选信号;P3.2中断控制;P3.4-P3.6为74LS138输入信号,译码控

27、制LED显示器位选。P3.7为74LS138片选码。4.3时钟电路单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器,构成了内部振荡方式。由于单片机内部有一个高增益的反相放大器,当外接晶振后,就构成了自激振荡,并产生振动时钟脉冲。晶振通常选用6MHZ、12MHZ、24MHZ。本设计中时钟电路图如图4.2,我们选择了12MHZ和晶振分别接引脚XTAL1和XTAL2,电容C1,C2均选择为30pF,对振荡器的频率有稳定作用,当频率较大时,正弦波、方波、三角波及锯齿波中每一点的延时时间为几微妙,故延时时间还要加上指令时间才能获得较大的频率波形。

28、图4.2时钟电路图4.4复位电路复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。本设计选择了按键复位如图4.3,在系统运行时,按一下开关,就在RST断出现一段高电平,使器件复位。此时ALE、PSEN、P0、P1、P2、P4输出高电平,RST上输入返回低电平以后,变退出复位状态开始工作。图4.3按键复位4.5键盘接口电路常用的键盘电路一般为矩阵式,但是对于此设计,为了方便程序的简单化,我们采用了一般的键盘接口,键盘输

29、出信号。具体为:P1.0、P1.1波形选择,其中当P1.0=0,P1.1=0输出正弦波,当P1.0=0,P1.1=1输出三角波,当P1.0=1,P1.1=0输出锯齿波;当P1.0=1,P1.1=1输出方波。;P1.2、P1.3、P1.4频率个位,十位,百位调节;P1.5频率加减控制;P1.6跳出循环。4.6LED显示电路本设计选择了8位共阴极数码管如图4.5,它的8个发光二极管的阴极(二极管正端)连接在一起,通常公共阴极接低电平电平,其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸

30、收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。显示电路用于显示信号的波形种类和信号的频率,并且使系统能根据按键实时显示先关信息。该系统中添加74LHC573锁存器,用于驱动数码显示管,使其更易于控制,增加显示的准确性。使用74LS138译码器,利用P3.4-P3.6控制数码管的位选。4.7数、模转换及放大电路由于单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器OP07使之装换为电压输

31、出。最后通过示波器显示输出的波形。4.7数、模转换及放大电路由于单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器OP07使之装换为电压输出。最后通过示波器显示输出的波形。4.7数、模转换及放大电路由于单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出

32、,因为外加运算放大器OP07使之装换为电压输出。最后通过示波器显示输出的波形。第五章 系统软件设计5.1主函数5.1.1程序流程图开始显示COE-36385秒系统初始化按键是否按下计算相关参数送显示端口定时中断查询选择波形LED显示波形输出5.1.2整体简介首先对程序初始化,先静态显示学号约5秒。再判断若有按键按下,则计算相关参数,一方便利用中断定时和查询查表输出波形,另一方便送段选口和位选口数据使LED显示相关波形类型和频率,最后反馈回去构成循环,判断按键相关信息。5.2信号频率数据采集程序本设计将各种波形的数据通过P1.0口和P1.1口选择,送往在单片机的程序储存器里,通过改变信号的频率的

33、个位,十位,百位来改变这个频率,然后计算其技术初值,开启中断,通过改变D/A转换器输出波形。电路较为简单,成本较低。5.2.1正弦波产生(1) 输出波形(2)程序如下:if(P1_0=0&P1_1=0)/正弦 s1+; ss1=tosins1; P0=ss1; tp=0;第六章设计总结制作函数信号发生器随设计思想不同,具有多种方法,本文只是一种可能实现的方法。此法的频率控制和幅度控制分辨率高,且硬件集成度高,整机自动化程度高,性能优良,具有很高的实用价值。该信号发生器在调试时,总是出现许多的错误,软件上除了许多的问题,之后纠正和向老师、同学请教慢慢的改了过来。可是在仿真时依然存在很多的问题,开

34、始的时候是仿真出不了波形,之后改了改电路的一根线,出现了。在频率的调节问题更多,而使频率无法调节,同时信号的频率无法在LED显示,鉴于此,我认为应该是输出中断除了问题,造成所定义的频率的个位,十位,百位都没有跟随键盘的输入而赋值,使其值时钟为初始设定值。同时该信号源设计尚存在的不足之处,主要有两个方面,第一为缺乏频率准确显示的手段,可以配备相应的数字频率计模块,但如何将显示的精度与信号源的频段配合有待讨论研究;第二为D/A转换时可以加一个锁存器,并且放大电路有待进一步改进使其具有更强的输出能力 图1 系统总体框图本次设计的核心芯片采用的是单片机C8051F340, 编程语言是用C语言来进行实现

35、。设计的大体思路是:通过单片机C8051F340形成扫描码,键值识别、键处理;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路。其中,在D/A转换部分用到了1片DAC0832和1块LM358运放, DAC0832输出电压输给LM358,由LM358来把幅值电压放大,再由可调电阻去控制最终输出的幅值电压,频率的变化可按“频率加”和“频率减”来实现。也就是说本函数信号发生器的幅值电压是可调的。3.2 主电路设计及原理3.2.1 单片机电路模块1、C8051F340介绍C8051F340/1/2/3/4/5/6/7 器件是完全集成的混合信号片上系统型 MCU,下面列出了一些主要

36、特性: 高速、流水线结构的8051兼容的微控制器内核(可达48MIPS) 全速、非侵入式的在系统调试接口(片内) 通用串行总线(USB)功能控制器,有8个灵活的端点管道,集成收发器和 1K FIFO RAM 电源稳压器 真正10位200ksps的单端/差分ADC,带模拟多路器 片内电压基准和和温度传感器片内电压比较器(两个) 精确校准的12MHz内部振荡器和 4 倍时钟乘法器 多达64KB的片内FLASH存储器 多达4352字节片内RAM(256+4KB) 硬件实现的SMBus/ IC、增强型UART(最多两个)和增强型SPI串行接口4个通用16位定时器 具有5个捕捉/比较模块和看门狗定时器功

37、能的可编程计数器/定时器阵列(PCA) 片内上电复位、VDD监视器和时钟丢失检测器 多达40个端口I/O(容许5V输入) 具有片内上电复位、VDD 监视器、电压调整器、看门狗定时器和时钟振荡器的C8051F340/1/2/3/4/5/6/7 器件是真正能独立工作的片上系统。 FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新 8051 固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。 片内 Silicon Labs二线(C2)开发接口允许使用安装在最终应用系统上的产品 MCU进行非侵入式(不占用片内资源)、全速、在系统调试。调试逻辑

38、支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用 C2进行调试时,所有的模拟和数字外设都可全功能运行。两个 C2 接口引脚可以与用户功能共享,使在系统调试功能不占用封装引脚。每种器件都可在工业温度范围(-45到+85)内用 2.7V-5.25V 的电压工作。电源电压大于 3.6V时,必须使用内部稳压器。对于 USB 通信,电源电压最小值为 3.0V。端口 I/O和/RST引脚都容许 5V的输入信号电压。 C8051F340/1 /2/3/4/5/6/7 采用 48 脚 TQFP 封装或 32 脚 LQFP封装。 图2 C8051F340结构框图 图3 C8051F340系统

39、框图2、C8051F340的最小系统图 图4 C8051F340最小系统图C8051F340内部含有数字和模拟资源可以通过 40 个 I/O 引脚使用,每个端口引脚都可以被定义为通用I/O(GPIO)或模拟输入。P0.0P3.7可以被分配给内部数字资源。设计者完全控制数字功能的引脚分配,只受 I/O引脚数的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。不论交叉开关的设置如何,端口I/O引脚的状态总是可以被读到相应的端口锁存器。本设计采用的是单片机C8051F340,该芯片内部有12M的内部高频振荡器,在出厂时已经校准,所以不需外接晶振,本系统只有单片机的P4口有外接上拉电阻,

40、其他的都不外接上拉电阻,P0.0P3.7可以通过跳过交叉端口来实现上拉。3.2.2 D/A转换电路模块1、DAC0832的原理及结构D/A转换器的作用是把数字量信号转换成于此数字量成正比的模拟信号,为单片机在模拟环境中的应用提供了一种数据转换接口。目前单片机使用的D/A转换电路多是以集成D/A芯片的形式出现的,其转换时间一般在几十纳秒到极为秒之间,转换精度按芯片位数分为8位,10位,12位,16位等。DAC0832是目前应用较为广泛的8位D/A转换芯片之一,单电源供电,从+5V+15V均可正常工作,电流建立时间为1us,CMOS工艺,低功耗20mW,可双缓冲、单缓冲或直接数字输入。具有与微机接

41、口简便,转换控制容易,使用灵活等优点。DAC0832的内部结构如图。由图2可见,DAC0832主要由一个8位输入锁存器、一个8位DAC寄存器与一个8位D/A转换器三个门电路组成。这种结构使输入的数据能够有两次缓冲,因而在操作上十分方便与灵活。图5 DAC0832内部结构图DAC0832为20脚双列直插塑封(见图6),各引脚信号及说明如下:DIO-DI7:8位数据输入线,TTL电平。ILE:数据锁存允许信号线,高电平有效。:片选信号输入线,低电平有效。:输入寄存器的写选通输入线,低电平有效。该信号与ILE信号共同控制输入寄存器是数据直通方式还是数据锁存方式;当ILE=1和=0时,为输入寄存器直通

42、方式;当ILE=1和=1时,为输入寄存器锁存方式。:数据传输控制信号,低电平有效。:DAC寄存器写选通输入线,低电平有效。该信号与信号合在一起控制DAC寄存器是数据直通方式还是数据锁存方式;当=0和=0时,为DAC寄存器直通方式;当=1和=0时,为DAC寄存器锁存方式。OUT1:电流输出线,当输入全为“1”时,输出电流最大。OUT2:电流输出线,其值和OUT1值之和为一常数。RFB:反馈电阻。VCC:电源电压线,范围为+5V-+15V。V:基准电压输入线,V范围为-10V-+10V。AGND:模拟地,为模拟信号和基准电源的参考地。DGND:数字地,为工作电源地和数字逻辑地。图6 DAC0832

43、管脚DAC0832利用ILE、控制信号可以构成三种不同的工作方式。(1)直通方式数据可以从输入端经两个寄存器直接进入D/A转换器后输出,无需控制使能端;(2)单缓冲方式两个寄存器之一始终处于直通,即=0或=0,另一个寄存器处于受控状态。(3)双缓冲方式两个寄存器均于受控状态。这种工作方式适合于多模拟信号同时输出的应用场合。本设计只用到1个DAC0832,也是只有一路的模拟信号输出,采用直通方式可直接方便的实现,故本设计采用的是直通方式。DAC0832与单片机的相接的电路原理图如图7所示。 图7 DAC0832直通方式2、LM358的原理及结构集成运放是一种高放大倍数、高输入电阻、低输出电阻的直

44、接耦合的放大电路。为抑制零点漂移,所以对温度影响最大的第一级毫无例外的采用了差动放大电路。为提高放大倍数,中间级一般采用有源负载的共射放大电路。输出级为功率放大电路,为提高此电路的带负载能力,多采用互补对称输出级电路。LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。LM358 的封装形式有塑封8引线双列直插式和贴片式。LM358的特性:内部频率补偿直流电压增益高(约100dB)单位增

45、益频带宽(约1MHz)电源电压范围宽:单电源(3V30V);双电源(1.5V 一15V)低功耗电流,适合于电池供电低输入偏流低输入失调电压和失调电流共模输入电压范围宽,包括接地差模输入电压范围宽,等于电源电压范围输出电压摆幅大(0 至Vcc-1.5V) 图8 LM358内部结构框图 本设计用到1片LM358,为了使输出电压达到10V,采用12V的电源给LM358供电。3.2.3 键盘电路模块1、键盘的组织键盘与单片机的接口包括硬件与软件两部分。硬件是指键盘的组织,即键盘结构及其与主机的连接方式。软件是指对按键操作的识别与分析,称为键盘管理程序。智能仪器普遍使用由多个按键组合在一起而构成的键盘,键盘中的每一个按键都表示一个特定的功能或数字。键盘按其工作原理可分为编码式键盘和非编码式键盘。编码式键盘是由按键键盘和专用键盘两部分组成。当按键中某一按键被按下时,键盘编码器会自动产生相应的按键代码,并输出一选通脉冲信号与CPU进行信息联络。非编码式键盘不含编码器,当某键被按下时,键盘只能送出一个简单的闭合信号,对应的按键代码的确定必须借助于软件来完成。显然非编码式键盘的软件是比较复杂的,而且要占用较多的C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号