当前位置:文档之家› 基于DAC0832单片机的波形信号发生器的设计

基于DAC0832单片机的波形信号发生器的设计

基于DAC0832单片机的波形信号发生器的设计
基于DAC0832单片机的波形信号发生器的设计

基于DAC0832单片机的波形信号发生器的设计

摘要

信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用的信号发生器大部分是函数信号发生器,且特殊波形发生器的价格昂贵。

本设计使用AT89C51单片机和DAC0832,可产生三角波、方波、正弦波,波形的频率可用程序控制改变。在单片机上加外围器件距阵式键盘,通过键盘控制波形频率的增减以及波形的选择,并用了LCD显示频率大小。在单片机的输出端口接DAC0832进行D/A转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。本设计具有线路简单、结构紧凑、价格低廉、性能优越等优点。

关键词:信号发生器;单片机;DAC0832

I

Abstract

Signal-generator is a kind of signal source in common use, broadly applied at the electronics electric circuit, auto control system and teaching experiment etc. Currently used mostly signal generator is function generator, a special waveform generator is very expensive .

This design is usage of the AT89s51 single-chip microcomputer and DAC0832, which can generate triangle wave, square wave, sine wave, the period of wave can be controlled by procedure, at outer circle spare part of the microcomputer, plus independence type keyboard , which can control wave’s frequency increase or decrease and the choice of wave-form, at the same time LED display frequency size. The output of the microcompute connect DAC0832 to carry on a DA conversion,again pass operation amplifier to put an end exportation wave-form. This design has advantage of simple circuit, tightly packed structure, cheap price, superior function etc.

Keywords:signal generator; MCU; DAC083

II

目录

摘要.......................................................... I Abstract........................................................ II 绪论.. (1)

1.1 课题的研究背景和意义 (1)

1.2 国内外研究现状 (1)

1.3 设计要求 (3)

第2章方案选择 (4)

2.1 方案选择 (4)

2.2 主控模块的选择 (4)

2.3 本章小结 (4)

第3章硬件电路的设计 (4)

3.1 系统的总体设计方案 (4)

3.2 单元电路的设计 (5)

3.2.1 采样模块及原理 (5)

3.2.2 按键电路 (6)

3.2.3 显示电路 (9)

3.2.4 D/A电路 (9)

3.2.5 流压转换电路 (10)

3.2.6 单片机与DAC0832的连接 (11)

3.3 本章小结 (11)

第4章软件设计 (12)

4.1 软件的总体设计 (12)

4.2 频率改变与波形输出流程图 (13)

4.3 频率程序设计 (15)

4.4 键盘扫描程序与处理程序 (15)

4.5 1602显示程序 (15)

4.6 本章小结 (15)

第5章系统调试 (15)

结论 (16)

致谢 (17)

附录1 译文 (18)

附录2 英文参考资料 (20)

附录3 原理图 (23)

附录4 源程序 (23)

III

绪论

1.1 课题的研究背景和意义

信号发生器作为一种通用的信号源发生器仪器,早在20年代电子设备刚出现时它就产生了。随着通讯和雷达技术的发展40年代出现了主要用于测试各种接收机的标准信号发生器,使信号发生器从定性分析的产生信号仪器发展成定量分析的产生信号仪器。同时还出现了可用来测量脉冲电路或用作脉冲调制器的脉冲信号发生器。自60年代以来信号发生器有了迅速的发展,这个时期的波形发生器大多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形。自从70 年代微处理器的出现以后,利用各种微处理器、模数转换器和数模转多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。极大促进了数字化技术在电子测量仪器中的应用,使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的控制力,提高了信号的准确度、精度和变换速度。

单片机在我国的应用历史不久,但发展很快.1980年应用软件只有100项.到1985年猛增至15000项.目前我国的单片机应用主要在工业自动化与仪器仪表控制。与控制有关的的仪器表因广泛采用单片机,对单片机的应用产生重大的影响:1.简化了仪表面盘,用数字键盘代替了面板开关和旋钮,外表美关。

2.增强了仪表的功能和灵活性。

3.使仪表能对简单的测量数据进行处理以及实现校正和自动诊断。

4.可用软件代替硬件,实现虚拟检测,这使单片机向智能化。随着单片机技术的迅猛发展,信号发生器也伴随着它得到迅猛的发展。

可以说,单片机技术的发展,为信号发生器提供了广大的空间。

单片机的性价比高,具有体积小,耗电省,携带方便,使用环境要求,以及灵活,通用性好等特点。尽管单片机还存在速度不高,内存容量小,寻址方式不多等特点,但随着,不断的技术改进和本身特点,因而得到迅速发展。

通过该设计课题的研究和制作使我对信号发生系统要有一个全面的了解、对信号的发生原理要理解掌握,以及低频信号发生器工作流程:波形的设定,D/A 转换,单片机(51单片机,显示电路,键盘控制),显示和各模块的连接通信等各个部分的熟练联接与调试,全面的了解常规芯片的使用方法、掌握了简单信号发生器应用系统软硬件的设计方法,进一步锻炼了我在信号处理方面的实际工作能力。

1.2 国内外研究现状

胥绍禹在《多波形信号发生器》一文中设计的电路采用了两块C-MOS 数

字集成电路74C04(内含六个反相器)和74C14(内含六个带施密特电路的反相器)。由反相器IC1 的a、b、c 三个并联、电阻W1+R1、电容C1、C2、C3 构成振荡器产生三角波,振荡频率计算公式为f=1/1.7RC。可由开关控制频率。此三角波经施密特触发器IC2a整形为方波,再经IC2b~f 并联输出(多个门电路并联以提高驱动能力),其电平兼容TTL。IC1d、IC1e~f 构成两级线性放大器,用于将三角波整形为模拟正弦波。当波形选择开关K3 将电阻R2和二极管D1 或D2 接入电路时,输出的方波被整流为正电压或负电压加到三角波发生器的输入端,构成压控振荡器(VCO),从而获得极性不同的锯齿波或脉冲波,脉冲宽度取决于电阻R2 和积分电容的大小。

杨潇,刘刚,翟玉文在《多功能PWM信号发生器设计》中设计的多功能PWM 信号发生器以MSP430F169单片机为核心,由时钟和复位、频率及波形设定、LCM 显示器、PWM 信号发生电路组成.MSP430F169单片机数模转换模块输出端DAC1输出直流电压可控制PWM占空比;DAC0输出交变电压可产生SPWM信号,且基波频率和波形受单片机控制。MSP430F169单片机小系统电路由MSP430FI69、复位电路、低速时钟电路(32 768 Hz)、高速时钟电路(8MHz)等元件构成.MSP430F169片内有6O K程序存储区、2K的数据存储区和多种外围模块,并具有12位数模转换模块DAC12.选用内部2.5 V参考电压源,输入DAC12的数字量从0xO到0xFFF变化时,对应的输出电压量也就从0到2.5 V变化.他的设计中使用DAC1通道控制PWM占空比,DAC0通道产生交变基波。

