基于单片机编程的波形发生以及仿真图
89C51单片机设计多功能低频函数信号发生器,能产生方波、正弦波、三角波等信号波形

波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
本次课程设计使用的AT89S51 单片机构成的发生器可产生锯齿波、三角波、正弦波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑等优点。
在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示。
二、系统设计波形发生器原理方框图如下所示。
波形的产生是通过AT89S51 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
在AT89S51的P2口接5个按扭,通过软件编程来选择各种波形、幅值电压和频率,另有3个P2口管脚接TEC6122芯片,以驱动数码管显示电压幅值和频率,每种波形对应一个按钮。
此方案的有点是电路原理比较简单,实现起来比较容易。
缺点是,采样频率由单片机内部产生故使整个系统的频率降低。
1、波形发生器技术指标1)波形:方波、正弦波、锯齿波;2)幅值电压:1V、2V、3V、4V、5V;3)频率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;2、操作设计1)上电后,系统初始化,数码显示6个…-‟,等待输入设置命令。
2)按钮分别控制“幅值”、“频率”、“方波”、“正弦波”、“锯齿波”。
3)“幅值“键初始值是1V,随后再次按下依次增长1V,到达5V后在按就回到1V。
4)“频率“键初始值是10HZ,随后在按下依次为20HZ、50HZ、100HZ、200HZ、500HZ、1000HZ循环。
三、硬件设计本系统由单片机、显示接口电路,波形转换(D/A)电路和电源等四部分构成。
电路图2附在后1、单片机电路功能:形成扫描码,键值识别、键处理、参数设置;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路和显示驱动电路。
单片机产生波形控制灯亮度(共6张PPT)

这次设计利用51单片机产生占空比可变的矩形波,当产生此矩形波的 I/O口通过滤波电路再与LED灯相接后,由于输出矩形波占空比不断变化, 那么一个周期内有一部分时间LED导通,一部分时间截止,从整体来看 有一个平均电压,PWM信号频率很高的,我们无法通过肉眼来观察到每 一个周期LED灯亮灭的变化过程,所以只好通过平均电压这样一种方式 来决定这个LED的亮的程度了。 随着波形占空比不断变化,LED灯也会 有暗到亮再从亮到暗不断变化。
对单于片控 机制产L生E波D灯形有控暗制到灯亮亮先或度由对亮到定暗0,赋采用初的是值脉,宽P使WM之法。中断(定时)5ms,再让其中断10次(次数 单片机产生波形控制灯亮可度 设定,只是输出波占空比变化快慢不同而已),再定义两个变 采脉用冲单 宽片度机调定制时(P器WM产)生,P是W量英M文波c“c,P=u然ls0e后,W控id制ethLeEM=Do1灯du0的laHt亮io(n度”的。不缩写同,的简称值脉宽会调有制,不是利同用的微处周理器期的,数字即输P出来W对M模波拟电的路进周行期控制,的一种 非为可常了以有 反 通效映过的出调技定整术时PW,器M广中的泛断周应对期周 时用脉、在冲P期 再从变W测化Mc不的c量的-能占、影-,空通响太比信,e而到在大e达功P+1,到率.+控控。否制制在充则与电变主会电换流的程闪的许序烁目多的领中)。域中令。。Pcc2+.0+口,当eec-c-,从当0到cc1=01H0的H,时e间e为=0高 0长口,当低c电c从平0时到间10越H的来时越间短电为。高平电平,,而而eee从e1从0H1到00的H时到间为0的低电时平,间由为于定低时器电的平中断,,c由c不于断增定加时,ee器不断的减中少,断则高,电c平c时不间越来越 单片机产生波形控制灯亮断度 增加,ee不断减少,则高电平时间越来越长,低电平时间越来 二cc,++P,WeMe-控-,制当LcEcD=暗10亮H,原越e理e=短0时。再c(c--,总ee周++。期不变) 为脉了冲反 宽映度出调定制时(P器WM中•)断,对是脉英冲文变“P化uls为的e影W了响idt,h反在Mo映Pd1u.出latio定n”的时缩写器,中简称断脉宽对调脉制,冲是变利用化微处的理影器的响数字,输在出来P对1模.0拟口电路接进行一控制的一种 非这常次有 设效计的利技用术51,单广片泛机应产按用生在占键从空测比,量可按、变通的住信矩到时形功波P率,1控当.制0产与低生变此电换矩的形平许波,多的领I/中O域口中断通。过次滤波数电2路5再次与L,ED1灯2相5接m后s,脉由于冲输变出矩化形波一占次空比,不断变 化,那么一个周期内有一可部分看时间到LE波D导形通,占一空部分比时变间截化止,较从慢整体,来看按有键一个松平均开电时压,PP1W.M0信高号电频率平很高,的中,我断们无10法次通过,肉眼来 观察到每一个周期LED灯则亮灭波的变形化占过程空,所比以变只好化通过较平快均电。压这样一种方式来决定这个LED的亮的程度了。
基于51单片机的波形发生器的设计讲解

