基于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单片机的信号发生器-完整电路、程序之欧阳语创编
摘要本文以STC89C51单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
本系统可以产生最高频率798.6HZ的波形。
该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
关键词:低频信号发生器;单片机;D /A转换;1设计选题及任务设计题目:基于单片机的信号发生器的设计与实现任务与要求:设计一个由单片机控制的信号发生器。
运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。
信号发生器所产生的波形的频率、幅度均可调节。
并可通过软件任意改变信号的波形。
基本要求:1. 产生三种以上波形。
如正弦波、三角波、矩形波等。
2.最大频率不低于500Hz。
并且频率可按一定规律调节,如周期按1T,2T,3T,4T或1T,2T,4T,8T变化。
3.幅度可调,峰峰值在0——5V之间变化。
扩展要求:产生更多的频率和波形。
2系统概述2.1方案论证和比较2.1.1总体方案:方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。
但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
方案三:使用集成信号发生器发生芯片,例如AD9854,它可以生成最高几十MHZ的波形。
但是该方案也不能产生任意波形(例如梯形波),并且价格昂贵。
方案四:采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。
它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ以上。
基于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单片机TLV5616信号发生器 论文
大学学士学位论文单片机原理口技术课程设计组员姓名:指导教师:所在院系:研究方向:中国2012年6月目录1 设计目的及要求 (4)1-1 设计目的 (4)1-2 设计要求 (4)2 方案设计 (4)2-1 总体方案设计 (4)2-1.1 系统原理分析 (4)2-2 硬件电路设计 (5)2-2.1 主要芯片介绍 (5)2-3 软件设计 (8)2-3.1 软件程序流程图如下: (8)2-3.2 发送数据子程序: (9)2-3.3 波形产生过程 (9)3 功能拓展 (10)4 调试及实验结果 (10)5 实验中遇到的问题 (11)5-1 错误 (11)5-2 不足 (12)6 心得体会 (12)7 参考文献 (13)基于单片机的DA信号发生器课程设计报告1设计目的及要求1-1 设计目的(1) 掌握各个接口芯片(如5616等)的功能特性及接口方法,并能运用其实现一个简单的微机应用系统功能器件。
(2) 以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、方波、梯形波等)且频率、幅度可变的函数发生器。
(3) 利用所学单片机的理论知识进行软硬件整体设计,锻炼我们理论联系实际、提高我们的综合应用能力。
(4) 通过运用相关芯片实现信号发生器的功能,从而达到熟练掌握各种器件的目的,同时,锻炼动手能力及编程调试能力,更深地理解课上所学的单片机的知识,增加电子电路知识,提升作为一个电子信息工程专业学生的专业素养1-2 设计要求(1)用单片机加之DA芯片等器件,实现能产生方波,锯齿波,正弦波且频率可变的信号发生器(2)熟悉各个器件的性能和使用方法,特别是89c51和5616转换芯片,掌握他们之间的连接和数据传输方法,能够熟练使用它们及编写程序(3)完成单片机和DA的选型,了解不同波形的产生原理和设计方案,画出硬件电路图,并编程完成软件部分,最后调试观察产生不同类型的波形信号(4)课程设计论文内容要正确,概念要清楚;完成任务书所规定的内容;附有电路原理图及程序流程图,以及程序清单;文字要通顺,书写要工整,设计图纸必须符合规范。
基于51单片机的信号发生器
哈尔滨工业大学(威海)课程设计报告
图 3-3 DAC0832 与单片机的接口电路
图 3-4 键盘和单片机的连接电路图
3.6 显示电路
(1)运算放大电路 运算放大器型号为 UA741,它是一种高增益运算放大器,用于军事、工业和商
7
哈尔滨工业大学(威海)课程设计报告
业应用。这类单片硅整集成电路器件提供输出短路保护和闭锁自由运作。 运算放大器与 DAC0832 接口电路如图 3-5 所示。
信号发生器是一种经常使用的设备,若按照传统的设计方法,由纯粹的物理 器件构成,存在许多弊端,如:体积较大、重量较沉、移动不方便、信号失真较 大、波形形状调节过于死板,无法满足用户对精度、便携性、稳定性等要求。研 究设计出一种具有频率稳定、准确,波形质量好,便携性好等特点的波形发生器 来满足工业领域对信号源的要求,具有较好的市场前景。
(1)电流稳定时间 1us; (2)可单缓冲、双缓冲或直接数字输入; (3)单一电源供电(+5V~+15V); (4)低功耗,200mW。 DAC0832 结构: (1)D0~D7:8 位数据输入线,TTL 电平,有效时间应大于 90ns(否则锁 存器的数据会出错);
5
哈尔滨工业大学(威海)课程设计报告
CS
VCC
WR1 ILE(BY1/BY2)
GND
WR2
DI3
XFER
DI2
DI4
DI1
DI5
DI0
DI6
VREF
DI7
RFB
IOUT2
GND
IOUT1
20 19 18 17 16 15 14 13 12 11
U3
A
DAC0832
B OP1P
基于51单片机的信号发生器-完整电路、程序.
摘要
本文以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。本文介绍了波形的生成原理、硬件电路和软件部分的设计原理。本系统可以产生最高频率798.6HZ的波形。该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
2.1.2改变幅度方案:
将输出电压通过一个运算放大器的放大挺简单。
2.2工作原理
数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如下图所示。
主程序流程图
3.2.2中断服务程序:
本程序中两个外部中断分别起到了控制波形和频率的作用。在程序中还加入了消抖部分。
4.软件仿真
4.1系统仿真波形:
5设计总结
基于单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个模数转换器DAC0832产生所需要的电流,然后使用运算放大器LM324可以将其电流输出线性地转换成电压输出,再将电压经过运算放大器的放大,可以得到足够幅度的信号。通过程序的控制,可以产生一系列有规律的波形。这样一个信号发生装置在控制领域有相当广泛的应用范围。
基于51单片机和DA转换的信号发生器
1.产生方波、锯齿波、三角波、正弦波,梯形波,楔形波六种波形,波形频率1KHz以内,并可以通过按键可实现频率的调节。
2.可用电位器无极调节DAC0832的参考电压,从而实现对波形幅值的连续调节。
3.显示采用LCD1602液晶显示器,开机显示问候语,显示波形的种类及频率。
4.按键输入采用8个按键实现输入,P00-P07
2设计方案分析
本系统其主要模块包括复位电路、时钟信号、键盘控制、D/A转化、I/V转换电路、放大电路、滤波电路及LCD显示。系统的结构框图如下:
图2-1系统框图
2.1主要硬件电路的分析
2.1.1主控电路(如图2-2所示)
设计中主要采用AT89C52型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。(2)该单片机内部拥有8K字节的FLASH ROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。由于该芯片可电擦写,故可重复使用。如果更改程序内容,可将芯片拿下重新烧写。该电路用12MHz晶振。
1.2研究现状及ห้องสมุดไป่ตู้计思路
信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。
基于51单片机的简易函数信号发生器资料
创新性实验研究报告实验项目名称_简易函数信号发生器四、实验内容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使之转换为电压输出。
最后通过示波器显示输出的波形。
数模转换模块运放模块整体硬件电路图五、实验结果与分析1、实验现象、数据记录仿真波形2、对实验现象、数据及观察结果的分析与讨论:经过观察调试,再观察,再调试,最终输出的波形较为理想。
此次试验经过一系列的调试,最终输出的波形为正弦波、方波、三角波。
毕业设计--基于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单片机的三角波信号发生器设计【内容摘要】单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
单片机我感觉很重要,现在自动控制在各个领域被广泛应用,这少不了单片机的功劳。
目前使用的信号发生器是函数信号发生器,且特殊波形发生器的价格昂贵。
所以使用我设计单片机构成的发生器,可产生三角波、方波、正弦波等多种特殊形和任意波,波形的频率可以用程序控制、在单片机上外围器件距阵式键盘,通过其控制波形并选择,并用显示器显示频率大小。
在单片机的输出端口进行转换,再通过运放进行波形调整,最后输出波在示波器上显示。
本设计性能优越、价格低廉、结构紧凑、线路简单,希望能在以后产品上能广泛的应用。
【关键词】单片机三角波信号发生器性能优越目录:第一章绪论1.1课题背景……………………………………….3--41.2课题意义 (5)第二章系统设计2.1三角波的产生 (6)2.2 设计思路 (7)2.3结构模块划分 (8)第三章硬件电路的设计3.1基本原理………………………………………………………9--103.2 显示电路 (11)3.3、D/A电路 (12)第四章软件设计...........................................................................13--16 论文总结..............................................................................17--18 参考文献 (19)第一章绪论1.1课题背景单片机诞生于20世纪70年代末,经历了SCM、MCU、soc三大阶段。
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函数信号发生器的设计。
系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,通过程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,通过按键来控制四种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及频率值。
总体系统设计
该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。
将设计任务分解为按键电路、液晶显示电路等模块。
下图为系统的总体框图
总体方框图
硬件实现及单元电路设计
振荡电路
单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,。
基于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单片机信号发生器的设计
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单片机的高频函数信号发生器
函数信号发生器设计报告参赛人员:朱秋王嘉文房开兰指导教师:漆晶二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单片机的多功能信号发生器设计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单片机的信号发生器[摘要] 信号发生器是一种常用的信号源,广泛的应用于电子电路,自动控制统和教学实验等领域。
目前使用的信号发生器大部分是利用分立元件组成的体积大,可靠性差,准确度低。
本系统以51单片机为控制核心,由电源模块、DAC转换模块和按键控制与显示模块构成,可以输出较为稳定的正弦波、方波、三角波、锯齿波等,按键模块是在单片机上加外围器件独立开关,通过开关控制波形的选择。
当波形进行选择时,通过一块显示屏来确认当前所选波形,方便查询。
DAC转换模块在单片机的输出端口接DAC0832进行DA转换,再通过运放进行波形调整,最后输出波形接在示波器上显示.该系统用C语言编写模块化程序,增强了可读性,以便于89C51对各模块的控制,实现各功能的设置。
本设计结构清晰简单,性能优越。
[关键词] 信号发生器;单片机;波形调整;Function Generator Design Based on 51 MCU[Abstract] Signal generator is a kind of common signal source,widely used in electronic circuits, automatic control system and the teaching experiment, etc. Currently use most of the signal generator is the use of discrete component of large volume, poor reliability and low accuracy.This system with 51 single-chip microcomputer as control core, by the power supply module, DAC conversion module and key control and display modules, which can output sine wave, square wave, triangle wave, sawtooth wave, etc., key modules on the single chip microcomputer and peripheral device independent switch, switch control waveform selection. When the waveform selection, through a screen to confirm the current selected waveform, convenient query. DAC conversion module in the MCU output port after DA conversion DAC0832,again through the op-amp waveform adjustment, the output waveform in the oscilloscope display. The system is modularized program written in C language, to enhance the readability, so that the 89 c51 control of the module,the realization of each function Settings.This design clear and simple in structure, superior performance.[Key Words] single-chip;waveform;signal generator;前言单片机的论述随着大规模集成电路技术的发展,中央处理器、随机存取存储器、只读存储器、(I/O)接口、定时器/计数器和串行通信接口,以及其他一些计算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称单片机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机的函数发生器以STC89C51单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
本系统可以产生最高频率798.6HZ的波形。
该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
关键词:低频信号发生器;单片机;D /A转换;一.设计任务设计一个由单片机控制的信号发生器。
运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。
信号发生器所产生的波形的频率、幅度均可调节。
二.系统概述2.1总体方案:采用AT89C51单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。
它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ以上。
性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。
将输出电压通过一个运算放大器的放大来改变幅度。
这样还有个优点是幅度连续可调。
2.2工作原理:数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及、数模转换及波形输出、放大电路等部分,即可构成所需的波形发生器,其信号发生器构成系统框图如下图所示。
系统框图89C51是整个波形发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从键盘接收数据,进行各种功能的转换和信号幅度的调节。
当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。
波形ROM表是将信号一个周期等间距地分离成64个点,储存在单片机得RON内。
具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下:x=0:2*pi/64:2*pi; y=round(sin(x)*127)+128三.单元电路设计与分析3.1.1主控电路设计中主要采用STC89C51型单片机,它具有如下优点:(1)拥有完善的外部扩展总线,通过这些总线可方便地扩展外围单元、外围接口等。
(2)该单片机内部拥有4K字节的FLASH ROM程序存储器空间和256字节的RAM数据存储空间,完全可以满足程序的要求。
由于该芯片可电擦写,故可重复使用。
如果更改程序内容,可将芯片拿下重新烧写。
(3)该单片机与工业标准的MCS-51型机的指令集和输出引脚兼容。
中断系统是使处理器具有对外界异步事件的处理能力而设置的。
当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。
在波形发生器中,用两个开关直接与外部中断0和外部中断1的管脚相连,其中S1开关用来改变波形,S2开关用来改变频率。
在程序主函数中,我们写了个死循环一直输出一个默认的波形,当S1或S2按下又抬起时,程序会暂时跳出死循环,进入中断处理程序,从而对波形和频率进行改变。
时钟电路。
由于频率较大时,三角波、正弦波、方波等波中每一点延时时间为几微秒,故延时时间还要加上指令时间即可得到指定频率的波形,该电路用11.0592MHz晶振。
主控电路图3.1.2 数/模转换电路由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以该文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。
DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。
但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。
DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。
本设计选用直通方式。
DAC0832的数据口和单片机的P0口相连。
CSDA:片选信号输入线(选通数据锁存器),低电平有效;WR:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;数模转换电路3.1.3运算放大电路和低通滤波电路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。
在第二个运算放大器的输出端连了一个低通滤波器。
如果不加低通滤波器,也能够生成波形,但是产生的信号中毛刺很多,加一个低通滤波器不仅起到的滤波的作用,还起到了平滑的作用。
低通滤波器的截止频率F=1/(2*pi*R3*C6),这里我们选择R3 为100欧姆电阻,C6为104电容,截止频率F=16KHZ。
实验表明,此时的输出波形效果不错。
3.1.4 串口通信电路通用异步收发器(UART)是一种串行接口,一般微处理器中都包含这种外设接口。
异步串行接口提供了一种简单的途径,使两个器件无需共享同一个时钟信号就能进行通信。
如果再加入一个合适的电平转换器MAX232,串口就能能用在RS232和RS485等网络中实现通信,或者与计算机的COM端口连接。
串口只需两根信号线(RX和TX)即可实现,而且只要两端器件都采用同样的位格式和波特率,那么它们无需其它任何对方的信息就可以成功传输数据。
串口通信电路图3.2系统软件设计软件设计上,根据功能分了几个模块编程。
模块主要有:主程序模块、外部中断0模块,外部中断1模块。
主程序:主程序先是进行一些初始化的工作,然后根据波形标志a,b,c,d,e的值进入相应的while 循环。
这样写的好处是输出的波形频率可以790多HZ。
在while循环中,单片机根据地址标志位不停低查表,然后把查得的值赋给DAC0832的数据口,然后地址标志位加一,并判断地址标志位是否等于64,如果是就置0再往下执行,如果不是直接往下执行。
然后根据频率标志位进行主程序流程图中断服务程序:本程序中两个外部中断分别起到了控制波形和频率的作用。
在程序中还加入了消抖部分。
附录1:总电路图7附录2:源程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit csda=P2^2;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,253,251,247,243,237,23 0,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,11 4,128};uchar code juxing[64]={255,255,255,255,255,255,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,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,101,105,109,113,117,12 1,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,23 5,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,247,247,247,247,247,247, 247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,247,242,229,216,203,190,177,164,151,138,125,112,99,86,73,60,47,34,2 1,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,184,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{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=1,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();while(!s1);}while(!s1);EX0=1;}void int1() interrupt 2{EX1=0;delay1();if(s2==0){p++;if(p==8)p=0;switch(p){case 1 :pinglv=3;break;case 2 :pinglv=6;break;case 3 :pinglv=9;break;case 4 :pinglv=12;break;case 5 :pinglv=15;break;case 6 :pinglv=18;break;case 7 :pinglv=21;break;default :pinglv=0;break;}delay1();while(!s2);}while(!s2);EX1=1;}void main(){csda=0;wr=0;EA=1;IT0=1;EX0=1;IT1=1;EX1=1;while(1){while(a){delay=pinglv;P0=sin[k];k++;if(k==64)k=0;while(delay)delay--;}while(b){delay=pinglv;P0=juxing[k];k++;if(k==64)k=0;while(delay)delay--;}while(c){delay=pinglv;P0=juchi[k];k++;if(k==64)k=0;while(delay)delay--;}while(d){delay=pinglv;P0=tixing[k];k++;if(k==64)k=0;while(delay)delay--;}while(e){delay=pinglv;P0=sanjiao[k];k++;if(k==64)k=0;while(delay)delay--;}}}。