李辉,朱林生《基于FPGA的三相函数发生器设计》设计的信号发生器是基于DDS原理,频率控制字M和相位控制字P分别控制DDS输出波形的频率和相位。相位累加器是整个波形产生的核心,它有一个累加器和一个N位相位寄存器组成。每来一个时钟脉冲,相位寄存器以步长M增加。相位寄存器的输出与相位控制字相加,其结果作为波形查找表的地址。波形查找表由ROM构成,内部存有一个完整周期的波形的数字幅度信息,每个查找的地址对应波形中0°~360°范围的一个相位点。查找表输入的地址信息映射达成波形幅度信号,同时输出到数模转换器的输入段,DAC输出的模拟信号经过程控滤波器,得到一个频谱纯净的波形。

徐仁贵,管运生,李学东在《实用的多功能信号发生器》用单片机制作信号发生器,除了单片机以外,包括有查表地址发生器、ROM、DAC 以及放大倒相等环节。该结构的特点是应用可编程计数器设计了一个― 查表地址发生器‖ , 其目的是使信号发生器只是在设定信号参数时瞬间占用微处理器, 其余时间微处理器都可以用来处理其它事务。在ROM中储存着所要产生信号(某种曲线)的离散值。为了保证信号质量, 应该使一个周期内所取离散值的点数足够多(特别是在信号频率很低时)。假设这一周期性函数为F(X), 在一个周期内所取点数为N , 则存放在该数据表中的数据依次为:F(0),F(2π/N),F(2*2π/N)……F((N-1)*2π/N)。如果信号由对称的正负半波组成(如正弦波),则可以只储存正半波的离散值。如果需要产生多种波形的信号, 则不同信号的离散值可以分区(例如以

256个单元为一个区)存放。查表地址发生器由时钟、分频器和N位二进制计数器(N≥8)组成。它用来产生访问ROM中某一数据表的周期性地址信号。该信号为等于或大于8位的二进制数。相邻两个查表地址信号的时间间隔决定了所产生信号的周期, 这一时间间隔由分频器的分频系数决定。

1.3 设计要求

本设计的任务是通过AT89C52单片机制作波形信号发生器该设计课题的研究和制作使我对信号发生系统要有一个全面的了解、对信号的发生原理要理解掌握,以及低频信号发生器工作流程:波形的设定,D/A转换,单片机(52单片机,显示电路,键盘控制),显示和各模块的连接通信等各个部分的熟练联接与调试,全面的了解常规芯片的使用方法、掌握了简单信号发生器应用系统软硬件的设计方法。主要实现任务是利用单片机程序,产生数字式的正弦波、方波、三角波频率可调的信号。

具体要求如下:

1、能产生正弦波、矩形波、三角波等波形;

2、最大频率不低于500Hz;

3、幅度可调,峰峰值在0-5V之间变化;

4、可以对频率、幅值、相移、波形进行动态、及时的控制;

5、扩展:可完成简单的如加、减等代数运算。

第2章方案选择

2.1 方案选择

方案一:用分立元件组成的函数信号发生器通常是单函数信号发生器,且频率不高,工作不是很稳定,而且不易调试,虽然结构简单,但是输出的信号频率线性度差,频率稳定度低,频率分辨低,频率变换时间比较长,相位的噪声大以及人机界面不友好等缺点。

方案二:利用专用直接数字合成DDS芯片的函数信号发生器,能产生任意波形,但是成本较高,从成本上考虑,从成本上考虑,不适合选择这么昂贵的芯片。

方案三:利用单片机AT89C51和常用的数模转换芯片DAC038结合,通过按键输入单片机控制不同波形的输出,其体积小,成本低,功率小,因此我选择方案三。

2.2 主控模块的选择

方案一:用单片AT89c51 作为系统的主控核心。单片机具有体积小,使用灵活的,易于人机对话和良好的数据处理,有较强的指令寻址和运算功能等优点。且单片机功耗低,价格低廉的优点。

方案二:用FPGA 等可编程器件作为控制模块。FPGA 可以实现各种复杂的逻辑功能,密度高,速度快,稳定性好等许多有点。FPGA 在掉电后会丢失数据上电后须进行一次配置,因此FPGA 在应用中需要配置电路和一定的程序。并且FPGA 作为数字逻辑器件,竞争、冒险是数字逻辑器件较为突出的问题,因此在使用时必须注意毛刺的产生、消除及抗干扰性。

在次系统中,采用单片机作为控制比采用FPGA 实现更简便。基于综合性价比,确定选择方案一。

2.3 本章小结

本章主要是考虑电路成本和复杂程度来选择方案,通过各种方案的比较选择了成本低和电路简单的方案。

第3章硬件电路的设计

3.1 系统的总体设计方案

本次设计所研究的就是对所需要的某种波形输出对应的数字信号,在通过

D/A 转换器和单片机部分的转换输出一组连续变化的0~5V 的电压脉冲值。在通过显示部分显示其频率,和波形。在设计时分块来做,按照波形设定,D/A 转换,51单片机连接,键盘控制和显示五个模块的设计。最后通过联调仿真,做出电路板成品。从而简化人机交互的问题,具体设计模块如图3-1所示:

模块介绍: 1.波形设定:对任意波形的手动设定。

2.D/A 转换:主要选用DAC0832来把数字信号转换为模拟信号。

3.单片机部分:最小系统。

4.键盘:用按键来控制输出波形的种类和频率。

5.显示部分:采用LCD 显示波形的类型以及频率。

系统要求是便携式低功耗的,所以在硬件电路建立前首先粗略计算一下

整个系统所需的功耗。考虑单片机部分(有最小系统,D/A 转换,键盘接口,扩展部分显示等部分)的功耗大小,机器体积小,价格便宜,耗电少,频率适中,便于携带。

软件部分则通过KEIL 软件,用C51程序语言来实现信号发生器的主要功能,并通过ISP 下载程序。

3.2 单元电路的设计

3.2.1 采样模块及原理

DAC0832是CMOS 工艺制造的8位D/A 转换器,属于8位电流输出型D/A 转换器,转换时间为1us ,片内带输入数字锁存器。DAC0832与单片机接成数据直接写入方式,当单片机把一个数据写入DAC 寄存器时,DAC0832的输出模拟电压信号随之对应变化。利用D/A 转换器可以产生各种波形,如方波、三角波、正弦波、锯齿波等以及它们组合产生的复合波形和不规则波形。

1.DAC0832主要性能:

◆输入的数字量为8位;

◆采用CMOS 工艺,所有引脚的逻辑电平与TTL 兼容;

◆数据输入可以采用双缓冲、单缓冲和直通方式; 波形设定 单片机 D/A 转换 放大电路 信号输出 显示 频率设定 图3-1 总体设计框图

◆转换时间:1us;

◆精度:1LSB;

