单片机课设多功能信号发生器1
- 格式:doc
- 大小:836.50 KB
- 文档页数:17
单片机课程设计实验报告电子信息工程学院指导教师:***08年6月30日单片机课程设计实验报告一.系统总体介绍1)题目意义:这次课程设计的题目我选择的是信号发生器,我之所以选择这个题目的原因有三个①它是一个DA转换的实验,在前不久的市电子大赛中,我们做的是AD的转换,所以想将模数/数模都熟悉一遍,为今后可能遇到的接口实验打下坚实的基础;②另外一个原因是用到的芯片是MAX518,该芯片是串行数模转换,运用I2C总线,通过这个实验可以更好的运用串行通信,同时能够学习I2C总线的协议,掌握了一门新的总线,我觉得比其他实验收获更大;③MAX518的时序比较复杂,通过练习针对时序的编程可以更好的提高自己读PDF资料的能力和编程的能力。
2)本人所做的工作这个实验从始至终都是自己完成的。
①程序的编写,程序的编写是我结合MAX518的时序图编写出来的,编程的重点在于对与MAX518的编程,在编程的过程中对于应答信号的理解和处理是整个程序的核心,在单步调试中能够很明显的观测到SDA和SCL信号线上电平的变化;②四种波形的表格数据的建立。
表格的建立是通过MATLAB函数产生的。
其函数分别为:正弦波y=round(127*sin(0:2*pi/256:2*pi))+127锯齿波y=round(0:1:255)三角波y=round(0:2:255)Y=round(255:2:0)方波直接是0和255由于MATLAB产生的数据之间含有回车和空格,不符合汇编语言的语法规则,所以要用WORD对所得的数据进行处理,利用WORD的查找替换同能讲回车和空格替换为英文的逗号,其中回车的表示方法为^p③学习KEIL和SSTFlashFlex51.exe的使用④元器件的购买和焊接⑤实验报告的完成3)系统的主要功能该系统能够产生正弦波,锯齿波,三角波和方波四种波形,同时能够产生16HZ,12HZ,10HZ,8HZ四种频率,也就是可以产生4*4=16种信号,通过8个按键开关来选择,同时有八个发光二极管来指示产生信号的频率和波形,形象直观。
《电子技术课程设计》题目:多功能信号发生器院系:电子信息工程专业:xxxxxxxx班级:xxxxxx学号:xxxxxxxx姓名:xxx指导教师:xxx时间:xxxx-xx-xx电子电路设计——多功能信号发生器目录一..课程设计的目的二课程设计任务书(包括技术指标要求)三时间进度安排(10周~15周)a.方案选择及电路工作原理;b.单元电路设计计算、电路图及软件仿真;c.安装、调试并解决遇到的问题;d.电路性能指标测试;e.写出课程设计报告书;四、总体方案五、电路设计(1)8038原理, LM318原理,(2)性能\特点及引脚(3)电路设计,要说明原理(4)振动频率及参数计算六电路调试要详细说明(电源连接情况, 怎样通电\ 先调试后调试,频率调试幅度调试波行不稳调试七收获和体会一、课程设计的目的通过对多功能信号发生器的电路设计,掌握信号发生器的设计方法和测试技术,了解了8038的工作原理和应用,其内部组成原理,设计并制作信号发生器能够提高自己的动手能力,积累一定的操作经验。
在对电路焊接的途中,对一些问题的解决能够提高自己操作能力随着集成制造技术的不断发展,多功能信号发射器已经被制作成专用的集成电路。
这种集成电路适用方便,调试简单,性能稳定,不仅能产生正弦波,还可以同时产生三角波和方波。
它只需要外接很少的几个元件就能实现一个多种波、波形输出的信号发生器。
不仅如此,它在工作时产生频率的温度漂移小于50×10-6/℃;正弦波输出失真度小于1%,输出频率范围为0.01Hz~300kHz;方波的输出电压幅度为零到外接电源电压。
因此,多功能信号发生器制作的集成电路收到了广泛的应用。
二、课程设计任务书(包括技术指标要求)任务:设计一个能产生正弦波、方波、三角波以及单脉冲信号发生器。
要求:1.输出频率为f=20Hz~5kHz的连续可调正弦波、方波和三角波。
2.输出幅度为5V的单脉冲信号。
3.输出正弦波幅度V o= 0~5V可调,波形的非线性失真系数γ≤5%。
多功能信号发生器的设计目录一.实验总体思路 (2)二.总体方案设计 (2)1.方案一 (2)2.方案二 (2)3.两种方案对比 (2)三.主要元器件介绍 (2)1.STC89C51单片机 (2)2. DAC0832 DA转换芯片 (3)3. AD9851芯片 (4)(1)AD9851芯片介绍 (5)(2)AD9851模块介绍 (5)四.实验内容 (6)1.方案一:利用DAC0832转换芯片 (6)(1)硬件设计 (6)a.电路说明 (6)b.幅值可调实现 (6)(2)软件设计 (6)(1)程序原理 (6)(2)程序内容 (7)(3)实验结果 (12)(4)实验中发现的问题及解决方案 (13)(1)给LM358的供电方式 (13)(2)频率误差较大 (15)2.方案二:利用AD9851 芯片 (16)(1)硬件设计框图 (16)(2)软件设计 (17)a.程序原理 (17)b.程序内容 (18)(3)实验结果 (20)(4)实验中发现的问题及解决方案 (21)五.心得体会 (21)一.实验总体思路本实验基于51单片机的最小控制系统,通过控制外围与其相连的芯片来生成方波,正弦波,三角波,锯齿波四种波形,经过对外围控制信号的处理实现改变波形的形状,频率,幅度以及占空比等多种功能。
二.实验方案设计1.方案一:先对正弦波、三角波、方波信号采样,将这些采样信号以数字量的形式存放在单片机中。
通过单片机对按键信号的处理,改变波形的形状,频率,占空比,然后通过DA转换芯片转换成对应波形的模拟量输出,其中可通过可变电阻改变VREF的值来调整幅度。
2.方案二:用单片机控制AD9851模块输出高频波形,通过按键的控制可以精确改变波形的频率。
3.两种方案对比:方案一软硬件结合,硬件成本低,软件起点低,优化型相对比较好,容易实现,且满足设计要求。
但是生成的波形频率较低,且与理论值有较大的误差,不容易对频率进行精确的调控。
方案二可以生成高达30MHz的正弦波,并且能够精确到1HZ,可以对频率进行精确的调控。
基于单片机的多功能函数信发生器的设计 Document number【980KGB-6898YT-769T8CB-246UT-18GG08】西南交通大学本科毕业设计(论文)(基于单片机的多功能函数信号发生器设计)年级:2011学号:2011XXXX姓名:XXX专业:电子信息工程指导老师:XXX年月院系专业年级姓名题目指导教师评语指导教师 (签章)评阅人评语评阅人 (签章)成绩答辩委员会主任 (签章)年月日班学生姓名 XXX 学发题日期:2015 年3月9 日题目基于单片机的多功能函数信号发生器设计1、本论文的目的、意义信号发生器无论在我们的教学实验中,还是在严谨的科学研究中,它都发挥着不可替代的作用。
但是我们都知道,实验室中用到的经典函数信号发生器产生的信号不够稳定,频率和幅值容易发生抖动,因为它们使用纯硬件设计。
并且它们往往价格还很昂贵。
而使用单片机为主控的信号发生器有着设计方便、价格便宜,易于扩展等优点。
所以本文就用单片机来设计多功能函数信号发生器,没有传统信号发生器的那些缺点。
这不仅能提高个人的思维动手能力水平,还将会进一步扩大单片机的发展。
2、学生应完成的任务研究的目的和意义:设计新型的函数信号发生器;系统设计:比较各个设计方案,选取一个比较合适的设计方案;硬件设计:包括使用Proteus软件搭建仿真模型和焊接信号发生器实物;软件设计:用Keil软件编写程序并能使仿真和实物能正常运行并产生波形;总体研究结论:总结设计函数信号发生器过程中遇到的问题和得到的收获。
3、论文各部分内容及时间分配:(共 16 周)第一部分资料收集、整理和方案提出 ( 2周)第二部分总体设计方案和组成方案图 ( 2周)第三部分实现过程 ( 3周)第四部分仿真分析和硬件验证 ( 5周)第五部分论文书写、整理和装订 ( 3周) 评阅及答辩( 1周)备注指导教师:关海川 2015年3月9日审批人: 2015年月日摘要信号发生器也叫振荡器或者信号源,在现如今的科学研究和生产实践中有着很重要的作用。
单片机课程设计报告系部:电子通信工程系专业:电子信息工程课程设计报告前言:本文以8051f410单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、锯齿、三角波、及其他任意波形,波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
本系统可以产生最高频率99999HZ的波形。
该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
设计报告:一、工作原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
8051f410单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将8051f410再配置键盘及、及波形输出、放大电路等部分,即可构成所需的波形发生器。
经过考虑,我们确定方案如下:利用F410单片机采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
1.1、设计要求1)、利用单片机采用软件设计方法产生四种波形2)、四种波形可通过键盘选择3)、波形频率可调4)、需显示波形的种类及其频率二、主程序思路主程序先是进行一些初始化的工作,然后根据波形标志代码的值,使其形成多个数组,每个数组都是一个波形代码。
这样写的好处是输出的波形频率也可以有定时常数决定,找到定时常数和输出频率的关系。
在按键设置波形转换状态的循环中,波形的转换状态在按键上可以一一看出,把四种波形设置成0、1、2、3、在数码管的最高位设置成循环显示,然后把每个波形的代码值通过单片机自带的AD 转换赋给输出的数据口,确定每个数组然后确定数组的列是否为数组中最后行的一个元素,若是则运行下一行的元素(另一个波形),并通过端口输出P0.0。
基于单片机的多功能信号发生器设计摘要:本系统设计用美国ATMEL公司生产的AT98C51单片机为系统控制器,外围有数字、模拟转换电路(DAC0832),运算电路(TL084),按键和LCD显示电路等组成。
采用编程的方法来实现各种波形,将产生波形的程序用子程序的形式编写,在需要某种波形时再调用相应子程序,经过D/A转换、运算放大器处理后,作为该信号源输出,其线路简捷、功能强大、性价比较高。
通过按键控制可产生正弦波,方波、三角波等。
同时用LCD显示器显示对应的波形。
关键词:AT98C51 数字/模拟转换 LCD目录引言 (1)1.设计目的 (1)2.系统总体方案设计 (1)3.系统硬件设计与实现 (2)3.1单片机最小系统设计 (2)3.2 D/A转换电路设计 (2)3.3 LCD显示电路设计 (2)3.4键盘电路设计 (2)3.5 运算放大电路设计 (2)4.系统软件设计 (2)5.设计总结与测试结果 (2)5.1设计总结 (2)5.2测试结果 (3)参考文献 (4)附录 (5)引言在测试、研究或调整电子元器件、电子电路及设备时,为测定电路的一些电参量,如测量频率响应、噪声系数,为电压表定度等,常需要提供符合要求的电信号,模拟实际工作中所用待测设备激励信号。
当进行系统的稳态特性测量时,需使用振幅、频率已知的正弦信号源。
而进行系统的瞬态特性测试时,又需使用前沿时间、脉冲宽度和重复周期已知的矩形脉冲源。
并且要求信号源输出信号的参数,如频率、波形、输出电压或功率等,能在一定范围内进行精确调整,有很好的稳定性,有输出指示。
而这种测试信号源一般采用信号发生器。
用于产生被测电路所需特定参数的电测试信号,本设计可以产生可变频率及幅度的方波、正弦波及三角波,并通过简易的方法来对输出信号频率和幅度进行自适应调整及功率与外接负载的自动适配,输出信号参数直接通过液晶显示屏显示。
作为一种自适应控制系统,此信号发生器能够根据受控对象及其工作环境变化,对要求的性能指标与实际系统的性能进行比较,根据所获信息,相应修正控制规律或调整系统参数,使系统能够保持最优或次优化工作状态,从而获得满意性能。
单位代码: 005分类号: TN 本科毕业论文(设计)题目:基于单片机的多功能信号发生器设计专业:电子信息工程姓名:学号:指导教师:职称:毕业时间:基于单片机的多功能信号发生器设计摘要:信号发生器常被用来当作信号发生源,它可以产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波,并且各波形的幅度和频率可调,正是因为信号发生器可以产生各种波形的信号,因此在在电路实验和设备检测生产实践和科技领域中都有着广泛的应用。
本系统主要包括四个部分,电源供电,单片机最小系统,DA转换,显示。
本系统主要用89C52 单片机与DA转换器TLC5615构成的函数信号发生器,可产生方波、三角波、正弦波,可以由程序控制改波形的周期,并可以通过按钮实现不同波形切换。
DA输出信号的幅值为0-2.5V,频率步进1KHz可调,实际信号频率通过4位数码管显示。
关键字:TLC5615;89C52;DA转换;信号发生器Multi-function signal generator based on single chipmicrocomputerAbstract:Placing signage at signal generator is often used as a signal, it can produce various waveform, such as triangle wave, sawtooth wave, rectangle wave (including square wave), sine wave, and the wave amplitude and frequency adjustable, it is because the signal generator can produce various waveform signal, therefore in circuit experiment and test equipment in the field of production practice and science and technology has a wide range of applications.System mainly includes four parts, power supply, single chip microcomputer minimum system, DA conversion, display. This system mainly USES the 89 c51 and constitute of the DA converter TLC5615 function signal generator, can produce square wave, triangle wave, sine wave, can be controlled by the program to change the cycle of the waveform, and can implement different waveform by pressing the button switch. Output signal amplitude of 0-2.5 V, step 1 KHZ frequency is adjustable, the actual signal frequency through the four digital tube display.Keywords: TLC5615;89C52;DA converter;signal generator目录1引言 (1)2 方案论证 (1)2.1单片机选择与论证 (1)2.2 DA选择与论证 (1)2.3 显示模块选择与论证 (2)2.4 输入按键选择与论证 (3)3硬件电路设计 (4)3.1硬件设计总体框图 (4)3.2 系统原理框图简介 (4)3.3 单片机最小系统设计 (4)3.3.1 单片机主控电路 (5)3.3.2单片机最小系统组成 (5)3.4 DA输出设计 (6)3.4.1芯片简介 (7)3.4.2 TL431简介 (7)3.4.3 D/A转换器的组成 (8)3.4.4 D/A转换器的主要技术指标 (8)3.6 按键电路 (10)4 软件设计 (11)4.1软件设计总流程图 (11)4.2 波形输出软件设计 (11)4.2.1 DA转换器软件设计 (12)4.2.2 方波产生软件设计 (13)4.2.3 三角波产生软件设计 (13)4.2.4 正弦波产生软件设计 (14)4.3 显示程序设计 (15)4.4 波形频率设定 (16)5 系统调试与仿真 (17)5.1 方波仿真图 (17)5.2 正弦波仿真图 (18)5.3三角波仿真图 (18)6 结语 (18)致谢 (20)参考文献 (21)附录1电路原理图 (22)附录2电路PCB图 (23)附录3程序 (24)1引言便携式和智能化越来越成为仪器的基本要求,对传统仪器的数字化,智能化,集成化也就明显得尤为重要。
福州大学《PIC课程设计》信号发生器哈哈,福大的学弟学妹们有福了。
学生姓名: XXXXXXXXXX学号: ******XXXX专业班级:电气学院2011级XX班指导教师: XXXXXXXXX二○一四年 6 月 27 日目录1、概述 (1)2、课程设计内容 (1)2.1、整体方案 (1)2.2、硬件设计 (2)2.3、软件设计 (4)3、仿真结果 (7)4、设计体会 (11)1、概述信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制系统和教学实验等领域。
目前使用的信号发生器大部分是函数信号发生器,且特殊波形发生器的价格昂贵。
本设计采用PIC16F887单片机作为逻辑控制单元,利用MCP4821芯片转换单片机发出的数据,经过放大器放大产生正弦波、三角波、锯齿波和方波信号。
通过外部按键切换波形,通过电位计经过AD转化控制信号周期大小。
本设计利用液晶显示芯片1602作为显示单元,显示波形的类型和波形的周期。
信号发生器在显示生活中也起到很重要的作用,是电子技术领域的一种常用设备,长期以来都是由模拟电路构成的。
这类仪器作为信号源,在高频范围内其频率稳定度高,可调性好。
然而,在科学研究和生产实践中,如工业过程控制、生物医学等领域,通常需要用低频信号源。
由模拟电路生成低频信号性能不能令人满意,而且用于低频其RC很大。
大电阻、大电容在制造上有困难,参数准确度难以保证,同时体积大、漏电损耗显著。
利用单片机用程序设计方法产生波形,其频率底限几乎无限度、稳定度好,频率幅值可以由电位计调整。
本设计实现的功能为:1、装置能生成正弦波、三角波、锯齿波、方波,通过波形切换按键进行切换。
2、装置波形周期能通过电位计调节。
3、生成波形设有两档,以满足更高周期(更低频率)的要求。
2、课程设计内容2.1、整体方案本设计采用PIC16F887单片机作为逻辑控制单元,通过MCP4821芯片转换单片机发出的数据,经过放大器放大产生正弦波、三角波、锯齿波和方波信号。
单片机课程设计题目:多功能信号发生器班级:自动控制074班姓名:焦双锁学号:200708610指导教师:李军设计时间:2009年12月28日摘要我这次课程设计主要解决的问题是如何实现不同频率的方波、正弦波、三角波、锯齿波的输出,以及通过按键的不同来实现极性、幅度、周期、占空比等的改变。
这次设计采用的是8051系列的单片机,主要是通过使用8155芯片扩展接口,来实现键盘的控制和LED的显示,采用D∕A转换器0832实现波形的输出。
最后实现了上述的大部分功能,但是由于时间和能力有限,极性、占空比没能实现。
关键词:信号发生器;80C51;D/A1.引言多功能信号发生器是一种信号源,广泛应用于电力电子、控制等很多领域。
因其广泛的适用性,具有很好的发展前景。
为了能够真正地了解信号发生器的原理,这次课程设计主要是设计一个简单的信号发生器。
该信号发生器能产生50-200Hz的正弦波、方波、三角波、锯齿波等基本波形并通过按键实现波形的选择和通过数码管显示信号频率而且还要能由按键来实现波形的极性、幅度、周期、占空比的操作设置和修改。
设计时要求画出硬件电路的原理图、系统程序的流程图和写出程序清单。
2.设计方案及原理多功能信号发生器实质上就是由波形的输出、键盘的控制和数码管显示器的连接组成的。
因此我们采用模块化编程,主要采用的模块有:(1)键盘扫描程序,(2)数码管显示,(3)正弦波的输出,(4)三角波的输出,(5)方波的输出,(6)锯齿波的输出,(7)幅值的变化,(8)周期的变化,(9)极性的改变,(10)占空比的改变。
在波形的控制输出时,我们采用的方案是采用8031与数模转换模块相连,通过两级放大器输出。
在设计键盘的控制和数码管显示时,为了节省I/O口线,我们把键盘和显示电路做在一起。
其中,由于频率为3位,所以LED显示器采用3个,且采用共阴极,段选码由8155的PB口提供,位选码由PA0-PA2提供。
键盘的列输出由PA口提供,行输入由PC0-PC1提供。
基于单片机的多功能信号发生器的设计信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
各种波形曲线均可以用三角函数方程式来表示。
例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。
在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。
本设计主要由主控制器模块、信号发生模块和液晶显示模块三大部分组成。
采用STC89C52单片机为主控制器,由它来控制DDS芯片AD9835再通过TLC5615完成数字量输入到模拟量输出的转换,然后经运放调节电压幅度,产生1MHz~15MHz的正弦波和方波,最后由液晶屏显示。
本论文其重点讨论了AD9835基本工作原理、DAC数模转换及其与89C52单片机控制系统的硬件结构和软件设计框图。
关键词:单片机;DDS芯片;液晶显示随着集成芯片制造工艺的进一步发展,一些高性能的波形产生专用芯片逐渐被应用到该领域并获得成功。
波形发生装置的电路设计得到进一步简化,而与此同时,所产生的波形的质量却得到了显著提高。
例如应用比较广泛的DDS芯片AD9833系列,能制作出各种频带宽,质量高的波形信号,例如应用高性能的AD9833芯片,可以做出频率1GHZ以上,频率分辨率0.1HZ以下的优质波形。
科技不断发展,在各个领域对信号产生电路提出了越来越高的要求。
以往那些只具有单一优势的波形发生装置的应用越来越受到限制。
例如用模拟器件构成的波形发生器电路简单可靠、信号频率较高,但可调节性差;采用数字电路为核心的波形发生装置所产生的信号可调节性好,但电路复杂,而频率又不易做的很高。
较为理想的波形发生装置应该同时具备多方面的优良品质,信号的频带应该较宽,而且步进精确。
另外,微型化也是信号产生装置的发展趋势之一,这样,才能将信号发生装置方便的嵌入到各种仪器设备中。
多功能信号发生器——专业技能训练/课程设计1. 设计任务1.设计一个基于运算放大器构成的能够产生正弦波、方波和三角波的多功能信号发生器;2.要求掌握运放在开环、正反馈下的工作特点,熟悉比较器电路,搞清其工作原理,掌握正弦波发生器,方波发生器,三角波发生器的电路及其工作原理3.设计技术要求:正弦波,1~3Hz和20~30Hz两个频率点用开关切换;方波,直接对正弦波整形得到,并用红色和绿色LED作限幅和显示;三角波,直接对方波积分得到。
4. 绘制多功能信号发生器的电原理图,并仿真;完成多功能信号发生器的实作,完成设计报告。
2. 实验原理2.1运放在开环,正反馈下的特点如果引入正反馈,可以构成具有回线形状传输特性的滞回比较器。
图2 (a) 所示为一反相输入的滞回比较器,该电路当OM O V V =时 上门限电压OM f111V R R R V +=当OM O V V -=时P 电路中采用二极管来实现稳幅作用,由于起振时输出电压幅度较小,尚不足以使二极管导通,此时1f R 2R >,而后随着输出幅度增加,正向二极管导通,其正向电阻逐渐减小,直至1f R 2R =时振荡稳定。
二极管两端并联电阻R 2用于适当削弱二极管的非线性影响,以改善输出波形。
3. 设计参考方案3.1 整机结构框图首先,利用文氏电桥振荡电路产生正弦波信号,频率在2Hz 和30Hz 左右(通过按键快关切换),然后设置以及电压放大器,可以提高输出电压幅度和带负载能力;其次,利用滞回比较器(施密特触发器)对正弦波信号整形得到同频率的方波信号;最后,利用积分电路对方波积分得到三角波信号。
图7 整机框图3.2 文氏电桥正弦波振荡电路:1)R1(R12)C4和R2(R13)C5构成RC 串并联选频网络,其谐振频率(及振荡频率)为:RC21f f 0π==,约为2Hz 和30Hz 左右(通过按键快关切换),2Hz 低频振荡是便于用LED 观察期闪烁,而30Hz 信号便于用示波器观察期波形;2)U1A 与R6\8\10构成增益为≥3倍的同相比例放大器,其R6可调节其增益,一般先将R6调节到最大位置,在产生了正弦波震荡后,逐渐调小R6 使之得到不失真的正弦波信号。
基于51单片机的多功能信号发生器设计一、设计目的和意义随着电子技术的发展,信号发生器经常要用在各种科学技术领域和工程实践中。
选择适当的嵌入式处理器、DA转换芯片,放大器,设计出一种基于单片机的多功能信号发生器的设计,能够实现键盘控制下输出正弦波、方波、三角波等波形。
二、设计原理利用51单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。
通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分。
三、详细设计步骤1.总体框架图1 系统总体框架2.单片机最小系统设计51单片机是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。
用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图2所示。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
其应用特点:(1) 有可供用户使用的大量I/O口线。
(2) 内部存储器容量有限。
(3) 应用系统开发具有特殊性。
图2 51单片机最小系统3.波形产生模块由单片机采用编程方法产生三种波形、通过DA转换模块DAC0832在进过滤波放大之后输出。
开始置DAC0832口地址4000HA赋值为#00H(A)0823输出A=F0H A=A+1图3锯齿波产生流程图锯齿波产生首先将DAC0832口地址置为4000H,然后将00H送入寄存器A中,DAC0832输出A的内容,当A中的内容等于F0H返回开始,当A中的内容不为0FH时,A的内容累加,从而输出波形。
图4 三角波产生流程图三角波产生首先将DAC0832口地址置为4000H,通过A中数值的加1递增,当A中的内容为0FFH时,A中的内容减1递减,从而循环产生三角波。
波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
本次课程设计使用的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接口电路和显示驱动电路。
中文摘要随着人类社会的不断向前发展,科学技术也在一步一步地发生着天翻地覆的变换。
而不管是在科教还是在科研方面,要想获得一个系统电参数的数值或特征,都必须在具有一定的电信号的作用下才能表现出来。
为此,信号发生器成为了一种必然,成为了学术界的一种必需。
多功能信号发生器是一种低频信号发生器,其基本波形主要是正弦波,三角波和方波。
用单片机来产生这些基本信号是现在教学中一种基本措施,同时又能训练同学的动手动脑能力。
单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器,体积小,成本低,功能强,广泛应用于智能产业和工业自动化上,其中数C8051系列最为典型。
本次单片机课程设计的基本目的就是训练我们的思考动手能力,让我们能更深入的了解单片机的使用及特点。
而多功能信号发生器作为一种用途广泛且重要的器具,对本次试验来说无疑是一种针对性强的设计。
在这次设计中着重介绍了中断程序的实现原理,如何实现液晶显示的功能及对基本信号的产生的编程过程,从而更加熟练编程的细节及注意事项。
关键词:单片机中断服务程序多功能信号发生器液晶显示器1设计任务描述1.1设计题目:多功能信号发生器1.2设计要求1.2.1 设计目的:单片机程序设计的目的是使学生通过这一环节,增强对单片机汇编语言的熟练程度。
1.2.2 基本要求:1)能够产生正弦信号、方波信号和三角波信号2)输出三种波形能够转换1.2.3发挥部分:1)能够改变波形的幅值2)能够用液晶显示器显示出来2设计思路根据本次单片机设计的基本要求,此次设计的多功能信号发生器主要功能是能够在产生正弦信号、方波信号和三角波信号三种波形输出的同时还能实现三种波形之间的相互转换。
通过汇编语言将三种波形生成的程序串接在一起,在依靠中断按键,控制波形的转换。
在此设计基础上同时还添加了改变信号的幅值和能在信号转换同时还可以在液晶显示器上显示相应波形的拼写的附加功能。
设计的思路:第一步:所需要的信号的生成,分别编写出方波,正弦波,三角波三种常见的波形的程序;第二步:不同信号之间的相互的转换,程序中的比较指令是能够实现转换的中心环节,再利用中断服务程序中的外部中断六(key3)来实现三种波形之间灵活的相互转换;第三步:幅值的变换,利用按键中断七(key4)来实现波形中的正弦波幅值的变化;第四步:波形的形式显示,在波形生成的同时在液晶显示器上显示波形当前形式的拼写。
课程设计信号发生器学生姓名:安小鹏学号:131001201学院:理学院专业:应用物理指导教师:任世伟刘天山2016年 06月28日信号发生器摘要:本文以 STC89C51单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术 , 通过硬件电路和软件程序相结合 , 可输出自定义波形 , 如正弦波、方波、三角波、锯齿波、波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
关键词:单片机,信号发生器,D/A 转换一、设计要求利用单片机的控制及编程能力,采用查询法设计一个函数发生器,要求能够产生方波、正弦波,分析采样点数量与频率之间的关系。
二、设计原理向单片机输入所需要的程序并通过扩展 D/A 转换接口就可以方便地产生正弦信号。
正弦波的产生比较特殊,它不是由单片机直接产生波形的 , 它只能产生连续的阶梯波来向正弦波不断地逼近。
很显然,在一个周期内阶梯波的阶梯数目越多,单片机输出的波形也就越接近正弦波。
如图所所示一般而言, 计算机要形成正弦波信号的最简便办法就是使用D/A 转换器, 因计算机可以隔一定时间向D/A 转换器输出一个数字量, 而输出的该数字量为相应时刻的函数值 , 则在 D/A 转换器输出端就可以得到一个相应的函数信号。
D/A 转换器形成的函数信号实际上是一个阶梯状波。
所以用D/A 转化器形成的正弦波信号除了正弦基频分量( 所需要的信号 ) 外,还包含了各种高次谐波与余弦基频分量。
因而形成的正弦波信号只能是一逼近的正弦波信号。
为了正弦信号的数字量逼近,可以有多种方案。
而逼近一个正弦函数的精确程度是和正弦波信号的细分度 N和 D/A 转换器的分辨率直接有关。
细分度 N 越大产生的正弦信号就越精确,但是这要求计算机速度也相应的高; D/A 转化器的分辨率越高产生的正弦信号也就越精确,但是 D/A 转化器的分辨率受其价格和计算速度以及字长的制约,不宜过高,应取一个合理的分辨率。
河南理工大学《单片机应用与仿真训练》设计报告多功能信号发生器姓名:栗向珂林南学号:311008001713 311008001714专业班级:自动化10-6指导老师:胡治国所在学院:电气工程与自动化学院2012年1月1 4日摘要本设计是制作一个多功能信号发生器,可以产生、方波、锯齿波和三角波。
其中单片机通过软件对键盘输入的频率数值进行处理,处理结果送与D/A转换部分实现数/模转换,输出的电流再经过电流/电压转换环节,进而形成模拟电压波形,最后经过过载保护电路输出。
同时在数码管内显示该频率数值。
波形的切换可以通过按键直接实现。
该设计中用单片机P2口与数模转换部分DAC0832的数据端口D0-D7相连,作为数字输出。
DAC0832把单片机输出的数字量转换成模拟量电压,后面连接一四运算放大器LM324,用来放大DAC0832输出的电压,最后把运放输出的电压接入示波器,即可显示出波形,并能进行切换。
用单片机P1口连接共阴极数码管的八个段码,P0口的低四位连接四个数码管的四个控制端口,用来在动态输出时选定要点亮的数码管。
根据硬件设计用C语言编写程序,其中包括键盘扫描程序,LED数码管的动态显示程序,定时器中断处理程序,延时程序等一些子程序,依要求编写各部分,并统一于主函数中。
电路设计完成后,先用仿真电路进行仿真,在仿真成功后连接硬件电路,注意各元件分布和各焊点的焊接,组装完成后下载程序,进行调试。
关键词:信号发生器单片机调频调幅目录1概述 (1)1.1信号发生器 (1)1.2 单片机在波形发生器中的应用 (1)2 系统总体方案及硬件设计 (2)2.1系统总体方案: (2)2.2硬件设计 (2)2.2.1 电源电路 (2)2.2.2 D/A转换电路 (3)3 软件设计 (4)3.1软件设计的几个部分 (4)3.2各种波形的产生 (4)4 Proteus软件仿真 (5)5课程设计体会 (7)1概述1.1信号发生器信号发生器是一种能产生标准信号的电子仪器,是工业生产和电工、电子实验中经常使用的电子仪器之一。
信号发生器种类较多,一般按频带分为超高频、高频、低频、超低频、超高频信号发生器。
其中高频、低频和超低频信号发生器,大多使用文氏桥振荡电路,即RC振荡电路,通过改变电容和电阻值,改变频率。
用以上原理设计的信号发生器,其输出波形一般只有两种,即正弦波和脉冲波,其零点不可调,而且价格也比较贵,一般在几百元左右。
但是在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟震动等领域往往需要低频信号源,而由硬件搭建的波形发生器效果往往达不到好的效果,而且低频信号源所需要的RC很大,大电阻,大电容在制作上有困难,参数的精度也难以保证,而且体积大,漏电,体积大是该类波形发生器的显著缺点。
1.2 单片机在波形发生器中的应用随着电子技术的飞快发展,单片机的应用不断的深入,基于单片机的智能仪器的设计技术不断成熟。
单片机构成的仪器具有高可靠性,高性价比,单片机技术在智能仪表和自动化等诸多领域有了极为广泛的应用,并应用到各种家庭电器,单片机技术的广泛应用推动了社会的进步。
利用单片机采用程序设计方法来产生波形,线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强等优点,而且还能对波形进行细微的调整,改良波形,易于通过程序控制,只要对电路稍加修改,调整程序,就能实现功能的升级。
2 系统总体方案及硬件设计2.1系统总体方案:设计原理图如下图所示:其中单片机通过P2口与数模转换部分DAC0832的数据端口D0-D7相连,作为数字输出。
四个共阴极数码管显示幅值和频率,通过按键来改变波形,调节幅值和频率大小。
2.2硬件设计2.2.1 电源电路如图所示:本设计共用到三个直流稳压电源,分别用L7812,L7912和L7805制作而成,输出+12v、-12和+5v直流电压,用来给芯片DAC0832和LM324供电。
2.2.2 D/A转换电路这部分由DAC0832和LM324来实现,其接线图如下:DAC0832是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。
DAC0832的输出形式有单极性电压输出和双极性输出,本设计采用双极性输出,输出电压值VOUT和输入数字量D的关系:VOUT= 2×VREF×D/256 -VREF= (2D/256-1)VREFD = 0,VOUT= -VREF;D = 128,VOUT= 0;D = 255,VOUT= (2×255/256-1)×VREF= (254/255)VREF即:输入数字为0~255时,输出电压在-VREF ~+ VREF之间变化。
LM324是带有差动输入的四运算放大器。
与单电源应用场合的标准运算放大器相比,它们有一些显著优点。
该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。
共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。
3 软件设计3.1软件设计的几个部分为了理清思路,编程时采用了分块编程,分别编写了键盘程序,数码管显示程序,方波产生程序,锯齿波产生程序,三角波产生程序,频率增减程序,延时程序等。
其中有的程序之间彼此嵌套,相互配合,必须综合考虑,如键盘程序中要考虑消抖就必须用到延时程序,频率增减程序和波形切换程序必须在确定相应按键是否动作之后才能得到执行等等。
3.2各种波形的产生方波的产生过程是通过定时器产生一个方波半周期的定时信号,每到这个信号产生,就改变一次D/A输出的数据,这两个数据值由事先给定的峰峰值计算出。
锯齿波产生的过程是,通过事先给定的峰峰值以及D/A数据每增加1所增加的电压值算出产生这个变化范围的电压所需要增加的步数,然后以锯齿波的周期除以这个步数,算出相邻两步之间的时间间隔,用该时间间隔计算出定时器的重装值以产生定时信号。
再者利用前述步数计算出D/A数据上限及下限值,当D/A数据每步自增1后增加至上限值时就回到下限值继续自增,依此产生一个锯齿波。
三角波产生的过程是,通过事先给定的峰峰值以及D/A数据每增加1所增加的电压值算出产生这个变化范围的电压所需要增加的步数,然后以锯齿波的周期的一半除以这个步数,算出相邻两步之间的时间间隔,用该时间间隔计算出定时器的重装值以产生定时信号。
再者利用前述步数计算出D/A数据上限及下限值,当D/A数据每步自增1后增加至上限值时变数据自增为数据自减,当减至下限值时,再次改变为自增,由此产生一个三角波。
4 Proteus软件仿真仿真结果如图所示:方波protues仿真锯齿波protues仿真三角波protues仿真5课程设计体会这次课程设计主要是基于对单片机的掌握和应用,让我们熟悉了从硬件设计及调试,软件编写及调试及软硬件联合调试的全过程,了解单片机系统开发的一般过程。
从中我们明白了细节决定成败的问题,在这段时间里,我们不断的碰到问题,比如说protues不能仿真,硬件电路焊接问题,焊好了不能用的问题,以及许许多多的问题,在不断解决问题的同时我们明白,每一个细节都能可能会导致设计不成功。
这次的课程设计还让我体会到了理论与实际相结合的重要性,如果你只注重理论学习而不去锻炼自己的实践经验,你是永远不能把事情做好的。
从理论中得出结论,用实践中锻炼自己,这才是最重要的。
在仿真成功后,焊接一个正负12V电源时,在网上搜索资料并且成功做出,却由于粗心导致把其中一个管脚焊错了,导致只能输出+12V电压,不能输出-12V 电压,后来多次查找无果,和别人的电路对比后才发现这个低级错误。
这是非常不应该的,所以仔细不是说说而已,而是要落实到工作中的每一步的。
无论结果如何,这次的单片机课程设计是动手性很强的一次实习,不同于以往的认识实习,对自己的专业知识和视野都有不小的提升,最主要的是,培养了我们对解决向相关问题的解决思想和信心。
这次课设结束了,但我们的专业课程和动手能力的学习未停止,我们将继续努力,挑战自己!6参考文献【1】川李勋、刘源主编.单片机实用教程.北京:北京航空航天大学出版社,2000. 【2】姚福安《电子电路设计与实践》华东科技出版社;14-21【3】李珍付、植桐主编.单片机原理与应用技术.北京:清华大学出版社,2003. 【4】李光飞《51系列单片机设计实例》北京航空航天大学出版社;135-145 【5】谢沅清,解月珍《电子电路基础》人民邮电出版社;104-122附1 源程序代码#include<stc10.h>#define uint unsigned int#define uchar unsigned char#define MAIN_FOSC 11.0592uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF}; //数码管编码sbit l1=P0^5; //按键行列定义sbit l2=P0^6;sbit l3=P0^7;sbit h1=P3^6;sbit h2=P3^7;uint frq; //频率uchar dac_dat; //转换数据uchar timer0_load; //定时器重装值uchar key_value;uchar out_type; //输出波形uchar t_step,count;bit up; //三角波增长方向变量bit change;void dis(uchar,uchar);void delay(uint);void key_scan();void main(){P4SW|=0X70;P1M1=0;P1M0=0XFF;TMOD=0X02;ET0=1;EA=1; //定时器0中断初始化dac_dat=0x80;P2=dac_dat;key_value=0;out_type=1;count=0;up=1;change=1;frq=100;while(1){//////////////按键扫描设置////////////////////key_scan();switch(key_value){case 1:key_value=0;change=1;out_type=1;break;case 2:key_value=0;change=1;out_type=2;break;case 3:key_value=0;change=1;out_type=3;break;case 4:key_value=0;change=1;frq=frq+100;if(frq==1100) frq=100;break;default: break;}////////数码管扫描显示类型////////dis(0,4);delay(1);dis(0,3);delay(1);dis(frq/100%10,2);delay(1);dis(frq/1000,1);delay(1);/////////////检测输出类型,改变参数////////if(change){change=0;TR0=0;switch(out_type){case 1: t_step=(uchar)(1000000.0/(frq*2*253)+0.5); //每步间隔,单位微秒timer0_load=(256-(uchar)(t_step*MAIN_FOSC/12+0.5));TH0=timer0_load;TL0=timer0_load;break;case 2: t_step=(uchar)(1000000.0/(frq*253)+0.5);timer0_load=(256-(uchar)(t_step*MAIN_FOSC/12+0.5));TH0=timer0_load;TL0=timer0_load;break;case 3: t_step=(uchar)((1000000.0/(frq*2)/50)+0.5); //每步间隔,单位微秒count=0;timer0_load=(256-(uchar)(50*MAIN_FOSC/12+0.5)); //定时50微秒TH0=timer0_load;TL0=timer0_load;break;default: break;}TR0=1;}}}////////////定时器中断/////////////void timer0_int() interrupt 1{if(out_type==1){if(up){P2=dac_dat;dac_dat++;if(dac_dat>254){up=~up;dac_dat--;dac_dat--;}}else{P2=dac_dat;dac_dat--;if(dac_dat<1){up=~up;dac_dat++;dac_dat++;}}}else if(out_type==2){P2=dac_dat;dac_dat++;if(dac_dat>254)dac_dat=1;}else if(out_type==3){count++;if(count==t_step) {count=0;up=~up;}if(up) P2=254;else P2=1;}}/************************************ 1T单片机延时毫秒程序参数:i——延时毫秒数************************************/ void delay(uint i){uint j,k;for(j=i;j>0;j--)for(k=850;k>0;k--);}/**************************共阴数码管显示程序参数:r——显示的数字c——第几位数码管**************************/void dis(uchar r,uchar c){P0=~(0x01<<(c-1));P1=table[r];}/****键盘扫描函数*****/void key_scan(void){h1=1;h2=1;l1=0;l2=0;l3=0;if(h1==0){delay(8);if(h1==0){l1=0;l2=1;l3=1;if(h1==0) key_value=1;while(h1==0);l1=1;l2=0;l3=1;if(h1==0) key_value=2;while(h1==0);l1=1;l2=1;l3=0;if(h1==0) key_value=3;while(h1==0);}}else if(h2==0){delay(8);if(h2==0){l1=0;l2=1;l3=1;if(h2==0) key_value=4;while(h2==0);l1=1;l2=0;l3=1;if(h2==0) key_value=5;while(h2==0);l1=1;l2=1;l3=0;if(h2==0) key_value=6;while(h2==0);}}}附2系统原理图。