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

合集下载

基于51单片机的低频信号发生器(C语言).

基于51单片机的低频信号发生器(C语言).

3
第一章 绪论
1.1 选题背景及其意义
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种 波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如方波、锯齿波、三角 波、正弦波的电路被称为函数信号发生器。在通信、广播、电视系统,在工业、农业、 生物医学领域内,函数信号发生器在实验室和设备检测中具有十分广泛的用途。
第三章 主要电路元器件介绍----------------------------------5
3.1 AT89C51 单片机简介-------------------------------------------------------5 3.1.1 单片机简介--------------------------------------------------------5 3.1.2 主要特性----------------------------------------------------------5 3.1.3 管脚功能说明------------------------------------------------------5 3.2 DAC0809-----------------------------------------------------------------6 3.2.1 工作原理----------------------------------------------------------6 3.2.2 DAC0832的主要特性参数----------------------------------------7 3.2.3 DAC0832 引脚功能简介------------------------------------------8 3.3 数码显示管--------------------------------------------------------------8 3.3.1 原理及分类---------------------------------------------------------8 3.3.2 显示器的工作方式---------------------------------------------------8 3.3.3 显示管字型码-------------------------------------------------------9

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

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

课程设计任务书指导教师:2012 年12 月17 日3目录目录 (2)1.系统设计 (5)1.1设计要求 (5)1.2方案设计与论证 (5)1.2.1 信号发生电路方案论证 (5)1.2.3 显示方案论证 (6)1.2.4键盘方案论证 (6)1.3总体系统设计 (6)1.4硬件实现及单元电路设计 (6)1.4.1单片机最小系统的设计 (7)1.4.2 波形产生模块设计 (7)1.4.3 显示模块的设计 (8)1.4.4 键盘显示模块的设计 (8)1.5 软件设计流程 (9)2.输出波形的种类与频率的测试 (10)2.1、测量仪器及测试说明 (10)2.2测试过程 (10)2.3、测试结果 (11)3.设计心得及体会 (11)参考文献 (11)41.系统设计经过考虑,我们确定方案如下:利用AT89S52单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。

1.1、设计要求1)、利用单片机采用软件设计方法产生三种波形2)、三种波形可通过键盘选择3)、波形频率可调4)、需显示波形的种类及其平率1.2方案设计与论证1.2.1 信号发生电路方案论证方案一:通过单片机控制D/A,输出三种波形。

此方案输出的波形不够稳定,抗干扰能力弱,不易调节。

但此方案电路简单、成本低。

方案二:使用传统的锁相频率合成方法。

通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。

此方案,电路复杂,干扰因素多,不易实现。

方案三:利用MAX038芯片组成的电路输出波形。

MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。

但此方案成本高,程序复杂度高。

以上三种方案综合考虑,选择方案一。

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

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

专业方向课程设计报告设计课题:信号发生器的设计设计时间:2012年06月6日信号发生器的设计摘要:本文以STC89C51单片机为核心设计了一个低频函数信号发生器。

信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。

波形和频率的改变通过软件控制,幅度的改变通过硬件实现。

介绍了波形的生成原理、硬件电路和软件部分的设计原理。

关键词:低频信号发生器; 单片机;D/A转换1设计要求设计一个能产生方波、三角波、梯形波、锯齿波并且频率、幅度可调的信号发生器。

发挥部分:作品还能产生正弦波。

2系统概述2.1.1波形产生方案采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。

它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ以上。

2.1.2改变幅度方案:方案一:可以将送给DA的数字量乘以一个系数,这样就可以改变DA输出电流的幅度,从而改变输出电压;但是这样做有很严重的问题,单片机在做乘法运算时需要很长的时间,这样的话输出波形的频率就会很低;并且该方案的输出电压做不到连续可调,当DA的输入数字量比较小时,输出的波形失真就会比较严重。

方案二:将输出电压通过一个运算放大器的放大。

