课程设计——波形发生器
- 格式:doc
- 大小:447.54 KB
- 文档页数:28
目录目录 01.1波形发生器的进展状况 01.2国内外波形发生器产品比较 (1)5.1 主流程图 (6)5.2正弦波仿真图 (6)5.4 方波仿真图 (7)1.波形发生器概况在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和运算机等技术领域,常常需要用到各类各样的信号波形发生器。
随着集成电路的迅速进展,用集成电路可很方便地组成各类信号波形发生器。
用集成电路实现的信号波形发生器与其它信号波形发生器相较,其波形质量、幅度和频率稳固性等性能指标,都有了专门大的提高。
1.1波形发生器的进展状况波形发生器是能够产生大量的标准信号和用户概念信号,并保证高精度、高稳固性、可重复性和易操作性的电子仪器。
函数波形发生器具有持续的相位变换、和频率稳固性等长处,不仅能够模拟各类复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通信,组成自动测试系统,因此被普遍用于自动控制系统、震动鼓励、通信和仪器仪表领域。
在70 年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常常利用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方式。
那个时期的波形发生器多采用模拟电子技术,而且模拟器件组成的电路存在着尺寸大、价钱贵、功耗大等缺点,而且要产生较为复杂的信号波形,则电路结构超级复杂。
同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。
到了二十一世纪,随着集成电路技术的高速进展,出现了多种工作频率可过GHz 的DDS 芯片,同时也推动了函数波形发生器的进展,2003 年,Agilent 的产品33220A能够产生17 种波形,最高频率可达到20M,2005 年的产品N6030A 能够产生高达500MHz 的频率,采样的频率可达1.25GHz。
波形发生器课程设计vhdl一、教学目标本课程旨在通过学习VHDL(硬件描述语言),让学生掌握波形发生器的设计与仿真。
通过本课程的学习,学生应能理解VHDL的基本语法和编程技巧,能够运用VHDL设计简单的数字电路,特别是波形发生器。
此外,通过课程实践,培养学生分析问题、解决问题的能力,以及团队合作和沟通交流的能力。
具体来说,知识目标包括:1.掌握VHDL的基本语法和编程技巧。
2.理解波形发生器的工作原理和设计方法。
技能目标包括:1.能够运用VHDL设计简单的数字电路。
2.能够独立完成波形发生器的设计与仿真。
情感态度价值观目标包括:1.培养学生的创新意识和实践能力。
2.培养学生团队合作和沟通交流的能力。
二、教学内容本课程的教学内容主要包括VHDL基本语法、数字电路设计方法和波形发生器的设计与仿真。
1.VHDL基本语法:包括数据类型、信号声明、实体和架构、过程和函数、线网和赋值语句等。
2.数字电路设计方法:包括组合逻辑电路、时序逻辑电路和触发器的设计方法。
3.波形发生器的设计与仿真:包括正弦波、方波、三角波等波形发生器的设计方法,以及相应的仿真测试。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、案例分析法、实验法和讨论法等。
1.讲授法:用于讲解VHDL基本语法和数字电路设计方法。
2.案例分析法:通过分析实际案例,让学生学会波形发生器的设计与仿真。
3.实验法:让学生动手实践,独立完成波形发生器的设计与仿真。
4.讨论法:在课堂上引导学生进行思考和讨论,培养团队合作和沟通交流的能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《数字电路设计与VHDL编程》等。
2.参考书:《VHDL完全学习手册》、《数字电路与逻辑设计》等。
3.多媒体资料:包括PPT课件、教学视频、在线课程等。
4.实验设备:计算机、VHDL仿真软件(如ModelSim)、示波器等。
单片机波形发生器课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握单片机波形发生器的硬件组成及工作原理;2. 学会使用相关编程语言(如C语言)编写程序,实现对单片机波形发生器的控制;3. 掌握单片机波形发生器在不同波形(如正弦波、方波、三角波等)下的参数设置及其调整方法。
技能目标:1. 能够独立完成单片机波形发生器的硬件连接与调试;2. 能够运用所学编程知识,编写出实现不同波形的程序,并成功运行在单片机上;3. 学会分析并解决在单片机波形发生器使用过程中遇到的问题。
情感态度价值观目标:1. 培养学生对电子技术的兴趣和热情,提高学生对单片机及其应用的重视程度;2. 培养学生的团队协作意识,学会在团队中发挥个人作用,共同完成项目任务;3. 培养学生勇于创新、敢于实践的精神,提高学生面对挫折和困难时的坚持与克服能力。
课程性质:本课程为实践性较强的课程,结合理论教学,注重培养学生的实际操作能力。
学生特点:学生具备一定的电子基础和编程知识,对单片机有一定了解,但实践经验不足。
教学要求:教师应结合课程特点和学生实际情况,采用理论教学与实践操作相结合的方式进行教学,注重培养学生的动手能力和创新能力。
在教学过程中,分解课程目标为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 理论部分:a. 单片机原理概述:讲解单片机的基本结构、工作原理及性能特点;b. 波形发生器原理:介绍波形发生器的功能、分类及其在电子技术中的应用;c. 编程语言基础:回顾C语言基础知识,重点讲解与单片机编程相关的语法和技巧。
2. 实践部分:a. 硬件连接与调试:指导学生完成单片机波形发生器的硬件连接,学习使用调试工具;b. 程序编写与烧录:教授学生编写控制单片机波形发生器的程序,并进行烧录;c. 波形参数调整:学习如何调整单片机波形发生器的参数,实现不同波形输出。
3. 教学大纲与进度安排:a. 第一周:单片机原理概述,波形发生器原理;b. 第二周:C语言回顾,编程语言基础;c. 第三周:硬件连接与调试;d. 第四周:程序编写与烧录;e. 第五周:波形参数调整,实践操作与总结。
模拟电路课程设计--多用途波形发生器课程题目:多用途波形发生器一、设计目的·掌握运算放大器的工作原理。
·掌握波形产生电路组成及设计方法。
二、设计任务和要求。
1.设计制作一台能产生方波、三角波、锯齿波和正弦波的波形发生器。
;2.①输出波形频率范围为0.02Hz~20kHz且连续可调;②正弦波幅值为±10V,失真度小于2%;③方波幅值为10V;④三角波峰-峰值为20V;⑤各种波形幅值均连续可调;⑥设计电路所需的直流电源。
⑦出集成运放、二极管、电阻、电容、电位器、转换开关等全部元件的清单三、方案选择与论证。
3.1方案1:1、结构图见图1:图中共有四个主要部分: 1.正弦波发生器如图:C450%50%50% C1、C2与两个滑动变阻器构成选频网络,开始时,D2、D3与R3并联,电阻约为R3,AF>1,之后D2与D3将R3短路,AF=1,振荡产生正弦波。
2.方波与三角波发生器R4200kΩ当R8取50%时,电路振荡产生方波与三角波,否则产生矩形波与锯齿波。
波形频率有R6调节,R4可以调节波形和幅度。
C2与R9接地可以使波形减少失真。
3.电源1kΩ利用桥型整流,结合C7~C12滤波,将交流电变成直流,产生正负电源为运算放大器提供电源4.放大器R15200kΩKey=AAD549JH是高阻抗运算放大器,将产生的波形放大。
四.用到的元器件741、AD549JH运算放大器电解电容、可变电容1N4001GP、1N1204C二极管05AZ2.2稳压管TS-PQ4-10变压器220V、50Hz电阻若干五.心得通过本次课程设计,将课本所学知识联系到日常生活中,加深了我们对课本内容的认识和应用,也更让我们了解到了生活中即使是随便看得到一个光控路灯,也有着不简单的内容,让我们重新感悟,从生活中学习,着心于观察生活,才能做到不空读书,从而将生活中的所观所感融入到学习中,进而学会更多。
此外,通过团队的合作,更让我们发现了各自所学的不足,大家取长补短,互相为师,加深了对彼此的了解,增进了友谊。
protel课程设计波形发生器一、教学目标本节课的教学目标是让学生掌握Protel软件的使用,能够设计并制作波形发生器电路板。
具体分为三个部分:1.知识目标:使学生了解波形发生器的基本原理和电路组成,熟悉Protel软件的操作界面和功能。
2.技能目标:培养学生使用Protel软件进行电路设计的能力,能够独立完成波形发生器电路板的设计和制作。
3.情感态度价值观目标:培养学生对电子技术的兴趣,提高学生动手实践的能力,培养学生的创新精神和团队合作意识。
二、教学内容本节课的教学内容主要包括三个部分:1.波形发生器的基本原理和电路组成:介绍波形发生器的工作原理,讲解其电路组成和功能。
2.Protel软件的操作和使用:讲解Protel软件的操作界面和功能,示范如何使用Protel软件进行电路设计。
3.波形发生器电路板的设计和制作:引导学生使用Protel软件设计波形发生器电路板,讲解电路板制作的步骤和注意事项。
三、教学方法为了达到本节课的教学目标,将采用以下教学方法:1.讲授法:讲解波形发生器的基本原理和电路组成,让学生掌握相关理论知识。
2.案例分析法:分析实际案例,让学生了解Protel软件的操作和使用。
3.实验法:引导学生动手实践,设计并制作波形发生器电路板,培养学生的实际操作能力。
4.小组讨论法:分组让学生进行讨论和合作,培养学生的团队协作能力和创新精神。
四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备以下教学资源:1.教材:选用与Protel软件和波形发生器设计相关的教材,为学生提供理论知识的学习。
2.多媒体资料:制作课件和教学视频,为学生提供直观的学习材料。
3.实验设备:准备计算机和Protel软件,以及波形发生器电路实验所需的元器件和设备,为学生提供动手实践的机会。
五、教学评估为了全面、客观地评估学生的学习成果,将采用以下评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答情况以及团队合作表现,以了解学生的学习态度和掌握程度。
课程设计任务书题目波形发生器专业、班级学号姓名主要内容:设计一个产生各种波形的波形发生器基本要求:利用单片机P1.0引脚输出频率范围1Hz – 1000Hz的正弦波、方波、三角波、梯形波、锯齿波,并用示波器观察。
目录一、设计目的及意义 ........................................................................... - 3 -1.1设计目的 (3)1.2设计意义 (3)二、方案论证 ....................................................................................... - 3 -2.1设计要求 (3)2.2方案论证 (4)三、硬件电路设计 ............................................................................... - 4 -3.1设计思路、元件选型 (4)3.2原理图 (5)3.3主要芯片介绍 (5)3.4硬件连线图 (8)四、软件设计 ....................................................................................... - 9 -4.1锯齿波的产生过程 (10)4.2梯形波的产生过程 (11)4.3三角波的产生过程 (13)4.4方波的产生过程 (14)4.5正弦波的产生过程 (15)五、调试与仿真 ................................................................................. - 16 -六、总结.............................................................................................. - 19 -七、参考文献: ................................................................................. - 19 -一、设计目的及意义1.1设计目的(1)利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。
波形发生器单片机课程设计一、课程目标知识目标:1. 让学生理解波形发生器的基本原理,掌握单片机在波形发生器中的应用;2. 学会使用编程软件进行单片机程序设计,实现常见波形的生成;3. 了解波形发生器的性能指标,如频率、幅度、相位等,并能进行简单计算。
技能目标:1. 培养学生运用所学知识,设计并实现波形发生器单片机程序的能力;2. 提高学生动手实践能力,能够独立完成波形发生器的硬件连接与调试;3. 培养学生团队协作能力,通过小组合作完成课程设计。
情感态度价值观目标:1. 培养学生对单片机及电子技术的兴趣,激发学生的学习热情;2. 培养学生严谨的科学态度,注重实验数据的真实性,遵循实验操作规范;3. 培养学生的创新意识,鼓励学生勇于尝试,不断优化波形发生器设计。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程属于电子技术领域,涉及单片机原理、编程及硬件设计;2. 学生特点:学生已具备一定的电子技术基础,熟悉单片机的基本操作,具有一定的编程能力;3. 教学要求:注重理论与实践相结合,强调动手实践,培养学生解决实际问题的能力。
二、教学内容1. 波形发生器原理:介绍波形发生器的功能、分类及其在电子技术中的应用,重点讲解单片机波形发生器的原理及组成。
教材章节:《单片机原理与应用》第四章第三节2. 单片机程序设计:讲解如何使用编程软件(如Keil)进行单片机程序设计,实现常见波形(如正弦波、方波、三角波等)的生成。
教材章节:《单片机原理与应用》第五章3. 硬件设计与连接:介绍波形发生器硬件电路的设计方法,包括单片机、晶振、滤波器等元件的选型与连接。
教材章节:《电子电路设计》第二章4. 波形发生器性能指标:讲解波形发生器的主要性能指标,如频率、幅度、相位等,并进行简单计算。
教材章节:《电子测量与仪器》第三章5. 实践操作与调试:指导学生进行波形发生器硬件连接、程序下载和调试,确保波形发生器正常工作。
教材章节:《单片机原理与应用》第六章6. 课程设计:要求学生以小组为单位,设计并实现一个具有特定功能的波形发生器,完成课程设计报告。
多种波形发生器课程设计一、课程目标知识目标:1. 学生能够理解并掌握多种波形发生器的原理及其功能。
2. 学生能够识别并描述方波、三角波、正弦波等基本波形的特点。
3. 学生能够解释波形发生器在电子技术中的应用。
技能目标:1. 学生能够运用所学知识,设计简单的波形发生器电路图。
2. 学生能够操作示波器等实验设备,观察并分析不同波形的特点。
3. 学生能够通过小组合作,完成波形发生器的搭建和调试。
情感态度价值观目标:1. 学生能够认识到波形发生器在科技发展中的重要性,增强对电子技术的兴趣。
2. 学生在学习过程中,培养合作精神、探究精神和创新意识。
3. 学生能够遵循实验操作规范,树立安全意识,养成严谨的科学态度。
课程性质:本课程为电子技术课程的一部分,旨在帮助学生了解并掌握波形发生器的原理和应用。
学生特点:学生为高中年级,具备一定的电子基础知识和实验操作能力。
教学要求:结合学生特点和课程性质,通过理论讲解、实验演示和小组合作,使学生能够达到上述课程目标。
在教学过程中,注重培养学生的动手能力、思考能力和创新能力,将知识目标、技能目标和情感态度价值观目标分解为具体的学习成果,以便后续的教学设计和评估。
二、教学内容1. 理论知识:- 波形发生器的原理及其分类- 方波、三角波、正弦波等基本波形的数学表达式和特点- 波形发生器在电子电路中的应用实例2. 实践操作:- 示波器的使用方法- 波形发生器电路图设计- 波形发生器电路的搭建与调试3. 教学大纲:- 第一课时:波形发生器原理及分类介绍,示波器使用方法讲解- 第二课时:方波、三角波、正弦波等基本波形特点及数学表达式分析- 第三课时:波形发生器应用实例分析,电路图设计方法讲解- 第四课时:小组合作,进行波形发生器电路搭建与调试4. 教材章节:- 教材第四章:波形发生器- 教材第五章:示波器及其应用教学内容根据课程目标进行选择和组织,确保科学性和系统性。
在教学过程中,教师需按照教学大纲安排教学内容和进度,结合教材章节,使学生在掌握理论知识的同时,能够进行实践操作,提高学生的综合能力。
proteus波形发生器课程设计一、课程目标知识目标:1. 理解波形发生器的原理,掌握Proteus软件中波形发生器的使用方法;2. 学会分析波形发生器的电路图,并能够描述各部分功能;3. 掌握如何调整波形发生器的参数,以实现不同波形(如正弦波、方波、三角波等)的输出。
技能目标:1. 能够运用Proteus软件设计并搭建简单的波形发生器电路;2. 学会使用示波器等工具观察波形发生器输出的波形,并进行分析;3. 能够针对实际需求,调整波形发生器的参数,实现特定波形的输出。
情感态度价值观目标:1. 培养学生对电子电路的兴趣,激发学习热情;2. 增强学生的团队合作意识,培养在团队中沟通、协作的能力;3. 引导学生认识到波形发生器在电子技术中的应用价值,提高学生的创新意识和实践能力。
课程性质:本课程为电子技术实践课程,以实验操作和实际应用为主,注重培养学生的实际操作能力和创新能力。
学生特点:学生为高年级电子专业或相关专业的学生,具有一定的电子电路基础和实际操作能力。
教学要求:结合Proteus软件和实际电路,引导学生从理论到实践,逐步掌握波形发生器的原理和应用。
在教学过程中,注重启发式教学,鼓励学生思考、提问、创新,提高学生的综合素养。
通过课程学习,使学生能够独立完成波形发生器的设计与搭建,为后续相关课程和实际工作打下基础。
二、教学内容1. 波形发生器原理介绍:讲解波形发生器的概念、种类、工作原理及其在电子电路中的应用。
- 教材章节:第二章第二节“波形发生器的基本原理”- 内容列举:正弦波、方波、三角波等常见波形的产生原理,集成波形发生器的特点。
2. Proteus软件使用:介绍Proteus软件的基本功能,重点讲解波形发生器的搭建、参数设置和仿真操作。
- 教材章节:第三章“Proteus软件的使用”- 内容列举:软件界面、基本操作、波形发生器组件、仿真分析等。
3. 波形发生器电路分析与设计:- 教材章节:第四章“波形发生器电路分析与设计”- 内容列举:电路图分析、各部分功能、参数调整、波形观察与调试。
微机原理课程设计波形发生器微机原理课程设计波形发生器基本要求:(1)通过按键选择波形,波形选择(方波、三角波)。
8255 A 和0832(2)通过按键设定波形的频率,同时波形频率在数码管上显示。
8255A(3)频率设定后,通过8253精确计时来设置波形宽度大小,比如方波的占空比。
(4)8259A产生中断,用示波器显示输出波形。
附加要求:(1)通过按键可以增大或者降低频率;(2)显示正弦波。
目录一理论部分1.1 课程设计的目的 (2)1.2 课程设计要求与内容 (2)1.3 总体设计方案 (2)(1)设计思想及方案论证 (2)(2)总体设计方案框图 (3)1.4 系统硬件设计 (4)1.5 系统软件设计 (5)二实践部分2.1 系统硬件原理简介 (6)2.2 程序调试 (9)2.3 软件系统的使用说明 (9)三课程设计结果分析3.1 实验结果 (10)3.2 结果分析 (11)四课程设计总结 (11)五附录5.1源程序及说明 (12)由于要求达到模拟信号波形发生,因此要由D/A 转换芯片0832来来完成此项任务,由8253形成波形的主要做法是:先输出一个下限电平,将其保持t 然后输出一个稍高的电平,在保持t ,然后重复此过程,因此需要延长0832输入数据的时间间隔来改变频率。
如图1信号发生波形图所示。
0832输入的数据的延时可以通过软件完成,也可以通过硬件完成。
由于实验要求输出的波的频率可以改变,且精确,所以选用硬件延时硬件延时主要由计时器8253和中断控制器8259来实现。
由8253输出的方波的高低电平,来触发8259的IR0端,8259给CPU 中断信号,CPU 中断来执行相应的中断子程序,中断子程序为向0832输出数据的程序,通过选择此程序可以产生锯齿波,方波,正弦波。
由于0832产生的方波的频率可以控制,所以每次中断执行波形发生程序的时间间隔可以精确控制。
以此来控制输出的波形频率。
最后通过8255驱动LED 数码显示管,实现对输入的频率的显示,由键盘直接输入波形频率,通过LED 数码显示管显示。
波形发生器设计一.摘要本文以AT89C51单片机为核心,采用C语言的编程方法,外加DAC0832数模转换模块与集成运放模块,构成了函数波形发生器。
可产生方波、三角波、正弦波、锯齿波等多种波形,波形的频率可用程序改变,并可根据需要选择输出波形。
其中运用软硬件结合的方法实现设计功能,具有线路简单、结构紧凑、性能优越等特点。
关键词:51单片机;DAC;函数波形发生器二.设计要求1.产生正弦波、方波、三角波;2.幅度可以设定;3.出频率能达到1MHZ。
4. 发挥部分(自选)三.设计目的1、巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决实际课题设计的能力。
2、培养针对课题需要,选择和查阅有关手册、图表及文献资料的能力,提高组成系统、编程、调试的动脑动手能力。
3、通过对课题设计方案的分析、选择、比较,熟悉运用单片机系统开发、软硬件设计的方法内容及步骤。
4,掌握各个接口芯片(如0832等)的功能特性及接口方法,并能运用其实现一个简单的单片机应用系统功能器件。
四.设计方案波形发生器的实现方法通常有以下几种:方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。
但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
方案三:采用AT89S52单片机和DAC0832芯片,直接连接键盘和显示。
该种方案主要对AT89S52单片机的各个I/O口充分利用。
P1口是连接键盘, P2口接显示电路,P0口连接DAC0832输出波形。
这样总体来说,能对单片机各个接口都利用上,而不在多用其它芯片,从而减小了系统的成本。
也对按照系统便携式低频信号发生器的要求所完成。
占用空间小,使用芯片少,低功耗。
综合考虑,方案三各项性能和指标都优于其他几种方案,能使输出频率有较好的稳定性,充分体现了模块化设计的要求,而且这些芯片及器件均为通用器件,在市场上较常见,价格也低廉,样品制作成功的可能性比较大,所以本设计采用方案三。
五.设计思路1.基本功能1.1.波形的产生(1)正弦波:通过手动的方法计算出输出各点的电压值,然后在编写程序时以数组的方式给出。
当需要时,只要按照顺序进行输出即可。
这种方法比在软件中计算速度快且曲线的形状修改灵活。
在本设计中将一个周期(360度)分为256个点,则每两个点之间的间隔为1.4度,然后计算出每个点电压对应的数字量,形成数组。
只要反复输出这组数据到DAC0832,就可以在系统输出端得到想要的正弦波。
(2)方波:按照设定的周期值将输出的电压改变即可。
(3)三角波:使用查表法。
将三角波的一个周期(360度)分为256个点,相邻点等差。
反复输出前256个数据到DAC0832,就可以在系统输出端得到想要的锯齿波。
1.2.波形的变换通过P1口和轻触开关S1-S4相连接来切换波形输出(如按S1键输出正弦波,按S2键产生方波,按S3键产生锯齿波,按S4键产生三角波)。
用P0口控制数码管静态显示波形代号。
用P2口向DAC0832发送数据,经DAC0832转换后,再把信号放大,最后接到示波器上显示。
2. 幅值的改变波形的幅值调节,使用硬件方法实现,在DAC0832的VREF口接一滑动变阻器,通过改变DA转换的参考电压来实现波形幅值的改变。
3.频率的改变频率的改变用软件实现,这里通过增加一个变量V来达到目的。
以正弦波为例,给定正弦波的数组表,把对应的数值送给DAC0832,加以处理,就能输出正弦波。
增加变量以后,其形式变为”DAC0832 =sintab[i+v]”,改变v的值,输出一次正弦波数组表的时间就会改变,根据周期与频率的关系,相应的频率也会改变。
例如v=0时,需送256次才能把数组表中数据全部送给DAC0832;v=4时,送64次就可达到目的。
由于每送一次数据的时间是一定的,次数不同,时间也会不同,频率也会改变。
、4. 附加功能4.1 对应输出波形状态的显示采用软硬件结合的方法,在P2口接一个7段数码管,当P1口对应得按键按下,在P2口输出一个数值,从而显示相应的数字。
根据数字我们知道正在显示波形的状态,如数码管显示1时,输出的是正弦波;显示2时,输出的是方波。
4.2 .锯齿波的产生借助于一个变量i,让i从0开始自加1,达到0xff时置为0x00,。
并实时把对应的i值送到DAC0832经D/A转换,就可以在系统输出端得到想要的锯齿波。
4.3 方波占空比的调节对于方波这里增加了一个占空比可调的功能,具体做法与频率的调节十分相似。
这里在v的基础上,又增加了两个变量up,down,通过改变up,down的值,从而达到改变方波占空比的目的。
六.硬件电路1.硬件框图2. 主要模块2.1.按键模块图二按键模块如图一,按键模块由八个按钮与AT89C51的P1口连接而成。
按钮的公共端接低电平,当某一按钮按下时,对应的接口就会收到一个低电平信号,然后发生相应的动作。
各个按钮的作用是S1产生正弦波信号,S2产生方波信号,S3产生锯齿波信号,S4产生三角波信号,S5调节使频率正大,S6调节使频率减小,S7使方波占空比增大,S8使方波占空比减小。
2.2数模转换模块图三数模转换模块如图二,数模转换模块的核心是DAC0832,DAC0832是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
根据对DAC0832的输入寄存器和DAC寄存器不同的控制方法,DAC0832有如下3种工作方式:缓冲方式。
单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。
此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。
双缓冲方式。
双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。
此方式适用于多个D/A转换同步输出的情节。
直通方式。
直通方式是资料不经两级锁存器锁存,即 CS*,XFER* ,WR1* ,WR2* 均接地,ILE接高电平。
此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。
本设计控制输入寄存器和DAC寄存器同时接收资料,属于单缓冲方式。
注意到图中VREF(基准电压输入线),与一个滑动变阻器RV1相连,通过改变RV1的阻值即可达到输出波形幅度调节的目的。
2.3. 放大器模块图四放大器模块DAC0832输出的是一个电流信号,加入放大模块的主要作用是将电流信号转换成电压信号。
大家都知道集成运放中有“零点漂移”的现象,所以在这里加入一个10K电阻用于改善“零点漂移”对系统性能所造成的影响。
2.4 . 显示模块图五显示模块如图,显示模块由一个七段共阳的数码管与P2口相连而成,当输出波形为正弦波时,数码管显示“1”;输出方波时,数码管显示“2”;输出锯齿波时,数码管显示“3”;输出三角波时,数码管显示“4”。
根据数码管所显示的数字,就能知道输出的为何种波形。
2.5. 滤波模块图六滤波模块为了尽可能的得到相对频率较高的成分与较为纯净的波形,这里用了一个高通滤波器。
通过改变滑动变阻器的值可以改善高通滤波器的性能。
2.5 其它模块除了上面所述模块外,还用到了晶振电路、复位电路和滤波电路,它们的原理图分别如图六,图七所示。
这里不再赘述。
图七晶振电路图八复位电路5.总原理图图九总原理图七.软件设计1.程序流程图2.按键部分3.程序#include <reg51.h>#include<absacc.h>#define uchar unsigned char #define uint unsigned int#define DAC0832 XBYTE[0xFFFE] sbit s1=P1^0; //正弦波选择按钮sbit s2=P1^1; //方波选择按钮sbit s3=P1^2; //锯齿波选择按钮sbit s4=P1^3; //三角波选择按钮sbit s5=P1^4; //增大频率按钮sbit s6=P1^5; //减小频率按钮sbit s7=P1^6; //增大占空比按钮sbit s8=P1^7; //减小占空比按钮uint up,down; //调节占空比的两个变量int statu,v; //statu为波形状态按钮,v为调节频率所用的变量int i; //用于正弦波与三角波的数组表的引用uchar code sintab[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea, 0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda, 0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7, 0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1, 0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99, 0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80, 0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69, 0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51, 0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a, 0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27, 0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a, 0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02, 0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02, 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09, 0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15, 0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25, 0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38, 0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e, 0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66, 0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80};uchar code angletab[256]={0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e, 0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e, 0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e, 0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e, 0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e, 0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e, 0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e, 0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e, 0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e, 0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e, 0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae, 0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe, 0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce, 0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde, 0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee, 0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe, 0xfe,0xfc,0xfa,0xf8,0xf6,0xf4,0xf2,0xf0, 0xee,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0xde,0xdc,0xda,0xd8,0xd6,0xd4,0xd2,0xd0, 0xce,0xcc,0xca,0xc8,0xc6,0xc4,0xc2,0xc0, 0xbe,0xbc,0xba,0xb8,0xb6,0xb4,0xb2,0xb0, 0xae,0xac,0xaa,0xa8,0xa6,0xa4,0xa2,0xa0, 0x9e,0x9c,0x9a,0x98,0x96,0x94,0x92,0x90, 0x8e,0x8c,0x8a,0x88,0x86,0x84,0x82,0x80, 0x7e,0x7c,0x7a,0x78,0x76,0x74,0x72,0x70, 0x6e,0x6c,0x6a,0x68,0x66,0x64,0x62,0x60, 0x5e,0x5c,0x5a,0x58,0x56,0x54,0x52,0x50, 0x4e,0x4c,0x4a,0x48,0x46,0x44,0x42,0x40, 0x3e,0x3c,0x3a,0x38,0x36,0x34,0x32,0x30, 0x2e,0x2c,0x2a,0x28,0x26,0x24,0x22,0x20, 0x1e,0x1c,0x1a,0x18,0x16,0x14,0x12,0x10, 0x0e,0x0c,0x0a,0x08,0x06,0x04,0x02,0x00 };void delay(uint ms){uchar t;while(ms--)for(t=0;t<120;t++);}void sin() //正弦波{ for(i=0;i<=256;i=i+v){ DAC0832 =sintab[i];} }void squar(){DAC0832=0xff;//方波delay(up-v);DAC0832=0x00;delay(down-v);}void saw() //锯齿波{ for(i=0;i<=256;i=i+1+v) { DAC0832=i; }}void angle() //三角波{ for(i=0;i<=256;i=i+v) { DAC0832=angletab[i];} }void wave(){if(s1==0) //正弦波状态{P2=0xF9;delay(10);statu=1;}else if(s2==0) //方波状态{P2=0xA4;delay(10);statu=2;}else if(s3==0) //锯齿波状态 {P2=0xB0;delay(10);statu=3;}else if(s4==0) //三角波状态{P2=0x99;delay(10);statu=4;}else if(s5==0) //增大频率 {delay(10);if(s5==0){v=v+1;}while(!s5);delay(10);while(!s5);}else if(s6==0) //减小频率 {delay(10);if(s6==0){v=v-1;if(v<=0)v=0;}while(!s6);delay(10);while(!s6);}else if(s7==0) //占空比增加 {delay(10);if(s7==0){up--;down++;}while(!s7);delay(10);while(!s7);}else if(s8==0)//占空比减小 {delay(10);if(s8==0) {up++;down--; }while(!s8);delay(10);while(!s8); }}void main(){up=6;down=6;v=3;P2=0xff;P1=0xff;while(1){wave();switch(statu){case 1:sin();break; case 2:squar();break; case 3:saw();break; case 4:angle();break; }}}八.仿真1.以下四幅图说明可产生四种波形3.以下四幅图说明幅值可变4,以下四幅图说明频率可变5.以下两幅图说明方波占空比可变6,下图说明周期为300us波形无失真7,以下四幅图说明可由数码管显示对应状态九.总结本设计采取软硬件结合的方式,是基于单片机和DAC0832波形发生器的设计与实现,单片机采用的是AT89C51, DAC0832是波形发生器中常用的芯片。