片单机课程设计报告简易波形发生器--大学毕设论文
- 格式:doc
- 大小:550.00 KB
- 文档页数:16
设计题目:波形发生器学生姓名:系别:专业:班级:学号:指导教师:2011年12月22日郑州轻工业学院课程设计任务书题目波形发生器专业、班级学号姓名薛茹主要内容:设计一个产生各种波形的波形发生器基本要求:利用单片机P1.0引脚输出频率范围1Hz – 1000Hz的正弦波、方波、三角波、梯形波、锯齿波,并用示波器观察。
目录一、设计目的及意义................................................................ - 3 -1.1设计目的 (3)1.2设计意义 (3)二、方案论证.......................................................................... - 3 -2.1设计要求 (3)2.2方案论证 (3)三、硬件电路设计 ................................................................... - 3 -3.1设计思路、元件选型 (3)3.2原理图 (3)3.3主要芯片介绍 (3)3.4硬件连线图 (3)四、软件设计.......................................................................... - 3 -4.1锯齿波的产生过程 (3)4.2梯形波的产生过程 (3)4.3三角波的产生过程 (3)4.4方波的产生过程 (3)4.5正弦波的产生过程 (3)五、调试与仿真 ...................................................................... - 3 -六、总结................................................................................. - 3 -七、参考文献: ...................................................................... - 3 -一、设计目的及意义1.1设计目的(1)利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。
目录第一章概述 (2)第二章设计任务 (3)第三章硬件设计 (3)3.1系统主体构造 (3)3。
2硬件元件概述 (3)3.3硬件连接 (9)3.4硬件参数简介 (10)第四章软件设计 (10)4.1锯齿波程序设计 (11)4.2三角波程序设计 (12)4.3正弦波程序设计 (13)第五章系统功能描述和功能 (15)第六章设计心得 (16)第七章参考文献 (16)附录 (16)程序设计 (20)第一章概述课程设计是一项重要的实践性教育环节,是学生在完成本专业所有课程学习后必须接受的一项结合本专业方向的、系统的、综合的工程训练。
在教师指导下,运用工程的方法,通过一个较复杂课题的设计练习,可使学生通过综合的系统设计,熟悉设计过程、设计要求、完成的工作内容和具体的设计方法,掌握必须提交的各项工程文件.课程设计的基本目的是:培养理论联系实际的设计思想,训练综合运用电路设计和有关先修课程的理论,结合生产实际分析和解决工程实际问题的能力,巩固,加深和扩展有关电子类方面的知识.课程设计的主要任务是运用所学微控制器技术、微机原理等方面的知识,设计出一台以AT89C51为核心的单片机数据采集、通讯或测控系统,完成信息的采集、处理、输出及人机接口电路等部分的软、硬件设计.多功能波形发生器设计课题需要充分灵活运用编程语言所提供的各种指令语句,巧妙利用软硬件实现以上所要求的功能,在程序逻辑设计上也要求正确,合理的对项目进行分解分块,合理的逻辑设计可以起到事半功倍的效果,是整个项目当中最富有创新性和挑战性的部分。
第二章设计任务本次设计要求采用单片机和DAC设计波形发生器,具体要求如下:(1)利用单片机和DAC0832产生三角波、正弦波等波形。
(2)完成DAC与运放的连接,输出可供示波器显示。
(3)用按键改变波型的种类,同时显示波形的代号,波形的幅值与频率。
第三章硬件设计3。
1 系统主体构造芯片方面选用AT89C51与DAC0832为主要芯片,根据要求采用键盘选择产生的波形的类型,所以基本电路有键盘电路,数模转换电路。
XXXX学院课程设计报告课程名称:单片机课程设计院系:电气与信息工程学院专业班级:自动化09102班学生姓名: X X指导教师: X X X完成时间: 2012年6月10日报告成绩:简易波形发生器简易波形发生器是一种常用的信号源,它广泛地应用在电子技术实验、自动控制系统和其他科研领域。
本系统能够准确产生方波、正弦波、锯齿波及三角波。
基于数模转换芯片DAC0832技术的简易波形发生器由六个部分组成:MCU模块、波形发生模块、静态LED 数码管显示模块、键盘输入模块、在线下载模块以及电源模块。
MCU模块采用STC89C51RC 单片机进行数据处理,波形发生模块采用DAC0832及LM324进行波形发生及变换,静态LED数码管显示模块利用3位八段共阳极数码管及3个74LS164显示当前波形频率,键盘模块采取外部中断方式扫描键值,在线下载模块选用MAX232芯片进行单片机程序下载,电源模块使用三端稳压器为系统提供能源。
运用Altium Designer软件绘制了单元电路以及总体电路图,借助Proteus仿真软件对电路进行了虚拟实验,通过仿真分析,满足了课题性能指标的要求,成功地实现了简易波形发生器的设计。
关键词波形发生器;DAC0832;STC89C51RC;静态显示Simple waveform generator is a common source, it is widely used in the experiment of electronic technology, automatic control system and other scientific fields. The system can accurately produce a square wave, sine wave, sawtooth wave and triangle wave. Based on the digital-analog conversion chip DAC0832 simple waveform generator consists of six parts: MCU module, waveform generator module, static LED digital display module, keyboard input module, the download module and power supply. The MCU STC89C51RC microcontroller is for data processing. The waveform generation module which made of DAC0832 and LM324 is used to generate waveform and transform. The static LED digital display module uses three eight out common anode digital and three 74LS164 to show the current waveform frequency. The keyboard module to take external interrupt the scan key. Download module use a MAX232 chip microcontroller program download. The power supply uses three-terminal regulator to provide energy for the system. Altium Designer were used to draw a unit circuit as well as the overall circuit. With Proteus simulation software to conduct virtual experiments on the circuit, simulation analysis, to meet the requirements of the subject of performance indicators, the successful implementation of a simple waveform generator design.Keywords waveform generator ;DAC0832;STC89C51RC; static LED digital display目录摘要 (I)Abstract (II)第一章简易波形发生器的方案设计 (1)1.1简易波形发生器的方案分析与比较 (1)1.1.1 基于数模转换芯片DAC0832的简易波形发生器的设计 (1)1.1.2 基于MAX038函数发生器的简易波形发生器的设计 (1)1.1.3 基于DDS波形发生技术的简易波形发生器的设计 (2)1.2 简易波形发生器的总体结构说明 (2)第二章简易波形发生器的电路设计 (3)2.1 MCU模块 (3)2.1.1 STC89C51RC单片机 (3)2.1.2 复位电路 (5)2.1.3 时钟电路 (5)2.2 DAC0832模块 (5)2.2.1 DAC0832芯片基本介绍 (6)2.2.2 DAC0832波形发生电路 (7)2.3 静态LED数码管显示模块 (7)2.3.1 移位寄存器74LS164 (7)2.3.2 静态显示电路 (8)2.4 键盘输入模块 (8)2.5 在线下载模块 (9)2.6 电源模块 (9)2.7 总体电路说明 (9)第三章简易波形发生器的程序设计 (10)3.1系统接口定义 (10)3.2 主程序 (10)3.3 外部总中断1中断服务程序 (11)第四章简易波形发生器仿真分析 (13)4.1初始界面 (13)4.2 波形发生仿真 (13)4.2.1 正弦波的仿真分析 (13)4.2.2 锯齿波发生仿真分析 (14)4.2.3 三角波发生仿真分析 (15)4.2.4 方波发生仿真分析 (17)总结 (19)参考文献 (20)致谢 (21)附录1:简易波形发生器原理图 (22)附录2:简易波形发生器Protues仿真图 (23)附录3:简易波形发生器元器件明细表 (24)附录4:简易波形发生器源程序 (25)第一章 简易波形发生器的方案设计简易波形发生器是一种常用的信号源,它广泛地应用在电子技术实验、自动控制系统和其他科研领域。
哈尔滨工程大学本科生毕业论文摘要各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。
在科学研究及教学实验中常常需要这几种信号的发生装置。
为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。
本文介绍了基于ATmega64单片机的信号发生器系统。
本系统采用ATmega64单片机作为控制核心,利用程序设计方法产生方波、正弦波、锯齿波、三角波四种波形,再通过D/A转换器TLC7628将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来。
并可以通过矩阵键盘来控制四种波形的类型选择、频率、幅值变化。
本次关于信号发生器的设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。
最终本系统可以完成通过键盘切换不同波形并改变波形的频率、幅值的功能。
该信号发生器的特点是:体积小、价格低廉、性能稳定、实现方便、功能齐全。
关键词:信号发生器;ATmega64单片机;D/A转换;最小系统哈尔滨工程大学本科生毕业论文ABSTRACTVarious signals are an important part of correspondent area. In this area, square wave, sine wave, sawtooth wave and triangle wave are common signals. In science research and teaching experiment, we often need the occurrence equipment of these signals. In order to make the experiment and research easier, to develop a suitable, full functional and easily used signals source is essential.This paper introduces a digital signal generator system based on single chip computer ATmega64,which is used as a control microcontroller core. It makes use of central processor and D/A conversion module TLC7628 to generate four kinds of waves which are square wave, sine wave, sawtooth wave and triangle wave, and finally display the waves on the screen of a oscilloscope . In this system it can control wave form choosing, frequency, range through buttons.This signal source design plan concerns on producing different low frequency signals, not only meet the request of experiment in theory and in practice, but also have strong feasibility. The trait of this signal source is: small volume, low price, stable function, easily achievable, and full function.Keywords: Signal generator ; ATmega64 Single-chip microcomputer ; D/A ; Minimum system哈尔滨工程大学本科生毕业论文目录第1章绪论 (1)1.1本课题研究的背景和意义 (1)1.2国内外波形发生器的研究现状 (2)1.3本课题的主要研究内容和论文安排 (4)1.3.1主要研究内容 (4)1.3.2本论文的主要安排 (4)第2章系统整体方案设计及工作原理 (6)2.1系统总体方案的选择 (6)2.1.1信号发生电路方案论证 (6)2.1.2总体系统设计 (6)2.2系统的主要性能指标 (7)2.3基于AVR单片机的嵌入式系统 (7)2.3.1嵌入式系统概述 (7)2.3.2AVR单片机概述 (9)2.4DAC数模转换 (11)2.4.1数模转换器的主要性能指标 (11)2.4.2数模转换器的转换方式 (13)2.4.3数模转换器的转换原理 (14)2.4.4数模转换器的分类 (15)2.5本章小结 (15)哈尔滨工程大学本科生毕业论文第3章系统硬件方案设计 (16)3.1资源分配 (16)3.2主控电路的设计 (16)3.2.1ATmega64单片机概述 (16)3.2.2ATmega64最小系统设计 (19)3.3数模转换电路的设计 (20)3.3.1TLC7628数模转换器介绍 (20)3.3.2单片机与D/A的连接 (22)3.4运算放大电路及低通滤波电路的设计 (24)3.4.1TL084运算放大器 (24)3.4.2运算放大器与低通滤波电路的连接 (25)3.5按键电路的设计 (25)3.5.1按键的分类 (25)3.5.2矩阵键盘的工作原理和扫描确认方式 (26)3.5.3采用列扫描法对矩阵键盘进行判别的思路 (27)3.5.4单片机与按键电路的连接 (28)3.6本章小结 (29)第4章系统软件方案设计 (30)4.1本课题软件开发系统 (30)4.1.1编程语言的选择 (30)4.1.2软件开发环境WinAVR (31)4.1.3程序下载软件 (33)哈尔滨工程大学本科生毕业论文4.2系统软件设计 (34)4.2.1主程序设计 (34)4.2.2键盘扫描子程序设计 (35)4.2.3方波产生子程序设计 (35)4.2.4正弦波产生子程序设计 (37)4.2.5锯齿波产生子程序设计 (38)4.2.6三角波产生子程序设计 (38)4.3本章小结 (38)第5章调试与测试结果 (40)5.1测量仪器及测试说明 (40)5.2试验结果 (40)5.2.1方波输出图形 (40)5.2.2正弦波输出图形 (41)5.2.3锯齿波输出图形 (42)5.2.4三角波输出图形 (44)5.3试验结果分析 (46)5.4本章小结 (47)结论 (48)参考文献 (49)致谢................................................................................................ 错误!未定义书签。
基于51单片机的波形发生器设计报告波形发生器是一种电子设备,用于产生各种不同类型和频率的电信号波形。
基于51单片机的波形发生器设计是一种常用的工程设计。
下面是一个关于基于51单片机的波形发生器设计的报告,详细介绍了设计的原理、步骤、电路、程序和性能。
一、设计原理:二、设计步骤:1.确定波形发生器的输出频率范围和分辨率要求。
2.选择适当的定时器/计数器模块来实现频率的计时和控制。
3.设计电路,包括定时器/计数器模块、晶振、滤波电路和输出接口等。
4.编写程序,配置定时器/计数器模块的工作模式、计数值和中断服务程序。
5.调试和测试电路和程序,确保波形发生器正常工作并满足设计要求。
三、电路设计:1.定时器/计数器模块:选择一个合适的定时器/计数器模块,如51单片机的定时器/计数器T0或T1、根据设计要求,设置工作模式、计数器模式和计数值。
2.晶振:选择适当的晶振频率,一般为11.0592MHz,将晶振连接到单片机的晶振引脚。
3.滤波电路:根据需要,设计一个滤波电路来滤除不需要的高频噪声和杂散信号。
4.输出接口:设计一个输出接口电路来连接单片机和外部电路,使用电平转换电路将单片机的低电平(0V)输出转换为所需的电平电压。
四、程序设计:1.配置定时器/计数器模块的工作模式和计数值,设置中断服务程序。
2.在中断服务程序中,根据设计要求生成矩形波信号,并将信号输出到输出端口。
3.在主程序中,初始化单片机和定时器/计数器模块,使波形发生器开始工作。
4.在主循环中,可以设置按键输入来改变输出频率,通过调整计数值来实现不同的频率输出。
五、性能评估:1.输出频率范围:根据设计要求,测试波形发生器的最低和最高输出频率是否在设计范围内。
2.分辨率:对于指定频率范围,测试波形发生器的输出频率的分辨率,即最小可调节的频率。
3.稳定性:测试波形发生器的输出信号的稳定性和准确度,是否有漂移和偏差。
4.噪声:测试波形发生器的输出信号是否有杂散噪声和幅度波动。
单片机课程设计波形发生器实验报告姓名:*** 07291198电气0706指导老师:***摘要:波形发生器是一种常用的信号源,广泛的应用于电子电路、自动控制系统和教学实验等领域。
本次课程设计基于89S51单片机构成的,利用PWM波技术制作可产生方波、三角波、梯形波、锯齿波、正弦波等多种波形。
设计要求:基于89S52单片机,利用单片机产生PWM波产生要求波形。
要求波形发生器能够产生4种以上波形,如方波、三角波、梯形波、锯齿波、正弦波方波。
能够调整输出波形的频率、幅值、水平分量。
一,技术基础利用PWM技术设计波形发生器脉宽调制(PWM:(Pulse Width Modulation)是利用Array微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
简而言之,PWM是一种对模拟信号电平进行数字编码的方法。
PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。
让信号保持为数字形式可将噪声影响降到最小。
噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。
下面就PWM技术实现波形发生器的原理方法进行简单阐述。
采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同.PWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形.按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。
二,系统原理框图三,硬件电路图四,程序流程图1软件部分由以下几个部分构成:系统主程序流程图波形子程序流程图五,参数调整程序的编程思路:a 频率的调节应用PWM技术时,要调节输出波形的频率,只需要在生成前一个具体模拟信号的电平和生成下一个之间加上一个给定的延时,这样输出波形的频率就会发生变化。
基于单片机的波形发生器_毕业设计论文摘要:本文详细介绍了一种基于单片机的波形发生器的设计与实现。
波形发生器是一种广泛应用于电子测量、科研和教学等领域的仪器设备。
本设计采用了单片机作为控制芯片,利用其强大的计算和控制能力实现了多种波形的生成。
通过研究和分析不同波形的特点,采用相应的算法和模拟电路设计,实现了正弦波、方波和三角波的发生功能。
本文还介绍了硬件电路的设计和软件的编写,并对波形发生器的性能进行了测试和分析。
1.引言波形发生器是一种可以产生各种形状的周期信号的仪器设备,广泛应用于电子测量、科研和教学等领域。
随着数字技术和单片机技术的发展,基于单片机的波形发生器具有体积小、成本低、灵活性强等优点,逐渐代替了传统的模拟波形发生器。
2.系统设计2.1系统框架本系统采用了单片机作为控制芯片,配合DAC芯片和锁相环电路,构建了一个完整的波形发生器系统。
单片机负责控制波形的生成参数,通过DAC芯片将数字信号转化为模拟电压输出,锁相环电路则负责对时钟信号进行处理和同步。
2.2波形生成算法根据不同波形的特点,本设计实现了正弦波、方波和三角波的发生功能。
正弦波的生成采用了Taylor级数展开方法,方波的生成利用了比较器的电平调制,而三角波的生成则通过DAC芯片将数字递增或递减的信号转化为模拟电压输出。
3.硬件设计3.1单片机选型与外围电路设计本设计选用了XX单片机作为控制芯片,并根据其技术手册设计了相应的外围电路。
外围电路包括时钟电路、复位电路和供电电路等,保证了单片机的正常运行。
3.2DAC芯片选型与接口设计为了将数字信号转化为模拟电压输出,本设计选用了XXDAC芯片,并设计了合适的接口电路。
通过控制单片机的输出端口和DAC芯片的输入端口连接,实现了数字到模拟的转换。
3.3锁相环电路设计为了保证波形的准确性和稳定性,本设计添加了锁相环电路。
该电路利用比较器和VCO实现了对时钟信号的同步与输出。
4.软件设计4.1系统初始化系统初始化包括单片机寄存器的初始化和外围设备的初始化,为后续的波形生成做好准备。
目录1、课程设计目的 (1)2、课程设计题目和实现目标 (1)3、设计方案 (1)4、Proteus仿真原理图 (1)5、程序流程图 (1)6、程序代码 (1)7、调试总结 (1)8、设计心得体会 (1)9、参考文献 (1)1、课程设计目的《单片机原理及应用》课程设计是与《单片机原理及应用》课程相配套的实践教学环节。
《单片机原理及应用》是一门实践性很强的专业基础课,通过课程设计,达到进一步理解单片机的硬件、软件和综合应用方面的知识,培养实践能力和综合应用能力,开拓学习积极性、主动性,学会灵活运用已经学过的知识,并能不断接受新的知识。
培养大胆发明创造的设计理念,为今后就业打下良好的基础。
通过课程设计,掌握以下知识和技能:1.单片机应用系统的总体方案的设计;2.单片机应用系统的硬件设计;3.单片机应用系统的软件程序设计;4.单片机开发系统的应用和调试能力2、课程设计题目和实现目标本次课程设计的题目是;制作一个波形发生器,产生单极性、幅度可调、周期可调的方波、锯齿波、三角波、正弦波信号,不同波形用不同符号显示在一个LED上,用一个LCD显示幅值和频率。
本次课程设计的目标:设计一个波形发生器,带有四个按钮,分别是波形选择、增加频率、减少频率、调节幅度,并带有一个LCD和一个LED,LED用来显示波形的符号LCD 用来显示频率、幅值。
波形符号用1表示正弦波,2表示三角波,3表示方波,4表示锯齿波。
频率的调节幅度是10HZ,幅值调节幅度分别是0.2V,0.02V,0.3V,0.4V。
3、设计方案本次设计采用AT89C51及其外围扩展系统和PCF8591,软件方面主要是应用C语言设计程序。
系统以AT89C51为核心,配置相应的外设及接口电路,用Keil C及Proteus 等软件开发,用C语言编程,组成一个多功能信号发生器。
用户通过按键选择输出实验室中经常使用到的几种基本波形:方波、锯齿波、正弦波和三角波。
方波由AT89C51单片机将最大值和最小值输出给D/A进行转换,并由用户通过键盘选择波形周期。
绪论波形发生器是一种广泛应用于电子电路,自动控制和科学实验等领域的信号源。
比如电参量的测量、雷达、通信、电子对抗与电子系统、宇航和严控遥测技术等等,从某种意义上说高品质信号源更是实现高性能指标的关键,很多现代电子设备和系统的功能都直接依赖于所用信号源的性能,因此,高品质信号源被人们喻为众多电子系统的“心脏”。
随着通信、雷达的不断发展,多信号源的频率稳定度、频谱纯度、频率范围和输出频率的个数以及信号波形的形状提出越来越多的要求。
为了提高信号源输出频率稳定度,可以采用晶体振荡器等方法来解决。
为了满足频率个数多的要求,可以采用频率合成技术,即通过对频率进行加减乘除运算,可从一个高稳定度和高精确度的标准频率源,产生大量的具有同一稳定度和精确度的不同频率。
运用DDS技术是设计波形发生器的一种通用手段,DDS不仅可以产生正弦波同时也可以产生任意波,这是其他频率合成方式所不具有的特点,任意波在各个领域有着广泛的应用。
通过DDS这种方法产生任意波是一种简单,低成本的方法,通过增加波形点数可以使输出达到很高的精度,这都是其他方法所无法比拟的。
自80年代以来各国都在研制DDS产品,并广泛应用于各个领域。
其中以AD公司的产品比较有代表性。
如AD7008、AD9850、AD9851、AD9852、AD9858等。
其系统时钟频率从30MHz到300MHz不等,其中的AD9858系统时钟更是达到了lGHz。
这些芯片还具有调制功能。
如AD7008可以产生正交调制信号,而AD9852也可以产生FSK、PSK、线性调频以及幅度调制的信号。
这些芯片集成度高,内部都集成了D/A转换器,精度最高可达12bit。
同时都采用了一些优化设计来提高性能。
如这些芯片中大多采用了流水技术,通过流水技术的使用,提高了相位累加器的工作频率,从而使得DDS芯片的输出频率可以进一步提高。
通过运用流水技术在保证相位累加器工作频率的前提下,相位累加器的字长可以设计得更长,如AD9852的相位累加器达到了48位。
波形发生器毕业论文题目: 简易波形发生器系别:电气工程系专业:计算机控制专业目录前言 (1)1 系统总体设计 (2)1.1系统总体框图设计 (2)1.2系统的主要性能指标 (2)2 系统硬件设计 (3)2.1 单片机最小系统 (3)2.2 单片机D/A连接电路 (3)2.3放大电路 (4)2.4 PCB板设计 (4)3 系统软件设计 (6)3.1系统总体流程图 (6)3.2方波程序设计 (7)3.3 锯齿波程序设计 (8)3.4三角波程序设计 (9)3.5 正弦波程序设计 (10)4软硬件调试及结果分析 (11)4.1单片机软件开发系统 (11)4.2 软件调试 (11)4.3 硬件调试 (14)5 总结 (15)致谢 (16)参考文献 (17)附录1 电路原理图 (18)附录2 源程序 (18)元器件清单 (22)摘要:本课题硬件设计是采用89S51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(OP07)、和独立联接式按键。
通过Protues 软件进行程序的编写。
以实现波形选择。
仿真通过以后再进行硬件的安装和调试,结果表明:本设计基本完成任务,能够产生正角波、方波和锯齿波四种波形,并可以通过键盘选择波型关键词:波形发生器,单片机,D/A转换,运算放大器前言单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常。
用一般的信号发生器,不但笨重,而且只发能发出一些简单的波形,不能满足需要。
例如用户要调试串口通信程序时,就要在计算机上写好一段程序,再用线连接计算机和用户实验板,如果不正常,不知道是通讯线有问题还是程序有问题。
单片机简易波形发生器课程设计一、引言波形发生器是电子工程中常用的实验设备,用于产生各种类型的电信号波形。
在电子技术教学中,波形发生器是学习和理解信号波形特性的重要工具之一。
本篇文章将介绍一个基于单片机的简易波形发生器的课程设计。
二、设计目标本课程设计的目标是利用单片机设计并实现一个简易的波形发生器。
通过该波形发生器,学生可以学习和掌握以下知识点:1. 单片机的基本原理和应用;2. 数字信号处理的基本概念和方法;3. 波形的产生和调节;4. 信号波形的观测和分析;5. 电子电路的设计和调试。
三、设计内容1. 系统框图设计根据设计目标,首先需要设计波形发生器的系统框图。
系统框图包括单片机、外部时钟源、数模转换器、数字信号处理模块、输出缓冲器等。
其中,单片机作为控制核心,通过外部时钟源提供时钟信号,控制数模转换器按照预设的波形参数生成模拟信号,然后经过数字信号处理模块和输出缓冲器输出到外部设备。
2. 单片机程序设计根据系统框图,需要编写单片机的程序实现波形的生成和控制。
程序设计主要包括以下几个步骤:(1)初始化:设置单片机的工作模式和各个引脚的功能;(2)波形参数设置:根据用户输入或预设的参数,设置波形的类型、频率、幅度等;(3)波形生成:利用单片机的定时器,按照设定的频率和幅度,产生相应的数字信号;(4)波形输出:将数字信号经过数模转换器和输出缓冲器转化为模拟信号,输出到外部设备。
3. 外部电路设计为了保证波形发生器的稳定性和信号质量,还需要设计一些外部电路。
例如,时钟源的选择和连接,数模转换器的选型和电路连接,输出缓冲器的电路设计等。
四、实验步骤1. 准备实验所需材料和设备,包括单片机开发板、外部时钟源、数模转换器、电阻、电容等元件;2. 根据设计框图,连接各个模块和电路,注意接线的正确性和稳定性;3. 编写单片机程序,根据要求设置波形参数和生成算法;4. 将程序烧录到单片机中,并连接外部设备;5. 调试和测试,观察波形输出是否符合预期,调整参数进行波形的变换和调节;6. 完成实验报告,总结实验结果和心得体会。
单片机课程设计报告东莞理工学院课程单片机课程设计题目多波形发生器院系电子工程学院专业班级2011级电子信息工程2班2013年6月27日目录第一部分1.1波形发生器的概述 (3)1.2 本设计任务 (3)第2 部分2.1本设计的意义 (4)2.2 设计要求 (4)2.3 设计原理 (4)2.4 硬件设计 (4)2.5 软件设计 (8)第三部分3.1 心得 (19)3.2参考文献 (19)第一部分1.1波形发生器的概述波形发生器:顾名思义,一个能产生各种波形的仪器。
波形发生器可通过以下方法产生:(1):利用模拟电路的运放电路,可以产生三角波、锯齿波、正弦波。
用数字电路的555电路可以产生方波。
这方法的电路元件数量不多,焊接简单,但不稳定难以调试,产生的波形也不理想。
(2):利用市面上可以购得的专用直接数字合成DDS芯片的波形发生器:能产生任意波形。
而且可以达到很高的频率,其他方法很难做到这一点,所产生的的波形频率不高。
但这方法成本高,而且课程设计用这些芯片就没意思了。
(3):用AT89c51单片机和DAC0832芯片,用轻触按键组成的键盘来控制波形的选择以及各种扩展功能。
P1口连接按键键盘,作为波形的选择和其他扩展功能的输入口。
P0口连上上拉电阻后,接上数码管,用来显示所选择波形的类型。
这方法较上面两种方法好。
调试主要通过编辑89c51的程序,而且89c51、DAC0832、LM339这几个芯片的价格不贵。
至于编程方面,锯齿波、三角波、正弦波这三种分段后呈单调性的波形,可以通过等差增减来实现。
但是经过Proteus 7 Professional仿真后,所产生的波形不理想。
所以通过手动的方法计算出输出各点的电压值,然后在编写程序时以数组的方式给出。
当需要时,只要按照顺序进行输出即可。
1.2 本设计任务设计要求:一、基本功能:1 、可产生多种波形,如正弦波、三角波、锯齿波、方波;2 、各种波形可通过按键选择;二、扩展功能:1 、可调节信号的频率、占空比等参数;2 、其他自行增加的功能;扩展部分:按键s5、s6分别是控制方波的占空比增、减;s7、s8分别是控制波形的频率增、减。
单片机原理及系统课程设计专业:自动控制班级:姓名:学号:指导教师:评语:平时(40)修改(30)报告(30)总成绩兰州交通大学自动化与电气工程学院年月日波形发生器1 引言本系统是基于STC89C51单片机的波形发生器。
采用STC89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)和按键等。
通过按键控制可产生方波、三角波、正弦波和锯齿波。
其设计简单、性能优良,具有一定的实用性。
文中简要介绍了DAC0832数模转换器的结构原理和使用方法,STC89C51的基础理论,着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。
2 设计方案及原理2.1设计原理及元件选型(1)设计原理该设计设计一个低频信号发生器,我们采用的是AT89C51 单片机用软件实现信号的输出。
该单片机是一个微型计算机,包括中央处理器CPU,RAM,ROM、I/O 接口电路、定时计数器、串行通讯等,是波形设计的核心。
该信号发生器原理框图如图1,总体原理为:利用A T89C51 单片机构造低频信号发生器,可产生正弦波,方波,三角波,锯齿波四种波形,通过汇编语言对单片机的编程即可产生相应的波形信号,并可以通过键盘进行各种功能的转换和信号频率的控制,当输出的数字信号通过数模转换成模拟信号也就得到所需要的信号波形,通过运算放大器的放大输出波形,同时让显示器显示输出的波形信息。
通过P1口和开关K0-K3相连接来控制各个波形的输出。
能根据k0-k4键状态进行波形切换,当某一按键按下时,输出相对应的波形。
(2) 元件选型单片机AT89C51系统,DAC0832一片,PC机一台,运算放大器2.2设计方案(1)总体方框图:单片机AT89C51DAC0832转换放大电路输出波形键盘输入接口电路图1 总体设计功能图(2)设计思路利用中断,当5个开关中有任意一个闭合时,跳转至中断程序,在中断程序中判断是哪一个按键闭合,跳转至相应的程序,执行输出波形的操作,每输出一个点之后,判断按键是否断开,如果依旧闭合,则继续输出,如果已经断开,则结束中断程序。
任务名称:基于51单片机波形发生器课程设计项目背景和目标波形发生器是电子学中常用的实验设备之一,用于产生不同形状和频率的电信号。
在本课程设计中,我们将使用51单片机设计和实现一个基本的波形发生器。
该波形发生器将具备以下功能: 1. 发生正弦波、方波和三角波等不同形状的波形。
2. 支持用户输入频率和幅度参数。
3. 以可视化的方式显示波形输出。
硬件需求在实现波形发生器的过程中,我们需要以下硬件设备: 1. 51单片机开发板:用于运行波形发生器的程序,控制波形的生成和输出。
2. 信号发生器电路:用于将数字信号转换为模拟信号输出。
3. 示波器:用于验证波形输出的准确性和稳定性。
软件设计软件设计方案1.编写主程序:利用51单片机的C语言开发环境编写主程序,实现波形的生成和输出。
2.设计波形生成模块:根据用户输入的频率和幅度参数,生成对应形状的波形。
3.设置输出端口:将波形数据通过51单片机的输出端口发送给信号发生器电路。
4.配置信号发生器电路:将51单片机生成的数字信号转换为模拟信号输出。
5.连接示波器:将信号发生器的输出连接到示波器,验证波形输出的准确性和稳定性。
主程序设计以下是主程序的设计思路:#include <reg51.h>// 定义波形类型的枚举enum WaveType {Sine,Square,Triangle};// 定义全局变量enum WaveType waveType; // 波形类型int frequency; // 波形频率int amplitude; // 波形幅度// 定义函数原型void generateWave();void setOutputPort();void configureSignalGenerator();void connectOscilloscope();void main() {// 获取用户输入的波形参数// TODO: 实现获取用户输入的函数// 波形类型可以通过按键切换,频率和幅度可以通过调节旋钮获取// 生成波形generateWave();// 设置输出端口setOutputPort();// 配置信号发生器电路configureSignalGenerator();// 连接示波器connectOscilloscope();while (1) {// 循环执行波形生成和输出generateWave();setOutputPort();}}// 生成波形函数void generateWave() {switch (waveType) {case Sine:// 生成正弦波形的代码break;case Square:// 生成方波形的代码break;case Triangle:// 生成三角波形的代码break;}}// 设置输出端口函数void setOutputPort() {// 设置51单片机的输出端口的代码}// 配置信号发生器电路函数void configureSignalGenerator() {// 配置信号发生器电路的代码}// 连接示波器函数void connectOscilloscope() {// 连接示波器的代码}波形生成模块设计波形生成模块根据用户输入的频率和幅度参数生成对应形状的波形。
基于51单片机波形发生器课程设计1. 引言波形发生器是电子技术领域中常用的仪器设备,用于产生各种不同形状的电信号波形。
在电子电路实验和测试中,波形发生器能够提供不同频率、幅度和相位的信号,用于测试和验证电路的性能。
本篇文章将介绍一个基于51单片机的波形发生器设计。
通过使用51单片机,我们可以实现一个简单但功能强大的波形发生器,并通过编程控制实现不同类型的波形输出。
2. 硬件设计2.1 51单片机51单片机是一种常见的8位微控制器,具有低功耗、高性能和广泛应用等特点。
在本设计中,我们选择使用51单片机作为主控芯片。
2.2 数模转换芯片为了将数字信号转换为模拟信号输出,我们需要使用一个数模转换芯片。
在本设计中,我们选择使用DAC0800芯片作为数模转换器。
2.3 操作面板为了方便用户操作和设置参数,我们设计了一个操作面板。
该面板包括按键、旋钮和显示屏等组件,用户可以通过操作面板来控制波形发生器的参数和功能。
2.4 输出接口为了将模拟信号输出到外部设备,我们设计了一个输出接口。
该接口可以连接到示波器或其他测试仪器,以便观察和测量输出信号。
3. 软件设计3.1 程序框架波形发生器的软件设计主要包括初始化设置、参数调整和波形生成等功能。
我们可以使用C语言编程,在51单片机上实现这些功能。
以下是程序框架的伪代码:void main(){初始化设置();while(1){获取用户输入();参数调整();波形生成();}}3.2 初始化设置在初始化设置阶段,我们需要对51单片机和数模转换芯片进行初始化配置。
这包括设置时钟频率、IO口方向、数模转换精度等。
以下是初始化设置的伪代码:void 初始化设置(){设置时钟频率();配置IO口方向();配置数模转换精度();}3.3 参数调整在参数调整阶段,用户可以通过操作面板来调整波形发生器的参数。
这包括选择波形类型、设定频率和幅度等。
以下是参数调整的伪代码:void 参数调整(){获取用户输入();if(用户选择了波形类型){设置波形类型();}if(用户设定了频率){设置频率();}if(用户设定了幅度){设置幅度();}3.4 波形生成在波形生成阶段,根据用户设定的参数,我们可以通过数模转换芯片来生成相应的波形信号。
任务书课题:简易波形发生器系别:电气工程系专业:电子信息工程技术班级:智能电子102学生姓名:指导老师:时间:2012-11-15摘要本系统是基于 AT89C52 单片机的数字式低频信号发生器。
采用 AT89C52 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键和8 位数码管等。
通过按键控制可产生方波、三角波、正弦波等,同时用数码管指示其对应的频率。
其设计简单、性能优好,可用于多种需要低频信号的场所,具有一定的实用性。
各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。
在科学研究及教学实验中常常需要这几种信号的发生装置。
为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。
本文介绍的是利用 AT89C52 单片机和数模转换器件 DAC0832 产生所需不同信号的低频信号源,其信号幅度和频率都是可以按要求控制的。
文中简要介绍了 DAC0832 数模转换器的结构原理和使用方法,AT89C52 的基础理论,以及与设计电路有关的各种芯片。
文中着重介绍了如何利用单片机控制 D/A 转换器产生上述信号的硬件电路和软件编程。
信号频率幅度也按要求可调。
本次关于产生不同低频信号的信号源的设计方案,不仅在理论和实践上都能满足实验的要求,而且具有很强的可行性。
该信号源的特点是:体积小、价格低廉、性能稳定、实现方便、功能齐全。
关键词:AT89C52 DAC0832 LM324 8位数码管显示AbstractWaveform The system is a digital signal generator based on single chip computer.AT89C52 is used as a control microcontroller core. The system is composed by digital/analog comversionDAC0832 imply circuit button and nixie tube. It can generate the square triangle and sine wave with nixietube. Te system can be used for a signal soure in the low-frequency signal soure. It is very practical.Various signals are an important part of correspondent area. In this area sine wave triangle wave and square wave are common signals. In science research and teaching experiment we often need the occurrence equipment of these signals. In order to make the experiment and research easier to develop a suitable full functional and easily used signals source is essential. This paper introduces the low frequency sources of different signals that are produced by AT89C52 SCM and DAC0832.Its signal range and frequency can be controlled by requirement. This paper briefly introduces the structure principle and usage of DAC0832 the basic theory of AT89C52 and various chips which relevant to design circuit. This paper emphasized how to use SCM to control the hardware circuit and software program of the signals above which produced by DAC0832.The signal frequency range also can be adjusted by requirement. This signal source design plan concerns on producing different low frequency signals not only meet the request of experiment in theory and in practice but also have strong feasibility. The trait of this signal source is :small volume low price stable function easily achievable and full function.Keywords :AT89C52 DA0832 LM324 8 nixie tube display目录摘要Abstract第1章绪论1.1 波形发生器的发展状况……………………………………………………….1.2 国内外波形发生器产品比较………………………………………………….1.3 波形发生器示意图…………………………………………………………….1.4 课题内容与设计要求…………………………………………………………. 第2章硬件电路构成2.1 MCS-51 单片机的内部结构………………………………………………………..2.1.1 内部结构概述…………………………………………………………………….2.1.2 AT89C52单片机……………………………………………...................................2.1.3 CPU 结构……………………………………………................................................2.1.4 存储器和特殊功能寄存器……………………………………………………….2.2 P0-P3 口结构…………………………………………………………………………….2.3 时钟电路和复位电路…………………………………………………………………..2.3.1 时钟电路. ……………………………………………………………………………2.3.2 单片机的复位状态…………………………………………………………………2.4 DAC0832 的引脚及功能………………………………………………………………2.4.1DAC0832芯片……………………………………………………………………….2.4.2 DAC0832引脚图和内部结构图………………………………………………….2.4.3 DAC0832 特性参数…………………………………………………………………2.5 数模转换电路……………………………………………………………………………..2.6 LM324集成运放………………………………………………………………………….2.7 8位数码管显示……………………………………………………………………………第3章软件原理3.1 主流程图…………………………………………………………………………………3.2 波形发生程序…………………………………………………………………………….第4章系统调试与测试4.1 波形发生器的调试……………………………………………………………………..4.2遇到的问题及解决方法……………………………………………………………….4.3 三角波仿真图. …………………………………………………………………………4.4 方波仿真图………………………………………………………………………………4.5 正弦波仿真图……………………………………………………………………………第5章总结致谢参考文献附录第1章绪论波形发生器也称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。
绪论波形发生器是一种广泛应用于电子电路,自动控制和科学实验等领域的信号源。
比如电参量的测量、雷达、通信、电子对抗与电子系统、宇航和严控遥测技术等等,从某种意义上说高品质信号源更是实现高性能指标的关键,很多现代电子设备和系统的功能都直接依赖于所用信号源的性能,因此,高品质信号源被人们喻为众多电子系统的“心脏”。
随着通信、雷达的不断发展,多信号源的频率稳定度、频谱纯度、频率范围和输出频率的个数以及信号波形的形状提出越来越多的要求。
为了提高信号源输出频率稳定度,可以采用晶体振荡器等方法来解决。
为了满足频率个数多的要求,可以采用频率合成技术,即通过对频率进行加减乘除运算,可从一个高稳定度和高精确度的标准频率源,产生大量的具有同一稳定度和精确度的不同频率。
运用DDS技术是设计波形发生器的一种通用手段,DDS不仅可以产生正弦波同时也可以产生任意波,这是其他频率合成方式所不具有的特点,任意波在各个领域有着广泛的应用。
通过DDS这种方法产生任意波是一种简单,低成本的方法,通过增加波形点数可以使输出达到很高的精度,这都是其他方法所无法比拟的。
自80年代以来各国都在研制DDS产品,并广泛应用于各个领域。
其中以AD公司的产品比较有代表性。
如AD7008、AD9850、AD9851、AD9852、AD9858等。
其系统时钟频率从30MHz到300MHz不等,其中的AD9858系统时钟更是达到了lGHz。
这些芯片还具有调制功能。
如AD7008可以产生正交调制信号,而AD9852也可以产生FSK、PSK、线性调频以及幅度调制的信号。
这些芯片集成度高,内部都集成了D/A转换器,精度最高可达12bit。
同时都采用了一些优化设计来提高性能。
如这些芯片中大多采用了流水技术,通过流水技术的使用,提高了相位累加器的工作频率,从而使得DDS芯片的输出频率可以进一步提高。
通过运用流水技术在保证相位累加器工作频率的前提下,相位累加器的字长可以设计得更长,如AD9852的相位累加器达到了48位。
单片机课程设计--简易波形发生器电气与电子信息工程学院《单片机》课程设计报告题目:简易波形发生器专业班级:电气学号: 123456姓名:王刚指导教师:胡蔷、汤立刚设计时间:2013年12月9日—2013年12月13日设计地点: K2-407单片机、微机原理实验室2013年11月20日单片机课程设计成绩评定表答辩或质疑记录:1、该设计能产生几种波形?分别是哪几种?答:能产生4种波形,三角波,方波,锯齿波以及正弦波。
2、DAC0832有几种工作方式?哪几种?各有什么特点?该设计中DAC0832用的是哪一种方式?答:3种,单缓冲方式、双缓冲方式以及直通方式:(1)单缓冲方式此方式适用于只有一路模拟量输出或几路模拟量非同步输出的情形。
方法是控制输入寄存器同时接收数据,或者只用输入寄存器而把DAC寄存器接成直通方式。
(2)双缓冲方式此方式适用于多个DAC0832同时输出的情形。
方法是先分别使这些DAC0832的输入寄存器接收数据,再控制这些DAC0832同时传送数据到DAC寄存器以实现多个D/A转换同步输出。
〔3〕直通方式此方式适用于连续反馈控制线路中。
方法是:数据不通过缓冲器,即-WR1,-WR2, -XFER, -CS 均接地,ILE接高电平。
此时必须通过I/O接口与微处理器连接,以匹配微处理器与D/A的转换。
该设计中DAC0832用的是单缓冲方式。
成绩评定依据:课程设计考勤情况(5%):课程设计仿真测试情况(15%)课程设计答辩情况(30%):完成设计任务及报告规范性(50%):最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字:2013 年12 月日课程设计任务书2013~2014 学年第 1 学期专业班级:电气指导教师:胡蔷汤立刚工作部门:电气与电子信息工程学院电气自动化教研室一、课程设计题目单片机课程设计二、课程设计内容(含技术指标)1.设计目的及要求(1)根据具体设计课题的技术指标和给定条件,以单片机为核心器件,能独立而正确地进行方案论证和电路设计,完成仿真操作。
单片机课程设计简易波形发生器波形发生器是电子实验中经常使用的一种仪器,它能够产生各种不同形式的周期信号。
在单片机课程设计中,我们可以通过编写程序控制单片机来实现一个简易的波形发生器。
本文将介绍使用单片机实现波形发生器的设计思路和实现过程。
首先,我们需要确定需要实现的波形类型。
常见的波形类型包括正弦波、方波、三角波等。
在本设计中,我们将选择实现方波和三角波两种波形。
其次,我们需要确定单片机的硬件资源。
根据波形发生器的要求,我们需要使用单片机的数模转换功能,将数字信号转换为模拟信号输出。
因此,我们需要选择一个具有这一功能的单片机。
在确定了波形类型和硬件资源后,我们可以开始编写程序。
首先,我们需要编写一个初始化函数,用于初始化单片机的相关寄存器和引脚设置。
然后,我们需要编写一个生成方波的函数。
方波信号是一个固定频率的矩形信号,其周期可通过设置定时器的计数值和频率来实现。
我们可以通过控制输出引脚的高低电平来生成方波信号。
接下来,我们需要编写一个生成三角波的函数。
三角波信号是一个类似于正弦波的周期信号,其产生过程可以通过一个计数器和一个增减状态位来实现。
通过控制计数器的递增和递减,我们可以得到一个周期为正弦波信号的三角波信号。
最后,我们需要在主函数中调用这些函数,以及设置相应的延时函数,来实现波形信号的输出。
在输出信号时,我们可以通过设置引脚的电平来控制波形的高低电平。
在实际的实验中,我们可以通过连接示波器来观察并验证所产生的波形信号。
根据波形的输出结果,我们可以调整相应的参数,如频率、周期等,以获得所需的波形效果。
总结起来,通过单片机实现一个简易的波形发生器是一个很有趣的课程设计项目。
通过控制单片机的计数器和引脚状态,我们可以实现方波和三角波等不同形式的周期信号输出。
这不仅有助于理解波形发生器的工作原理,还可以提升对单片机编程和硬件控制的技能。
题目:简易波形发生器——单片机课程设计报告学院:信息工程学院班级:通信13-2班指导教师:小组成员:目录1.1 简易波形发生器的背景介绍1.2 简易波形发生器的设计思路1.2.1 简易波形发生器的工作流程1.2.2 简易波形发生器的需求分析与设计1.2.3 D/A芯片的工作原理1.2.4 I2C接口总线工作原理1.3 简易波形发生器的硬件设计1.3.1简易波形发生器的硬件模块划分1.3.2 简易波形发生器硬件电路图1.3.3 硬件模块基础——单刀单掷开关1.3.4 硬件模块基础——MAX5171.4 简易波形发生器的软件设计1.4.1 简易波形发生器的软件模块划分和流程设计1.4.2 MAX517的驱动函数设计1.4.3 简易波形发生器的软件综合和程序清单1.4.4 简易波形发生器的应用系统仿真1.5 课程设计的体会1.6 参考文献1.7 课程设计源程序代码1.1 简易波形发生器的背景介绍信号发生器是最常用的测试仪器之一,主要用于产生被测电路所需特定参数的电测试信号。
在测试,研究或调整电子电路及设备时,为测定电路的一些电参量,如测量频率响应,噪声系数及电压表定度等,都要求提供符合所定技术条件的电信号,以模拟在实际工作中使用的待测设备的激励信号。
当要求进行系统的稳态特性测量时,需使用振幅,频率已知的正弦信号源;当测试系统的瞬态特性时,又需要使用前沿时间,脉冲宽度和重复周期已知的矩形脉冲源。
并且要求信号源输出的参数,如频率,波形,输出电压或功率等,能在一定范围内进行精确调整,有好的稳定性,有输出指示。
信号发生器可以根据输出波形的不同,划分为正弦信号发生器,矩形脉冲信号发生器,函数信号发生器和随机信号发生器4类。
此设计的简易波形发生器就是一个产生频率固定,最大幅度为5V 的正弦波,锯齿波和三角波的仪器。
1.2 简易波形发生器的设计思路 1.2.1 简易波形发生器的工作流程简易波形发生器的工作流程如图所示。
三角波按键被按下 锯齿波按键被按下正弦波按键被按下1.2.2 简易波形发生器的需求分析与设计设计简易波形发生器系统,需要考虑如下几个方面: 1) 如何产生相应的波形;2) 如何给用户提供相应的选择通道; 3) 需要设计合适的单片机软件。
51单片机系统 初始化输出三角波输出正弦波输出锯齿波检查用户 输入1.2.3 D/A芯片的工作原理在51单片机应用系统中,通常使用D/A芯片来产生对应得模拟量,包括各种波形。
D/A芯片的组成如图所示,其输入包括数字信号,基准参考电压,供电电源;而输出为模拟电流信号或电压信号。
供电电源+ -数字输入正电压信号D/A通道负电压信号模拟输出基准电压参考图1.2D/A芯片的组成D/A通道的数模拟转换原理可以分为有权电阻D/A转换和T型网络转换两种,大多数D/A通道芯片是由电阻阵列和多个电流,电压开关组成,其根据输入数字信号来切换多路开关,以产生对应的输出电流和电压。
为了保证D/A通道芯片输入引脚上的数字信号的稳定,一般来说,D/A芯片内部常常带有数据锁存器和地址译码电路,以便于51单片机的接口连接。
D/A通道芯片按照数字输入位数可以分为8位,10位,12位,16位等,按照和51 单片机的接口方式可分为并行D/A通道芯片和串行D/A通道芯片;按照转换后输出的模拟量类型来分可分为电压输入型D/A通道芯片和电流输出型D/A 通道芯片。
D/A通道芯片的主要性能指标如下:1.分辨率。
2.转换时间。
3.输出模拟量的类型与范围。
4.满刻度误差。
5.接口方式。
1.2.4 I2C接口总线工作原理I2C是一种串行总线的外设接口,它采用同步方式串行接收或发送信息,两个设备在同一个时钟下工作。
I2C总线只用两根线:串行数据SDA(Serial Data)、串行时钟SCL(Serial Clock)。
由于I2C 只有一根数据线,因此其发送信息和接收信息不能同时进行。
信息的发送和接收只能分时进行。
I2C 串行总线工作时传输速率最高可达400K bit/s 。
I2C 总线上的所有器件的SDA 线并接在一起,所有器件的SCL 线并接在一起,且SDA 线和SCL 线必须通过上拉电阻连接到正电源。
I2C 总线的数据传输协议要比SPI 总线复杂一些,因为I2C 总线器件没有片选控制线,所以I2C 总线数据传输的开始必须由主器件产生通信的开始条件(SCL 高电平时,SDA 产生负跳变);通信结束时,由主器件产生通信的结束条件(SCL 高电平时,SDA 产生正跳变)。
SDA 线上的数据在SCL 高电平期间必须保持稳定,否则会被误认为开始条件或结束条件,只有在SCL 低电平期间才能改变SDA 线上的数据。
I2C 总线的数据传输波形图如下图所示。
1.3 简易波形发生器的硬件设计 1.3.1简易波形发生器的硬件模块划分简易波形发生器的硬件模块划分如图所示,由51单片机,波形选择通道模块和D/A 通道芯片模块组成,其各个部分详细说明如下:① 51单片机:简易波形发生器系统的核心控制器;② 波形选择通道模块:提供用户选择通道,用以选择产生的波形; ③ D/A 通道芯片模块:用于将相应的数字量转化为模拟量。
波形选择通道模块D/A 通道芯片模块51单片机1.3.2 简易波形发生器硬件电路图简易波形发生器的硬件电路图,三个单刀单掷开关分别连接到P1.0,P1.2和P1.4引脚上,作为用户的选择输入模块;使用P2.0和P2.1引脚扩展了一个I2C总线接口的串行D/A芯片(MAX517)作为波形发生模块通道。
简易波形发生器的硬件电路表:简易波形发生器电路中涉及的典型器件说明器件名称器件编号说明晶体振荡器X1 51单片机的振荡源51单片机U1 52单片机,系统的核心控制器件电容C1 C2 C3 滤波,储能器件电阻R1 上拉单刀单掷开关用户选择波形输出MAX517 U2 D/A通道1.3.3 硬件模块基础——单刀单掷开关单刀单掷开关属于同轴开关的一种,按照接口数量定义,代号为#P#T,另外还有单刀双掷(SPDT)、双刀双掷(DPDT)、单刀六掷(SP6T)等,在实际使用中,其完全等同于一个不会自动弹起的独立按键。
1.3.4 硬件模块基础——MAX517MAX517是美信公司出品的8位电压输出型D/A芯片,其采用I2C总线接口,内部提供精密输出缓冲源,支持双极性工作方式,其主要特点如下:1.单5V电源供电;2.提供8位精度的电压输出;3.输出缓冲放大可以为双极性;4.基准输入可以为双极性。
MAX517的引脚封装结构,其详细说明如下。
1)OUT0:D/A转换输出引脚。
2)GND:电源地信号引脚。
3)SCL:I2C接口总线时钟信号引脚。
4)SDA:I2C接口总线时钟数据引脚。
5)AD1、AD0:I2C接口总线地址选择引脚,可以设定I2C总线上的多个MAX517的I2C地址。
6)VDD:电源正信号输入引脚。
7)REF0:基准电压输入引脚。
MAX517是个I2C总线接口器件,其有唯一的I2C地址,AD1和AD0引脚可用于在同一条I2C总线上挂接多个MAX517时选择地址。
MAX517的I2C地址结构参见表1,从表中能看到在同一条I2C总线上最多可以挂接4片MAX517。
表1,MAX517的I2C地址BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT00 1 0 1 1 AD1 AD0 0MAX517的控制寄存器的格式参见表2,在I2C的总线操作中,使用“地址+命令字节”的格式把MAX517的命令字写入内部控制寄存器。
表2,MAX517控制寄存器的格式BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0R2 R1 R0 RST PD 保留保留A01)R2——R0:保留为,永远为0。
2)RST:复位位,在该位被置“1”时,MAX517的所有寄存器被复位。
3)PD:电源工作状态位,当该位为“1”时,MAX517进入休眠状态,当该位为“0”时,进入正常工作状态。
4)A0:用于判断将数据写入哪一个寄存器中,在MAX517中,此位永远为“0”。
1.4 简易波形发生器的软件设计简易波形发生器的软件设计重点是使用51单片机的普通I/O引脚模拟I2C 总线时序,对MAX517进行读/写操作。
1.4.1 简易波形发生器的软件模块划分和流程设计简易波形发生器的软件可划分为I2C 总线时序读/写MAX517驱动库函数和波形产生函数两个部分,其流程如图所示。
断开 断开 断开闭合 闭合 闭合简易波形发生器的软件流程初始化51单片机初始化I2C 总线检查单刀单掷开关状态正弦开关=1三角波开关=1锯齿波开关=1控制MAX517送出正弦波控制MAX517送出三角波控制MAX517送出锯齿波1.4.2 MAX517的驱动函数设计MAX517的驱动函数模块主要用于对MAX517的相关控制,其包括了如下函数。
1.Viod I2C_Start():启动I2C总线。
2.Viod I2C_Init():初始化I2C总线。
3.I2C_Delay(unsigned int I2C_VALUE):I2C总线的延时程序,其延时值为参数I2C_VALUE控制。
4.Viod I2C_write(char dat):通过I2C总线写一个字节数据。
5.Bit I2C_GetAck():I2C总线应答函数。
6.Viod I2C_stop():停止I2C总线。
7. Bit write_addr(unsigned char addr,bit mod):向MAX517写入一个地址数据,addr为地址数据,如果写入成功则返回1,否则返回0。
8.Bit write_data(unsigned char dat):向MAX517写入一个数据,dat为数据。
1.4.3 简易波形发生器的软件综合和程序清单表1 Proteus电路器件列表器件名称库子库说明AT89C52 Microprocessor ICs 8051Family 51单片机RES Resistors Generic 通用电阻CAP Capacitors Generic 电容CAP-ELEC Capacitors Generic 极性电容CRYSTAL Miscellaneous ——晶体震荡器MAX517 Data Converters D/AConverter MAX517芯片SWITCH Switches&Relays Switches 开关1.4.4 简易波形发生器的应用系统仿真单击运行,合上对应的单刀单掷开关,可以看到对应的波形输出,如图所示。
三角波输出正弦波输出锯齿波输出1.5 课程设计的体会在这次课程设计中,我们运用到了以前所学的专业课知识,如:cad制图、汇编语言、模拟和数字电路知识等。