这样还有个优点是幅度连续可调。

经比较,方案二既可满足课程设计的基本要求,并且电路也挺简单。

2.2工作原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。

89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O 接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如图2.2所示。

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

基于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 器件清单......................................................第一章 绪论1.1 单片机概述单片机(Single chip microcomputer )是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 、随机存储器RAM 、只读存储器ROM 、多种I/O 口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

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

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

函数信号发生器设计报告参赛人员:朱秋王嘉文房开兰指导教师:漆晶二0 0 九年七月十四日摘要波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。

本函数发生器采用STC89C52 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(uA741)、倍频电路(CD4046)、按键和LCD显示电路等。

电路采用STC89C52单片机和一片DAC0832数模转换器组成数字式低频信号发生器。

函数信号发生器,它具有价格低、性能高和在低频围稳定性好、操作方便、体积小、耗电少等特点。

由于采用了uA741运算放大器和滤波电路,使其电路更加具有较高的稳定性能,性能比高。

此电路清晰,出现故障容易查找错误,操作简单、方便。

通过按键控制可产生方波、三角波、正弦波,同时用LCD1602显示幅值和频率。

所产生的波形V P-P围为0~5 V,由倍频电路使频率围为100Hz~ 1MHz,波形准确并且平滑。

本系统设计简单、性能优良,具有一定的实用性。

关键词:单片机;倍频;调频;调幅;LCD1602AbstractWaveform generator is a common signal source, widely used in electronic circuits, automatic control systems and experiments in areas such as teaching .Function generator used as a control core STC89C52 single-chip, external digital / analog converter circuit (DAC0832),operational amplifier circuit (uA741), frequency-doubling circuit (CD4046), and buttons and LCD display circuit. STC89C52 circuit and a single-chip digital DAC0832 Digital to Analog component of low-frequency signal generator. Function signal generator, it has a low price, high-performance and low-frequency range of good stability, convenient operation, small size, low power consumption and so on. UA741 As a result of the operational amplifier and filter circuit to circuit with high stability and more performance, high performance. This circuit clears, easy to find failure error, simple and convenient.Keys can be generated through control of square wave, triangle wave, sine wave, LCD display at the same time with the amplitude and frequency. Waveform generated by VP-P range of 0 ~ 5 V, so that by the multiplier circuit for frequency range 92.592593Hz ~ 217.3913Hz, accurate and smooth waveform. The system is designed to be simple, excellent performance, with a certain degree of practicality.Key words:microcomputer; frequency; FM; AM; LCD1602目录一、系统方案 (5)1、1 信号发生部分 (5)1、2显示部分 (6)二、系统设计 (6)2、1 总体设计思路 (6)2、2总体框图 (6)三、硬件电路 (7)3、1单片机电路 (7)3、1、1 功能与基本原理 (7)3、1、2 资源分配 (8)3、2波形转换(D/A)电路 (8)3、3显示接口电路 (9)3、4倍频电路 (9)四、软件设计及流程 (10)五、调试与测试结果 (11)5、1 硬件调试 (11)5、2 软件调试 (11)六、结束语 (11)七、参考文献 (12)八、附录 (12)8、1 元件清单 (12)8、2 电路原理图 (13)8、3 程序清单 (13)一、系统方案题目要现的任务是设计并制作一个函数信号发生器,能产生正弦波,方波,三角波,要求不用DDS和专用的波形产生芯片,频率围100Hz~1MHz,幅度0~5V,方波占空比可调,实时显示频率和幅度。

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

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

课程设计任务书课程名称集成电路原理及应用课程设计课程代码设计题目函数信号发生器设计设计时间2012年12月17日——2012 年12月22 日院(系)电子信息学院专业电子信息工程班级BX0904 一、课程设计任务(条件)、具体技术参数(指标)任务:设计一个函数信号发生器功能要求:⑴设计并制作能产生正弦波、矩形波(方波)和三角波(锯齿波)的函数发生器,本信号发生器可以考虑用专用集成芯片为核心实现。