◆分辨率:8位;

◆单一电源:5—15V,功耗20mw;

◆参考电压:-10—+10V;

DAC0832内部结构资料:芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接。

该片逻辑输入满足TTL电压电平范围,可直接与TTL电路或微机电路相接,待转换的8位数字量由芯片的8位数据输入线D0~D7输入,经DAC0832转换后,通过2个电流输出端IOUT1和IOUT2输出,IOUT1是逻辑电平为"1"的各位输出电流之和,IOUT2是逻辑电平为"0"的各位输出电流之和。另外,ILE、CS、WR1、WR2和XFER是控制转换的控制信号。

DAC0832由8位输入寄存器、8位DAC寄存器和8位D/A转换电路组成。输入寄存器和DAC寄存器作为双缓冲,因为在CPU数据线直接接到DAC0832的输入端时,数据在输入端保持的时间仅仅是在CPU执行输出指令的瞬间内,输入寄存器可用于保存此瞬间出现的数据。有时,微机控制系统要求同时输出多个模拟量参数,此时对应于每一种参数需要一片DAC0832,每片DAC0832的转换时间相同,就可采用DAC寄存器对CPU分时输入到输入寄存器的各参数在同一时刻开始锁存,进而同时产生各模拟信号。控制信号ILE、CS、WR1用来控制输入寄存器。当ILE为高电平,CS为低电平,ER1为负脉冲时,在LE产生正脉冲;其中LE为高电平时,输入寄存器的状态随数据输入线状态变化,LE 的负跳变将输入数据线上的信息存入输入寄存器。

控制信号WR2和XFER用来控制8位A/D转换器。当XFER为低电平,WR2输入负脉冲时,则在LE产生正脉冲;其中LE为高电平时,DAC寄存器的输入与输出的状态一致,LE负跳变,输入寄存器内容存入DAC寄存器。

DAC0832的数据输出方式在微机应用系统中,通常使用的是电压信号,而DAC0832输出的是电流信号,这就需要由运算放大器组成的电路实现转换。其中有输出电压各自极性固定的单位性输出和在随动系统中输出电压有正负极性

的双极性输出两种输出方式。

微处理器与DAC0832之间可以不加锁存器,而是利用DAC0832内部锁存器,将CPU通过数据总线直接向DAC0832输出的停留时间很短的数据保存,直至转换结束。

3.2.2 按键电路

1. 按键电路的选择

在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应用系统应设有按键或键盘,实现简单的人机会话。键盘是一组按键的组合,键通常是一种常开型按钮开关,平时键的两个出点处于断开状态,按下键时他们才闭合。从键盘的结构来分类,键盘可以分为独立式和矩阵式两类,每一类按其识别方法又都可以分为编码和未编码键盘两种。键盘上闭合键的识别由专门的硬件译码器实现并产生编号或键值的称为编码键盘,由软件识别的称未编码键盘。在由单片机组成的测控系统及智能化仪器中,用得较多的是未编码键盘,本次设计我也使用未编码键盘。

未编码键盘又分为独立式键盘跟矩阵式键盘。

(1)独立式未编码键盘结构的工作原理及接口:在单片机应用系统中常常需要简单的几个键完成数据、命令的输入,此时可采用独立式键盘的结构。此接口电路的工作原理很简单,无键按下时,各输入线为高电平;有键按下时,相应的输入线为低电平,CPU 查询此输入口的状态就可知是哪个键闭合。采用一键一线的方法,当按键的数目增加时,将增加输入口的数量,为了减少占用输入线数,可采用矩阵式结构的键盘。

(2)矩阵式未编码键盘结构的工作原理:如图3-2所示是4*4 的键盘接口,它是矩阵式的结构。图中键盘的行线(X0~X3)与列线(Y0~Y3)的交叉处通过一个按键来联通,行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,则行线都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线和列线被短路。例如:6号键被按下闭合时,行线X1 和列线Y2 被短路,此时X1 的电平由Y2 的电位所决定。如果把行线接到单片机的输入口,列线接到单片机的输出口,则在单片机的控制下,先使列线Y0 为低电平,其余三根列线Y1、Y2、Y3 都为高电平,读行线状态。如果X0、X1、X2、X3、都为高电平,则Y0 这一列上没有键合。如果读出的行线状态不全为高电平,则为低电平的行线和Y0 相交的键处于闭合状态。如果Y0 这一列上没有键合,接着使列线Y1 为低电平,其余列线为高电平,用同样方法检查Y1 这一列上有无键闭合。依此类推,最后使列线Y3 为低电平,其余的列线为高电平,检查Y3 这一列上是否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。CPU 对键盘扫描可以采取程序控制的随机方式,CPU 空闲时扫描键盘;也可以采取定时控制方式,每隔一定时间,CPU 对键盘扫描一次,CPU 可随时响应键盘输入请求;还可以采用中断方式,当键盘上有键闭合时,向CPU 请求中断,CPU 响应键盘输入中断,对键盘扫描,以识别哪一个键处于闭合状态,并对键输入信息作出相应处理。CPU 对键盘上闭合键的键号确定,可以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表求得。

R6

1k

R7

1k

R8

1k

X0X1X2

Y0Y1Y2

图3-2 矩阵位编码键盘

2. 按键的确认及防抖处理

按键的确认:键盘实际上是一组按键开关的集合,其中每一个按键就是一个开关量输入装置。键的闭合与否,取决于机械弹性开关的通、断状态。反应在电压上就是呈现出高电平或低电平,若高电平表示断开,那么低电平键闭合。所以,通过电平状态(高或低)的检测,便可确定相应按键是否已被按下。

重键与连击的处理:实际按键操作中,若无意中同时或先后按下两个以上的键,系统确定哪个键操作是有效的,完全取决设计者的意图。如视按下时间最长者为有效键,或认为最先按下的键为当前的按键,也可以将最后释放的键看成是输入键。不过单片机控制系统的资源有限,交互能力不强,通常总是采用单键按下有效,多键同时按下无效的原则。

有时,由于操作人员按键动作不够熟练,会使一次按键产生多次击键的效果,及重键的情形。为消除重键的影响,编制程序时可以将键的释放作为按键的结束。等键释放电平后再转去执行相应的功能程序,以防止一次击键多次执行的错误发生。

按键防抖动技术:键盘作为向系统提供操作人员的干预命令的接口,以其特定的按键代表着各种确定操作命令。所以准确无误地辨认每个键的动作及其所处的状态,是系统能否正常工作的关键。多数键盘的按键均采用机械弹性开关。一个电信号通过机械触点的断开、闭合过程,完成高、低电平的切换。由于机械触点的弹性作用,一个按键开关闭合及断开的瞬间必然伴随有一连串的抖动。

消除按键盘抖动通常有两种方法:硬件消抖和软件消抖。通过硬件电路消除按键过程中抖动的影响是一种广为采用的措施。这种做法,工作可靠,且节省机时。 硬件消抖是通过在按键输出电路上加一定的硬件线路来消除抖动,一般采用R —S 触发器或单稳态电路。软件消抖则是利用延时来跳过抖动过程。