目录1 引言 (1)1.1 题目要求及分析 (1)1.1.1 示意图 (1)1.2 设计要求 (1)2 波形发生器系统设计方案 (2)2.1 方案的设计思路 (2)2.2 设计框图及系统介绍 (2)2.3 选择合适的设计方案 (2)3 主要硬件电路及器件介绍 (4)3.1 80C51单片机 (4)3.2 DAC0832 (5)3.3 数码显示管 (6)4 系统的硬件设计 (8)4.1 硬件原理框图 (8)4.2 89C51系统设计 (8)4.3 时钟电路 (9)4.4 复位电路 (9)4.5 键盘接口电路 (10)4.7 数模转换器 (11)5 系统软件设计 (12)5.1 流程图: (12)5.2 产生波形图 (12)5.2.1 正弦波 (12)5.2.2 三角波 (13)5.2.3 方波 (14)6 结论 (16)主要参考文献 (17)致谢....................................................... 错误!未定义书签。
1引言1.1题目要求及分析题目:基于51单片机的波形发生器设计,即由51单片机控制产生正弦波、方波、三角波等的多种波形。
1.1.1示意图图1:系统流程示意图1.2设计要求(1) 系统具有产生正弦波、三角波、方波三种周期性波形的功能。
(2) 用键盘控制上述三种波形(同周期)的生成,以及由基波和它的谐波(5次以下)线性组合的波形。
(3) 系统具有存储波形功能。
(4) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调,频率步进间隔≤100Hz,非正弦波的频率按照10次谐波来计算。
(5) 系统输出波形幅度范围0~5V。
(6) 系统具有显示输出波形的类型、重复频率和幅度的功能。
2波形发生器系统设计方案设计并制作一个波形信号发生器,能够产生正弦波、方波、三角波的波形,其中不使用DDS和一些专用的波形产生芯片。
并让系统的频率范围在1Hz~1MHZ可调节,在频率范围在1HZ~10KHz时,步进小于或等于10Hz,在频率范围在10KHz~1MHz时,步进小于或等于100Hz,并且电压在0~5V范围,能够实时的显示波形的类型、频率和幅值。
单片机产生各种波形及其程序图