⑵信号频率范围: 1Hz-100kHz;⑶频率控制方式:①手控通过改变RC参数实现;②键控通过改变控制电压实现;③为能方便地实现频率调节,建议将频率分档;⑷输出波形要求①方波上升沿和下降沿时间不得超过200nS,占空比在48%-50%之间;②非线性误差≤2%;③正弦波谐波失真度≤2%;⑸输出信号幅度范围:0-20V;⑹信号源输出阻抗:≤1Ω;⑺应具有输出过载保护功能;⑻具有数字显示输出信号频率和电压幅值功能。

二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)1.课程设计基本要求课题分析、查阅资料、方案论证、方案实现、系统联调、撰写课程设计报告2.成果要求(1)系统方案(2)硬件电路原理图或软件源程序(3)设计说明书(课程设计报告)三、课程设计工作进度计划:时间安排内容星期一(12月17日)第7-8小节下达任务、选择方案星期二(12月18日)软硬件设计星期三(12月19日)第1-4小节软硬件设计、调试星期四(12月20日)第1-4小节调试、撰写报告星期五(12月21日)第1-4小节考核答辩四、主要参考资料参考资料:《集成电路原理及应用》谭博学主编,电子工业出版社指导教师:2012 年12 月17 日目录目录 (2)1.系统设计 (5)1.1设计要求 (5)1.2方案设计与论证 (5)1.2.1 信号发生电路方案论证 (5)1.2.3 显示方案论证 (6)1.2.4键盘方案论证 (6)1.3总体系统设计 (6)1.4硬件实现及单元电路设计 (6)1.4.1单片机最小系统的设计 (7)1.4.2 波形产生模块设计 (7)1.4.3 显示模块的设计 (8)1.4.4 键盘显示模块的设计 (8)1.5 软件设计流程 (9)2.输出波形的种类与频率的测试 (10)2.1、测量仪器及测试说明 (10)2.2测试过程 (10)2.3、测试结果 (11)3.设计心得及体会 (11)参考文献 (11)1.系统设计经过考虑,我们确定方案如下:利用AT89S52单片机采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。

51单片机信号发生器

51单片机信号发生器

基于51单片机的波形发生器的设计摘要这个系统是基于AT89C51单片机的波形信号发生器。

使用AT89C51单片机作为控制核心,该系统由数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键电路和8位数码管等组成。

通过按键可控制方波、三角波、正弦波的产生,并且用数码管指示其对应的频率。

这个设计方法简单、性能良好,这个系统可在多种需要低频信号的场所使用,它具有良好的实用性。

关键词:8951单片机;数字模拟转换电路;运放电路;8位数码管一、设计题目分析。

1、题目分析:基于51单片机的波形发生器设计,即由51单片机控制产生正弦波、方波、三角波等的多种波形。

图1:系统流程示意图2、题目要求:(1) 系统具有产生正弦波、三角波、方波三种周期性波形的功能。

(2) 用键盘控制上述三种波形(同周期)的生成。

(3) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调,频率步进间隔≤100Hz,非正弦波的频率按照10次谐波来计算。

(4) 系统具有显示输出波形的类型、重复频率和幅度的功能。

二、波形发生器系统设计方案1、设计思路:以AT89C51单片机作为系统的控制核心,其中P0口接DAC0832作为信号输入同时进行数模转换,P1口用来接键盘,P2口接LED显示器,由程序来控制P0口产生的波形,再由按键和按键次数控制波形的种类、频率的大小,并且能够通过按键来控制波形频率值和幅度值。

由运算放大器DAC0832来实现输出电流到电压的转换,即实现数字信号到模拟信号的转换。

另外在LED上显示实时的频率值,产生的波形在示波器显示。

