毕业设计——基于c8051f340的低频函数信号发生器设计_第1页
毕业设计——基于c8051f340的低频函数信号发生器设计_第2页
毕业设计——基于c8051f340的低频函数信号发生器设计_第3页
毕业设计——基于c8051f340的低频函数信号发生器设计_第4页
毕业设计——基于c8051f340的低频函数信号发生器设计_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计低频信号发生器指导教师方华学院名称工程学院专业名称电子信息工程论文提交日期年月论文答辩日期年月答辩委员会主席_评阅人_摘要函数信号发生器是一种能够产生多种波形,如三角波、矩形波(含方波)、正弦波的电路。现今社会上出现的函数信号发生器多种多样,频率的范围也在变得越来越来宽,产生的波形也有多种的波形可供选择。在电子行业的基础设施和制造等领域,函数发生器都是有效的通用仪器。它可以生成不同频率和幅度的大量信号,用来评估新电路的运行情况,代替时钟信号,对新产品进行制造测试,及用于许多其它用途。函数信号发生器长期以来都是模拟电路构成的。本设计主要介绍了基于单片机的多路信号发生器构造及其原理。本次设计的主要任务是产生低频的信号源,其产生的波形包括正弦波、三角波和方波,频率从1HZ到1MHZ可调变化,幅度从0V到3V可调变化。在本次设计中,主要利用单片机采用程序设计方法产生相应的波形,通过键盘来控制三种波形的类型选择、频率变化,并通过不同颜色的LED来区分不同的波形和通过LED数码管显示相应的频率数值,再通过D/A转换器将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来。系统大致包括信号发生部分、数/模转换部分以及LED显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。设计正文分为前言、系统总体设计、系统硬件设计、系统软件设计和硬件电路制作及调试五大部分。其中第三、四、五章是本文的中心,它介绍了设计者的思路和系统原理和制作过程。本次设计所得出的正弦波、三角波和方波失真度较小,波形平滑好看,在显示部分,频率的数值是由4位数码管来显示,波形类型的显示是由3个不同颜色的LED灯来显示,十分的直观且价格实在。关键词函数信号发生器单片机数码管按键D/A转换目录1前言111选题背景112国内外研究现状12系统总体设计321设计任务322系统总体方案的确定3221方案对比3222系统功能分工5223操作设计53系统硬件电路设计631系统硬件电路的总体框图及原理632主电路设计及原理6321单片机电路模块6322D/A转换电路模块9323键盘电路模块13324显示电路模块134系统软件设计1641人机互换模块16411显示子模块16412键盘处理子模块1842波形产生模块185硬件电路制作及调试1951硬件单元电路制作19511电路原理图及PCB板制作19512硬件电路调试2052各模块软件调试21521KEILUVISION3环境介绍21522软件调试2253软硬件联调2354调试及测试仪器256总结26致谢27参考文献28英文摘要29附录1各波形在各频率下的波形图附录2系统完整程序1绪论11选题背景及意义信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如方波、锯齿波、三角波、正弦波的电路被称为函数信号发生器。在通信、广播、电视系统,在工业、农业、生物医学领域内,函数信号发生器在实验室和设备检测中具有十分广泛的用途。信号源是根据用户对其波形的命令来产生信号的电子仪器。信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其他仪表测量感兴趣的参数。可见信号源在电子试验和测试处理中,并不测量任何参数,而是根据使用者的要求,仿真各种测试信号,提供给被测电路,以达到测试的需要。12单片机概述单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机具有集成度高、系统结构简单、使用方便、实现模块化、可靠性高、处理功能强、速度快等特点,因为被广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。13信号发生器分类信号发生器是指产生所需参数的电测试信号的仪器。因其应用广泛,种类繁多,特性各异,分类也不尽一致。按信号波形可分为正弦信号、函数信号、脉冲信号和随机信号发生器等四大类;按频率覆盖范围分为低频信号发生器、高频信号发生器和微波信号发生器;按输出电平可调节范围和稳定度分为简易信号发生器、标准信号发生器和功率信号发生器;按频率改变的方式分为调谐式信号发生器、扫频式信号发生器、程控式信号发生器和频率合成式信号发生器等。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。第2章信号发生器方案设计与选择21设计任务设计要求的技术指标1、波形正弦波、方波、三角波2、频率1HZ1MHZ3、幅值电压0V3V信号发生器是指产生所需参数的电测试信号的仪器。按信号波形可分为正弦信号、波形信号、脉冲信号和随机信号发生器等四大类。本文利用单片机构造低频信号发生器,可产生正弦波,方波,三角波,锯齿波四种波形,再通过D/A转换器DAC0832把数字信号转变为模拟信号,经OP07放大输出到示波器,与此同时外接8位LED显示输出信号的类型和频率。22方案的设计与选择方案一采用单片函数发生器可产生正弦波、方波等,操作简单易行,用D/A转换器的输出来改变调节电压,可以实现数控调整频率,但产生信号的频率稳定度不高。方案二利用芯片组成的电路输出波形,MAX038是MAXIM公司生产的一个只需要很少外部元件的精密高频波形产生器,他能产生准确的高频正弦波、三角波、方波。输出频率和占空比可以通过调整电流、电压或电阻来分别地控制。所需的输出波形可由在A0和A1输入端设置适当的代码来选择,且具有输出频率范围宽、波形稳定、失真小、使用方便等特点。方案三采用ATMEL公司的AT89C51单片机编程方法实现,该方法的可以通过编程的方法控制信号波形的频率和幅度,而在硬件电路不便的情况下,通过程序实现频率的变化和输出波形的选择,并同时在显示器显示相应的结果。方案一输出信号频率不够稳定;方案二成本高,程序复杂度高;方案三,软硬件结合,硬件成本低,软件起点低,优化型相对比较好,容易实现,且满足设计要求。综合考虑,我们采用了方案三,用AT89C51单片机设计低频信号发生器,能够满足信号的频率稳定性和精度的准确行。23设计原理简介该设计设计一个低频信号发生器,我们采用的是AT89C51单片机用软件实现信号的输出。该单片机是一个微型计算机,包括中央处理器CPU,RAM,ROM、I/O接口电路、定时计数器、串行通讯等,是波形设计的核心。该信号发生器原理框图如图21,总体原理为利用AT89C51单片机构造低频信号发生器,可产生正弦波,方波,三角波,锯齿波四种波形,通过C语言对单片机的编程即可产生相应的波形信号,并可以通过键盘进行各种功能的转换和信号频率的控制,当输出的数字信号通过数模转换成模拟信号也就得到所需要的信号波形,通过运算放大器的放大输出波形,同时让显示器显示输出的波形信息。输出图21信号发生器原理框图本方案其主要模块包括复位电路、时钟信号、键盘控制、D/A转化及LED显示。其各个模块的工作原理如下(1)复位电路是为单片机复位使用,使单片机接口初始化;89C51等CMOS51系列单片机的复位引脚RET是施密特触发输入脚,内部有一个上拉低电阻,当振荡器起振以后,在RST引脚上输出2个机械周期以上的高电平,器件变进入复位状态开始,此时ALE、PSEN、P0、P1、P2、P4输出高电平,RST上输入返回低电平以后,变退出复位状态开始工作。该方案采用的是人工开关复位,在系统运行时,按一下开关,就在RST断出现一段高电平,使器件复位。(2)时钟信号是产生单片机工作的时钟信号,控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度。89C51内部有一个可控的反相放大器,引脚XTAL1、XTAL2为反相放大器输入端和输出端,在XTAL1、XTAL2上外接12MHZ晶振和30PF电容便组成振荡器。时钟信号常用于CPU定时和计数。键盘输入AT89C51单片机UA741运算放大数/模转换器接口电路(3)键盘模块是是用于控制信号输入的类型,当按键按下时,可以通过单片机编程读取闭合的键号,实现相应的信号输出。其步骤主要是A、判断是否有键按下;B、去抖动,延时20MS左右;C、识别被按下的键号;D、处理,实现功能。(4)D/A转换也称为数模转换,是把数字量变换成模拟量的线性电路。单片机产生的数字信号通过DAC0832转化成模拟信号,输出相应的电流值,通过OP07集成运算放大器可以取出模拟量得电压值,最后利用示波器获得输出的模拟信号的波形;衡量数模转换的性能指标有分辨率、转换时间、精度、线性度等。LED显示器用由若干个发光二极管按一定的规律排列而成,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光用于是显示相关输出波形的信息,包括信号的类型和频率。24设计功能(1)本方案利用利用2位(P10和P11)控制开关信号输入类型,其中当P100,P110输出正弦波;当P100,P111输出三角波;当P101,P110输出锯齿波;当P101,P111输出方波。(2)本方案输出利用8位LED显示器,该显示器为共阴极,输入段选码低电平有效,用于显示输出信号的类型和频率,如1KHZ正弦波,显示为11000。根据设计要求,我们在系统启动时,还要在LED中显示“COE学号加上后4位”5秒钟,即显示“CEO3632”。(3)利用DAC0832数模转换芯片实现信号的转换,并通过集成运算放大器将信号放大,输出信号能够在PROTEUS软件中的示波器中显示。(4)信号频率范围要求1MKHZ。(5)输出信号幅度03V第三章主要电路元器件介绍31AT89C51单片机简介311单片机简介AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8位微处理器,俗称单片机。该芯片具有优异的性价比,集成度高,体积小,可靠性强,控制功能强等优点。其外形及引脚排列如图31所示。图31AT89C51引脚图312主要特性兼容性能强4K字节可编程FLASH存储器全静态工作0HZ24MHZ1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路313管脚功能说明VCC供电电压46V典型值5V);GND接地;VPPEA运行方式时,EA为程序存储器选择信号,EA接地时CPU总是从外部存储器中取指令,EA接高电平时CPU可以从内部或外部取指令;FLASH编程方式时,该引脚为编程电源输入端VPP;PSEN外部程序存储器读选通信号,CPU从外部储存器取指令时,从PSEN引脚输出读选通信号(负脉冲);ALE/PROGALE运行方式时,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的一些特殊功能口如表21。表21P3口第二功能口引脚第二功能口引脚第二功能P30RXD(串行输入口)P34T0(记时器0外部输入)P31TXD(串行输出口)P35T1(记时器1外部输入)32DAC0809321工作原理DAC0832是8分辨率的D/A转换集成芯片,由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。8位输入锁存器用于存放主机送来的数字量,使输入数字得到缓冲和锁存,并加以控制;8位DAC寄存器用于存放存放待转换的数字量,并加以控制;8位D/A转换器输出与数字量成正比的模拟电流,由与门、与非门组成的输入控制的输入电路来控制2个寄存器的选通或锁存状态,其原理框图如33。当WR2和XFER同时有效时,8位DAC寄存器端为高电平“1”,此时DAC寄存器的输出端Q跟随输入端D也就是出入寄存器Q端得电平变化,反之,当端为低电平“0”时,第一级8位输入寄存器Q端得状态则锁存到第二级8位DAC寄存器中,以便第三极8位DAC转换器进行D/A转换。322DAC0832的主要特性参数分辨率为8位;电流稳定时间1US;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(5V15V)低功耗,20MW。323DAC0832引脚功能简介D0D78位数据输入线,TTL电平,有效时间应大于90NS否则锁存器的数据会出错;ILE数据锁存允许控制信号输入线,高电平有效;CS片选信号输入线(选通数据锁存器),低电平有效;WR1数据锁存器写选通输入线,负脉冲(脉宽应大于500NS)有效。由ILECS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;P32/INT0(外部中断0)P36/WR(外部数据存储器写选通)P33/INT1(外部中断1)P37/RD(外部数据存储器读选通)XFER数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500NS)有效;WR2DAC寄存器选通输入线,负脉冲(脉宽应大于500NS)有效。IOUT1电流输出端1,其值随DAC寄存器的内容线性变化;IOUT2电流输出端2,其值与IOUT1值之和为一常数;RFB反馈信号输入线,改变RFB端外接电阻值可调整转换满量程精度;VCC电源输入端,VCC的范围为5V15V;VREF基准电压输入线,VREF的范围为10V10V;AGND模拟信号地DGND数字信号地33数码显示管331原理及分类一位LED显示器由8个发光二极管组成,其中7个发光二极管AH控制7个笔画段的亮或暗,另一位控制一个小数点的亮和暗。LED显示器有共阴极和共阳极2种形式,其结构如图34所示。共阳极显示器是发光二极管的阳极连接在一起,当需要显示某字符时,只需要将共阳极端接高电平,AH中某些位接低电平即可。共阴极显示器是发光二极管的阴极连接在一起,当需要显示某字符时,只需要将共阴极端接低电平,AH中某些位接高电平即可。332显示器的工作方式显示器的工作方式分为静态显示方式和动态显示方式两种。静态显示方式就是显示器在显示一个字符时,相应的发光二极管恒定的导通或截止,例如A、B、C、E、F导通,G截止时显示“0”,这种使显示器显示字符的字形数据常称为段数据。静态显示方式的每一个七段显示器,需要由一个8位并行口控制。优点是显示稳定,提高了工作效率,缺点是位数较多时显示口随之增加。动态显示方式是一位一位的轮流点亮各位显示器,对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数可以实现亮度较高较稳定的显示,如显示器的位数不大于8位,则控制显示器公共极的电位只需要一个8位口(位数据口),控制字形也需要一个8位口(段数据据口)。第四章单元电路的硬件设计硬件原理硬件电路的设计决定一个系统的的功能,是设计的基础所在,而一般设计的目标可靠,简洁,高效,优化,好的硬件电路可以给程序的编写带来极大的优势,同时使可以很好的提高该信号设计的精度和灵敏度,使整个系统工作协调有序。41硬件原理框图对于该低频信号发生器的设计,我们采用了以AT89C51单片机芯片作为核心处理器,编程实现各种不同类型信号的产生,最后通过DA转换输出到示波器。结构简单,思路仅仅有条,而根据设计的基本要求,我们又把其细分为不同的功能模块,各个功能模块相互联系,相互协调,通过单片机程序构成一个统一的整体,其整体电路原理框图如图41所示图41硬件原理框图42单片机AT89C51系统的设计89C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形,P2控制显示器段选码,P3口P34P36通过74LS138译码器控制位选码,输出显示信息。如果有键盘按下,则在控制器端产生一个读信号,使单片机读入信号,如果有信号输出,则在写控制端产生一个写信号,并通过示波器和显示器显示相应的信息。单片机引脚分配如下XTAL1,XTAL2外接晶振,产生时钟信号;RST复位电路;P0口键盘输出信号。具体为P10、P11波形选择;P12、P13、P14频率个位,十位,百位调节;P15频率加减控制;P16跳出循环。P1口8位数字信号输出输出,外接DAC0832P2口LED显示器段选码;P3口P30锁存器74HC573片选信号;P32中断控制;P34P36为74LS138输入信号,译码控制LED显示器位选。P37为74LS138片选码。43时钟电路单片机的时钟信号通常用两种电路形式得到内部振荡和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器,构成了内部振荡方式。由于单片机内部有一个高增益的反相放大器,当外接晶振后,就构成了自激振荡,并产生振动时钟脉冲。晶振通常选用6MHZ、12MHZ、24MHZ。本设计中时钟电路图如图42,我们选择了12MHZ和晶振分别接引脚XTAL1和XTAL2,电容C1,C2均选择为30PF,对振荡器的频率有稳定作用,当频率较大时,正弦波、方波、三角波及锯齿波中每一点的延时时间为几微妙,故延时时间还要加上指令时间才能获得较大的频率波形。图42时钟电路图44复位电路复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式。本设计选择了按键复位如图43,在系统运行时,按一下开关,就在RST断出现一段高电平,使器件复位。此时ALE、PSEN、P0、P1、P2、P4输出高电平,RST上输入返回低电平以后,变退出复位状态开始工作。图43按键复位45键盘接口电路常用的键盘电路一般为矩阵式,但是对于此设计,为了方便程序的简单化,我们采用了一般的键盘接口,键盘输出信号。具体为P10、P11波形选择,其中当P100,P110输出正弦波,当P100,P111输出三角波,当P101,P110输出锯齿波;当P101,P111输出方波。;P12、P13、P14频率个位,十位,百位调节;P15频率加减控制;P16跳出循环。46LED显示电路本设计选择了8位共阴极数码管如图45,它的8个发光二极管的阴极(二极管正端)连接在一起,通常公共阴极接低电平电平,其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。显示电路用于显示信号的波形种类和信号的频率,并且使系统能根据按键实时显示先关信息。该系统中添加74LHC573锁存器,用于驱动数码显示管,使其更易于控制,增加显示的准确性。使用74LS138译码器,利用P34P36控制数码管的位选。47数、模转换及放大电路由于单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器OP07使之装换为电压输出。最后通过示波器显示输出的波形。47数、模转换及放大电路由于单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器OP07使之装换为电压输出。最后通过示波器显示输出的波形。47数、模转换及放大电路由于单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器OP07使之装换为电压输出。最后通过示波器显示输出的波形。第5章系统软件设计51主函数511程序流程图开始显示COE36385秒系统初始化按键是否按下计算相关参数定时中断查询选择波形LED显示送显示端口波形输出512整体简介首先对程序初始化,先静态显示学号约5秒。再判断若有按键按下,则计算相关参数,一方便利用中断定时和查询查表输出波形,另一方便送段选口和位选口数据使LED显示相关波形类型和频率,最后反馈回去构成循环,判断按键相关信息。52信号频率数据采集程序本设计将各种波形的数据通过P10口和P11口选择,送往在单片机的程序储存器里,通过改变信号的频率的个位,十位,百位来改变这个频率,然后计算其技术初值,开启中断,通过改变D/A转换器输出波形。电路较为简单,成本较低。521正弦波产生(1)输出波形(2)程序如下IFP1_00SS1TOSINS1P0SS1TP0第六章设计总结制作函数信号发生器随设计思想不同,具有多种方法,本文只是一种可能实现的方法。此法的频率控制和幅度控制分辨率高,且硬件集成度高,整机自动化程度高,性能优良,具有很高的实用价值。该信号发生器在调试时,总是出现许多的错误,软件上除了许多的问题,之后纠正和向老师、同学请教慢慢的改了过来。可是在仿真时依然存在很多的问题,开始的时候是仿真出不了波形,之后改了改电路的一根线,出现了。在频率的调节问题更多,而使频率无法调节,同时信号的频率无法在LED显示,鉴于此,我认为应该是输出中断除了问题,造成所定义的频率的个位,十位,百位都没有跟随键盘的输入而赋值,使其值时钟为初始设定值。同时该信号源设计尚存在的不足之处,主要有两个方面,第一为缺乏频率准确显示的手段,可以配备相应的数字频率计模块,但如何将显示的精度与信号源的频段配合有待讨论研究;第二为D/A转换时可以加一个锁存器,并且放大电路有待进一步改进使其具有更强的输出能力图1系统总体框图本次设计的核心芯片采用的是单片机C8051F340,编程语言是用C语言来进行实现。设计的大体思路是通过单片机C8051F340形成扫描码,键值识别、键处理;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路。其中,在D/A转换部分用到了1片DAC0832和1块LM358运放,DAC0832输出电压输给LM358,由LM358来把幅值电压放大,再由可调电阻去控制最终输出的幅值电压,频率的变化可按“频率加”和“频率减”来实现。也就是说本函数信号发生器的幅值电压是可调的。32主电路设计及原理321单片机电路模块1、C8051F340介绍C8051F340/1/2/3/4/5/6/7器件是完全集成的混合信号片上系统型MCU,下面列出了一些主要特性高速、流水线结构的8051兼容的微控制器内核(可达48MIPS)全速、非侵入式的在系统调试接口(片内)通用串行总线(USB)功能控制器,有8个灵活的端点管道,集成收发器和1KFIFORAM电源稳压器真正10位200KSPS的单端/差分ADC,带模拟多路器片内电压基准和和温度传感器片内电压比较器(两个)精确校准的12MHZ内部振荡器和4倍时钟乘法器多达64KB的片内FLASH存储器多达4352字节片内RAM(2564KB)硬件实现的SMBUS/IC、增强型UART(最多两个)和增强型SPI串行接口4个通用16位定时器具有5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列(PCA)片内上电复位、VDD监视器和时钟丢失检测器多达40个端口I/O(容许5V输入)具有片内上电复位、VDD监视器、电压调整器、看门狗定时器和时钟振荡器的C8051F340/1/2/3/4/5/6/7器件是真正能独立工作的片上系统。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。片内SILICONLABS二线(C2)开发接口允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。调试逻辑支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用C2进行调试时,所有的模拟和数字外设都可全功能运行。两个C2接口引脚可以与用户功能共享,使在系统调试功能不占用封装引脚。每种器件都可在工业温度范围(45到85)内用27V525V的电压工作。电源电压大于36V时,必须使用内部稳压器。对于USB通信,电源电压最小值为30V。端口I/O和/RST引脚都容许5V的输入信号电压。C8051F340/1/2/3/4/5/6/7采用48脚TQFP封装或32脚LQFP封装。图2C8051F340结构框图图3C8051F340系统框图2、C8051F340的最小系统图图4C8051F340最小系统图C8051F340内部含有数字和模拟资源可以通过40个I/O引脚使用,每个端口引脚都可以被定义为通用I/O(GPIO)或模拟输入。P00P37可以被分配给内部数字资源。设计者完全控制数字功能的引脚分配,只受I/O引脚数的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。不论交叉开关的设置如何,端口I/O引脚的状态总是可以被读到相应的端口锁存器。本设计采用的是单片机C8051F340,该芯片内部有12M的内部高频振荡器,在出厂时已经校准,所以不需外接晶振,本系统只有单片机的P4口有外接上拉电阻,其他的都不外接上拉电阻,P00P37可以通过跳过交叉端口来实现上拉。322D/A转换电路模块1、DAC0832的原理及结构D/A转换器的作用是把数字量信号转换成于此数字量成正比的模拟信号,为单片机在模拟环境中的应用提供了一种数据转换接口。目前单片机使用的D/A转换电路多是以集成D/A芯片的形式出现的,其转换时间一般在几十纳秒到极为秒之间,转换精度按芯片位数分为8位,10位,12位,16位等。DAC0832是目前应用较为广泛的8位D/A转换芯片之一,单电源供电,从5V15V均可正常工作,电流建立时间为1US,CMOS工艺,低功耗20MW,可双缓冲、单缓冲或直接数字输入。具有与微机接口简便,转换控制容易,使用灵活等优点。DAC0832的内部结构如图。由图2可见,DAC0832主要由一个8位输入锁存器、一个8位DAC寄存器与一个8位D/A转换器三个门电路组成。这种结构使输入的数据能够有两次缓冲,因而在操作上十分方便与灵活。图5DAC0832内部结构图DAC0832为20脚双列直插塑封(见图6),各引脚信号及说明如下DIODI78位数据输入线,TTL电平。ILE数据锁存允许信号线,高电平有效。片选信号输入线,低电平有效。CS输入寄存器的写选通输入线,低电平有效。该信号与ILE信号共同控制输入1WR寄存器是数据直通方式还是数据锁存方式;当ILE1和0时,为输入寄存器直通方1WR式;当ILE1和1时,为输入寄存器锁存方式。数据传输控制信号,低电平有效。XFERDAC寄存器写选通输入线,低电平有效。该信号与信号合在一起控制2WXFERDAC寄存器是数据直通方式还是数据锁存方式;当0和0时,为DAC寄存器2WRXFE直通方式;当1和0时,为DAC寄存器锁存方式。2WRXFEOUT1电流输出线,当输入全为“1”时,输出电流最大。OUT2电流输出线,其值和OUT1值之和为一常数。RFB反馈电阻。VCC电源电压线,范围为5V15V。V基准电压输入线,V范围为10V10V。REFREFAGND模拟地,为模拟信号和基准电源的参考地。DGND数字地,为工作电源地和数字逻辑地。CSVCCWR1ILEAGNDWR2DI3XFERDI2DI4DI1DI5DI0DI6VREFDI7RFBIOUT2DGNDIOUT1DAC0832图6DAC0832管脚DAC0832利用ILE、控制信号可以构成三种不同的工作方式。(1)直通方式数据可以从输入端经两个寄存器直接进入D/A转换器后输出,无需控制使能端;(2)单缓冲方式两个寄存器之一始终处于直通,即0或0,另一个寄存器处于受控状态。(3)双缓冲方式两个寄存器均于受控状态。这种工作方式适合于多模拟信号同时输出的应用场合。本设计只用到1个DAC0832,也是只有一路的模拟信号输出,采用直通方式可直接方便的实现,故本设计采用的是直通方式。DAC0832与单片机的相接的电路原理图如图7所示。图7DAC0832直通方式2、LM358的原理及结构集成运放是一种高放大倍数、高输入电阻、低输出电阻的直接耦合的放大电路。为抑制零点漂移,所以对温度影响最大的第一级毫无例外的采用了差动放大电路。为提高放大倍数,中间级一般采用有源负载的共射放大电路。输出级为功率放大电路,为提高此电路的带负载能力,多采用互补对称输出级电路。LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。LM358的封装形式有塑封8引线双列直插式和贴片式。LM358的特性内部频率补偿直流电压增益高约100DB单位增益频带宽约1MHZ电源电压范围宽单电源3V30V;双电源15V一15V低功耗电流,适合于电池供电低输入偏流低输入失调电压和失调电流共模输入电压范围宽,包括接地差模输入电压范围宽,等于电源电压范围输出电压摆幅大0至VCC15V图8LM358内部结构框图本设计用到1片LM358,为了使输出电压达到10V,采用12V的电源给LM358供电。323键盘电路模块1、键盘的组织键盘与单片机的接口包括硬件与软件两部分。硬件是指键盘的组织,即键盘结构及其与主机的连接方式。软件是指对按键操作的识别与分析,称为键盘管理程序。智能仪器普遍使用由多个按键组合在一起而构成的键盘,键盘中的每一个按键都表示一个特定的功能或数字。键盘按其工作原理可分为编码式键盘和非编码式键盘。编码式键盘是由按键键盘和专用键盘两部分组成。当按键中某一按键被按下时,键盘编码器会自动产生相应的按键代码,并输出一选通脉冲信号与CPU进行信息联络。非编码式键盘不含编码器,当某键被按下时,键盘只能送出一个简单的闭合信号,对应的按键代码的确定必须借助于软件来完成。显然非编码式键盘的软件是比较复杂的,而且要占用较多的CPU时间,这是它的不足之处。但非编码式键盘可以任意组合、成本低、使用灵活,因而本设计采用非编码式键盘。2、键盘接口方法及原理本系统中按键需要只要用到3个按键,分别为1个波形选择按键、1个频率减按键和1个频率加按键。为了编程方便,软件使用按键扫描法来实现。在系统中,键盘管理是由微处理器C80C51F340控制的,我们将按键接口直接与C80C51F340的PL口相接,单片机不断对P1口进行扫描,以判断相应按键的状态,这样键盘就很为方便实现控制了。324显示电路模块显示模块由波形选择显示模块和频率显示模块组成。1、波形选择显示模块电路设计波形选择显示模块是由3个不同颜色的LED灯组成的,3个LED灯全不亮时代表没有波形输出,这时是在等待操作输入;红色LED灯亮时代表当前输出的是正弦波;黄色LED灯亮时代表当前输出的是三角波;蓝色LED灯亮时代表当前输出的是方波。图9LED灯电路2、频率显示模块电路设计频率显示模块由1片74LS164和1片4位8段共阴极数码管组成。74LS164作为数码管的驱动器,直接与C8051F340的P2口相接。数码管的显示方法采用的是动态扫描的方法,由于C8051F340的I/O口输出有多种的模式,在编程时一定要注意把数码管的4个地端即P3_0、P3_1、P3_2、P3_3与单片机相连接的I/O口逃过交叉开关的控制。为了节省控制器的I/O接口线,本次设计采用了串口方式给74LS164发送数据,再由74LS164的并口输出数据给数码管,以实现数码管的数字显示。由单片机分别控制数码管的4个地端的选通与否,以实现对四个数字的选通控制。74LS164为8位移位寄存器,当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。71LS164引脚图及引脚功能CLOCK时钟输入端CLEAR同步清除输入端(低电平有效)A,B串行数据输入端QAQH输出端图1074LS164引脚图74LS164内部有8位移位寄存器,在对其串口输入数据后,它会所相应的数据锁存到相应的寄存器中,并在并口中输出相应的数据,图1174LS164内部逻辑图使用74LS164的作用就是要节省单片机的I/0口的使用,本次设计中,使用了1片的74LS164就可以控制4位的数码管,加上数码管的控制位也只使用了6个I/0口。显示部分的电路图如下图图12频率显示部分电路图4系统软件设计程序由人机交互模块和波形产生模块组成,二者如图9所示。其中A图是主流程图,由系统初始化和人机交互程序模块组成,B图是定时器中断程序流程图,函数信号发生模块作为中断服务程序,作为中断服务程序,实现系统的波形输出。初始化数码管显示键盘输入处理定时中断判断波形方波正弦波三角波中断返回主程序AB图13主程序框图41人机互换模块411显示子模块显示子模块分为两大部分,一部分是波形选择显示部分;一部分是频率显示部分。频率显示部分的思路是首先系统上电后,数码管显示4个“0”,这时等待键盘的输入操作。其次选择相应的波形,数码管这时还是会显示4个“0”,当在“频率加”和“频率减”两个按键上操作后,数码管会显示相应的频率值。最后是复位单片机后,数码管会从新从第一个步骤开始执行。数码管的显示方法是先扫描按键,根据键值装载定时值,然后定时值计算出相应的频率值,再采用查表方式形成每一位的显示段码,最后把相应的段码由模拟串口送到74LS164去驱动数码管。其流程图如图42所示。显示初始化开始扫描P1口按键状态计算频率值查表,求段码送74LS164驱动数码管图14数码管显示模块流程图波形选择部分是通过3个LED灯去显示相应的波形类型的,其流程图如下等待波形选择红色LED灯、正弦波黄色LED灯、三角波蓝色LED灯、方波开始图15波形选择子模块流程图412键盘处理子模块键盘子模块分为频率处理子模块和波形选择子模块。频率处理子模块由两个按键组成,1个频率加按键和1个频率减按键,其过程为1、上电后,扫描波形选择按键,若“波形选择”按键没按下,即没选择任何波形输出时,再按下“频率加”和“频率减”按键时,数码管的显示不会改变,还是显示4个“0”。2、在按下了“波形选择”按键后,选择相应的波形输出,再不断按下“频率加”按键后,频率会在“1HZ”、“10HZ”、“50HZ”、“100HZ”、“200HZ”、“500HZ”、“1000HZ”之间不断循环。同样不断的按下“频率减”时,频率会在上面的频率中不断的自减循环。3、在输出某一频率过程中,可按下“波形选择”按键去改变输出的信号类型,其过程是在“正弦波”、“三角波”、“方波”循环。键盘处理子模块的流程图如下上电波形选择送LED灯显示频率加频率减送数码管显示送数码管显示图16键盘处理模块流程图42波形产生模块波形产生的原理是将一个周期T的信号分成128个点(按X轴等份),两点间的时间间隔T由单片机的定时器产生,每个中断会输出一个点的信号给DAC0832,再由DAC0832把数据量转换为模拟量输出。波形产生模块流程如图13所示扫描按键开始选择波形和定时时间波形产生程序中断返回图17中断服务流程图5硬件电路制作及调试51硬件单元电路制作511电路原理图及PCB板制作本次设计硬件电路中所使用到的电子元器件不是很多,单片机采用的是C8051F340的最小系统板,其它的一些元器件主要用到的是1个4位数码管、1片74LS164、1片DAC0832、1个LM358和一些按键、电阻、LED灯等。所以原理图和PCB图画起来不算难,只是和单片机相接的线比较多,还有所用到的元器件中有些元件的原理图和封装要自己去制作,所以有些问题还是要注意一下首先,在画PCB板之前,一定要对原理图进行深刻的了解和仔细的检查,因为原理图是生成PCB图的母图,不能有错。其次,要根据安装PCB的模具大小来画外型尺寸,尤其要对固定孔位的大小及位置加以注意。在模具设计及安装时,有些插座是固定不变的。外框画好后要对这些固定不变得元器件位置确定好,以免影响后边布局。再次,因为所画的PCB图是由原理图自动生成的,所以,在生成PCB图之前,一定要将原理图中的元器件封装与PCB封装库中的一一对应,选择好自己所需要的封装。否则,无法生成。尤其是对一些管脚的名称,顺序注意。最后,PCB板自动生成后,要尽量用手工去布局,布线。PCB板的布局不仅讲究美观,还要仔细考虑每个元器件的性能和对其他元器件的影响,哪些元器件可以靠近些,哪些必须是避免靠近的,这都要考虑。布线要根据实际情况定电源线,信号线,地线的宽度,一般它们之间的关系是信号线小于电源线小于地线。还有,因为我们要手工去做板,所以一定要把PCB图中的焊盘和走线图得大一些,要不在做板过程中很容易把焊盘和线条弄丢。当然要把PCB板做还不只上面所要注意的问题,还有很多东西要去学、去操作。512硬件电路调试把板做好后,就可以开始硬件的调试了,本次设计中硬件电路的调试方法主要的方法是首先进行整个硬件电路的联调,看有整个的硬件是否都正常运行,如果没问题的话,就说明整个的硬件电路正常可行。如果发现有问题,系统不正常运行的话,就进行下一步的调试,即子模块电路的调试。本次设计中,PCB板做好,连接好导线和上电后,发现数码管的显示和波形的输出还有按键部分都不正常。所以要分别对按键子模块、显示子模块和波形输出子模块分别进行调试。在对各子模块进行调试前,要先仔细检查电路,看是否有电气连接上的错误。在确认没有电气连接上的错误后,就着手进行各子模块的调试。1、波形产生子模块调试波形产生子模块的问题有输出波形严重失真,一方面是波形的每个点的电压都从相应波形电压上升到VPP,另一方面是输出的纹波太多干扰严重;输出电压不够高,VPP只有2V左右。先对C8051F340输出给DAC0832的I/O口P4口进行测试,发现P4口的输出不正常,因为要给DAC0832取点输出,在点和点之间,要求P4口要有锁存的功能,可能就是这个编程上的原因而使得输出的波形每个点都从相应的波形电压拉到VPP,果然把C8051F340的P4口加锁存和上拉之后,这个问题就解决了。下面一个问题就着手解决纹波太多和波形不稳定的问题,因为DAC0832把单片机输入的数据量转换为相应的模拟量输出后,会受到很多干扰,如基准电压不稳定、输出给放大器放大后受到干扰等问题。先对DAC0832的基准电压进行测试,发现的确设计中所选用的电源相对不够稳定,它的偏差在03V左右,加了1个103的电容滤波后再供给DAC0832的基准电压端口,发现效果果然好了一点,不过效果还是不够理想,本人决定换用更稳定的电源,换用了一个偏差不超过005V的电源后,发现波形好看了很多。下面就着手解决DAC0832输出给LM358受干扰的问题,在DAC0832的OUT1输出端和LM358的输出端都加上103的滤波电容后,发现输出的波形好了很多,纹波少了很多,波形也稳定了。但有一个问题是所加的滤波电容太大的话,对方波和三角影响很大,体现在波形不能在高、低电平之间瞬变,所选的滤波电容太小的话,对波形的整形没什么效果。DAC0832前级所输出的电压太小,达不到0到5V的理想状态,对于这个问题我用到的方法是,加高DAC0832的基准电压,改用12V电压输入,为了使LM358输出的电压能达到10V,本设计选用了12V电压给LM358来供电。果然问题得到了解决,LM358输出的电压能达到了10V。2、键盘子模块调试键盘子模块的问题是按下按键时,显示电路没有反应,用万用表分别对3个按键的引脚都测一遍,没有发现有电气连接上的问题。这就可以肯定是编程上的问题了。3、显示子模块调试显示子模块的问题是4位数码管的显示会出现乱码,不该显示的小数点也显示了出来。检查完发现没有接线上的错误后,先对数码管部分进行了调试,本人分别给4位数码管的每一位赋一个值,发现其显示都很正常,这就排除了数码管部分的错误了。接下来就是测试74LS164了,本次设计中数码管的驱动是要靠74LS164去驱动的,所以问题很有可能出在这一部分了,在硬件部分能对其进行的测试就是对它的接线和管脚电平进行相应的测试了,测试完后发现这个部分也没有硬件电路上的错误。这个也可能是编程上的错误了。52各模块软件调试521KEILUVISION3环境介绍单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,KEIL软件是目前最流行开发MCS51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持KEIL即可看出。KEIL提供了包括C编译器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论