,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe
9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5
,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xfe,0xfd ,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0x e9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda ,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb 1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99 ,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0 x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51 ,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0 x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16 ,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0 x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08, 0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15 ,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0 x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e ,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0 x80 }; void delayms(uint t) {
单片机波形发生器

前言波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。
函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。
在 70 年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。
这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。
同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。
在 70 年代后,微处理器的出现,可以利用处理器、A/D/和 D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。
这时期的波形发生器多以软件为主,实质是采用微处理器对 DAC的程序控制,就可以得到各种简单波形。
90 年代末,出现几种真正高性能、高价格的函数发生器、但是HP公司推出了型号为 HP770S的信号模拟装置系统,它由 HP8770A任意波形数字化和HP1776A波形发生软件组成。
HP8770A实际上也只能产生8 中波形,而且价格昂贵。
不久以后,Analogic公司推出了型号为 Data-2020的多波形合成器,Lecroy 公司生产的型号为9100 的任意波形发生器等。
到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过GHz 的DDS 芯片,同时也推动了函数波形发生器的发展,2003 年,Agilent的产品 33220A能够产生17种波形,最高频率可达到 20M,2005 年的产品N6030A 能够产生高达 500MHz的频率,采样的频率可达 1.25GHz。
单片机课程设计———波形发生器

课程设计任务书题目波形发生器专业、班级学号姓名主要内容:设计一个产生各种波形的波形发生器基本要求:利用单片机P1.0引脚输出频率范围1Hz – 1000Hz的正弦波、方波、三角波、梯形波、锯齿波,并用示波器观察。
目录一、设计目的及意义 ........................................................................... - 3 -1.1设计目的 (3)1.2设计意义 (3)二、方案论证 ....................................................................................... - 3 -2.1设计要求 (3)2.2方案论证 (4)三、硬件电路设计 ............................................................................... - 4 -3.1设计思路、元件选型 (4)3.2原理图 (5)3.3主要芯片介绍 (5)3.4硬件连线图 (8)四、软件设计 ....................................................................................... - 9 -4.1锯齿波的产生过程 (10)4.2梯形波的产生过程 (11)4.3三角波的产生过程 (13)4.4方波的产生过程 (14)4.5正弦波的产生过程 (15)五、调试与仿真 ................................................................................. - 16 -六、总结.............................................................................................. - 19 -七、参考文献: ................................................................................. - 19 -一、设计目的及意义1.1设计目的(1)利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。
(完整word版)基于单片机的正弦波信号发生器的设计

(完整word版)基于单片机的正弦波信号发生器的设计毕业设计论文题目:基于单片机的正弦波信号发生器的设计系部:电子信息工程系专业名称:电子信息工程技术班级: 08431 学号:33姓名:顾伟国指导教师:郑莹完成时间:2011 年 5 月12 日(完整word版)基于单片机的正弦波信号发生器的设计基于单片机的正弦波信号发生器的设计摘要:信号发生器的应用越来越广,对信号发生器的频率稳定度、频谱纯度、频率范围和输出信号的频率微调分辨率提出越来越高的要求,普通的频率源已经不能满足现代电子技术的高标准要求。
因而本设计采用了AT89C51单片机为控制核心,通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生1HZ—180HZ的正弦波波形。
通过键盘来控制波形频率变化,并通过液晶屏1602显示其波形以及频率和幅度值的大小。
关键字:信号发生器;AT89C51;D/A转换器DAC0832Based on SCM sine wave signal generator designAbstract:Signal generator used more and more widely, to signal generator frequency stability, the spectrum purity,frequency range and output signal frequency fine-tune resolution higher and higher demands are proposed,the average frequency source cannot have satisfied the high standard requirement of modern electronic technology. So this design USES A AT89C51 as control core,through the D/A converter DAC0832 converts digital signals into analog signals, filter and amplification, finally shown by oscilloscope 1HZ — 180HZ, can produce the sine wave。
毕业设计--基于AT89S51单片机的数字信号发生器

基于AT89S51单片机的数字信号发生器【摘要】智能仪器的出现,极大地扩充了传统仪器的应用范围。
智能仪器凭借其体积小、功能强、功耗低等优势,迅速地在家用电器、科研单位和工业企业中得到了广泛的应用。
本系统是基于AT89S51单片机设计的数字式波形发生器。
采用AT89S51作为系统的控制核心,外围电路采用数字/模拟转换电路(DAC0832),运放电路(MC1458),按键,ISP接口等。
通过按键控制切换产生正弦波,锯齿波,三角波,方波,各类型信号的频率统一为100HZ,而幅值在-5V~+5V范围内可调。
本设计电路原理简单,性能较好,具有一定的实用性和参考价值。
【关键词】单片机 ,波形发生器,D/A电路DIGITAL SIGNAL GENERATOR DESIGN BASED ON AT89S51【ABSTRACT】The emergence of intelligent machines, which greatly expanded the scope of application of traditional instruments. Intelligent instrument, with its small size, powerful, low-power advantages of home appliances quickly, research institutes and industrial enterprises has been widely used.The system is a digital waveform generator based on single chip computer. AT89S51 is used as a control core. The system is composed by digital/analog conversion (DAC0832),imply circuit (MC1458),button ISP inferface and LED lights. It can generate square triangle and sine wave,with LED display .The frequency of various types of signal unity of 100HZ, but the amplitude in the-5V ~ +5 V range adjustable. The circuit design is simple, better performance, has some practical and reference value.【KEY WORDS】the single chip computer , the signal generator , D/A conversion目录绪论 (9)1. 波形发生器现状 (9)2. 单片机在波形发生器中的运用 (9)第一章系统设计 (10)1. 系统要求 (11)2. 系统方案选择与论证 (11)3. 系统设计原理与思路 (11)第二章硬件电路的设计 (12)1. AT89S51的介绍 (12)2. 资源分配 (15)3. 最小单片机系统的设计 (15)4. 各模块电路的设计 (17)5. ISP接口 (23)第三章软件设计 (24)1. 主程序的设计 (25)2. 锯齿波程序的设计 (25)3. 三角波程序的设计 (26)4. 正弦波程序的设计 (27)5. 方波程序的设计 (28)第四章测试仿真 (29)1. 软件仿真 (29)2. 仿真结论分析 (30)3. 硬件测试结论分析 (31)绪论1.波形发生器现状波形发生器作为一种常用的应用电子仪器设备,传统的波形发生器可以完全用硬件电路搭建,如应用555振荡电路可以产生正弦波,三角波,方波等波形,传统的波形发生器多采用这种方式设计,这种方式不应用单片机,但是这种方式存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点,在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟震动等领域往往需要低频信号源,而由硬件搭建的波形发生器效果往往达不到好的效果,而且低频信号源所需要的RC很大,大电阻,大电容在制作上有困难,参数的精度也难以保证,而且体积大,漏电,体积大是该类波形发生器的显著缺点。
基于51单片机的波形发生器的设计汇总

基于51单片机的波形发生器的设计汇总波形发生器是电子领域中常用的一种设备,用于产生各种不同形式的波形信号。
本文将基于51单片机的波形发生器的设计进行汇总。
设计思路如下:一、基本原理波形发生器的基本原理是通过控制数字信号的高低电平来产生不同的波形。
在这个设计中,我们将使用51单片机作为控制器来产生波形信号。
二、硬件部分1.时钟电路:使用一个晶体振荡器作为时钟源,提供稳定的时钟脉冲给51单片机。
2.电源电路:使用稳压电源提供稳定的电压给51单片机和其他电路。
3.单片机电路:将51单片机与其他电路进行连接,包括输入输出端口和相应的外部电路。
4.波形输出电路:根据需要产生不同的波形,设计相应的输出电路,包括滤波器、电阻、电容等元器件。
三、软件部分1.系统初始化:在系统上电后,进行相应的初始化工作,包括设置引脚功能、中断,设置计时器等。
2.波形生成算法:根据用户的选择,使用合适的算法生成相应的波形信号。
常见的波形有正弦波、方波、三角波等。
3.输出控制:根据生成的波形信号,通过设置相应的输出引脚,将波形信号输出到波形输出电路中。
4.用户界面:设计一个简单的用户界面,让用户可以选择不同的波形、调整频率、幅度等参数。
5.中断处理:使用中断功能来处理波形输出频率的控制,实现较高的输出稳定性。
四、设计考虑1.精度要求:根据具体应用场景,确定波形发生器的精度要求。
如果需要较高的精度,可能需要采用更复杂的算法和更精密的输出电路。
2.输出负载:考虑波形发生器的输出负载情况,选择合适的输出电路,以确保波形信号的准确性和稳定性。
3.电源稳定性:电源的稳定性对波形发生器的性能也有影响,需要注意电源供电的稳定性。
五、测试与优化完成波形发生器设计后,进行相应的测试与优化。
包括波形信号的频率、幅度等测试,以及对输出电路、算法等进行优化。
最后,通过以上的设计思路,我们可以完成基于51单片机的波形发生器的设计。
根据具体的应用需求,可能需要对硬件和软件进行相应的调整和优化。
用单片机制作的波形发生器

用单片机制作的波形发生器波形发生器的技术指标:(1)波形类型:方型、正弦波、三角波、锯齿波;(2)幅值电压:1V、2V、3V、4V、5V;(3)频率值:10Hz、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4)输出极性:双极性操作设计1、机器通电后,系统进行初始化,LED在面板上显示6个0,表示系统处于初始状态,等待用户输入设置命令,此时,无任何波形信号输出。
2、用户按下“F”、“V”、“W”,可以分别进入频率,幅值波形设置,使系统进入设置状态,相应的数码管显示“一”,此时,按其它键,无效;3、在进入某一设置状态后,输入0~9等数字键,(数字键仅在设置状态时,有效)为欲输出的波形设置相应参数,LED将参数显示在面板上;4、如果在设置中,要改变已设定的参数,可按下“CL”键,清除所有已设定参数,系统恢复初始状态,LED显示6个0,等待重新输入命令;5、当必要的参数设定完毕后,所有参数显示于LED上,用户按下“EN”键,系统会将各波形参数传递到波形产生模块中,以便控制波形发生,实现不同频率,不同电压幅值,不同类型波形的输出;6、用户按下“EN”键后,波形发生器开始输出满足参数的波形信号,面板上相应类型的运行指示灯闪烁,表示波形正在输出,LED显示波形类型编号,频率值、电压幅值等波形参数;7、波形发生器在输出信号时,按下任意一个键,就停止波形信号输出,等待重新设置参数,设置过程如上所述,如果不改变参数,可按下“EN”键,继续输出原波形信号;8、要停止波形发生器的使用,可按下复位按钮,将系统复位,然后关闭电源。
硬件组成部分通过综合比较,决定选用获得广泛应用,性能价格高的常用芯片来构成硬件电路。
单片机采用MCS-51系列的89 C51(一块),74LS244和74LS373(各一块),反相驱动器ULN2803A(一块),运算放大器LM324(一块)波形发生器的硬件电路由单片机、键盘显示器接口电路、波形转换(D/ A)电路和电源线路等四部分构成。
基于单片机的波形发生器设计及实现