2、设计框图及系统介绍:图2:框图设计3、选择合适的设计方案:方案一:采用模拟分立元件或单片函数发生器就可以产生正弦波、方波、三角波,方法简单。

通过调整外部元件也可以实现输出频率的改变,但采用模拟元器件造成元件分散性太大,从而产生的频率稳定性较差、抗干扰能力低、灵活性较差、而且精度低,不能实现任意波形转换和波形运算输出等方面自主控制功能。

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

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

基于51单片机的DDS函数信号发生器的设计
 本文介绍基于51单片机的DDS函数信号发生器的设计。

系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,通过程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,通过按键来控制四种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及频率值。


 总体系统设计
 该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。

将设计任务分解为按键电路、液晶显示电路等模块。

下图为系统的总体框图
 总体方框图
 硬件实现及单元电路设计
 振荡电路
 单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,。

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

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

基于51单片机的函数信号发生器
一、任务
设计并制作一台基于51单片机的函数信号发生器,使之能产生正弦波、方波和三角波信号,且不能使用专用集成函数发生器芯片。

二、要求
系统框图:
1.基本要求
1)信号发生器能产生正弦波、方波和三角波三种周期性波形;
2)输出信号频率在100Hz~1kHz范围内可调;
3)输出信号波形无明显失真;
2.发挥部分
1)将输出信号频率范围扩展为10Hz~10kHz,输出信号频率可分段调节:在10Hz~
10kHz范围内步进间隔为100Hz;
2)在1k 负载条件下,输出正弦波信号的电压峰-峰值V opp在0~5V范围内即可;
3)可实时显示输出信号的类型、幅度、频率和频率步进值;
4)其他。

三、说明
设计报告正文应包括系统总体框图、核心电路原理图、主要流程图和主要的测试结果。

完整的电路原理图、重要的源程序和完整的测试结果可用附件给出。

四、评分标准
注:请大家于五一收假的晚上之前把你们所需要的元件清单拿过来,我们好统一购买元器件。

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

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

2. D/A转换器选择:DAC0832
DAC0832是8分辨率的D/A转换集成芯片。与微处 理器完全兼容。这个DA芯片以其价格低廉、接口简 单、转换控制容易等优点,在单片机应用系统中得 到广泛的应用。D/A转换器由8位输入锁存器、8位 DAC寄存器、8位D/A转换电路及转换控制电路构成。
3.显示器LCD1602
指导老师:XXX 专业:电子信息工程 学生:XXX 学号:XXXX
第一章:绪论 第二章:方案论证 第三章:相关硬件介绍 第四章:相关软件介绍 第五章:电路设计与仿真 第六章:总结与展望
1.选题的意义,背景及现状
本章的前三节介绍了本次毕业设计的选题意义,背 景。并对现如今这一方面的研究现状作了一定的了解。
本次设计采用非编码键盘其硬件逻辑与按键编码不存在严格 的对应关系,而要由所用的程序来决定。非编码键盘的硬件接 口简单,但是要占用较多的CPU时间,通常采用可编程键盘管 理芯片来克服这个缺点。
1.Proteus软件介绍
Proteus软件是来自英Labcenter electronics公司的 EDA工具软件,除了其具有和其它EDA工具一样的原 理布图、PCB自动或人工布线及电路仿真的功能外, 其革命性的功能是,他的电路仿真是互动的。
2.KEIL C51编译器简介
KEIL C51标准C编译器为8051微控制器的软件开发 提供了C语言环境,同时保留了汇编代码高效,快速的特 点。
总体电路图
➢ 仿真结果
1、三角波仿真结果
2、方波仿真结果
3、正弦波仿真结果
总结
本次毕业设计是大学以来第一次独立完成的比较大 型的设计类课题。对本次毕业设计的主要内容以及在 其中学到的知识,遇到的问题,解决问题的方法做一 个具体总结。从中得到一定的经验。

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

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

111 前言波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。

现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。

2 系统设计思路文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。

按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。

当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。