本次设计采用独立位编码键盘加一个四输入与门的形式,如图3-3所示。

1

2

4

56

U 374LS21

P3.4

P3.5

P3.6

P3.7P3.2

图3-3 键盘连接

3.2.3 显示电路

通过液晶1602显示输出的波形、频率,其电路图如下: V S S

1V D D 2V E E 3R S 4R W

5E 6D 07D 18

D 29D 310

D 411D 512D 613D 714VCC

P 2.4

P 2.5

P 2.6

P 0.0P 0.1P 0.2P 0.3P 0.4P 0.5P 0.6P 0.7

图3-4 显示电路连接 如上图所示,1602的八位数据端接单片机的P1口,其三个使能端RS 、RW 、E 分别接单片机的P3.2—P3.2。通过软件控制液晶屏可以显示波形的种类以及波形的频率。

3.2.4 D/A 电路

功能:将波形样值的编码转换成模拟值,完成双极性的波形输出。

由一片0832和两块LM324运放组成。DAC0832是一个具有两个输入数据寄存器的8位DAC。目前生产的DAC芯片分为两类,一类芯片内部设置有数据寄存器,不需要外加电路就可以直接与微型计算机接口。另一类芯片内部没有数据寄存器,输出信号随数据输入线的状态变化而变化,因此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。DAC0832是具有20条引线的双列直插式CMOS器件,它内部具有两级数据寄存器,完成8位电流D/A转换,故不需要外加电路。0832是电流输出型,示波器上显示波形,通常需要电压信号,电流信号到电压信号的转换可以由运算放大器LM324实现,用两片LM324可以实现双极性输出。

单片机向0832发送数字编码,产生不同的输出。先利用采样定理对各波形进行抽样,然后把各采样值进行编码,的到的数字量存入各个波形表,执行程序时通过查表方法依次取出,经过D/A转换后输出就可以得到波形。本次设计有256个点(正弦波)构成波形的一个周期,则0832输出256个样值点后,样值点形成运动轨迹,即一个周期。重复输出256个点,成为第二个周期。利用单片机的晶振控制输出周期的速度,也就是控制了输出的波形的频率。这样就控制了输出的波形及其频率。

3.2.5 流压转换电路

DAC0832为电流输出型转换器,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。如图3-4所示为一种用两级运算放大器组成的模拟电压输出电路。从第一个运放输出为单极性模拟电压,从第二个运放输出为双极性模拟电压。

放大电路元件采用LM324 ,LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图所示的符号来表示,它有5个引出脚,其中―+‖、―-‖为两个信号输入端,―V+‖、―V-‖为正、负电源端,―V o‖为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端V o 的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端V o的信号与该输入端的相位相同。LM324的引脚排列见图3-5。由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。

图3-5 流压转换及放大电路

3.2.6 单片机与DAC0832的连接

DAC0832同CPU 的接口如图3-6所示.DAC0832作为微处理器的一个端口,用地址92H 的选通作为CS 和WR1的控制信号,微处理器的写信号直接来控制XFER 和WR2。

3.3 本章小结 本章主要对硬件部分作以详细的介绍,并充分的介绍了单片机的外围电路的各个部分。让大家充分了解各部分的功能和结构,为以后搭接电路做好充分准备。硬件部分的搭接,也是对我们大学期间的学习和动手能力的一个考核。此电路的硬件搭接也较为简单,主要是单片机和DAC0832的连接。

C S 1

W R 12

G ND 3

D I34

D I25

D I16

D I07

V RE F 8

R FB 9

G ND 10IOU T1

11IOU T2

12D I713D I614D I515D I416X FER 17W R 218ILE(B Y1/B Y 2)19V CC 20U 2D AC 0832P2.0P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7 图3-6单片机与DAC0832的连接

第4章软件设计

4.1 软件的总体设计

应用系统中的应用软件是根据系统功能要求而设计的,能可靠地实现系统的各种功能。一个优秀的应用系统的应具有下列特点:

(1)根据软件功能要求,将系统软件分成若干个独立的部分。设计出软件的总体结构,使其结构清晰、流程合理。

(2)要树立结构化程序设计风格,各功能程序模块化、子程序化。既便于调试、链接,又便于移植、修改。

(3)建立正确的数学模型。即根据功能要求,描述各个输入和输出变量之间的数学关系,它是关系到系统好坏的重要因素。

(4)为提高软件设计的总体效率,以简明、直观法对任务进行描述,在编写应用软件之前,应绘制出程序流程图。

(5)要合理分配系统资源,包括ROM、RAM、定时数器、中断资源等。

(6)注意在程序的有关位置处写上功能注释,提高程序的可读性。

(7)加强软件抗干扰设计,它是提高系统应用可靠性的有利措施。

本系统的软件包括以下几个程序模块:

(1)初始化程序;

(2)显示程序;

(3)键盘扫描程序与处理程序;

(4)定时器0服务程序;

(5)正弦波发生程序及其服务程序;

(6)三角波发生程序;

(7)方波发生程序;

4.2 频率改变与波形输出流程图

图4-1为频率改变流程图,图4-2为波形输出流程图

开始

等待

N

P3.5(P3.6)=0

Y

调用延时程序增加

(降低)频率

N

满足要求?

Y

频率改变结束

图4-1频率改变流程图

本图主要介绍了AT89c51单片机,利用单片机的P3.5定时器端口进行频率的改变,在图中我们可以看出,在给单片机上电的时,单片机等待P3.5口工作,如果P3.5不运行则继续等待,要正常运行就要进行定时功能,在运行过程中如

果满足要求则可以进行频率的改变,如果不能满足要求则要重新运行直到满足要求为止。

图4-2波形输出流程图

从流程图中我们可以看出,波形的输出也是利用AT89C51单片机的P3.2口(外部中断)来完成波形输出的,假设高电平为1,低电平为0,当出现高电平时,定时器的运行同时受到定时器和外部中断端口的控制,当二者同为1时,T0(T1)启动,当TR0(TR1)=0时,T0(T1)停止计数,这样可利用外部中断端检测脉冲信号的上升、下降沿、通过启停定时器,达到测量脉冲波形的变化,输出方波,正弦波,三角波

等待

P3.4按一次,变量Waveform=1 Waveform=0 读取正弦波表

读取方波表 读取三角波表

初始化 P3.2==0 变量等于2

变量等于1 波形输出

Y N N

N

Y

Y

4.3 频率程序设计

本设计采用定时器来控制波形频率,通过输出的两点间的延时来实现调频的功能。当晶振频率为24M时,单片机的机器周期就是0.5微妙。

假设需要10HZ的正弦波,由于正弦波的取点个数为256个,所以每个点所要的时间为1/10/256秒,选用定时/计数器T0的方式1实现,设计数器初值为X:

X=65536-(1/10/256*106/0.5)

但是,由于实际程序执行过程中,不光要取256个点,还要执行一些与取点相关的程序,所以需要的初值往往要小于X。

4.4 键盘扫描程序与处理程序

本次设计,键盘部分由3个键和一个4输入与门组成,3个键可以分别控制波形的选择和频率的升降。P3.2为中断入口地址,当P3.2==0时,说明有键按下,然后取P3口的值和0Xf0相与,取出P3口的高4位,最后使用swatch(),当P3&0xf0=0xe0时,说明波形选择键按下,当P3&0xf0=0xd0时,说明频率升键按下,当P3&0xf0=0xb0时,说明频率衰减键按下。

4.5 1602显示程序

如图3-4所示16x02即32个字符(16列2行)。1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。

液晶显示原理:液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。

4.6 本章小结

软件部分是一个难点,软件也是一个电路的灵魂。主要是频率改变流程和波形输出流程的程序设计,这一部分主要是考核大家在大学期间C语言和汇编语言的掌握程度。在此期间我查阅了各种资料和求助了老师和同学的帮助,才能完成软件程序的设计。

第5章系统调试

调试工作可分硬件调试和软件调试两个部分,调试方法如下:

首先,硬件调试主要是先制作硬件电路板,然后用万用表等工具对电路检查,最后应用程序进行功能调试。硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。

然后,用仿真软件进行软件调试,比如单片机C51编辑软件KEIL,该软件提供一个集成开发环境uVision,它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试器。通过编译、运行,可以检查程序错误。但应用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。

在确定编程思路以后将各部分的程序及各子程序编好,使用keil 进行编译,根据提示的错误对程序进行修改。除了语法差错和逻辑差错外,当确认程序没问题时,通过直接加载到protues 软件电路中进行仿真。

结论

基于单片机的智能信号发生器设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察现在正在使用的信号发生器的基本功能,完成一个基本的实际系统的设计全过程。关键是这个实际系统设计的过程,在整个过程中我可以充分发挥单片机知识。特别是这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个模数转换器DAC0832 产生所需要的电流,然后使用运

算放大器LM324可以将其电流输出线性地转换成电压输出,通过程序的控制,可以产生一系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。

此设计方案硬件较为简单,主要是由单片机跟DAC0832 2个芯片构成,连线也较简便。键盘电路用的独立未编码结构,三个键分别控制波形及频率。软件程序方面较为复杂一点,此方案主要是靠程序的控制,主要由3个波形产生的子程序和1602液晶显示程序,加上有承上启下作用的主程序构成,程序思路还是比较清晰。其中正弦波和三角波的程序较为繁琐,因为是通过查表指令产生的,所以要列出个含有较多字符的表格。

当然还是存在不足的地方,比如不能实现任意频率与幅度的可调,显示电路跟键盘电路有待进一步改进。

致谢

持续紧张和忙碌了几个月的毕业设计终于做完了,在此我特别感谢带我的指导老师-宋建华老师,在这次毕业设计中对我的的耐心指导和帮助。如果没有宋老师的帮助我是不可能完成这次毕业设计的,还有各位同学和我的室友,在此期间对我的帮助和鼓励,使我在设计的时候信心十足。感谢学校给我们这次毕业设计的机会和其它的帮助。还有一同讨论、帮助我设计的同学表示感谢。

在毕设期间由于基础问题和外在的许多压力,使我多次想放弃这次毕业设计,是我的老师和家人给了我很多的自信和帮助,使得我有信心继续下去。我在这里谢谢帮助过和劝导过我的人,我的人生因为有你们而更加美丽辉煌。

基于51单片机的函数信号发生器的设计

龙源期刊网 https://www.doczj.com/doc/3716046503.html, 基于51单片机的函数信号发生器的设计 作者:朱兆旭 来源:《数字技术与应用》2017年第02期 摘要:本文所设计的系统是采用AT89C51单片机和D/A转换器件DAC0832产生所需不 同信号的低频信号源,AT89C51 单片机作为主体,采用D/A转换电路、运放电路、按键和LCD液晶显示电路等,按下按键控制生成方波、三角波、正弦波,同时用LCD显示相应的波形,输出波形的周期可以用程序改变,具有线路简单、结构紧凑、性能优越等特点。 关键词:51单片机;模数转换器;信号发生器 中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2017)02-0011-01 1 前言 波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。 2 系统设计思路 文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。 当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频 率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。103为可调电阻,用于幅值的调节。自锁开关起到电源开关的作用。启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1- 10Hz,幅值最高可到3.5V。系统框图如图1所示。 3 软件设计

(完整word版)基于单片机的信号发生器开题报告

内蒙古工业大学本科生毕业设计(论文)开题报告

注:表格根据所填内容可进行调整,可多页。 一、设计总体方案 利用AT89S52 单片机采用程序设计方法产生锯齿波,正弦波,矩形波,方波四种波形,再通过D/A 转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控四种波形的类型,频率变化,最终输出显示其各自的类型及数值

图4.1 硬件原理框图 二.硬件各单元电路方案设计与选择 1、单片机的选择 方案一:AT89S52芯片中只有一路模拟输出或几路模拟信号非同步输出,这种情况下CPU对DAC0832 执行一次写操作,则把一个数据直接写入DAC寄存器,DAC0832的输出模拟信号随之对应变化。输出波形稳定,精度高,滤波好,抗干扰效果好,连接简单,性价比高。 方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵 方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。 以上两种方案综合考虑,选择方案一 2.键盘设计方案比较 方案一:矩阵式键盘。矩阵式键盘的按键触点接于由行、列母线构成的矩阵电路的交叉处。当键盘上没有键闭合时,所有的行和列线都断开,行线都呈高电平。当某一个键闭合时,该键所对应的行线和列线被短路。 方案二:独立式键盘。独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。 以上两种方案综合考虑,选择方案二。 3、D/A转换部分

DAC0832的波形发生器(汇编)

ORG 0000H KB:MOV P1,#0FFH;置P0口为输入方式MOV A,P1;读键值 CPL A ANL A,#1FH;屏蔽高三位 JZ KB;无键闭合继续检测 ACALL DL Y_10MS;延时10ms,去抖动MOV A,P1;再次检测有无键闭合 CPL A ANL A,#1FH JZ KB CJNE A,#01H,KB01 LCALL FANGBO;调用方波子程序SJMP KB KB01:CJNE A,#02H,KB02 LCALL JVCHI;调用锯齿波子程序SJMP KB KB02:CJNE A,#04H,KB03 LCALL TIXING;调用梯形波子程序SJMP KB KB03:CJNE A,#08H,KB04 LCALL SANJIAO;调用三角波子程序SJMP KB KB04:CJNE A,#10H,KB LCALL ZHENGXIAN;调用正弦波子程序SJMP KB ;方波子程序////////////// FANGBO: MOV DPTR,#0FFFEH LP1: MOV A,0 MOVX @DPTR,A LCALL DELAY1 MOV A,#0FFH MOVX @DPTR,A LCALL DELAY1 AJMP LP1 ;锯齿波子程序///////////// JVCHI: MOV DPTR,#0FFFEH MOV A,#0FFH WW:MOVX @DPTR,A DEC A NOP