基于单片机的波形发生器设计及实现基于单片机的波形发生器是一种能够输出各种波形信号(如正弦波、方波、三角波等)的电子设备。
它通常由单片机、存储器、数字模拟转换器(DAC)、时钟电路、显示屏幕等组成。
本文将详细介绍基于单片机的波形发生器的设计和实现过程。
首先,我们选择一款合适的单片机作为波形发生器的控制核心。
在选择单片机时,需要考虑其计算能力、输入输出接口、外设资源等因素。
常见的单片机有STM32系列、Arduino等。
接下来,我们需要设计存储器组件来存储各种波形信号数据。
可以使用EEPROM或FLASH作为存储器,将波形信号经过编码后存储在其中。
编码方式有多种选择,如幅值编码、相位编码等。
在波形发生器中,我们需要存储多个波形信号的数据,因此需要设计合适的数据格式来存储不同波形信号的信息。
然后,我们需要设计数字模拟转换器(DAC)电路,将存储器中的数字信号转换为模拟信号输出。
DAC电路的设计需要考虑输出分辨率、精度以及电压范围等因素。
通常情况下,我们可以使用市场上现成的DAC芯片,如R-2R型DAC芯片。
接下来,我们需要设计时钟电路,用以控制波形信号的频率和相位。
时钟电路一般使用晶体振荡器提供稳定的时钟信号。
根据波形信号的需求,我们可以选择不同的工作频率和相位。
最后,我们需要选择合适的显示屏幕来显示输出的波形信号。
显示屏幕可以选择液晶显示屏或者OLED显示屏,具体选择则取决于要求和预算。
在实现基于单片机的波形发生器时,我们需要注意以下几点:首先,需要编写控制单片机的程序代码。
程序代码需要实现波形信号的生成、存储器数据的访问、DAC电路的控制以及时钟信号的生成等功能。
其次,需要进行电路布局设计和焊接工作。
通过将各个电路模块进行合理布局,以减小电路的干扰,提高波形发生器的性能。
最后,进行测试和调试工作。
在测试和调试时,我们需要对波形发生器输出的波形进行检测,以确保波形的准确性和稳定性。
同时,还需要对其他模块,如存储器、DAC、时钟电路等进行测试和调试。
基于单片机的波形发生器(C语言)