其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。

103为可调电阻,用于幅值的调节。

自锁开关起到电源开关的作用。

启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。

函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1-10Hz,幅值最高可到3.5V。

系统框图如图1所示。

3 软件设计选用AT89C51单片机编写程序。

这种方法控制信号波形的频率和幅值是通过编写程序来实现,通过改变程序来实现频率的变化,且这种方法无需改变硬件电路。

这种方法可以使信号的精度很高(编程产生的是数字信号),并可使电路得到一定程度上的简化。

主程序和生成波形的子程序共同组成了系统软件设计,生成波形的子程序的编程是软件设计的主要内容,各种波形通过编程来得到。

基于51单片机的多功能信号发生器设计word格式

基于51单片机的多功能信号发生器设计word格式

基于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递减,从而循环产生三角波。

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

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

函数信号发生器设计报告参赛人员:朱秋王嘉文房开兰指导教师:漆晶二0 0 九年七月十四日摘要波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。

本函数发生器采用STC89C52 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(uA741)、倍频电路(CD4046)、按键和LCD显示电路等。

电路采用STC89C52单片机和一片DAC0832数模转换器组成数字式低频信号发生器。

函数信号发生器,它具有价格低、性能高和在低频范围内稳定性好、操作方便、体积小、耗电少等特点。

由于采用了uA741运算放大器和滤波电路,使其电路更加具有较高的稳定性能,性能比高。

此电路清晰,出现故障容易查找错误,操作简单、方便。

通过按键控制可产生方波、三角波、正弦波,同时用LCD1602显示幅值和频率。

所产生的波形V P-P范围为0~5 V,由倍频电路使频率范围为100Hz~ 1MHz,波形准确并且平滑。

本系统设计简单、性能优良,具有一定的实用性。

关键词:单片机;倍频;调频;调幅;LCD1602AbstractWaveform generator is a common signal source, widely used in electronic circuits, automatic control systems and experiments in areas such as teaching .Function generator used as a control core STC89C52 single-chip, external digital / analog converter circuit (DAC0832),operational amplifier circuit (uA741), frequency-doubling circuit (CD4046), and buttons and LCD display circuit. STC89C52 circuit and a single-chip digital DAC0832 Digital to Analog component of low-frequency signal generator. Function signal generator, it has a low price, high-performance and low-frequency range of good stability, convenient operation, small size, low power consumption and so on. UA741 As a result of the operational amplifier and filter circuit to circuit with high stability and more performance, high performance. This circuit clears, easy to find failure error, simple and convenient.Keys can be generated through control of square wave, triangle wave, sine wave, LCD display at the same time with the amplitude and frequency. Waveform generated by VP-P range of 0 ~ 5 V, so that by the multiplier circuit for frequency range 92.592593Hz ~ 217.3913Hz, accurate and smooth waveform. The system is designed to be simple, excellent performance, with a certain degree of practicality.Key words:microcomputer; frequency; FM; AM; LCD1602目录一、系统方案 (5)1、1 信号发生部分 (5)1、2显示部分 (6)二、系统设计 (6)2、1 总体设计思路 (6)2、2总体框图 (6)三、硬件电路 (7)3、1单片机电路 (7)3、1、1 功能与基本原理 (7)3、1、2 资源分配 (8)3、2波形转换(D/A)电路 (8)3、3显示接口电路 (9)3、4倍频电路 (9)四、软件设计及流程 (10)五、调试与测试结果 (11)5、1 硬件调试 (11)5、2 软件调试 (11)六、结束语 (11)七、参考文献 (12)八、附录 (12)8、1 元件清单 (12)8、2 电路原理图 (13)8、3 程序清单 (14)一、系统方案题目要求实现的任务是设计并制作一个函数信号发生器,能产生正弦波,方波,三角波,要求不用DDS和专用的波形产生芯片,频率范围100Hz~1MHz,幅度0~5V,方波占空比可调,实时显示频率和幅度。

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

