基于单片机的信号源设计毕设论文.doc
《基于单片机的信号源设计毕设论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的信号源设计毕设论文.doc(26页珍藏版)》请在咨信网上搜索。
基于单片机的信号源设计 基于单片机的信号源设计 Based on Single-chip Microcontroller 's Signal Sources Design 基于单片机的信号源设计 [摘 要] 本系统是基于AT89C51单片机控制的信号源设计,可输出电压值为0~5V,频率为0~1000Hz的方波、锯齿波、三角波和正弦波等四种波形信号。通过外围芯片实现数据的转换控制,利用数码管来实现对输出波形的信号参数进行实时显示。本系统输出的各种信号,均由软件产生各种数据,再经过D/A0832转换后输出波形信号。本设计输出的信号源,适用于多种低频信号源的使用场所。采用这种方法设计的信号发生器具有成本廉价和显示效果好, 系统的抗干扰性强、设计灵活方便等优点,有着广阔的市场前景。 [关键字]单片机;AT89C51;信号源;D/A转换 Based on Single-chip Microcontroller 's Signal Sources Design Electronic Information Project Major YANG Xiao-pan Abstract: This system is the supply signal sources design which controls based on AT89C51 single-chip microcontroller, but the output voltage value is 0~5V, the frequency is the 0~1000Hz square-wave, the saw-tooth wave, the triangular wave and the sine wave and so on four kind of profile signals. Realizes the data switching control through the periphery chip, realizes using the nixietube to the output wave shape signal parameter carries on the real time display. This system output's each kind of signal, has each kind of data by the software, again transforms after D/A0832 output wave shape signal. This design output's signal sources, is suitable for many kinds of low frequency signal sources use places. Uses this methods design the signal generating device to have the cost to be inexpensive and the demonstration effect is good, system's anti-jamming is strong, merits and so on design nimble convenience, have the broad market prospect. Key words: Single-chip microcontroller; AT89C51; Signal sources; D/A transformation 目 录 1 前言 1 1.1背景 1 1.2 研究的意义与目的 1 2 信号源的硬件设计 2 2.1 硬件总体设计 2 2.1.1 主控芯片的选择 2 2.1.2 D/A转换芯片 5 2.1.3 显示部分芯片 6 2.2 系统硬件电路设计 8 2.2.1 D/A转换部分 8 2.2.2 显示模块 9 2.2.3 人机接口电路 10 2.2.4 单片机时钟及复位电路 10 2.2.5 电源电路 11 2.2.6 整体硬件电路 12 3 系统程序的设计 12 3.1 系统主程序 13 3.2 方波相关子程序 13 3.2.1 方波程序总流程 13 3.2.2 方波产生程序 14 3.2.3 显示程序 14 3.3 锯齿波子程序 14 3.4 三角波子程序 15 3.5 正弦波子程序 16 4. 系统的调试及系统分析 16 4.1 系统的调试 16 4.2 信号源的模拟仿真 17 4.2.1 仿真工具 17 4.2.2 设计仿真原理图 17 结束语 19 参考文献 20 附录 21 致 谢 24 1 前言 1.1背景 传统常用的信号源绝大部分是由模拟电路构成的,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不但参数准确度难以保证,而且体积和功耗都很大,而由数字电路构成的低频信号发生器,虽然其低频性能好但体积较大,价格较贵。因此,高精度,宽调幅,低价格将成为数字量信号源的发展趋势。 低频信号发生器能产生频率范围在20~200kHz以内(也有频率更宽的1Hz~1MHz的低频信号发生器)、输出一定电压和功率的波型信号。 低频信号发生器是用来产生标准低频信号的仪器。因此,它应该满足以下的要求。 1) 输出波形应尽可能非线性失真不超过1%~2%。 2) 在信号发生器产生的整个频率范围内,输出信号的幅度应不随频率而变化。 3) 信号频率能在一定范围内连续调节或分段连续调节,而且输出频率要有较高的稳定性和准确度。 4) 输出信号电压应能连续调节,并且能准确地读出输出电压数值。 信号源有很多种分类方法,其中一种方法可分为混和信号源和逻辑信号源两种。其中混和信号源主要输出模拟波形;逻辑信号源输出数字码形。混和信号源又可分为函数信号发生器和任意波形/函数发生器,其中函数信号发生器输出标准波形,如正弦波、方波等,任意波/函数发生器输出用户自定义的任意波形;逻辑信号发生器又可分为脉冲信号发生器和码型发生器,其中脉冲信号发生器驱动较小个数的的方波或脉冲波输出,码型发生器生成许多通道的数字码型。如泰克生产的AFG3000系列就包括函数信号发生器、任意波形/函数信号发生器、脉冲信号发生器的功能。 另外,信号源还可以按照输出信号的类型分类,如射频信号发生器、扫描信号发生器、频率合成器、噪声信号发生器、脉冲信号发生器等等。信号源也可以按照使用频段分类,不同频段的信号源对应不同应用领域。 1.2 研究的意义与目的 随着科学技术的不断发展,研究设计新型的信号源在工业生产与科研中已经显得十分之必要。信号源是现代电子设备特别是测试设备的必备部分,其产生各种基准信号给被测设备,用来分析和研究被测设备的性能状况,被广泛应用于航空航天设备的电子测试、通信技术、医学成像、测量和科研等各个领域中,而且数字化、软件化是测试设备的发展趋势。在工业生产和科研中利用信号源输出的信号,可以对元器件的性能及参数进行测量,还可以对电工和电子产品进行指数验证、参数调整及性能鉴定。本设计所介绍的基于单片机的信号源,采用DAC0832将单片机产生的数字信号经D/A转换以后生成模拟信号,可输出电压值为0~5V,频率为0~1000Hz的方波、锯齿波、三角波和正弦波等波形信号。通过外围芯片实现数据的转换控制,利用数码管来实现对输出波形的信号参数进行实时显示。本设计输出的信号源,适用于多种低频信号源的使用场所。采用这种方法设计的信号发生器具有成本廉价和显示效果好, 系统的抗干扰性强、设计灵活方便等优点,有着广阔的市场前景。 2 信号源的硬件设计 2.1 硬件总体设计 信号源电路设计总体设计方框图如图1所示,控制器采用单片机AT89c51,数据转换电路采用DAC0832,用LED共阴七段数码管实现静态显示,通信接口利用MAX232实现与外部设备的连接,通过键盘实现各种波形间的切换等。 单片机系统 D/A 电源模块 复位电路 键盘 通信接口 数码管显示模块 图2-1硬件电路整体框图 2.1.1 主控芯片的选择 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器, AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 1.主要特性: · 兼容MCS-51指令系统 · 4k可反复擦写(>1000次)ISP Flash ROM · 32个双向I/O口 · 4.5-5.5V工作电压 · 2个16位可编程定时/计数器 · 时钟频率0-33MHz · 全双工UART串行中断口线 · 128x8bit内部RAM · 5个中断源 · 低功耗空闲和省电模式 · 中断唤醒省电模式 · 3级加密位 · 看门狗(WDT)电路 · 软件设置空闲和省电功能 · 灵活的ISP字节和分页编程 · 双数据寄存器指针 表2-1 AT89C52的主要特性 2.管脚说明: 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的一些特殊功能口,如下表所示:管脚备选功能,P3口同时为闪烁编程和编程校验接收一些控制信号。 口线 替代的第2功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) 表2-2 P3个口线与第二功能表 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3.振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 4.芯片擦除: 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 2.1.2 D/A转换芯片 DAC0832是采用CMOS工艺制成的单片直流输出型8位D/A转换器。主要由两个8位寄存器(输入寄存器和DAC寄存器)和一个8位D/A转换器组成。 常用八位的D/A转换器DAC0832内部结构资料:芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接。 该片逻辑输入满足TTL电压电平范围,可直接与TTL电路或微机电路相接,下面是芯片电路原理图 DAC0832引脚图和内部结构电路图 图2-2 DAC0832的引脚图和内部结构图 1.DAC0832各引脚功能: 1) D0~D7:数字信号输入端。 2) ILE:输入寄存器允许,高电平有效。 3) CS:片选信号,低电平有效。 4) WR1:写信号1,低电平有效。 5) XFER:传送控制信号,低电平有效。 6) WR2:写信号2,低电平有效。 7) IOUT1、IOUT2:DAC电流输出端。 8) Rfb:是集成在片内的外接运放的反馈电阻。 9) Vref:基准电压输入线(-10~10V)。 10) Vcc:工作电源(+5~+15V)。 11) AGND:模拟地 NGND:数字地 D/A转换芯片输入时数字量,输出为模拟量。模拟信号很容易收到电源和数字信号等干扰二引起波动。为提高稳定性和减小误差,一般把数字地和模拟地分开。 DAC0832采用二次缓冲方式。这样可以在输出的同时,采集下一个数据,从而提高转换速度,更重要的是能够在多个转换器同时工作时,实现多通道D/A的同步转换输出。 2.主要的特性参数如下: 1) 分辨率为8位。 2) 只需在满量程下调整其线性度。 3) 可与所有的单片机或微处理器直接接口,需要时也可与微处理器连接而单独使用。 4) 电流稳定时间为1us。 5) 可双缓冲、单缓冲或直通数据输入。 6) 功耗低,约为200mW。 7) 逻辑电平输入与TTL兼容。 8) 单电源供电(+5~+15V)。 2.1.3 显示部分芯片 1.利用74HC138对数码管实现位选 74HC138为3 线-8 线译码器,其工作原理如下: 当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。 74LS138功能:利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。 图3-3 74HC138的引脚结构 3线-8线译码器74LS138的功能 输入 输出 G1 /G2A+/G2B C B A /Y0 /Y1 /Y2 /Y3 /Y4 /Y5 /Y6 /Y7 0 X X X X 1 1 1 1 1 1 1 1 X 1 X X X 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 表3-3 74ls138真值表功能表 无论从逻辑图还是功能表我们都可以看到74LS138的八个输出管脚,任何时刻要么全为高电平1—芯片处于不工作状态,要么只有一个为低电平0,其余7个输出管脚全为高电平1。如果出现两个输出管脚在同一个时间为0的情况,说明该芯片已经损坏。 当附加控制门的输出为高电平(G1=1)时,可写出 图3-4 74LS逻辑表达式 由上式可以看出,在同一个时间又是这三个变量的全部最小项的译码输出,所以也把这种译码器叫做最小项译码器。 71LS138有三个附加的控制端。当输出输出为高电平(G1=1)时,译码器处于工作状态。否则,译码器被禁止,所有的输出端被封锁在高电平,如表2-2所示。这三个控制端也叫做“片选”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。 2.利用74LS48对数码管实现段选 74LS48芯片是一种常用的七段数码管译码器驱动器,常用在各种数字电路和单片机系统的显示系统中。引脚功能: 灭灯输入/灭零输出(BI/RBO):作为输入端使用时,成为灭灯输入控制端。只要加入灭灯控制信号BI=0,无论A、B、C、D的状态是什么,定可将被驱动数码管的各段同时熄灭。 作为输出端使用时,成为灭零输出端。只有当输入A=B=C=D=0,而且有灭零输入信号(RBI=0)时,RBO′才会给出低电平。 图 3-5 74LS48的引脚结构 灯测试输入(LT):当LT′=0时,输出全部为高电平,是被驱动数码管的的七段同时点亮,以检查该数码管能否正常发光。平时应该置LT′为高电平。 灭零输入端(RBI):设置灭零输入信号RBI的目的是为了能把不希望显示的零熄灭。 BCD码输入端(A、B、C、D):输入要显示的BCD码 显示输出端(a、b、c、d、e、f、g):输出显示输入端的字形 真值表: 输入 输出 数字 D C B A Ya Yb Y c Yd Ye Yf Yg 字形 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 2 0 0 1 1 1 1 1 1 0 0 1 3 0 1 0 0 0 1 1 0 0 1 1 4 0 1 0 1 1 0 1 1 0 1 1 5 0 1 1 0 0 0 1 1 1 1 1 6 0 1 1 1 1 1 1 0 0 0 0 7 1 0 0 0 1 1 1 1 1 1 1 8 1 0 0 1 1 1 1 0 0 1 1 9 表2-3 74LS48的真值表 2.2 系统硬件电路设计 2.2.1 D/A转换部分 D/A0832直接输出的量为电流,而实际应用中需要的却是模拟电压,这样就需要有将电流转换成电压的电路。设计中为了实现模拟电压的输出,因此采用如下电路。 图3-3 D/A转换电路 从图中我们可以看出,当Vref接+5V时,输出电压OUT的范围是0~5V;当接+10V时,输出电压OUT的范围是0~10V;输入数字量的变化,将引起模拟量输出的变化。 2.2.2 显示模块 在显示模块部分,如下图,通过74LS138和74LS48实现对七段数码管的显示控制。首先74LS138能够对数码管实现位选,在某一时刻选中其中一个七段数码管,使其显示数字;其次利用74LS48将单片机输出的二进制数或者BCD码,作为其输入,并经过转换输出七段数码管的显示字型码。本设计中数码管显示的主要参数有1)当前波形的数字代号;2)当前波形的输出频率;3)当前输出波形的峰值。 图2-4 数码管显示电路 2.2.3 人机接口电路 为了实现计算机与单片机系统的数据通信与下载,本设计中采用MAX232实现,如下图所示。MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。内部结构基本可分三个部分: 第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。 图2-5 MAX232的接口电路 2.2.4 单片机时钟及复位电路 复位电路分为上电自动复位和手动复位,在程序跑飞时,使用复位电路可使程序恢复正常工作状态。 本系统采用图2-6 中的按健手动复位电路。 图2-6 单片机时钟及复位电路 最简单的上电自动复位如图3-7所示。上电自动复位是通过外部复位电路的电容充电来实现的。当电源接通时只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。 图2-7 上电自动复位 2.2.5 电源电路 为了给单片机的Vcc(40引脚)提供稳定的+5V电源,本设计中采用如图2-8电源电路给电路提供电源。 图2-8 电源电路 2.2.6 整体硬件电路 根据硬件总体设计的方框图,设计出实际电路图如下图所示,电路中利用AT89C51单片机系统产生各种波形的控制信号;通过DAC0832转换电路,实现对数字信号转换成模拟的电压信号输出;并通过数码管显示电路,将某一时刻输出的波形数字代号、频率,以及该波形的峰值显示出来。 图3-2 信号源电路整体硬件电路图 3 系统程序的设计 3.1 系统主程序 主程序的主要功能是在拨动不同的拨码开关1、2、3、4时,使P1口的地址发生变化,继而通过判断P1口的地址调用不同的波形子程序,从而实现不同波形间的切换。利用D\A转换部分分别输出方波、锯齿波、三角波、正弦波四种波形;确定波形形状后,然后调用显示部分的的子程序,将所选的波形的数字代号、频率和以及幅度实时的显示在七段数码管上面,要求在同一时间只限拨动一个开关。程序流程图如图3-1所示。 图3-1 主程序流程图 显示部分一共选择五位来进行表示: 第一位 第三位 第四位 第五位 第八位 波形代号 波形频率 波形幅度 表3.1数码管各位的显示内容 波形类型表示方法: 波形类型 方波 锯齿波 三角波 正弦波 数字代码 1 2 3 4 表3.2拨码开关各位代表的波形 3.2 方波相关子程序 3.2.1 方波程序总流程 方波相关子程序基本分为两个部分,第一部分是调用方波产生子程序;第二部分是数码管显示部分子程序,流程图如图4-2所示. 3.2.2 方波产生程序 方波产生的原理:在低电平时给单片机相应的端口赋值,通过D\A转换部分输出相应的模拟电压,通过延时子程序持续一段时间,也就是方波的半个周期;然后在高电平时给单片机相应的端口赋值,通过D\A转换部分输出相应的模拟电压,也是半个周期。反复这样执行,就得到方波波形。流程如图4-3所示。 3.2.3 显示程序 显示部分用的是8位7段共阴数码管,使用的是动态显示方式:74LS48输出为段选信号,决定数码管将要显示的数字代码;74LS138是位选信号,决定哪一位显示,具体的电路已经在硬件部分详细叙述,流程图如图4-4所示。 图3-2 方波程序总流程图 图3-3 方波产生流程图 图3-4 显示程序路程图 3.3 锯齿波子程序 锯齿波常用于晶体管特性图示等仪器中,其上升沿成阶梯状逐级增加,增加到最高点后快速降到最低点,然后再逐级增加。要产生这样的波形,既可采用查表的方案,也可直接在程序中进行运算,本系统是采用运算方法来获得所需数据的,流程图如4-5所示。 图4-5锯齿波子程序流程图 3.4 三角波子程序 三角波产生就是输出电压线性增加到最高值以后,再线性下降,如此循环,上升和下降的部分都采用运算方法获得所需数据,流程图如图图4-6 和图4-7所示。 图4-6 子程序流程图 图4-7三角波子程序流程图 3.5 正弦波子程序 将正弦波一个周期划分为256等份,算出每一等分点的电压值,将这些值放在一个表中,程序实现时,查表即可。 由于采用8位DAC0832,每个正弦波分成256个不同的点,每个点对应的幅度值为256*sin(360/256*x),其中x取值 0-255,取自然数,将这样的表格写入源程序,主程序就是一个表格调用程序,不断地查表,然后对相应的数值进行输出,在D/A转换器的输出端即可获得正弦波,流程图如图4-6所示。 4. 系统的调试及系统分析 4.1 系统的调试 Keil C51是美国Keil Software公司出品的51系列程序调试软件。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,软件编译后生成的HEX汇编机器代码,效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。 由于Keil C51既可以编译汇编程序,也可以编译C程序,本设计中采用C语言设计程序。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。在开发大型软件时更能体现C语言作为高级语言的优势。 图5-1 Keil C51程序编译仿真界面 4.2 信号源的模拟仿真 4.2.1 仿真工具 Proteus嵌入式系统仿真与开发平台式由英国labcenter公司开发的,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台。它是一种可视化的支持多种型号单片机(如51、AVR、PIC),并且支持与当前流行的单片机开发环境(KEIL、MPLAB、IAR)连接调试的软硬件仿真系统。Proteus除了具有和其他EDA工具一样的原理图、PCB自动或人工布线及电路防震功能外,针对微机控制系统与外设的混合电路仿真、软件仿真、系统协同仿真也做到了一体化和互动效果,是目前电子设计爱好者广泛使用的的电子线路设计与仿真软件Protel和Multisim功能的联合和进一步. 4.2.2 设计仿真原理图 下图为本设计的Proteus仿真界面,从图中我们可以清楚的看到仿真的结果。电路原理图的设计步骤如下: 1) 创建一个新的设计文件,命名为“基于单片机的信号源设计”,并保存; 2) 设置工作环境,对各种系统参数进行设置; 3) 拾取库中的元器件放入原理图中,并对元件进行编辑,如元件的在原理图中标号、电压值、电阻值、电容值等; 4) 绘制原理图,根据构思好原理图将图中元器件连线; 5) 对原理图进行电气规则检测,并存盘。 图5-2 仿真原理图 利用Keil C51编译生成的“*.HEX”文件,将其置入Proteus的单片机硬件中,实现仿真波形。双击仿真原理图中AT89C51芯片,将“*.HEX”加入芯片。点击开始仿真按钮,既可出现如下的示波器仿真界面。在原理图中调节四个拨码开关就可以分别输出下面的四种波形。 仿真的四种波形: 方波: 锯齿波: 三角波: 正弦波: 结束语 经过两个月的准备,终于完成了基于单片机信号源设计的全部工作,虽然没有完全达到设计要求,但是一路走过来,我觉得过程还是很重要的。 在本次设计的过程中,我遇见了很多的问题,很多具体的细节做起来很费事,许多东西都需要试着去首次去探讨,例如:要去设计信号源的实物就必需要熟悉单片机和一些电子器件的详细资料和功能用途以及在具体的电路中应该注意的问题。还有需要懂得电路制图软件ProtelDXP等的熟练操作。尤其是去做实物的话就必需会熟练制作PCB板等等,这一切都要花时间去不断的尝试与练习.这主要是硬件电路这块。 信号源的软件程序的设计也让我长了不少见识. 这次设计主要是以单片机AT89C51和DAC0832作为主控制器实现由数字信号转换成输出各种波形的模拟电压信号,于是程序这块就必需与AT89C51紧密相连。很显然软件设计重点就在于软件算法的设计,需要有很巧妙的程序算法,本次设计程序自己都试着去写了,虽然有很多困难,但得到的收获也让人感到欣喜。 实践是检验真理的唯一标准,只有将理论与实践做到很好的结合,我们得到的才会更多. 从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。只有不断地学习,各方面的知识都充分地接触,才能为今后更好地发展打下基石。 参考文献 [1] 李朝青.单片机原理与接口技术[M]. 北京:北京航空航天大学出版社,2006 [2] 高有堂.电子电路设计制版与仿真.[M]. 郑州:郑州大学出版社,2006 [3] 杨振江.A/D、D/A转换器接口技术[M]. 西安:西安电子科技大学出版社,1996 [4] 邱关源,罗先觉.电路(第五版)[M]. 北京:高等教育出版社,2006 [5] 周润景,张丽娜. 基于PROTEUS的电路及单片机系统设计与仿真[M]. 北京:北京航空航天大学出版社,2006 [6] 诸昌衿.LED显示屏系统原理及工程技术[M],成都:电子科技大学出版社,2000 [7] 张世仓,柴钰,胡新梅.一种新型两路正弦波信号发生器的研究[J].西安科技学院学报,2002,22(4):459—461. 附录 #include<reg51.h> #include<absacc.h> unsigned char code DIS_SEG7A[5]={0X01,0X33,0X43,0X53,0X75}; unsigned char code DIS_SEG7B[5]={0X02,0X30,0X40,0X54,0X75}; unsigned char code DIS_SEG7C[5]={0X03,0X30,0X40,0X52,0X75}; unsigned char code DIS_SEG7D[5]={0X04,0X30,0X40,0X53,0X75}; float code table2[]={ 0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92, 0x94,0x97,0x99,0x9B,0x9E,0xA0,0xA3,0xA5, 0xA7,0xAA,0xAC,0xAE,0xB1,0xB3,0xB5,0xB7, 0xB9,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 信号源 设计 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文