单片机原理及接口技术课程设计报告设计题目:波形发生器学号:*********姓名:**指导教师:孙**信息与电气工程学院二零一五年六月波形发生器设计波形发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。
在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都学要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。
信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。
它可以产生多种波形信号,如正弦波,三角波,方波等,因而广泛用于通信、雷达、导航、宇航等领域。
本系统利用单片机AT89C51采用程序设计方法产生锯齿波、正弦波、三角波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,并通过LED显示其各自的周期。
本次关于产生不同低频信号的信号源的设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。
该信号源的特点是:体积小、价格低廉、性能稳定、实现方便、功能齐全。
1. 设计任务结合实际情况,基于AT89C51单片机设计一个波形发生器。
该系统应满足的功能要求为:(1) 产生三种波形(三角波、锯齿波、正弦波);(2) 按键选择波形,加减键选择频率;(3) 在示波器中显示三种波形;(4) 在六位数码管上显示周期;主要硬件设备:单片机实验开发系统、AT89C51单片机、DAC数模转换芯电路、六位数码管(LED)、矩阵键盘、8155芯片、示波器。
2. 整体方案设计波形发生器系统以AT89C51单片机作为整个系统的控制核心,应用其强大的接口功能,构成整个波形发生器系统。
利用 AT89S52 单片机构造多功能信号发生器,可产生正弦波,方波,三角波,锯齿波四种波形,通过 C 语言对单片机的编程即可产生相应的波形信号,并可以通过键盘进行各种功能的转换和信号频率的控制,当输出的数字信号通过数模转换成模拟信号也就得到所需要的信号波形,通过运算放大器的放大输出波形,同时让显示器显示输出的波形信息。
基于单片机的数字波形发生器设计及仿真