基于51单片机信号发生器的设计
3)对系统进行测试和结果分析
4)写出论文方案选择及论证
方案选择及论证
方案一:用分立元件组成的函数发生器,通常是单函数发生器且频率不高,其工作不很稳定,不易调试。
方案二:可以由晶体管、运放IC等通用器件制作,更多的则是用专门的函数信号发生器IC产生。早期的函数信号发生器IC,如L8038、BA205、XR2207/2209等,它们的功能较少,精度不高,频率上限只有300kHz,无法产生更高频率的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。
研究现状
信号发生器的发展历史
目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成。如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源,而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大:大电阻,大电容在制作上有困难,参数的精度亦难以保证:体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。
本科 毕业 设 计论 文
题 目:基于51单片机信号发生器的设计
系 别:电气与信息工程
专 业:电子信息工程
班 级:电信002学号:10010085
学生姓名:冉乾乾
指导老师:金印彬
2014年5月
题目:基于51单片机信号发生器的设计
姓名:冉乾乾班级:电信002学号:10010085
专业:电子信息工程
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专业方向课程设计报告设计课题:信号发生器的设计设计时间:2012年06月6日信号发生器的设计摘要:本文以STC89C51单片机为核心设计了一个低频函数信号发生器。

信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。

波形和频率的改变通过软件控制,幅度的改变通过硬件实现。

介绍了波形的生成原理、硬件电路和软件部分的设计原理。

关键词:低频信号发生器; 单片机;D/A转换1设计要求设计一个能产生方波、三角波、梯形波、锯齿波并且频率、幅度可调的信号发生器。

发挥部分:作品还能产生正弦波。

2系统概述2.1.1波形产生方案采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。

它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ 以上。

2.1.2改变幅度方案:方案一:可以将送给DA的数字量乘以一个系数,这样就可以改变DA输出电流的幅度,从而改变输出电压;但是这样做有很严重的问题,单片机在做乘法运算时需要很长的时间,这样的话输出波形的频率就会很低;并且该方案的输出电压做不到连续可调,当DA的输入数字量比较小时,输出的波形失真就会比较严重。

方案二:将输出电压通过一个运算放大器的放大。

这样还有个优点是幅度连续可调。

经比较,方案二既可满足课程设计的基本要求,并且电路也挺简单。

2.2工作原理数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。

89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如图2.2所示。

89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。

当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。

波形ROM表是将信号一个周期等间距地分离成64个点,储存在单片机得RON内。

具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下:x=0:2*pi/64:2*pi; y=round(sin(x)*127)+128图2.2 系统框图3单元电路设计与分析3.1.1主控电路(如图3.1.1所示)设计中主要采用STC89C51型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。

(2)该单片机内部拥有4K字节的FLASH ROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。

由于该芯片可电擦写,故可重复使用。

如果更改程序内容,可将芯片拿下重新烧写。

在波形发生器中,用两个开关直接与外部中断0和外部中断1的管脚相连,其中S1开光用来改变波形,S2开光用来改变频率。

在程序主函数中,我们写了个死循环一直输出一个默认的波形和频率(正弦波),当S1或S2按下(接通低电平)又抬起(STC89C51单片机管脚使能高电平)时,程序会暂时跳出死循环,进入中断处理程序,从而对波形和频率进行改变。

由于频率较大时,三角波、正弦波、方波等波中每一点延时时间为几微秒,故延时时间还要加上指令时间即可得到指定频率的波形,该电路用12MHz晶振。

3.1.2 数/模转换和运放电路由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以必须用到数模转换器件,我们选用的DAC0832,此器件具有8位分辨率的数模转换,它价格低廉、接口简单、转换控制容易等优点。

DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。

但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。

DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。

以便于示波器显示其波形及调节其幅度。

所以又用到了运放,我们用到的是LM324,此运放采用±12V双电源供电,其内部集成有4个放大器,我们用到了其中两个,2和3 ,没有用到的放大器接地。