NOP NOP AJMP WW ;梯形波子程序 TIXING: MOV DPTR,#0FFFEH MOV R2,#07DH MOV R4,#0AFH MOV A,#00H D1:MOVX @DPTR,A LCALL DELAY2 ADD A,R2 DJNZ R4,D1 AJMP D1 ;三角波子程序/////////////// SANJIAO: MOV DPTR,#0FFFEH MOV R6,#10H MOV A,#00H LOOP1: MOVX @DPTR,A ADD A,R6 CJNE A,#0FFH,LOOP1 LOOP2: MOVX @DPTR,A SUBB A,R6 CJNE A,#07H,LOOP2 AJMP LOOP1 ;正弦波子程序///////////////// ZHENGXIAN: MOV R1,#00H QZ:MOV A,R1 MOV DPTR,#SETTAB MOVC A,@A+DPTR MOV DPTR,#0FFFEH MOVX @DPTR,A INC R1 AJMP QZ ;延时程序2 DELAY2:MOV 31H,#02H PW:DJNZ 31H,PW RET ;延时子程序1 DELAY1: MOV 30H,#0FFH

基于单片机的低频信号发生器设计毕业设计论文

淮阴工学院 毕业设计说明书(论文) 作者: 学号: 学院: 电子与电气工程学院 专业: 电子信息工程 题目: 基于单片机的低频 信号发生器 张月红讲师 指导者: (姓名) (专业技术职务) 评阅者: (姓名) (专业技术职务) 年月

毕业设计说明书(论文)中文摘要

毕业设计说明书(论文)外文摘要

淮阴工学院毕业设计说明书(论文)第Ⅰ页共Ⅰ页4 目录 1 绪论................................................. 错误!未定义书签。 1.1 信号发生器综述..................................... 错误!未定义书签。 1.2信号发生器的发展历史............................... 错误!未定义书签。 2 硬件设计............................................. 错误!未定义书签。 2.1总体设计框图....................................... 错误!未定义书签。 2.2单片机最小系统..................................... 错误!未定义书签。 2.3 数模转换模块....................................... 错误!未定义书签。 2.4运算放大模块....................................... 错误!未定义书签。 2.5 键盘电路设计模块................................... 错误!未定义书签。 2.6显示电路设计模块................................... 错误!未定义书签。 3 软件设计............................................. 错误!未定义书签。 3.1 主程序流程图....................................... 错误!未定义书签。 3.2 子程序流程图....................................... 错误!未定义书签。 4 系统调试............................................. 错误!未定义书签。 4.1软件调试........................................... 错误!未定义书签。 4.2生成hex文件....................................... 错误!未定义书签。 4.3 Protues硬件电路仿真调试........................... 错误!未定义书签。 结论................................................... 错误!未定义书签。致谢................................................... 错误!未定义书签。参考文献............................................... 错误!未定义书签。附录................................................... 错误!未定义书签。附录A 电路原理图.仿真图............................... 错误!未定义书签。附录B 程序清单........................................ 错误!未定义书签。

基于DAC0832芯片的简单信号发生器设计

东北石油大学课程设计 2012年3月 9 日

东北石油大学课程设计任务书 课程单片机原理及应用课程设计 题目基于DAC0832芯片的简单信号发生器设计 专业班级姓名学号 一、设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。 二、设计要求: 1. 应用MCS-51单片机设计基于DAC0832芯片的简单信号发生器; 2. 频率范围:0-1KHZ,输出电压:方波Up-p>3V,正弦波Up-p> 1V,波形特性:方波tr<100us,正弦波非线性失真系数r<5%; 3. 硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程; 4. 软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单; 5. 原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单。 三、参考资料: [1] 单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社; [2] 单片机原理及应用,张毅刚编著,高等教育出版社; [3] 51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社; [4] 单片机原理及接口技术,李朝青编著,北京航空航天大学出版社; 完成期限2012.3.5—2012.3.9 指导教师 专业负责人 2012年 3 月2 日

目录 目录.......................................................................................................................... I 第1章概述.. (1) 第2章信号发生器的原理 (2) 2.1 AT89C51芯片的简单介绍 (2) 2.2 数模转换器DAC0832的简单介绍 (4) 2.3共阳数码管和运算放大器LM358 (6) 第3章硬件电路设计 (7) 3.1 单片机最小系统 (7) 3.2 电源电路的设计 (8) 3.3 D/A转换接口电路的设计 (8) 第4章程序设计 (9) 4.1 主程序设计 (9) 4.2 信号发生器源程序 (10) 第5章总结 (14) 参考文献 (15)

基于51单片机的函数信号发生器

基于51单片机的函数信号发生器 设计方案 利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生10Hz—10kHz 的波形。通过键盘来控制四种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 设计要求 1)、利用单片机采用软件设计方法产生四种波形 2)、四种波形可通过键盘选择 3)、波形频率可调 4)、需显示波形的种类及其频率 方案设计 1 信号发生电路方案

通过单片机控制D/A,输出四种波形。此方案虽输出的波形不够稳定,抗干扰能力弱,不易调节,但此方案电路简单、成本低。因此选用此方案。 2 单片机的选择 AT89C52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。 3 显示方案 采用LCD液晶显示器1602。其功率小,效果明显,显示编程容易控制,可以显示字母。 4 键盘方案论证 采用独立式键盘。独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。 总体系统设计 该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键

输入,利用液晶显示电路输出数字显示的方案。将设计任务分解为按键电路、液晶显示电路等模块。下图为系统的总体框图: 总体方框图 硬件实现及单元电路设计 1单片机最小系统的设计 AT89C52是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图(2) 89C51单片机最小系统所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点: (1)有可供用户使用的大量I/O口线。

基于51单片机的信号发生器设计报告

基于51单片机的信号发生器设计报告 二零一四年十二月十一日

摘要 根据题目要求以及结合实际情况,本文采用一种以AT89C51单片机为核心所构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的频率可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。本设计经过测试,性能和各项指标基本满足题目要求。 关键词:信号发生器 DAC0832芯片 LM358运放 89C51芯片

目录 摘要...................................................................... 目录...................................................................... 第一章绪论................................................................. 1.1单片机概述........................................................... 1.2信号发生器的概述和分类.............................................. 1.3问题重述及要求....................................................... 第二章方案的设计与选择................................................... 2.1方案的比较........................................................... 2.2设计原理 ............................................................. 2.3设计思想 ............................................................. 2.4实际功能 ............................................................. 第三章硬件设计............................................................ 3.1硬件原理框图......................................................... 3.2主控电路 ............................................................. 3.3数、模转换电路....................................................... 3.4按键接口电路......................................................... 3.5时钟电路 ............................................................. 3.6显示电路 ............................................................. 第四章软件设计............................................................ 4.1程序流程图........................................................... 参考文献.................................................................... 附录1 电路原理图 .......................................................... 附录2 源程序............................................................... 附录3 器件清单......................................................

