波形发生器实验报告
- 格式:doc
- 大小:393.50 KB
- 文档页数:17
VHDL多路波形发生器实验报告一、基本要求:1、对输入时钟信号进行分频,实现三路互差120°的信号。
2、实现输出信号的占空比控制clk: 输入时钟信号reset: 同步复位信号(低电平有效)div: 输入分频控制信号(注意:6n分频)ctrl: 占空比控制信号ctrl=1时, 占空比为1:1ctrl=2时, 占空比为1:2ctrl=3时, 占空比为2:1A,B,C: 三路输出信号二、设计思路:1.实验为6n分频,用变量s来控制,0~6n-1这六个数,当时钟信号每来一个上升沿时加1,当为6n-1时清零;2.定义N为常量,通过改变N的值改变分频;3.ctrl值不同时,占空比不同,用case语句控制,ctrl分别为01,10,11和其他;4.具体波形的实现用if语句,当占空比为1时,A输出信号在s=0和s=3*n时翻转,B输出信号在s=2*n和s=5*n时翻转,C输出信号在s=4*n和s=n的时候翻转。
当占空比为1:2时,A输出信号在s=0和s=2*n时翻转,B输出信号在s=2*n和s=4*n时翻转,C输出信号在s=4*n和s=0的时候翻转。
当占空比为2:1时,A输出信号在s=0和s=4*n时翻转,B输出信号在s=2*n和s=0时翻转,C输出信号在s=4*n和s=2*n的时候翻转;5.在占空比为1和1:2时,C输出信号应比B慢120度,但是实际输出超前B,所以要对C输出进行反相;同理,在占空比为2:1时,要对B、C分别进行反向。
6.用if语句判断是否复位,若非,则执行case语句。
三、流程图:四、源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity top isport(clk,reset:in std_logic;ctrl:in std_logic_vector(1 downto 0);A,B,C:out std_logic);end top ;architecture rel of top issignal temp1,temp2,temp3,temp4,temp5 : std_logic; constant N: integer:=1;signal s:integer range 0 to 6*N-1 ;beginprocess(clk,reset,ctrl)beginif (reset='0') thentemp1<='0';temp2<='0';temp3<='0';temp4<='0';temp5<='0';s<=0;elsecase ctrl iswhen "01"=>if (clk 'event and clk='1') thenif s=6*N-1 thens<=0;elses <= s+1;end if;if s=0 thentemp1<= not temp1;end if;if s=3*N thentemp1<= not temp1;end if;if s=2*N thentemp2<= not temp2;end if;if s=5*N thentemp2<= not temp2;end if;if s=4*N thentemp4<= not temp4;end if;if s=N thentemp4<= not temp4;end if;end if;temp3<= not temp4;when "10"=>if (clk 'event and clk='1') thenif s=6*N-1 thens<=0;elses <= s+1;end if;if s=0 thentemp1<= not temp1;end if;if s=2*N thentemp1<= not temp1;end if;if s=2*N thentemp2<= not temp2;end if;if s=4*N thentemp2<= not temp2;end if;if s=4*N thentemp4<= not temp4;end if;if s=0 thentemp4<= not temp4;end if;end if;temp3<= not temp4;when "11"=>if (clk 'event and clk='1') thenif s=6*N-1 thens<=0;elses <= s+1;end if;if s=0 thentemp1<= not temp1;end if;if s=4*N thentemp1<= not temp1;end if;if s=2*N thentemp5<= not temp5;end if;if s=0 thentemp5<= not temp5;end if;if s=4*N thentemp4<= not temp4;end if;if s=2*N thentemp4<= not temp4;end if;end if;temp2<= not temp5;temp3<= not temp4;when others=>temp1<='0';temp2<='0';temp3<='0';end case;end if;end process;A<=temp1;B<=temp2;C<=temp3;end rel;五、仿真波形:整体波形:当ctrl=1 当ctrl=2 当ctrl=3复位当ctrl=其他:六、实验过程遇到的问题:在程序设计时,开始不知该怎样使A,B,C互差120度,开始是想通过定义一个变量,每来一个上升沿加1,从0开始,A路信号除3n 取余为0则翻转,B路信号除3n取余为1则翻转,C路信号除3n取余为2则翻转,我觉得这样的想法应该没有错,可是实际却调不出来,可能是某处逻辑有问题,后来就模仿老师给的6分频程序,设计了现在的程序。
波形发生器实验报告(1)波形发生器实验报告一、实验目的本实验的目的是通过使用示波器和电子电路来调制和产生不同的波形。
二、实验仪器与器材示波器、经过校准的函数发生器、万用表。
三、实验原理函数发生器是一种电子电路,可以产生不同类型的波形,例如正弦波、方波、三角波等。
为了实现这些波形,函数发生器中需要使用不同的电路元件。
例如,产生正弦波需要使用振荡电路,而产生方波需要使用比较器电路。
函数发生器的输出信号通过示波器来显示和测量。
四、实验步骤1.连接电路:将电源线连接到函数发生器和示波器上。
2.打开电源:按照设备说明书的步骤打开函数发生器和示波器的电源。
3.调节函数发生器:使用函数发生器的控制按钮来选择所需的波形类型,并调节频率和振幅。
使用示波器来观察和测量所产生的波形。
4.调节示波器:使用示波器的控制按钮来调整波形的亮度、对比度、扫描速度等参数,以达到最佳观测效果。
5.记录实验结果:记录所产生的不同波形类型、频率和振幅,并观察和记录示波器的显示结果。
五、实验结果通过本实验,我们成功地产生了正弦波、方波和三角波等不同的波形,并观察了这些波形的频率和振幅。
示波器的显示结果非常清晰,可以直观地观察到波形的特征和参数。
我们还对示波器的参数进行了调整,以获得最佳的观测效果。
六、实验结论本实验通过使用示波器和函数发生器,成功地产生了不同类型的波形,并观察了波形的特征和参数。
这些波形可以应用于各种电子电路实验中,并且需要根据具体应用要求进行调整和优化。
示波器是一种非常重要的测试仪器,可以直接观察和测量电路中的波形和信号特性,因此应用广泛。
多种波形发生器实验分析报告目录一、实验概述 (2)1. 实验目的 (2)2. 实验设备与材料 (3)3. 实验原理 (4)二、实验内容与步骤 (5)1. 波形发生器设计与搭建 (6)1.1 设计要求与方案选择 (7)1.2 波形发生器硬件搭建 (9)1.3 波形发生器软件编程 (10)2. 多种波形合成与输出 (12)2.1 合成波形的设计与实现 (12)2.2 波形输出设置与调整 (13)2.3 实时监控与数据分析 (15)3. 实验测试与结果分析 (16)3.1 测试环境搭建与准备 (17)3.2 实验数据采集与处理 (18)3.3 结果分析与讨论 (19)三、实验结果与讨论 (20)1. 实验结果展示 (21)2. 结果分析 (22)2.1 各波形参数对比分析 (23)2.2 性能评估与优化建议 (24)3. 问题与改进措施 (25)四、实验总结与展望 (26)1. 实验成果总结 (27)2. 存在问题与不足 (28)3. 后续研究方向与展望 (29)一、实验概述本次实验旨在研究和分析多种波形发生器的性能特点,包括产生信号的频率、幅度、波形稳定性等方面。
实验中采用了多种类型的波形发生器,如正弦波、方波、三角波、梯形波等,并对其输出波形进行了详细的测量和分析。
实验过程中,我们首先对各种波形发生器的基本功能进行了测试,确保其能够正常工作。
我们对不同波形发生器产生的波形进行了对比分析,重点关注了波形的频率、幅度和波形稳定性等关键指标。
我们还对波形发生器的输出信号进行了频谱分析和噪声测试,以评估其性能表现。
通过本次实验,我们获得了丰富的实验数据和经验,为进一步优化波形发生器的设计提供了有力支持。
实验结果也为我们了解各种波形发生器在实际应用中的性能表现提供了重要参考。
1. 实验目的本次实验的主要目的是深入研究和理解多种波形发生器的原理及其在实际应用中的表现。
通过搭建实验平台,我们能够模拟和观察不同波形(如正弦波、方波、三角波等)的产生与特性,进而探究其各自的优缺点以及在不同场景下的适用性。
模电实验波形发生器实验报告模电实验波形发生器实验报告实验名称:模拟电路波形发生器设计与制作实验目的:1.了解正弦波、方波、三角波等基本波形的特性及产生方法;2.掌握模拟电路的基本设计方法和制作技巧;3.加深对电路中各元件的认识和使用方法;4.提高实际操作能力和动手能力。
实验原理:波形发生器是一种模拟电路,在信号发生领域具有广泛的应用。
常见的波形发生器包括正弦波发生器、方波发生器、三角波发生器等。
正弦波发生器:正弦波发生器是一种周期性信号发生器,通过正弦波振荡电路产生高精度的正弦波信号。
常见的正弦波振荡电路有RC,LC和晶体振荡管等。
我们使用的正弦波发生器为Wien桥电路。
方波发生器:方波发生器属于非线性信号发生器,根据输入信号的不同,可以分为单稳态脉冲发生器、双稳态脉冲发生器和多谐振荡器等。
我们使用的方波发生器为双稳态脉冲发生器。
三角波发生器:三角波发生器是一种周期信号发生器,通过将一个线性变化的信号幅度反向后输入到一个比例放大电路中,就可以得到三角波信号。
我们使用的三角波发生器为斜率发生器。
实验步骤:1.按照电路原理图连接电路;2.打开电源,调节电压并测量电压值;3.调节电位器,观察波形在示波器上的变化;4.分别测量各波形的频率和幅值,并记录实验数据;5.将实验结果进行比较分析。
重点技术:1.电路连接技巧;2.相关工具的正确使用方法;3.电路元器件的选择和使用;4.测量和计算实验数据的方法。
注意事项:1.实验中使用电源时应注意电压值和电流值,避免短路和电源过载现象的发生;2.连接电路时应注意电路的接线和连接端子的位置,避免短路和错误连接的情况;3.在实验中应注意对电路元器件的选择和使用,确保电路的正常工作;4.测量和计算实验数据时应认真仔细,避免计算错误和实验数据异常的情况。
实验结论:通过本次实验,我们成功设计和制作了正弦波发生器、方波发生器和三角波发生器。
在实验过程中,我们掌握了模拟电路的基本设计方法和制作技巧,加深了对电路中各元件的认识和使用方法,并提高了实际操作能力和动手能力。
波形发生器实验报告波形发生器实验报告引言波形发生器是电子实验室中常见的仪器之一,它能够产生不同形状和频率的电信号。
本实验旨在通过搭建和调试波形发生器电路,了解波形发生器的工作原理和应用。
实验目的1. 掌握波形发生器的基本原理和电路结构;2. 学会使用电子元器件和仪器搭建波形发生器电路;3. 调试波形发生器电路,产生不同形状和频率的波形信号。
实验器材与元器件1. 函数发生器2. 示波器3. 电阻、电容、电感等元器件4. 电源5. 连接线实验步骤1. 搭建基本的RC波形发生器电路。
将电阻和电容按照一定的连接方式搭建成RC电路,连接至电源和示波器。
2. 调节电源和示波器的参数。
根据实验要求,设置电源的电压和示波器的时间和电压刻度。
3. 调试波形发生器电路。
通过改变电阻和电容的数值,观察波形发生器输出的波形变化。
记录不同参数下的波形特点。
4. 搭建其他类型的波形发生器电路。
根据实验要求,搭建其他类型的波形发生器电路,如正弦波发生器、方波发生器等。
5. 调试其他类型的波形发生器电路。
通过改变电阻、电容或其他元器件的数值,观察不同类型波形发生器输出的波形特点。
实验结果与分析在实验过程中,我们成功搭建了基本的RC波形发生器电路,并调试出了不同频率和形状的波形信号。
通过改变电阻和电容的数值,我们观察到波形的周期和振幅发生了变化。
当电阻和电容的数值较小时,波形的频率较高;而当电阻和电容的数值较大时,波形的频率较低。
此外,我们还搭建了正弦波发生器和方波发生器电路,并成功调试出了相应的波形信号。
实验总结通过本次实验,我们深入了解了波形发生器的工作原理和应用。
波形发生器作为一种常见的仪器,广泛应用于电子实验、通信、音频等领域。
通过调节电路中的元器件数值,我们可以产生不同形状和频率的波形信号,满足不同实验和应用的需求。
然而,本实验中我们只涉及了基本的RC波形发生器电路和部分常见的波形类型。
在实际应用中,波形发生器还有更多的类型和功能,如脉冲波形发生器、锯齿波形发生器等。
波形发生器专业课程设计实验报告方法1:选通输入/输出方法。
这时A口或B口8位外设线用作输入或输出,C口4条线中三条用作数据传输联络信号和中止请求信号。
方法2:双向总线方法。
只有A口含有双向总线方法,8位外设线用作输入或输出,此时C口5条线用作通讯联络信号和中止请求信号。
原理框图:硬件设计2.2 数模转换电路因为单片机产生是数字信号,要想得到所需要波形,就要把数字信号转换成模拟信号,所以该文选择价格低廉、接口简单、转换控制轻易并含有8位分辨率数模转换器DAC0832。
DAC0832关键由8位输入寄存器、8位DAC寄存器、8位D/A转换器和输入控制电路四部分组成。
但实际上,DAC0832输出电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量输出。
DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。
1、DAC0832引脚及功效:DAC0832是8分辨率D/A转换集成芯片。
和微处理器兼容。
这个DA芯片以其价格低廉、接口简单、转换控制轻易等优点,在单片机应用系统中得到广泛应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路组成。
各引脚功效说明:D0~D7:8位数据输入线,TTL电平,有效时间应大于90ns(不然锁存器数据会犯错);ILE:数据锁存许可控制信号输入线,高电平有效;CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
由ILE、CS、WR1逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1负跳变时将输入数据锁存;_FER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。
由WR2、_FER逻辑组合产生LE2,当LE2为高电平时,DAC寄存器输出随寄存器输入而改变,LE2负跳变时将数据锁存器内容打入DAC寄存器并开始D/A转换。
有源波形发生器设计实验报告
本次实验是有源波形发生器设计实验。
主要目的是了解有源波形发生器的基本原理和电路设计方法,熟悉集成电路的使用以及模拟电路调试技巧。
首先,我们需要根据实验要求,选择合适的器件进行设计。
根据电路原理图,我们选用了LM324四路运放和一些外围器件。
这些外围器件包括电容、电阻、可变电阻、二极管等。
第二步,我们需要将选用的器件和电路原理图拼装在一起,搭建实际的电路板。
在板子上布局好元器件的位置以后,我们需要理顺各个元器件之间的连接方式,最终将它们焊接在电路板上。
第三步,完成电路板的搭建以后,我们需要进行调试。
先检查各个元器件之间的连接状态是否良好,特别是焊接是否牢固。
然后接通电源,调整电阻以使输出波形符合预期。
第四步,我们对输出波形进行观察。
可以用示波器来检测波形的频率、振幅等参数,比较与目标波形的差异,进行必要的调整。
最后,我们需要将实验过程和结果整理成一份实验报告。
其中应包括实验目的、所选器件、电路原理图、实际电路板的搭建方式、调试过程及结果等内容。
同时,也要注意实验操作中的注意事项,以及通过实验获取到的知识点和经验。
总之,本次实验通过实际操作搭建了一台有源波形发生器,进一步巩固了模拟电路设计及调试的技能,并为深入了解有源波形发生器的原理打下了基础。
让我们通过不断的实际操作和思考,不断提高自己的分析和解决问题的能力。
波形发生器设计实验报告一、实验目的(1)熟悉555型集成时基电路结构、工作原理及其特点。
(2)掌握555型集成时基电路的基本应用。
(3)掌握由555集成型时基电路组成的占空比可调的方波信号发生器。
二、实验基本原理555电路的工作原理555集成电路开始是作定时器应用的,所以叫做555定时器或555时基电路。
但后来经过开发,它除了作定时延时控制外,还可用于调光、调温、调压、调速等多种控制及计量检测。
此外,还可以组成脉冲振荡、单稳、双稳和脉冲调制电路,用于交流信号源、电源变换、频率变换、脉冲调制等。
由于它工作可靠、使用方便、价格低廉,目前被广泛用于各种电子产品中,555集成电路内部有几十个元器件,有分压器、比较器、基本R-S触发器、放电管以及缓冲器等,电路比较复杂,是模拟电路和数字电路的混合体。
555芯片管脚介绍555集成电路是8脚封装,双列直插型,如图2(A)所示,按输入输出的排列可看成如图2(B)所示。
其中6脚称阈值端(TH),是上比较器的输入;2脚称触发端(TR),是下比较器的输入;3脚是输出端(Vo),它有O和1两种状态,由输入端所加的电平决定;7脚是放电端(DIS),它是内部放电管的输出,有悬空和接地两种状态,也是由输入端的状态决定;4脚是复位端(MR),加上低电平时可使输出为低电平;5脚是控制电压端(Vc),可用它改变上下触发电平值;8脚是电源端,1脚是地端。
用555定时器组成的多谐振荡器如图所示。
接通电源后,电容C2被充电,当电容C2上端电压Vc升到2Vcc/3时使555第3脚V0为低电平,同时555内放电三极管T导通,此时电容C2通过R1放电,Vc下降。
当Vc下降到Vcc/3时,V0翻转为高电平。
电容器C2放电所需的时间为t,R1,C,ln2pL2 ( 1-1)当放电结束时,T截止,Vcc将通过R1,R2,R3向电容器C2充电,Vc由Vcc/3 上升到2Vcc/3所需的时间为t,(R1,R2,R3)Cln2,0.7(R1,R2,R3)CpH22 (1-2)当Vc上升到2Vcc/3时,电路又翻转为低电平。
波形发生器的设计实验报告波形发生器是一种用于产生各种波形信号的仪器或设备。
它常常被用于电子实验、通信系统测试、音频设备校准等领域。
本文将介绍波形发生器的设计实验,并探讨其原理和应用。
波形发生器的设计实验主要包括以下几个方面:电路设计、元件选择、参数调整和信号输出。
首先,我们需要设计一个合适的电路来产生所需的波形。
常见的波形包括正弦波、方波、三角波等。
根据不同的波形要求,我们可以选择适当的电路结构和元件组成。
例如,正弦波可以通过RC电路或LC电路实现,方波可以通过比较器电路和计数器电路实现,三角波可以通过积分电路实现。
在元件选择方面,我们需要根据设计要求来选择合适的电阻、电容、电感等元件。
这些元件的数值和质量对波形发生器的性能和稳定性起着重要的影响。
因此,我们需要仔细考虑每个元件的参数,并选择合适的品牌和型号。
参数调整是波形发生器设计实验中的关键步骤之一。
我们需要根据设计要求来调整电路中各个元件的数值和工作状态,以确保所产生的波形符合要求。
参数调整需要依靠实验数据和仪器测量结果来进行,同时也需要运用一定的电路分析和计算方法。
信号输出是波形发生器设计实验的最终目标。
在设计过程中,我们需要确保所产生的波形信号能够正确输出,并具有稳定性和准确性。
为了实现这一目标,我们可以使用示波器等仪器来对输出信号进行检测和分析,并根据需要进行调整和优化。
波形发生器具有广泛的应用领域。
在电子实验中,波形发生器常常被用于产生各种测试信号,用于测试和验证电路的性能和功能。
在通信系统测试中,波形发生器可以产生各种模拟信号,用于测试和校准通信设备。
在音频设备校准中,波形发生器可以产生各种音频信号,用于校准音频设备的频率响应和失真特性。
波形发生器的设计实验是一个涉及电路设计、元件选择、参数调整和信号输出的复杂过程。
在实验中,我们需要仔细考虑每个步骤的要求,并根据实际情况进行调整和优化。
通过合理的设计和实验验证,我们可以获得稳定、准确的波形信号,满足各种应用需求。
(此文档为word格式,下载后您可任意编辑修改!) 单片机课程设计报告波形发生器2014 年02 月23日1、用户需求1、产生三角波、方波、正弦波信号2、输出信号的频率和幅度可以通过按键来改变,,分析波形产生的最高频率。
2、设计任务基于AT89C51的波形发生器主要功能如下:(1)可以三产生角波、方波、正弦波信号并通过按键控制。
(2)输出信号的频率和幅度可以通过按键来改变,分析波形产生的最高频率。
(3)以单片机为核心,经过D/A转换和放大电路的处理,最后输出信号。
3、原理框图及说明根据设计任务,设计如下框图:图1、原理框图电源部分,为单片机提供5V稳压电源;8位按键提供给用户用来选择需要输出的波形,以及修改频率及方波占空比;数码管显示所选择的的波形代号,1代表正弦波,2代表方波,3代表锯齿波,4代表三角波;幅度调节电路用来调节输出波形的幅度;D/A转换及放大电路可以将数字信号转换成模拟信号输出我们所需要的波形;显示电路则是将波形显示在屏幕上。
89C51上电后,扫描P1口,判断是否有键按下,进行相应的操作。
根据原理框图,设计电路图如附件1.设置的3位按键分别为S1代表正弦波,S2代表方波,S3代表锯齿波,S4代表三角波,S5代表增加方波占空比,S6代表减小方波占空比,S7代表增加频率,S8代表减小频率。
4、主要电路说明、元件选择及参数计算简易函数信号发生器原件清单如下:4.1主控芯片单片机的介绍(1)AT89C51的引脚如图2.2所示。
AT89C51单片机的40个引脚可分为:电源引脚2根、时钟引脚两根、控制引脚4根、输入/输出引脚32根。
各引脚功能描述如下:(1)主电压引脚●V CC:电源端,正常工作时接+5V电源● V SS:接地端(2)时钟引脚●XTAL1:内部振荡电路的反相放大器的输入端,接外部晶振和微调电容的一端。
采用外部时钟电路时,对HMOS型工艺的单片机而言,此引脚应接地;对CHMOS型而言,此引脚应接外部时钟的输入端。
●内部振荡电路的反相放大器的输出端,接外部晶振和微调电容的另一端。
采用外部时钟电路时,对HMOS型工艺的单片机而言,此引脚应接外部时钟的输入端;对CHMOS型而言,此引脚悬空。
(3)控制引脚●RST/V PD:复位信号/备用电源输入引脚。
当振荡运行时,RST引脚保持2个机器周期的高电平后,就可以使8051完成复位工作。
该引脚的第二功能是V,PD掉电期间,该引脚可接即备用电源的输入端,具有掉电保护功能。
在主电源VCC向内部RAM提供备用电源,保持内部RAM中的数据不丢失。
+5V备用电源,由VPD● ALE/PROG:地址锁存允许信号/编程脉冲输入端。
当CPU访问片外存储器时,ALE输出信号控制锁存P0口的低8位地址,从而实现P0口的数据与低位地/6)址的分时复用。
当8051上电正常工作后,ALE端以不变频率(振荡器频率的fosc周期性地输出正脉冲信号。
该脉冲可用作对外输出的时钟,或用于定时目的。
该引脚的第二功能PROG是做编程脉冲的输入端。
● PSEN:外部程序存储器读选通信号端,低电平有效。
● EA/V pp :内部ROM 和外部ROM 选择端/编程电压输入端。
当EA 接高电平时,CPU 访问片内ROM ,但当PC 值超过0FFFH 时,将自动转去执行片外ROM 指令;当EA 接低电平时,CPU 访问片外ROM 。
该引脚的第二功能是V pp 是作为编程电压的输入端。
(4)输入/输出引脚● P0.0~P0.7:P0口的8位口线。
P0口是一个8位漏极开路型双向I/O ,既可作地址/数据总线使用,又可作通用的I/O 口使用。
当CPU 访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,P0口能以吸收电流的方式驱动8个LSTTL 电路。
● P1.0~P1.7:P1口的8位口线。
P1口是一个带有内部上拉电阻的8位准双向I/O 口。
作为通用的I/O 口,它能驱动4个LSTTL 负载。
● P2.0~P2.7:P2口的8位口线。
P2口是一个带有内部上拉电阻的的8位准双向I/O 口。
当CPU 访问片外存储器时,P2口输出高8位地址总线,与P0口配合,组成16位片外存储器单元地址。
P2口驱动4个LSTTL 负载。
(5)DAC0832是8位CMOS 数/模转换芯片,其特点如下:● 分辨率8位的并行D/A 转换器。
● 双列直插式(DIP )封装,CMOS 低功耗(功耗为20mW )器件。
● 单电源供电。
参考电压为-10V ~+10V ,从+5V ~+15V 均可正常工作。
● 电流输出型芯片,需外接运算放大器。
● 电流建立时间为1us 。
● 片内二级数据缓存,数据输入可采用双缓冲、单缓冲和直通方式。
数/模转换器DAC0832由1个8位数据寄存器、1个8位DAC 寄存器、1个8位D/A 转换器和控制逻辑组成。
DAC0832各引脚功能:● D7~D0:8位数字量输入端,接CPU 数据线D7~D0。
● I OUT1:模拟电流输出端1,输出值随DAC 寄存器内容线性变化。
● I OUT2模拟电流输出端2,I OUT1 + I OUT2 =常数。
一般情况下,在单极性输出时,I OUT2接地,在双极性输出时I OUT2接运算放大器。
● Vref :参考电压输出端。
Vref 可以外接一个正电压,也可以接一个负电压,范围为-10V ~+10V 。
参考电压决定数字量0~255(00H ~FFH )转化出来的模拟量电压值的幅度。
● Rfb :反馈电阻输出引脚。
DAC0832是电流输出,为了取得电压输出,需在电流输出端接运算放大器,构成I/V 转换电路。
DAC0832内部已经有反馈电阻,所以Rfb 端可以直接与外部运算放大器相连,相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。
● Vcc :电源电压。
AGND :模拟量地。
DGND :数字量地。
● CS :片选信号,低电平有效。
当CS=0时,DAC0832工作。
● ILE :输入锁存器允许信号,高电平有效。
● WR1:写控制信号1,低电平有效。
WR2:写控制信号2,低电平有效。
● XFER :数据传送信号,低电平有效。
4.2复位与振荡电路对于MCS-51一般的晶振可以在1.2MHZ—12MHZ之间选择,这是电容C 可以对应的选择10pf-30Pf。
一条引脚接在XTAL1,另一条接在XTAL2。
复位电路如图2,由C3和R1构成。
由于51单片机为低电平复位,图示电路利用电容的特性,在刚刚外加5V电源时RST脚的电压为低。
选择12MHz晶体,C1、C2、C3选择30pF电容,R1选择10K电阻。
图2、复位与振荡电路4.3显示电路显示元件选择8段LED数码管,共阳极。
段选信号经过上拉电阻接到51的P0口,位选信号由按键接至P1.0到P1.3提供,因此得到数码管L1显示分别为1、2、3、4.图2、显示电路由于89C51的P1口内部有上拉电阻,为简化电路,用按键开关直接接对应引脚P1.0、至P1.7到地。
其中P1.0接正弦波按键,p1.1接方波按键,p1.2接锯齿波按键,p1.3接三角波按键,p1.4接增加方波占空比按键,p1.5接减小方波占空比按键,p1.6接增加频率按键,p1.7接减小频率按键。
当按键按下,P1口为零,进行选择。
图4、按键电路4.5D/A转换及放大电路为了将数字信号转换成模拟信号得到我们需要的波形,在P2口接入用于D/A转换的DAC0832芯片,并接入uA741运放用于将信号放大。
图5、输出驱动电路通过滑动变阻器的调节,调节电压,从而使波形的振幅发生变化。
5、软件规划5.1软件流程图5.2软件划分根据设计要求,先定义按键对应的端口,在定义各波形输出点的电压值,编写波形函数及按键控制函数,完成程序的设计。
设计的全局变量:(1)定义按键变量: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;(2)定义全局变量:uint d1,d2;uint s,p; uint n;(3)定义正弦波各个输出点的电压值: uchar code sintab[256](4)定义锯齿波各输出点的电压值uchar code jctab[128](5)定义三角波各输出点的电压值uchar code sjtab[256](6)初始化变量:d1=10; d2=10; n=0; p=4; P0=0xff; P1=0xff;设计函数如下:(1)主函数main(),调用各函数显示输出的波形。
程序循环。
(2)延时函数delay (uchar k)功能:等待显示器反应(3)产生正弦波函数sin()功能:扫描P2口,产生正弦波。
(4)产生方波函数fang()功能:扫描P2口,产生方波。
(5)产生锯齿波juchi()功能:扫描P2口,产生锯齿波。
(6)产生三角波tran()功能:扫描P2口,产生三角波(7)键盘控制函数boxingkey()功能:设置按键的控制功能,返回到具体的函数中。
6、测试(测试方案设计、测试记录、结果分析)测试结果:1、按下按键1,数码管显示1,示波器输出正弦波2、按下按键2,数码管显示2,示波器输出方波。
3、按下按键3,数码管显示3,示波器输出锯齿波‘4、按下按键4,数码管显示4,示波器输出三角波。
5、按下按键5,方波占空比增加。
6、按下按键6,方波占空比减小。
7、按下按键7,波形频率增加,以正弦波为例。
8、按下按键8,波形频率减小,以正弦波为例。
9,使用调节幅度变阻器,可使波形幅度发生改变,以正弦波为例。
7、体会与感想一周的课程设计结束了,本次课程设计的题目是波形发生器,虽然时间不是很长,但在这短短的时间里,我学到了很多的东西,首先学会了用keil软件来编程以及用proteus 软件来仿真,也知道了一个单片机的工作过程,还复习了单片机的一系列内容,包括:复位电路、时钟电路、数码管与单片机的接口等。
对于一些器件的工作原理也有了进一步的了解,如:89C51单片机,数码管等。
对于软件程序和硬件电路的结合,更加深刻体会了单片机系统的妙处。
与此同时,还在对一些硬件的使用上,电路板的设计上有了很大的进步,对今后的学习有很大的帮助。
在实验过程中,我遇到了一些问题(1)初次使用keil软件及proteus软件,对其熟练地掌握有一些困难,在电路原理图的设计过程中总是出现错误,对元件的名称有许多的不了解。
但在同学和老师的帮助下找到了正确的元件。
(2)在程序的设计上也遇到了问题,对于C语言掌握的不是特别熟练,导致出现了许多的语法错误,在一些细节上也出现了错误,丢失了一些符号。