3.1.4运算放大电路和低通滤波电路LM324的5管脚与DAC0832的(IOUT2)12管脚相连,LM324的6管脚与DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连.第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,第二级运算放大器的作用是将V1通过反向放大电路-(R2/R1)倍。

若要输出的电压在0-5V可调,而V1的电压大约是5V,所以R1选择5K的电阻,R2选择10K的电位器,这样最大的输出电压为5*(10/2)=10,最小电压为0,可以实现0-5V。

图3.1.4运算放大电路和低通滤波电路在第二个运算放大器的输出端连了一个低通滤波器。

如果不加低通滤波器,也能够生成波形,但是产生的信号中毛刺很多,加一个低通滤波器不仅起到的滤波的作用,还起到了平滑的作用。

低通滤波器的截止频率F=1/(2*pi*R3*C6),这里我们选择R3 为100欧姆电阻,C6为104电容,截止频率F=16KHZ。

实验表明,此时的输出波形效果不错。

3.2系统软件设计软件设计上,根据功能分了几个模块编程。

模块主要有:主程序模块、外部中断0模块,外部中断1模块。

3.2.1主程序:主程序先是进行一些初始化的工作,然后根据波形标志a,b,c,d,e的值进入相应的while 循环。

这样写的好处是输出的波形频率可以790多HZ。

在while循环中,单片机根据地址标志位不停的查表,然后把查得的值赋给DAC0832的数据口,然后地址标志位加一,并判断地址标志位是否等于64,如果是就置0再往下执行,如果不是直接往下执行。

然后根据频率标志位进行相应的延时。

图3.2.1主程序流程图3.2.2中断服务程序:本程序中两个外部中断分别起到了控制波形和频率的作用。

在程序中还加入了消抖部分。

图3.2.2中断服务程序流程图4安装调试及测量数据分析4.1调试过程;a.不通电,用万用表根据电路图仔细检查各线路连接是否正常。

b.首先是调试单片机部分,DA和运算放大器芯片不接。

用STC_ISP_V483软件通过串口下程序。

看是否可以正常下程序。

c.当可以正常下程序时,给51单片机下一个让所有I/0口一会儿输入0,延时,再输出1,以此类推。

用万用表测量各I/O口得电压是不是一会儿高,一会儿低。

d.安上DA和运算放大器芯片,给单片机下一个输出正弦波的测试程序,通过示波器看输出是否正常。

e.给单片机下一个完整的程序,分别按下S1,看波形是否改变。

按下S2,看频率是否改变。

4.2频率的测量数据:单位:HZ4.3出现的问题与解决的方法:调试单片机的串口时,发现不能正常的下程序。

我想可能是单片机坏了借了一块学习板测试了一下单片机芯片,发现可以正常下载;刚开始写的测试程序输出的波形失真很大。

我想可能是波形的ROM表里的数据值过小,导致DA输出的误差很大。

因而我将波形的ROM 表里的数据值调大,在测试时发现波形变得好多了;调试波形的时候我发现矩形波的失真比较大。

我想到可能是低通滤波器的截止频率太低了,因而我将RC低通滤波器的电阻由1K 换成了100欧姆,效果好了很多。

4.4系统仿真波形:D1D2D8D3D4D7D5D6D1D2D3D4D5D6D7D8XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U180C51VREF8GND3VCC20CS1WR12DI34DI25DI16DI07RFB9GND10IOUT111IOUT212DI713DI614DI515DI416XFER17WR218ILE(BY1/BY2)19U2DAC0832567411U3:BLM3241098411U3:CLM324R18kR28kR3100C11nF+12V-12V-12V+12VA B C D图4.4 Protus仿真图a.正弦波b.梯形波c.三角波d.锯齿波e.方波4.5效果分析:由Protus仿真可知频率误差很小。