课程设计-基于DAC0832的波形发生器设计讲解

波形发生器设计 目录 摘要 (1) 第一章绪论 (2) 第二章DAC0832及其特性 (3) 2.1 D/A转换器与单片机接口探究 (3) 2.1.1 数据线连接 (3) 2.1.2 地址线连接 (3) 2.1.3 控制线连接 (3) 2.2 DAC0832的认识 (4) 2.2.1 DAC0832的结构 (4) 2.2.2 DAC0832的引脚 (4) 2.2.3 DAC0832的启动控制方式 (5) 第三章硬件设计 (7) 3.1 启动方式选择 (7) 3.2 框图设计 (7) 3.3 电路图设计 (7) 第四章程序设计 (9) 4.1 程序流程图 (9) 4.1.1 程序设计思路 (9) 4.1.2流程图 (9) 4.2 用C语言实现 (11) 4.3 用汇编语言实现 (14) 第五章Proteus仿真及结果 (17) 5.1方波: (17) 5.2正弦波: (17) 5.3三角波: (18) 5.4梯形波: (18) 5.5锯齿波: (19) 设计心得: (20) 参考文献: (21)

摘要 本设计使用AT89C51单片机做控制,选择8位D/A转换器DAC0832作D/A 转换。 硬件方面,首先51熟悉单片机的结构和工作原理,连接单片机的最小系统。之后熟悉D/A转换器工作方式,经过分析后选择DAC0832的单缓冲启动控制方式,完成电路框图。进一步根据设计要求完成通过独立按键控制D/A输出,作出电路框图和电路原理图。 软件方面:设计思路主要体现在两点上。一是控制,通过程序控制DAC转换与输出,按键消抖,选择相应的即将输出的波形。二是产生波形,根据波形的特点编写程序以产生相应波形的数字信号。 分别通过C语言和汇编语言实现简易的波形发生器,输出方波、正弦波、三角波、梯形波和锯齿波,通过独立按键控制分别输出不同的波形。以KILL 与Proteus为设计平台,仿真测试设计结果的正确性。 关键字: 51单片机,DAC0832,单缓冲启动控制方式,波形发生器,C语言设计,汇编语言设计

基于51单片机函数信号发生器设计.

摘要: 本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602. this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. key word: AT89S52, DAC0832, liquid crystal 1602. 目录

单片机低频信号发生器课程设计.

目录 一、题目的意义 (1) 二、本人所做的工作 (1) 三、课设要求 (2) 四、课设所需设备及芯片功能介绍 (2) 4.1、所需设备 (2) 4.2、芯片功能介绍 (2) 五、总体功能图及主要设计思路 (5) 5.1、总体功能图 (5) 5.2、主要设计思想 (5) 六、硬件电路设计及描述 (7) 6.1、硬件原理图 (7) 6.2、线路连接步骤 (7) 七、软件设计流程及描述 (7) 7.1、锯齿波的实现过程 (7) 7.2、三角波的实现过程 (8) 7.3、梯形波的实现过程 (9) 7.4、方波的实现过程 (11) 7.5、正弦波的实验过程 (12)

