资源描述:
《幅度频率可调波形发生器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第五章基于单片机的波形发生器设计5.1波形发生器的原理介绍波形发生器的设计是利用D/A转换原理,将被测数字量转换成模拟量,并用模拟方式显示出低频信号源,如方波、三角波、正弦波等等。通常数字电压表都采用大规模的D/A转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中D/A转换器将输入的数字量转换成模拟量,逻辑控制电路产生控制信号,按规定的时序将D/A转换器中各组模拟开关接通或断开,保证D/A转换正常进行。本系统以单片机AT89S52为系统的控制核心,结合D/A转换芯片ADC0832设计一个简易
2、波形发生器。波形幅度的调节通过调节D/A转换器的RFE端口的电压调节来实现,具体为加一个电位器调节电压。波形的频率通过单片机的程序来实现调节。通过调节拨码开关来实现波形频率的调节。5.1.2波形发生器电路图图11波形发生器电路图5.2芯片介绍5.2.1DAC08320832采用双缓冲接口方式,其传送控制端接地,输入所存允许断ILE与+5V电源相连,利用一个地址码进行二次输出操作,完成数据的传送和激动转换,第一次操作室P2.6为高电平,将P0口数据线上的数据锁存于DAC0832的输入寄存器中。第二次操作是写控制信号由效,传送控制端为低电平,将输入寄存器中
3、的内容锁存入0832的DAC寄存器中,D/A转换器便开始对锁存于DAC寄存器的8位数据进行转换,约经过1/2时钟周期后,在输出端(IOUT2、IOUT1)建立稳定的电流输出。运放的作用是将0832输出的模拟电流信号转换为电压波形。DAC0832为一个8位D/A转换器,单电源供电,在+5~+15V范围内均可正常工作。基准电压的范围为±10V,电流建立时间为1μs,CMOS工艺,低功耗20mW。DAC0832的外部引脚及功能介绍图如下:图12DAC0832引脚图DAC0832内部结构资料:芯片内有两级输入寄存器,使DAC0832具备双缓冲、单缓冲和直通三种
4、输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接DI0~DI7:数据输入线,TLL电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC寄存器写选通输入线。Iout1:电流输出线。当输入全为1时Iout1最大。Iout2:电流输出线。其值
5、与Iout1之和为一常数。Rfb:反馈信号输入线,芯片内部有反馈电阻.Vcc:电源输入线(+5v~+15v)Vref:基准电压输入线(-10v~+10v)AGND:模拟地,摸拟信号和基准电源的参考地.DGND:数字地,两种地线在基准电源处共地比较好5.3硬件焊接5.3.1元件清单表5波形发生器元件清单元件规格数量制板1ua7412ua741的对应接插器2DAC08321DAC0832的对应接插器1电阻315k2电阻47.5k1排针13针1导线若干拨码开关1电阻200欧姆8单片机最小系统版1按键4电位器10k15.3.2硬件实图图13波发生器硬件实图5.
6、4波形发生器程序设计5.4.1设计框图函数发生器的设计K3键三角波K4键方波K5键正弦波K1键锯齿波5.4.2波形发生器程序ORG0000HAJMPSTARTORG0030HSTART:CLRP3.6JNBP3.2,MAINJNBP3.3,MAIN1JNBP3.4,MAIN2JNBP3.5,MAIN3SJMPSTARTKEYCHECK:JNBP3.2,MAINJNBP3.3,MAIN1JNBP3.4,MAIN2JNBP3.5,MAIN3RETMAIN:MOVR0,#7FH;产生锯齿波MOVA,#00HLOOP3:MOVX@R0,AINCALCALLKE
7、YCHECKSJMPLOOP3LCALLDELAYLJMPSTARTMAIN1:MOVDPTR,#7FFFH;产生三角波MOVA,#00HLOOP1:MOVX@DPTR,AINCANOPCJNEA,#0FFH,LOOP1LOOP2:DECAMOVX@DPTR,ACJNEA,#00H,LOOP2INCALCALLKEYCHECKNOPAJMPLOOP1LCALLKEYCHECKLCALLDELAYLJMPSTARTMAIN2:MOVDPTR,#7FFFH;产生矩形波LOOP4:MOVA,#00HMOVX@DPTR,ALCALLDELAYLCALLKEYC
8、HECKMOVA,#0FEHMOVX@DPTR,ALCALLDELAYLCALLKEYCHEC