安徽文达信息工程学院毕业论文基于单片机的数字波形发生器设计及仿真专业班级:电子信息工程姓名:王晓侠学号:日期:2015 年 4 月24 日摘要:信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。
目前使用的信号发生器大部分是函数信号发生器,且特殊波形发生器的价格昂贵。
所以本设计使用的是89C52单片机构成的发生器,可产生三角波、方波、正弦波等多种特殊波形和任意波形,波形的频率可用程序控制改变。
在单片机上加外围器件距阵式键盘,通过键盘控制波形频率的增减以及波形的选择,并用了LCD显示频率大小。
在单片机的输出端口接DAC0808进行D/A转换,再通过运放进行波形调整,最后输出波形接在示波器上显示。
在介绍DAC0808芯片特性的基础上,论述了采用DAC0808芯片设计数字函数信号发生器的原理以及整机的结构设计。
对其振荡频率控制、信号输出幅度控制以及频率和幅度数显的实现作了较详细的论述。
本系统利用89C52设计一个函数信号发生器,详细说明了其实现过程。
本系统使用汇编语言编写,用89C52单片机来实现各模块功能,使用PROTEUS进行仿真。
本文描述使用汇编语言和PROTEUS仿真实现函数信号发生器的基本功能,实现了方波、三角波、正弦波、锯齿波,本文给出了源程序、各模块的连接图以及仿真图,并做出了详细的分析。
关键词:PROTEUS 信号发生器89C52Based on single-chip signal generator design and simulationAbstract: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 function signal generator signal generator, waveform generator and a special price of expensive . So the dissertation is usage of the 89C52 single-chip microcomputer constitute of wave-form generator, which can generate triangle wave, square wave, sine wave etc variety wave-form, the period of wave can be controlled by procedure, at outer circle spare part of the machine, plus independence type keyboard , which can control wave increase or decrease of form-frequency and the choice of wave-form, at the same time LED display frequency size. The output of the machine connect DAC0808 to carry on a DA conversion,again pass operation amplifier to put an end exportation wave-form.Based on the introduction of DAC0808 , 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.This system uses 89C52 designed a function signal generator, describes detailedly the implementation process. The system uses the Assembler language, realizing every function uses 89C52, applying PROTEUS to simulate in order to realize the function every modules. This article describes the use of Assembler language and PROTEUS simulation, to achieve the basic functions of the Function signal generator, realized square-wave, triangle wave, sine wave, saw-tooth wave ,This article gives the original program and the simulating diagram and the combination of all of the modules, gives detail analysis of every simulating diagram as well.Keywords: PROTEUS Signal generator 89C52目录摘要: (II)Abstract: (III)第1章绪论 (1)1.1 信号发生器概述 (1)1.2 本论文主要研究的内容 (1)1.3 系统设计方案 (2)1.3.1 系统分析 (2)1.3.2 系统要求与需求分析 (3)第2章硬件设计 (4)2.1 总体硬件设计 (4)2.2 系统模块设计 (5)2.2.1显示器接口设计 (5)2.2.2 复位与时钟电路设计 (6)2.2.3 键盘接口设计 (7)2.2.4 D/A转换设计 (8)第3章软件设计 (11)3.1 软件总体设计 (11)3.2 软件功能设计 (12)3.2.1 系统初始化流程 (12)3.2.2 键盘扫描及处理程序设计 (13)3.2.3中断服务流程 (16)3.2.4 正弦波发生流程 (17)3.2.5 三角波发生流程 (21)3.2.6 方波发生流程 (22)3.2.7 锯齿波发生流程 (23)第4章系统调试 (25)4.1 PROTEUS软件仿真过程 (25)4.2 仿真结果 (26)4.3 仿真总结 (28)第5章结论与展望 (29)5.1 结论 (29)5.2 展望 (29)致谢...................................... 错误!未定义书签。
基于单片机波形发生器的实现与发生之欧阳家百创编