最终的波形输出效果也很不错。

4.6测量仪器示波器、直流稳压电源、万用表。

5结束语基于单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的控制过程。

通过单片机控制一个模数转换器DAC0832产生所需要的电流,然后使用运算放大器LM324可以将其电流输出线性地转换成电压输出,再将电压经过运算放大器的放大,可以得到足够幅度的信号。

通过程序的控制,可以产生一系列有规律的波形。

这样一个信号发生装置在控制领域有相当广泛的应用范围。

信号发生器可以生成更多的波形,只需要再加些波形表即可。

最终做出来的信号发生器满足了题目中的所有要求:1.产生五种波形。

正弦波、三角波、矩形波、梯形波,锯齿波。

2.最大频率为798.6HZ。

并且频率可步进调节。

3.幅度可调,峰峰值在0——5V之间变化。

当然还是存在不足的地方,比如频率不高,频率太小时矩形波会有些失真,并且不是连续可调,只能步进调制。

参考文献:[1] 郭天翔.新概念51单片机C语言教程入门、提高、开发、拓展全.北京.电子工业出版社2009.1[2] 童诗白.模拟电路技术基础[M].北京:高等教育出版社,2000.171~202.[3] 陈大钦。

电子技术基础实验。

北京:高等教育出版社,2009.6 79~83.[4] 潘永雄沙河电子线路CAD实用教程西安:西安电子科技大学出版社附录附录1:源程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit csda=P2^2; //DAC0832的片选信号,低电平有效sbit wr=P2^1; //输入寄存器的写选通输入端,负脉冲有效sbit s1=P3^2; //波形选择中断入口sbit s2=P3^3; //频率选择中断入口uchar k=0,p=0,delay=0;uchar bxxz=0;pinglv=0;uchar a=1,b=0,c=0,d=0,e=0;//正弦波数据uchar code sin[64]={135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,25 3,251,247,243,237,230,222,213,204,193,182,170,158,146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,128};//方波数据uchar code juxing[64]={255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,25 5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//锯齿波数据uchar code juchi[64]={0,4,8,12,16,20,24,28,32,36,40,45,49,53,57,61,65,69,73,77,81,85,89,93,97,1 01,105,109,113,117,121,125,130,134,138,142,146,150,154,158,162,166,170,174,178, 182,186,190,194,198,202,206,210,215,219,223,227,231,235,239,243,247,251,255}; //梯形波数据uchar code tixing[64]={0,13,26,39,52,65,78,91,104,117,130,143,156,169,182,195,208,221,234,24 7,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,2 47,247,247,247,247,247,242,229,216,203,190,177,164,151,138,125,112,99,86,73,60, 47,34,21,8};//三角波数据uchar code sanjiao[64]={0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160, 168,176,184,192,200,208,216,224,232,240,248,248,240,232,224,216,208,200,192,18 4,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0};void delay1() //延时程序{int a,b;for(a=1;a>0;a--)for(b=122;b>0;b--);}void int0() interrupt 0 //采用T0中断选择波形{EX0=0;delay1();if(s1==0){bxxz++;if(bxxz==5)bxxz=0;switch(bxxz){case 0 : //默认为正弦波{a=1,b=0,c=0,d=0,e=0;}break;case 1 : //选择方波{a=0,b=1,c=0,d=0,e=0;}break;case 2 : //选择锯齿波{a=0,b=0,c=1,d=0,e=0;}break;case 3 : //选择梯形波{a=0,b=0,c=0,d=1,e=0;}break;case 4 : //选择三角波{a=0,b=0,c=0,d=0,e=1;}break;}delay1(); //延时,判断键按S1是否真的被按下while(!s1); //若真的被按下,为消除按键抖动影响}while(!s1); //等待按键松开EX0=1;}void int1() interrupt 2 //采用T1中断选择频率{EX1=0;delay1(); //延时,判断S2是否真的键被按下。

相关文档
最新文档