




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录第1章 绪论11.1 波形发生器的发展现状11.2 单片机在低频信号发生器中的应用21.3 设计任务3第2章 总体方案论证与设计42.1 总体方案论证42.2 设计思路42.3 总体硬件组成框图5第3章 系统硬件设计63.1 AT89C51单片机简介63.2 输入电路键盘的接口电路设计83.3 DAC0832简介93.4 整体电路11第4章 系统的软件设计124.1 波形选择模块124.2 正弦波的产生过程144.3 三角波的产生过程144.4 锯齿波的产生过程154.5 方波的产生过程16第5章 系统调试与测试结果分析205.1 系统硬件调试205.2 系统软件调试205.3 系统整体调试及测试结果21结 论24参考文献25附录1 程序26附录2 硬件仿真电路图29产生各种波形的波形发生器第1章 绪论波形发生器是信号源的一种,它是具有信号源所具有的特点,更因它高的性能优势而备受人们青睐。信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。目前我国已经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插卡,独立的仪器和VXI系统的模块很少。并且我国目前在任意波形发生器的种类和性能都与国外同类产品存在较大的差异,因此加紧对这类产品的研制显得迫在眉睫。各种各样的信号是通信领域的重要组成部分,其中正弦波、三角波和方波等是较为常见的信号。在科学研究及教学实验中常常需要这几种信号的发生装置。为了实验、研究方便,研制一种灵活适用、功能齐全、使用方便的信号源是十分必要的。1.1 波形发生器的发展现状任意波形发生器是在1975年开发成功的,从此,信号发生器产品增加了一个新品种。在任意波形发生器作为测量用信号激励源进入市场之前,为了产生非正弦波信号,已使用函数发生器提供三角波、斜波、方波和余弦波等几种特殊波形。声音和振动分析需要复杂调制的信号源,以便仿真真实的信号,只有借助任意波形发生器。例如医疗仪器测试往往需要心电波形,任意波形发生器很容易产生各种非标准的振动信号1。早期的任意波形发生器主要着重音频频段,现在的任意波形发生器已扩展到射频频段,它与数字示波器(DSO)密切配合,只要数字示波器捕获的信号,任意波形发生器就能复制出同样的波形。在电路构成上,数字示波器是模拟/数字转换,任意波形发生器是数字/模拟的逆转换,目前任意波形发生器的带宽达到2GHz,足够仿真许多移动通信、卫星电视的复杂信号。波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件搭接而成,且波形种类有限,多为锯齿波、正弦波、方波、三角波等波形。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和方波的电路是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差、控制难、可调范围小、电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制、生物医学、地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大;大电阻、大电容在制作上有困难,参数的精度难以保证。体积大、漏电、损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加1。1.2 单片机在低频信号发生器中的应用当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检测技术的日益革新。单片机构成的仪器具有高可靠性、高性价比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。一块单片机芯片就是一台计算机。由于单片机的这种特殊的结构形式,在某些应用领域中,它承担了大中型计算机和通用微型计算机无法完成的一些工作2。使其具有很多显著的优点和特点,因此在各个领域中都得到了迅猛的发展。单片机的特点归纳起来有以下几个方面:1.2.1 具有优异的性价比单片机尽可能地把应用所需的存储器、各种功能的I/O 接口集成在一块芯片内,因而其性能很高,而价格却相对较低廉,即性能价格比很高。1.2.2 集成度高、体积小、可靠性高单片机把各种功能部件集成在一块芯片上,因而集成度高,均为大规模或超大规模集成电路。又内部采用总线结构,减少了芯片之间的连线,这大大提高了单片机的可靠性与抗干扰能力。同时,其体积小、对于强磁场环境易于采取屏蔽措施,适合于在恶劣环境下工作。1.2.3 控制功能强单片机体积虽小,但“五脏俱全”,它非常适用于专门的控制用途。为了满足工业控制要求,一般单片机的指令系统中有极丰富的转移指令、I/O口的逻辑操作指令以及位操作指令。其逻辑控制功能及运行速度均高于同一档次的微机。1.2.4 低电压、低功耗单片机大量用于携带式产品和家用消费类产品,低电压和低功耗尤为重要。目前,许多单片机已可在2.2V电压下运行,有的已能在1.2V或0.9V下工作,功耗降至A级,一粒钮扣电池就可长期使用。利用单片机采用程序设计方法来产生低频信号,其下限频率很低。具有线路相对简单、结构紧凑、价格低廉、频率稳定度高、抗干扰能力强、用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。本设计采用AT89C51单片机和一片DAC0832数模转换器做成的数字式低频信号发生器,它的特点是价格低、性能高,在低频范围稳定性好、操作方便、体积小、耗电少等。1.3 设计任务利用AT89C51单片机外接数模转换器和运算放大电路,由用户通过按键选择输出实验室中经常使用到的几种基本波形:方波、锯齿波、正弦波和三角波。方波由AT89C51单片机将最大值和最小值输出给D/A进行转换,并由用户通过键盘选择波形周期。与微处理器兼容的8位数模转换器DAC0832将数字量转换为模拟量电压信号,通过运放电路得到锯齿波、正弦波、三角波信号,波形保证了它的精度、平滑和稳定。可采用单片机程序产生以上4种波形,并通过一片D/A转换器输出。另外,采用一片D/A转换器来控制前一片D/A转换器的参考电压,从而可以改变输出波形幅值,见图1所示。通过外接键盘来设定波形的类型、幅值和频率。第2 章 总体方案论证与设计使用计算机和数模转换器构成信号发生器,可以产生方波、三角波、锯齿波和正弦波等多种波形,波形的周期、频率可调。要求完成计算机和DAC的选型,了解不同波形的产生原理和设计方案,画出硬件电路图,并编程完成软件部分,最后调试观察产生不同类型的波形信号。本系统利用AT89C51单片机外接数模转换器和运算放大电路,由用户通过按键选择输出实验室中经常使用到的几种基本波形:方波、锯齿波、正弦波和三角波。AT89C51单片机时钟电路采用内部方式,外接陶瓷谐振器(频率为12MHz),微调电容值为30pF。系统复位采用按键式外部复位方式,复位信号至少保持8us以上。通过按键由用户选择要输出的波形,按键选择占用P10P17口,采用独立式键盘结构。2.1 总体方案论证信号发生器的实现方法通常有以下几种:方案一:用分立元件组成的函数发生器:通常是单函数发生器且频率不高,其工作不很稳定,不易调试。方案二:可以由晶体管、运放IC等通用器件制作,更多的则是用专门的函数信号发生器IC产生。早期的函数信号发生器IC,如L8038、BA205、XR2207/2209等,它们的功能较少,精度不高,频率上限只有300kHz,无法产生更高频率的信号,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。方案三:利用专用直接数字合成芯片的函数发生器:能产生任意波形并达到很高的频率。但成本较高。方案四:采用AT89C51单片机和DAC0832芯片,直接连接键盘和显示。该种方案主要对AT89C51单片机的各个I/O口充分利用. P1口是连接键盘以及接显示电路,P2口连接DAC0832输出波形.这样总体来说,能对单片机各个接口都利用上,而不在多用其它芯片,从而减小了系统的成本.也对按照系统便携式低频信号发生器的要求所完成.占用空间小,使用芯片少,低功耗。综合考虑,方案四各项性能和指标都优于其他几种方案,能使输出频率有较好的稳定性,充分体现了模块化设计的要求,而且这些芯片及器件均为通用器件,在市场上较常见,价格也低廉,样品制作成功的可能性比较大,所以本设计采用方案四。2.2 设计思路课设需要各个波形的基本输出。如输出锯齿波、三角波、方波、正弦波。这些波形的实现的具体步骤:锯齿波实现很简单,只需要一开始定义一个初值,然后不断的加1,当溢出后又重初值开始加起,就这样循环下去。三角波的实验过程是先加后减,实现方法是先是从00H开始加1直到溢出后就执行减1操作,就这样不断调用这个循环。方波的实现方法是连续输出一个数,到某个时候就改变一下值,可以把值定义为正极性的,也可以是负极性。正弦波的实现是非常麻烦的。它的实现过程是通过定义一些数据,然后执行时直接输出定义的数据就可以了。通过P1口和开关K0-K4相连接来控制各个波形的输出。能根据k0-k5键状态进行波形切换,开关键向上接“1”,产生波形,向下拔接“0”,无波形输出。如K0键向上拔,K1-K4键向下拔,产生锯齿波; K1键向上拔,K0、K2-K4键向下拔,产生三角波;以此类推。2.3 总体硬件组成框图键盘 单片机显示器运算放大D/A转换D/A转换运算放大 参考电压图2-1 总体硬件组成框图AT89C51单片机时钟电路采用内部方式,外接陶瓷谐振器(频率为12MHz),微调电容值为30pF。系统复位采用按键式外部复位方式,复位信号至少保持8us以上。通过按键由用户选择要输出的波形,按键选择占用P10P17口,采用独立式键盘结构,框图如图2-1所示。第3章 系统硬件设计为使波形发生器控制系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。硬件电路包括输入电路键盘的接口电路、显示电路、D/A转换器与单片机的接口电路、运算放大器电路等四大模块。3.1 AT89C51单片机简介AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机抽取数据。AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作方式。空闲工作方式停止CPU的工作,但允许RAM,定时器/计数器串口通信及中断系统继续工作,掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位2。3.1.1 时钟电路本次设计采用的是内部时钟方式,即C51内部有一个用于构成震荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体震荡器和微调电容,就构成一个稳定的自激震荡器,C51内部时钟方式的震荡器电路如图3-1所示:图3-1 C51内部时钟方式的震荡器电路电路中电容C1和C2典型值通常选择为30pF左右,晶振的振荡频率的范围通常是在1.2MHz12MHz之间,晶振的频率越高,时钟频率也就越高,单片机的运行速度也就越快。3.1.2复位电路AT89C51的复位是由外部的复位电路来实现的,复位结构如图3-2所示:图3-2 复位结构复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来控制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。3.1.3中断系统AT89C51中断系统的结构示意图如图3-3所示:图3-3 89C51中断系统的结构示意图当CPU正在处理某事件的时候,外部发生的某一事件请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件后,再返回到原来被中止的地方继续原来的工作,这样的过程称为中断。实现中断功能的部件称为中断系统,又称中断机构。AT89C51单片机有5个中断源,分别为外部中断0 INT0、外部中断1 INT1、定时器0溢出中断请求TF0、定时器1溢出中断请求 TF1和串行中断请求 RI或TI,四个用于中断控制寄存器,分别为定时/计数器及外部中断控制寄存器TCON(用六位)、串行口控制寄存器SCON(用两位)、中断允许控制寄存器IE及中断优先级控制寄存器IP。5个中断源有两个优先级,每个中断源可以由中断优先级控制寄存器IP编程设置为高优先级或低优先级中断,同级中断源的中断先后由顺序查询逻辑电路决定。5个中断源分别对应5个固定的中断入口地址。中断源是中断申请的来源3。3.2 输入电路键盘的接口电路设计在单片机控制系统中,为了实现人对系统的操纵控制及向系统输入参数,都需要为系统设置按键或键盘,实现简单的人机会话。键盘是一组(通常多于8个)按键的集合。键盘所使用的按键一般都是具有一对常开触点的按键开关,平时不按键时,触点处于断开(开路)状态,当按下按键时,触点才处于闭合(短路)状态,而当按键被松开后,触点又处于断开状态。根据键盘上闭合键的识别方法不同,键盘可分为非编码键盘和编码键盘两种。非编码键盘上,闭合键的识别采用软件实现;编码键盘上,闭合键的识别则由专门的硬件译码器产生按键的编号(即键码),并产生一个脉冲信号,以通知CPU接受键码。编码键盘使用较为方便,易于编程,但硬件电路较为复杂,因此在单片机的控制系统中应用较少。而非编码键盘几乎不需要附加什么硬件电路,因此在实际单片机控制系统中较多采用4。从键盘的结构来分,键盘可分为独立式和矩阵式两类。当系统操作比较简单,所需键盘较少时,可采用独立式非编码键盘;而当系统操作比较复杂,需要数量较多的按键时,可采用矩阵式非编码键盘。在本课题设计中,采用的是独立式键盘。其电路图如图3-4所示:图3-4 键盘与单片机接口电路输出波形种类、幅值和频率的设定由键盘输入。由于单片机的PI口不作它用,可用它扩展一个4行*4列键盘。键盘的4根行线接到单片机的P1.0P1.3口线,4根列线接P1.4P1.7口线。16个按键分别定义为数字09和功能键Enter(确认键)、Clear(清除键)、Wave(波形选择键)、Frequenency(改变频率键)、Amplitude(改变幅值键)和(小数点键)。3.3 DAC0832简介3.3.1 D/A转换器与单片机的接口电路在本设计中选用DAC0832的单缓冲工作方式,它与单片机AT89C51的接口电路如图3-5所示: 图3-5 DAC0832与单片机AT89C51的接口电路按应用要求的不同,DAC0832可以接成单极性电压输出和双极性电压输出,当数字量在00FF范围时,电压输出量若为0+xV或0-xV,这种输出方式称为单极性电压输出方式;若电压的输出为-xV-+xV,则为双极性电压输出方式。本课题根据实际要求选择IC3为单极性输出和IC4为双极性电压输出。3.3.2 DAC0832的外部引脚及功能介绍DAC0832内部结构资料:芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接DI0DI7:数据输入线,TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。 WR1:为输入寄存器的写选通信号。 XFER:数据传送控制信号输入线,低电平有效。 WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线。当输入全为1时Iout1最大。 Iout2: 电流输出线。其值与Iout1之和为一常数。 Rfb:反馈信号输入线,芯片内部有反馈电阻。 Vcc:电源输入线 (+5v+15v)。Vref:基准电压输入线 (-10v+10v)。 AGND:模拟地,摸拟信号和基准电源的参考地。 DGND:数字地,两种地线在基准电源处共地比较好5。DAC0832的外部引脚及功能介绍图如图3-6所示:图3-6 DAC0832引脚图3.3.3 单片机对DAC0832的控制产生波形单片机控制DAC0832,产生正弦波、三角波和方波。由于D/A转换器与89C51接口时,89C51是靠指令输出数字量供数模转换之用,而指令送出的数据在数据总线上的时间是短暂的,所以在DAC和89C51之间,需要有数据寄存器来保持89C51计算机输出的数据,供DAC转换使用。目前生产的DAC芯片分为两类,一类芯片内部设置有数据寄存器,不需要外加电路就可以直接与微型计算机接口。另一类芯片内部没有数据寄存器,输出信号随数据输入线的状态变化而变化,因此不能直接与微型计算机接口,必须通过并行接口与微型计算机接口。DAC0832是具有20条引线的双列直插式CMOS器件,它内部具有两级数据寄存器,完成8位电流D/A转换。故不需要外加电路。正弦波产生原理8位D/A转换器对应05V的电压输出,其输入数字量应为00HFFH。在05V的电压范围内产生波形,正弦波一个周期分成256个点,一个时钟中断向89C51送一个点,经过D/A转换后输出就可以得到正弦波。三角波产生原理8位D/A转换器对应05V的电压输出,其输入数字量应为00HFFH。在05V的电压范围内产生波形,三角波一个周期分成100个点,一个时钟中断向89C51送一个点,经过D/A转换后输出就可以得到三角波。方波产生原理8位D/A转换器对应05V的电压输出,其输入数字量应为00HFFH。在05V的电压范围内产生波形,方波一个周期分成10个点,一个时钟中断向89C51送一个点,经过D/A转换后输出就可以得到方波6。3.4 整体电路波形发生器的原理接线图如附录所示。波形的产生是通过89C51执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。由89C51组成单片机的最小系统。有三种联接方式。一种是两级缓冲器型,即输入数据经过两级缓冲器型,即输入数据经过两级缓冲器后,送D/A转换电路。第二种是单级缓冲器型,输入数据经输入寄存器直接送入DAC寄存器,然后送D/A转换电路。第三种是两个缓冲器直通,输入数据直接送D/A转换电路进行转换。本电路直通联接方式,即WR1、WR2、CS和XFER接地,ILE和VCC接+5V电源,89C51的数据输出线直接与DAC0832的数字输入端相连。D/A转换电路可采用单极性输出,也可采用双极性输出。本线路采用单极性输出,即经过一个运算放大器后输出电压Uout7。第4章 系统的软件设计通过单片机AT89C51的P1.0口输出方波,而方波的输出周期通过控制小键盘来实现,与单片机相连的数模转换模块DAC0832,它通过连一个I/V转换电路后输出正弦波和锯齿波,其波形的周期也是通过控制小键盘来实现的。在该系统中,应有高可靠性、抗干扰性,在断电或出现故障时有保护、数据存储和复位功能。择的是汇编语言,用助记符和标号地址编写的程序称为汇编语言源程序,其作用相当于人们直接用指令的机器码以及指令地址编写程序。4.1 波形选择模块波形发生模块放置在定时中断服务程序中,系统每隔一定时间,产生一个定时中断,暂停主流程运行,转到定时中断服务程序起始处,执行波形发生模块,该模块输出一个样值后,结束此次中断服务,返回主流程断点处继续运行。反复多次定时中断服务,从而完成波形生成。定时中断服务流程图如图4-1所示:图4-1 模型选择流程汇编程序如下:ORG 0000H LJMP MAIN ORG 0100HMAIN: JNB P1.0,P10 JNB P1.1,P11 JNB P1.2,P12 JNB P1.3,P13 LJMP MAINP10: MOV R7,#00H LCALL SQU LJMP MAINP11: MOV R7,#01H LCALL SAW LJMP MAINP12: MOV R7,#02H LCALL TRI LJMP MAINP13: MOV R7,#03H LCALL SIN LJMP MAIN4.2 波形产生模块保护现场波形类型送R7调用波形产生子程序恢复现场返回主程序开始中断服务流程如图4-2所示:图4-2 波形选择流程图设计思想:首先将一个周期T的信号分离成多个点(按X轴等分),每点之间的时间间隔为T用单片机的定时器产生。其次一个周期被分离成多个点,对应的三种波形的多个数据存放在地址的存储器中。4.2 正弦波的产生过程正弦波的实现则相对比较复杂,因为正弦波的实现是输出各个点的值就行了,可是各个点值则要通过正弦函数来求出。输出的数据刚好是256个数据,这样则可以直接相加就行了,正弦波产生程序流程图如图4-3所示:开 始MOV A,#00HMOV R7,AMOV DPTR,#SINMOVC A,A+DPTRMOV DPTR,#8000HMOVX DPTR,AMOV A,R7 INC A 图4-3 正弦波产生程序流程图4.3 三角波的产生过程三角波的实现是设置一个初值,然后进行加数,同样是加到某个数之后再行减数,减到初值之后就再返回到先前的操作,这个操作跟锯齿波的实现是相似的。此程序输入的VREF的电压是5V,因此该波形输出的最大频率是初值为00H和最终值为0FFH,这样输出的波形是最大的。三角波产生程序流程图如图4-4所示:给A设置初值MOV DPTR,#8000HMOVX DPTR,AADD A,步数判断A是否满?否是SUBB A,步数判断是否是初值?是开 始图4-4 三角波产生程序流程图4.4 锯齿波的产生过程锯齿波的实现过程是首先定义一个初值然后进行加法操作,加的步数的多少则根据要求的频率来进行。然后加到某个数之后就再重新设置为初值,再重复执行刚刚的操作,如此循环下去。锯齿波产生程序流程图如图4-5所示:设置初值AMOV DPTR,#8000HMOVX DPTR,A加上设定的步数,ADD A,步数判断A是否已满了?否重新设置初值A是开 始图4-5 锯齿波产生程序流程图4.5 方波的产生过程此波形的实现更加简单,只需开始的时候设置一个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。这样才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。方波产生程序流程图如图4-6所示:开 始给A设置初值MOV DPTR,#8000H MOVX DPTR,A设置输出的时间再设置一个初值放入A中MOVX DPTR,A输出一段时间图4-6 方波产生程序流程图4.6 通过开关实现波形切换和调频、调幅通过开关实现波形的切换比较简单只需通过输出波形后不断返回到检测开关的子程序中,判断是否有别的开关拨动,如果有别的开关拨动则执行别的程序,否则输出原来的波形,不过如果要能够识别别的开关发生变化,必须将此开关关掉否则会识别不了别的键按下。当然开关的调频和调幅的实现也一样,不过首先先输出一个波形,然后再检测开关是否需要调频或者调幅,如果需要则转入到相应的程序中,最后再重新输出波形。调频和调幅电路如图4-7所示: 开 始判断P3.5是否为1?否是输出各种波形调整一下数字量图4-7 调频与调幅流程图下面要实现的各种波形通过开关的切换过程的流程图,按下一个开关通过P3.0为1则输出锯齿波,P3.1为1输出三角波,P3.2为1输出梯形波,P3.3为1输出方波,P3.4为1输出正弦波。各种波形通过开关的切换过程的流程图如图4-8所示:开 始判断P3.0是否为1?判断P3.1是否为1?判断P3.2是否为1?判断P3.3是否为1?判断P3.4是否为1?否否否否否是是是是是输出响应的波形图4-8 切换波形流程图第5章 系统调试与测试结果分析5.1 系统硬件调试一个单片机应用系统经过方案论证、硬件设计、印刷版的布局、加工和焊接包括软件的编制,通常不可能一次成功,不可避免地要出现一些错误,这就要靠调试来解决。调试的次序一般是先易后难,后面的调试应尽可能采用以前已调好的电路,各单元电路(或称作单元模块)都调好以后,再进行系统总调8。5.1.1 硬件电路的总体检查在一块电路试验板上,焊接好电路,按实际电路图插好元器件,连好线。在接上电源之前,用万用表粗略检查电路的正确性,尤其是要检查电源和地之间的电阻。对于本波形发生器来讲,电源和地之间的电阻应为1k欧以上,若太小,应检查电源和地之间是否有短路现象或电源接错现象或有不良元器件。确保电源和地无故障之后,再通电,然后检查各电源+5V、+12V和12V电压数值的正确性。排除可能出现的故障后,再进行各单元电路调试9。5.1.2 单元电路调试单片机最小系统调试:按照前面设计的单片机最小系统和电源,焊接并插上相应的元器件,连好线,检查正确无误后,接上电源,用示波器测试单片机的时钟波形。若时钟波形和频率正确,则进行下一步检查。切断电源,空出单片机AT89C51的位置,并在此位置上插入仿真器的40芯仿真头。连好相应线,检查正确无误后,接上电源,然后启动仿真器,检查地址锁存等电路的正确性。波形输出电路调试:按电路接线方法,我们可以知道D/A转换器IC3和IC4的地址分别为0FDH和0FEH,向着两个地址分别写入相应的数据后,若电路正确就启动了它们的D/A转换,若这时运放IC6和IC8输出的电压值相符,则说明波形输出电路正确10。5.2 系统软件调试首先,将源程序进行汇编,若汇编未通过,则汇编程序会提示出错类型,比如操作码错、缺少操作数、跳转出范围、符号未定义、缺少“,”等常见错误。经过修改后再进行汇编,若这时提示汇编成功,保存目标文件,则说明源程序的指令使用没有错误。但并不表示程序没有错误,还必须经过仿真调试,仿真通过才说明程序设计正确11。接下来要进行实物仿真调试,在用户电路板上插好仿真头,接好通信电缆,接通电源,运行仿真程序。在进行实物仿真之前,要选择正确的仿真头、通信口、通信协议和波特率等,并设置用户程序空间和数据空间所处的位置(用户板上或仿真头)。其他软件模块的调试方法类似。调试结果如图5-1所示,结果显示没有错误。图5-1 Keil C编程调试结果图5.3 系统整体调试及测试结果在系统的硬件各软件分别调试成功后,可以进行系统的整体调试.先用仿真器进行调试,插好仿真头,接通电源,启动仿真器,将本波形发生器的系统软件装入仿真器中,并运行,调试系统的整体配合的正确性,直到满意为止。protues与Keil C方波调试结果如图5-2所示:图5-2 方波调试结果图protues与Keil C锯齿波调试结果如图5-3所示:图5-3 锯齿波调试结果图protues与Keil C三角波调试结果如图5-4所示:图5-4 三角波调试结果图protues与Keil C正弦波调试结果如图5-5所示:图5-5 正弦波调试结果图结 论本次的设计中利用AT89C51和DAC0832以及放大器完成电路的设计,用开关来控制各种波形的发生及转换,用单片机输出后,经过模数转换器生成波形,最终可以通过示波器观察。在这次的软件设计中,程序设计采用的是汇编语言。汇编语言具有速度快,可以直接对硬件进行操作的优点,它可以极好的发挥硬件的功能。但是汇编语言也存在编写的代码非常难懂,不好维护,很容易产生 bug,难于调试的缺点。因此,在大型程序的设计中,多采用C语言进行程序编译。C语言简洁高效,是最贴近硬件的高级编程语言,经过多年的发展,现在已成熟为专业水平的高级语言。而且,现在单片机产品推出时纷纷配套了C语言编译器,应用广泛。不过就本次课程设计来说,汇编语言还是适用的。由于真正意义上的程序设计还不多,因此还不是很得心应手,所以在设计中遇到一些问题和一些难点。比如:在程序设计中如何实现程序结构的最优化,以达到较高的质量。这是以后设计中要注意的问题。 通过这次课程设计,我进一步了解了波形发生器的原理,在实际动手操作过程中,使我接触了许多我以前没接触过的元件,而且重新温习了刚学不久的汇编语言,使我学得了许多知识,使我获益匪浅。这次课程设计,使我的动手能力得到了很大的提高,更使我们懂得理论知识的重要性,没有理论的指导一切实际行动都是盲目的,且实际操作是我们得到的理论知识得到验证,更能增加对理论知识的理解。参考文献1 孙俊逸,盛秋林等单片机原理及应用M北京:清华大学出版社,20012 潘新民,王燕芳微型计算机控制技术M北京:高等教育出版社,20043 孙育才,孙华芳等单片机原理及应用M北京:电子工业出版社,20034 李鸿单片机原理及应用M湖南:湖南大学出版社,20045 胡汉才单片机原理及接口技术M北京:清华大学出版社,19966 夏扬. 计算机控制技术M. 北京:机械工业出版社,2004.7 刘国钧,陈绍业,王凤翥.图书馆目录M.北京:高等教育出版社,1957.8 刘润华,刘立山.模拟电子技术J.山东:石油大学出版社,2003.9 潘永雄,沙河,刘向阳.电子线路CAD实用教程M.西安:西安电子科技大学出版社,2001. 10 朱定华,戴汝平等,单片微机原理与应用M.北京交通大学出版社,清华大学出版社.2000.11 彭介华.电子技术课程设计指导J.北京:高等教育出版社,1997.29附录1 程序ORG 0000H LJMP MAIN ORG 0100HMAIN: JNB P1.0,P10 JNB P1.1,P11 JNB P1.2,P12 JNB P1.3,P13 LJMP MAINP10: MOV R7,#00H LCALL SQU LJMP MAINP11: MOV R7,#01H LCALL SAW LJMP MAINP12: MOV R7,#02H LCALL TRI LJMP MAINP13: MOV R7,#03H LCALL SIN LJMP MAINSQU: JNB P1.1,N1 JNB P1.2,N2 JNB P1.3,N3 LJMP SSQUN1: MOV R7,#01H LJMP TC0N2: MOV R7,#02H LJMP TC0N3: MOV R7,#03H LJMP TC0SSQU: CJNE R7,#00H,TC0 MOV R0,#00H MOV DPTR,#7FFFHK00: MOV A,#0FFH MOVX DPTR,A MOV P0,#0FFH MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL00: DEC R3 CJNE R3,#255,L00 INC R0 INC R0 CJNE R0,#254,K00 MOV R0,#00HK01: MOV A,#00H MOVX DPTR,A MOV P0,#00H MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL01: DEC R3 CJNE R3,#255,L01 INC R0 INC R0 CJNE R0,#254,K01 LJMP SQUTC0: RETSAW: JNB P1.0,N4 JNB P1.2,N5 JNB P1.3,N6 LJMP SSAWN4: MOV R7,#00H LJMP TC1N5: MOV R7,#02H LJMP TC1N6: MOV R7,#03H LJMP TC1SSAW: CJNE R7,#01H,TC1 MOV R0,#0FFH MOV DPTR,#7FFFHK10: MOV A,R0 MOVX DPTR,A MOV P0,R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL10: DEC R3 CJNE R3,#255,L10 INC R0 CJNE R0,#255,K10 LJMP SAWTC1: RETTRI: JNB P1.0,N7 JNB P1.1,N8 JNB P1.3,N9 LJMP TTRIN7: MOV R7,#00H LJMP TC2N8: MOV R7,#01H LJMP TC2N9: MOV R7,#03H LJMP TC2TTRI: CJNE R7,#02H,TC2 MOV R0,#00H MOV DPTR,#7FFFHK20: MOV A,R0 MOVX DPTR,A MOV P0,R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL20: DEC R3 CJNE R3,#255,L20 INC R0 INC R0 CJNE R0,#254,K20K21: MOV A,R0 MOVX DPTR,A MOV P0,R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL21: DEC R3 CJNE R3,#255,L21 DEC R0 DEC R0 CJNE R0,#0,K21 LJMP TRITC2: RETSIN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能家居产品特许经营权及销售渠道转让合同
- 竞业限制合同在员工培训与技能提升中的应用
- 复杂家庭离婚子女抚养权分割及财产分配协议
- 离婚房产分割与子女抚养、教育费用承担合同
- 外贸信用证合同基本条款审查与结算流程优化
- 大桥拆除重建工程建筑工程方案
- 国土空间规划背景下的交通与道路设计研究
- 策划方案活动类型怎么写
- 2026年新能源汽车出口中东地区品牌影响力提升与市场拓展报告
- 方案咨询技术服务
- 天然香料浸膏加工技术规范征求意见稿
- 《国际贸易实务》课件第1章
- 临床护理实践指南2024版
- 山东济南高新区2024-2025学年七年级英语第一学期期中考试试题(含答案)
- 《宁夏闽宁镇:昔日干沙滩-今日金沙滩》课件-高教版中职语文职业模块
- 拓染课件教学课件
- 人教版小学一年级上册道德与法治教案全册
- 吉利EV450车型电动汽车控制系统及检修
- 销售沟通技巧课件企业培训
- 办公楼物业服务 投标方案(技术方案)
- AQ 1095-2014 煤矿建设项目安全预评价实施细则(正式版)
评论
0/150
提交评论