本科毕业设计(论文)欧阳家百(2021.03.07)题目基于单片机的波形发生器的实现与设计学生姓名专业班级学号院(系)指导教师(职称)完成时间摘要本文介绍了一种基于单片机的波形发生器的设计,整个系统通过单片机STC89C52控制外围数码管显示电路以及参数调节等实现正弦波、方波、三角波、锯齿波和脉冲波五种波形的输出显示。
该波形发生器主要由两部分组成:系统硬件设计和系统软件设计,在系统硬件设计中,以STC89C52单片机为核心,通过I/O接口设计,扩展了D/A转换模块、同时用LED显示灯指示对应的波形。
并且采用画图软件软件PROTEUS99SE画出原理图,设计并制作波形发生器的印制电路板(PCB)。
系统软件设计是在KeilC的集成开发环境下采用汇编语言完成的,包括主程序、四种波形产生子程序、按键功能子程序和显示子程序等模块。
本系统可以实现波形频率、幅度实时可调,功能灵活,系统的开发成本在百元内,具有测量精度高,误差小、功耗低,数据传输速度较快,可靠性高等特点,有一定的开发价值。
实验表明,设计系统的测试结果与实际波形的频率和幅度一致。
关键词:波形发生器;STC89C52;LED;PCBAbstractThis article describes the the design of the waveform generator based on single-chip, the entire system through the microcontroller STC89C52 controls the led that can finish convertting five waveform analog output of sine wave, square wave, triangle wave, saw tooth wave and pulse wave. The waveform generator consists of two parts: system hardware design and system software design, in the system hardware design, the microcontroller STC89C52 is the core of the design, through I/O interface design to extend the DA converter module, waveform selector buttons, as well as LED to display .And through the SCM simulation software PROTEUS99SE to design and produce of the printed circuit board (PCB) of the waveform generator. System software design is done with assembly language in the integrated development environment KeilC, including the main Program, four waveform generator subroutine, key functions and display subroutines modules.This system can realize that frequency and amplitude of waveform is real-timeadjustable and flexible. The system development costs is in the hundred with a high accuracy, the error is small, low power consumption, faster data transfer speeds, high reliability, there is a certain development value. The testedfrequency andamplitudeofthesystemisconsistentwith the actualwaveform.Keywords:waveform generator;stc89C52;led;pcb目录1绪论11.1 选题背景及意义11.1.1 本课题的研究现状11.1.2 选题目的及意义21.2 设计基本要求32波形发生器系统方案设计与论证42.1 总体设计方案的比较42.2 子系统模块方案设计42.2.1 控制模块方案设计52.2.2 频率调整模块方案设计52.2.3 键盘模块方案设计62.2.4 显示模块方案设计72.2.5 D/A模块显示方针72.3 系统总体框图82.4 波形产生相关理论102.5 MCU概要112.5.1 单片机发展历程112.5.2 单片机的特点112.5.3 单片机的应用领域123硬件实现及模块电路设计133.1 单片机最小系统的设计 (13)3.2 D/A转换模块143.2.1 分辨率153.2.2 转换精度153.2.3 转换误差153.2.4 线性度153.3 频率调整模块 (16)3.4 按键显示模块173.5 LED显示模块183.6 RS232串行通信电路及电源供电电路 (20)3.6.1 RS232串行通信电路 (20)3.6.2 电源供电电路 (21)4单片机开发系统234.1 系统软件编程语言方案设计 (23)4.2系统整体软件设计思想 (24)4.2.1 Keil编译器简介244.2.2 Keil C51单片机软件开发系统的整体结构244.2.3 uVision4集成开发环境 (24)4.3 主程序流程图254.4 软件仿真265 系统软硬件调试与数据处理285.1硬件PCB制作、安装、测试与调试 (28)5.1.1 PCB设计、制作、安装 (28)5.1.2 电路板调试与检测安全 (29)5.1.3 供电安全 (29)5.2 PCB电路板的电气规则检查与调试及电路功能测试 (30)5.2.1 PCB电路板的电气规则检查与调试 (30)5.3测试方法及数据的记录和统计 (30)5.4测试数据分析及处理 (30)5.5系统功能实现情况 (30)6 系统抗干扰措施326.1 形成干扰的基本因素326.2 提高单片机系统抗干扰能力的主要手段33结论 (34)致谢 (35)参考文献36附录A 英文原文38附录B 汉语翻译45附录C系统软件部分源程序 (49)附录D系统原理图 (55)附录E元器件清单 (56)附录F 符号说明57附录G实物图581 绪论1.1选题背景及意义波形发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
break;
case 1: //三角波频率加1
plcount++;
if(plcount>1000) plcount=0;
break;
case 2: //锯齿波频率加1
plcount++;
if(plcount>1000) plcount=0;
break;
0x77,0x7c,0x39,0x5e,0x79,0x71};//a-f
//正弦波数据表
ucharcodesin_tab[100]={0x80,0x88,0x90,0x97,0x9f,0xa7,
0xaf,0xb6,0xbd,0xc4,0xcb,0xd1,0xd7,0xdd,
0xe2,0xe7,0xec,0xf0,0xf3,0xf6,0xf9,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xfd,0xfc,0xf9,0xf7,0xf3
uint plcount=10; //频率计数
uint qudian; //波形取点
//毫秒延时程序
void delayms(int ms)
{
uchar i;
while(ms--)
{
for(i=250;i>0;i--);
}
}
//***********************************键盘扫描*******************
{
P1=jc_tab[qudian];//把锯齿波数据赋给P1口然后数据由P1口传到da中
qudian++;
if(qudian>=32)
{
qudian=0;
}
}
else if(keycount==3) //输出方波
{
qudian++;
if(qudian>=32)
{
qudian=0;
}
else if(qudian<16) P1=0xff; //高电平和低电平各取一半,即十六个点然后形成方波
led0=1;
led1=1;
led2=1;
led3=0;
break;
}
P0 = table[xianshi[0]];
wei0=0;
delayms(1);
wei0=1;
P0 = table[xianshi[1]];
wei1=0;
delayms(1);
wei1=1;
P0 = table[xianshi[2]];
sbit led3=P3^3;//方波指示
//数码管位选控制口定义
sbit wei3=P2^4;
sbit wei2=P2^3;
sbit wei1=P2^2;
sbit wei0=P2^1;
//按键口定义
sbit S1=P2^5;//控制频率的减
sbit S2=P2^6;//控制频率的加
sbit S3=P2^7;//控制切换
case 3: //方波频率加1
plcount++;
if(plcount>1000)plcount=0;
break;
}
th=(65536-50000/plcount)/256; //重新计算初值
tl=(65536-50000/plcount)%256;
}
}
//**********************************频率减1处理***********
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,//0-4
0x6d,0x7d,0x07,0x7f,0x6f, //5-9
xianshi[1]=PL%100/10; //十位
xianshi[2]=PL%10; //个位
}
//显示函数
void display()
{
switch(keycount)
{
case 0: //显示和指示正弦波的频率
fenli(plcount);
led3=1;//循环显示时关掉第四个led
led0=0;
break;
case 2: //锯齿波频率减1
plcount--;
if(plcount<0) plcount=999;
break;
case 3: //方波频率减1
plcount--;
if(plcount<0) plcount=999;
break;
}
th=(65536-50000/plcount)/256; //重新计算初值
else P1=0x00;
}
}
下面是总的设计电路图
图(1-1)仿真电路
1、正弦波仿真效果图
2、三角波仿真效果图
图(1-2)三角波发生,频率显示及led指示
3、锯齿波仿真效果图
图(1-3)锯齿波发生,频率显示及led指示
4、正弦波仿真效果图
图(1-4)锯齿波发生,频率显示及led指示
if(S1==0)
{
delayms(10);//去抖
if(S1==0)
{
flag=0;
switch(keycount)
{
case 0: //正弦波频率减1
plcount--;
if(plcount<0) plcount=999;
break;
case 1: //三角波频率减1
plcount--;
if(plcount<0) plcount=999;
0x2,0x1,0x0,0x0,0x0,0x0,0x2,0x3,0x6,0x8,0xc,0xf,0x13,0x18,0x1d,0x22,0x28,0x2e,0x34,0x3b,0x42,0x49,
0x50,0x58,0x5f,0x67,0x6f,0x77} ;
//三角波信号数据表
uchar code sanjiao_tab[32]=
0x7f,0x88,0x8f,0x98,0x9f,0xa8,0xaf,0xb8,0xbf,0xc8,0xcf,0xd8,0xdf,0xe8,0xef,0xf8,
0xff};
sbit led0=P3^0;//正弦波led波形指示
sbit led1=P3^1;//三角波指示
sbit led2=P3^2;//锯齿波指示
wei2=0;
delayms(1);
wei2=1;
P0=0x76;
wei3=0;delayms(1);
wei3=1;
}
void Timerinit()
{
TMOD=0x01; //定时器0方式1
//定时器初值计算公式:X=65536-(t/Tcy)
TH0=th=(65536-50000/plcount)/256; //定时器初值
};
//--------------------------------------------------------------------------------
//锯齿波信号数据表
uchar code jc_tab[33]=
{
0x00,0x08,0x0f,0x18,0x1f,0x28,0x2f,0x38,0x3f,0x48,0x4f,0x58,0x5f,0x68,0x6f,0x78,
}*******频率加1处理************************
if(S2==0)
{
delayms(10);
if(S2==0)
{
flag=0;
switch(keycount)
{
case 0: //正弦波频率加1
plcount++;
TL0=tl=(65536-50000/plcount)%256;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //定时器0开始计数
}
//主函数
void main()
{
Timerinit(); //定时器初始化
dawr=0;//选通da
cs=0;
while(1)
{
keyscan(); //扫描按键
break;
case 1: //显示和指示三角波的频率
fenli(plcount);
led0=1;
led1=0;
break;
case 2: //显示和指示锯齿波的频率
fenli(plcount);
led0=1;
led1=1;
led2=0;
break;
case 3: //显示和指示方波的频率
fenli(plcount);
if(qudian>=100)
{
qudian=0;
}
}
else if(keycount==1) //输出三角波
{
P1=sanjiao_tab[qudian]; //把三角波数据赋给P1口然后数据由P1口传到da中
qudian++;
if(qudian>=32)
{
qudian=0;
}
}
else if(keycount==2) //输出锯齿波
void keyscan()
{
if(flag==1)
{
if(S3==0) //用S3切换波形
{
delayms(10); //延时去抖