7.6、通过开关实现波形切换和调频、调幅 (13) 八、程序调试步骤与运行结果 (15) 8.1、调试步骤 (15) 8.2、运行结果 (15) 九、课程设计体会 (17) 十、参考文献 (18) 十一、源代码及注释 (18) 一、题目的意义 (1)、利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。 (2)、我们这次的课程设计是以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、方波、梯形波等)且频率、幅度可变的函数发生器。 (3)、掌握各个接口芯片(如0832等的功能特性及接口方法,并能运用其实现一个简单的微机应用系统功能器件。 (4)、在平时的学习中,我们所学的知识大都是课本上的,在机房的练习大家也都是分散的对各个章节的内容进行练习。因此,缺乏一种系统的设计锻炼。在课程所学结束以后,这样的课程设计十分有助于学生的知识系统的总结到一起。 (5)、通过这几个波形进行组合形成了一个函数发生器,使得我对系统的整个框架的设计有了一个很好的锻炼。这不仅有助于大家找到自己感兴趣的题目,更可以锻炼大家单片机知识的应用。 二、本人所做的工作

简易信号发生器单片机课程设计报告

课程设计(论文)任务书 电气学院电力系统及其自动化专业12(1 )班 一、课程设计(论文)题目:简易信号发生器设计 二、课程设计(论文)工作自 2015年1 月12 日起至2015 年 1月16 日止。 三、课程设计(论文) 地点:电气学院机房 10-303 四、课程设计(论文)内容要求: 1.课程设计的目的 (1)综合运用单片机原理及应用相关课程的理论知识和实际应用知识,进行单片机应用系统电路及程序设计,从而使这些知识得到进一步的巩固,加深和发展;(2)熟悉和掌握单片机控制系统的设计方法,汇编语言程序设计及proteus 软件的使用; (3)通过查阅图书资料、以及书写课程设计报告可提高综合应用设计能力,培养独立分析问题和解决问题的能力。 2.课程设计的内容及任务 (1)可产生频率可调的正弦波(64个点)、方波、锯齿波或三角波。 (2)显示出仿真波形。 (3)通过按键选择输出波形的种类。 (4)在此基础上使输出波形的幅值可控。

3.课程设计说明书编写要求 (1)设计说明书用A4纸统一规格,论述清晰,字迹端正,应用资料应说明出处。(2)说明书内容应包括(装订次序):题目、目录、正文、设计总结、参考文献等。应阐述整个设计内容,要重点突出,图文并茂,文字通畅。 (3)报告内容应包括方案分析;方案对比;整体设计论述;硬件设计(电路接线,元器件说明,硬件资源分配);软件设计(软件流程,编程思想,程序注释,) 调试结果;收获与体会;附录(设计代码放在附录部分,必须加上合理的注释)(4) 学生签名: 2015年1月16 日 课程设计(论文)评审意见 (1)总体方案的选择是否正确;正确()、较正确()、基本正确()(2)程序仿真能满足基本要求;满足()、较满足()、基本满足()(3)设计功能是否完善;完善()、较完善()、基本完善()(4)元器件选择是否合理;合理()、较合理()、基本合理()(5)动手实践能力;强()、较强()、一般()(6)学习态度;好()、良好()、一般()(7)基础知识掌握程度;好()、良好()、一般()(8)回答问题是否正确;正确()、较正确()、基本正确()、不正确() (9)程序代码是否具有创新性;全部()、部分()、无() (10)书写整洁、条理清楚、格式规范;规范()、较规范()、一般()总评成绩优()、良()、中()、及格()、不及格() 评阅人:

51单片机与0832波形发生器锯齿波、三角波、正弦波

// 锯齿波 #include #include // 绝对地址访问头文件 #define DAC0832 XBYTE[0x7fff] //DAC0832的地址为0x7fff void delay() // 定时器定时1ms { TH1=0xfc; TL1=0x18; //定时器初值设定 TR1=1; //启动定时器 while(!TF1); //查询是否溢出 TF1=0; //将溢出标志位清零 } void main() {unsigned char i; TMOD=0x10; // 设置定时器工作方式 while(1) {for(i=0;i<=255;i++) //形成锯齿波,最大值为255 { DAC0832=i; // D/A转换输出 delay(); // 延时 } } } //三角波 #include #include // 绝对地址访问头文件 #define DAC0832 XBYTE[0x7fff] //DAC0832的地址为0x7fff void delay() // 定时器定时1ms { TH1=0xfc; TL1=0x18; //定时器初值设定 TR1=1; //启动定时器 while(!TF1); //查询是否溢出 TF1=0; //将溢出标志位清零 } void main() {unsigned char i; TMOD=0x10; // 设置定时器工作方式 while(1) {for(i=0;i<255;i++) //形成三角波,i增加到最大值为255 {

基于51单片机的简易函数信号发生器

创新性实验研究报告实验项目名称_简易函数信号发生器

四、实验内容

2、实验内容 1、运用keil软件对程序进行编写,运行程序,并进行程序修改。 2、运用protues软件进行硬件电路仿真设计。 3、将程序下载到仿真单片机中,并观测输出波形。 4、对程序进行修改,再次运行仿真软件,直到输出理想的波形。 5、仿照仿真软件进行硬件电路的焊接。 6、将程序下载到单片机,并用示波器测试输出波形。 7、对程序进行修改,直到输出满意的波形为止。

3、实验步骤 1、首先打开keil软件. 2、运用keil软件对程序进行编写,程序见附件。 3、打开protues软件. 4、运用protues软件对硬件电路进行设计。 9C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形。单片机引脚分配如下:?XTAL1,XTAL2:外接晶振,产生时钟信号。 ?RST:复位电路; ?P2口:8位数字信号输出输出,外接DAC0832; ?P3.6口和P3.7口:DAC0832的时钟信号; 单片机模块 单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。由于其输出为电流输出,因为外加运算放大器LM324使之转换为电压输出。最后通过示波器显示输出的波形。

基于51单片机的信号发生器

基于51单片机的函数发生器 以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以产生最高频率798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。 关键词:低频信号发生器;单片机;D /A转换; 一.设计任务 设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。 二.系统概述 2.1总体方案: 采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器, 生成的波形比较纯净。它的特点是可产生任意波形,频率容易调节,频率能达到 设计的500HZ以上。性能高,在低频范围内稳定性好、操作方便、体积小、耗电 少。将输出电压通过一个运算放大器的放大来改变幅度。这样还有个优点是幅度 连续可调。 2.2工作原理: 数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如下图所示。

基于单片机的信号发生器设计

基于单片机的信号发生器设计

基于单片机的信号发生器 设计

摘要 在介绍MAX038 芯片特性的基础上,论述了采用MAX038 芯片设计数字函数信号发生器的原理以及整机的结构设计。对其振荡频率控制、信号输出幅度控制以及频率和幅度数显的实现作了较详细的论述。该函数信号发生器可输出三角波,方波和正弦波。 本文重点论述了整机通过D/A转换电路控制MAX038的实现过程,D/A转换电路采用了8位4通道的MAX505来实现。在幅度的控制上采用数字电位器AD5171,该芯片是I2C总线方式控制,文中给出了I2C总线的读写控制程序。系统支持按键操作和上位机操作两种模式。 关键词:函数信号;D/A ;单片机控制

Design of Signal Generator System Based on SCM Zisu zhou (College of Zhangjiajie, Jishou University, Jishou,Hunan 416000) Abstract Based on the introduction of MAX038 , we discussed the principle and the whole frame of the digital function signal generator. We described the control of the oscillatory frequent , amplitude and the digital display in detail. Thegenerator can output three kinds of waves : sine wave , square wave , triangle wave. This text has exposition the mirco-computer controls the D/A electric circuit of conversion realize the process. In D/A changing electric circuit adopt the 8 bit 4 channel come to realize. Porentiometer AD5171 is adopted in the control of length. This chip is that I2C bus control way. This system supports key-control or computer-control modes. Key words : function signal ;D/A ;single - chip microprocessor control ;

dac0832函数信号发生器.

智能仪器课程设计 设计题目:函数信号发生器设计 学生姓名:赵鑫、罗承波、江再农 学院名称:机械工程学院 班级:测控技术与仪器062班 学号:200646000227、20064600222、20064600215 指导教师:袁锋伟、王玉林、蒋彦 2009年6月

设计任务: 设计一个函数信号发生器,具体指标如下: 1采用AT89S51及DAC0832设计函数信号发生器; 2输出函数信号为正弦波或三角波或阶梯波; 3输出信号频率为100Hz,幅度0-10V可调; 4必须具有信号输出及外接电源、公共地线接口

低频函数信号发生器的设计 摘要:信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。目前使用的信号发生器大部分是利用分立元件组成的体积大,可靠性差,准确度低。课程设计需要各个波形的基本输出,这些波形的实现的具体步骤:正弦波的实现是非常麻烦的。它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。而三角波,则每次累加1,当达到初值时,每次累减1,算出延时时间,也就达到要求了,阶梯波和三角波类似!该设计使用的是AT89S51单片机构成的发生器,可产生三角波、方波、正弦波等多种波形,波形的频率可用程序控制改变。在单片机上加外围器件独立式开关,通过开关控制波形的选择。在单片机的输出端口接DAC0832进行DA转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。 关键词:信号发生器;单片机;波形调整

The design of low-frequency function signal-generator Abstract:Signal generator is a common signal source, widely used in electronic circuits, automatic control systems and experiments in areas such as teaching. Currently used by most of the signal generator is composed of discrete components use bulky, poor reliability, low accuracy. Curriculum design of the basic needs of all the output waveform, the waveform of the specific steps to achieve: the realization of sine wave is very troublesome. It is through the implementation of the definition of some data, and then direct the output when the definition of the implementation of the data on it. The triangle wave, then add 1 each time, when the initial value to reach every tired by 1, calculate the delay time, they meet the requirement, the ladder-wave and triangular wave similar! The design is composed of single-chip AT89S51 generator can produce the triangular wave, square wave, sine wave, etc.,

基于51单片机函数信号发生器设计

摘要:本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602 Abstract: this system capitalize on AT89s52,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave, the square-wave, the triangular wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602.this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. key word: AT89S52, DAC0832, liquid crystal 1602.

相关主题
文本预览
相关文档 最新文档