资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
上海电力学院设计报告书 课题: 基于微处理器的函数信号发生器的设计 班级: 2021071 学号: 20211989 姓名: 马一鸣 一、 实验目的本课程设计目的是制作基于微处理器的函数信号发生器,将学过的微处理器硬件和软件知识,以及电子线路知识进行综合应用,形成一个能实际运行的电子作品。二、 实验内容与要求本课程设计制作的函数信号发生器,应输出多种标准波形,如方波、锯齿波、三角波和正弦波等,输出信号的波形的频率、幅度应可调,用示波器观察,波形应光滑、周期应与设计的频率相一致。 三、 实验器件 本系统的微处理器芯片采用ATMEL公司的AT89C51芯片,芯片的引脚定义、指令系统与MCS-51系列微处理器相似;放大器采用LM358,数模转换器采用DAC 0832。具体见图:基于微处理器的函数信号发生器的设计器件清单名称数量CPUAT89S511晶振11.0592MHZ1电阻20K110K15.1K32K2可调电阻10K2电容10uf10.1uf230pf2D/A08321LM3581剪刀1镊子1面包板1DAC0832介绍:1.D/A转换器DAC0832的结构特点图1是集成D/A转换芯片DAC0832(及DAC0830和DAC0831)的内部结构图。图2是其引脚图。其内部包括一个8位输入存放器、一个8位DAC存放器、一个8位D/A变换器和有关控制逻辑电路组成。其中的8位D/A变换器是R-2R T形电阻网络式的。这种D/A变换器在改变基准电压VREF的极性后输出极性也改变。所有输入均与TTL电平兼容。图1和图2中,D7-D0是数据量输入脚,D7是最高位(MSB),D0是最低位(LSB)。VREF是基准电压接线脚。VREF可为正(例+5伏)也可为负(例-5伏)。Vcc接供电电压。Iout1和Iout2是电流输出脚。LE1和LE2分别为两个存放器的锁存端。当LE1=1时,8位DAC存放数据输入,当LE2=0时,数据锁存。当ILE =1,CS= WR=0时,LE1=1,8位输入存放器的数据输入;当ILE=0或CS和WR1之一为1(或两者均为1)时,LE1=0,数据锁存。当WR2=XFER=0时,8位DAC存放器数据输入,当WR2与XFEE中有一个或两者均为1时,LE2=0,数据锁存。8位D/A变换器不断地进行D/A转换,其输出一直对应于8位D/A存放器输出的当时值,当8位DAC存放器的输出改变时,8位D/A变换器的输出也随之改变。因此,为了保证8位D/A变换器的输出对应于某一定时刻的D7-D0。在8位D/A变换器之前必须有存放器,这就是图中的8位DAC存放器。在这里,存放器起了零阶保持器的作用。另外,存放器也起了缓冲作用。在使用时,可以采用双缓冲方式(利用两个存放器),也可以采用单缓冲方式(只用一级锁存,另一级直通),还可以采用直通方式。DAC0832只需一组供电电源,其值可在+5V-+15V范围内。DAC0832的基准电压VREF =-10V+10V,因而可以通过改变VREF的符号来改变输出极性。2. DAC0832的单极性输出图3是DAC0832在单片机8031(或8098)的控制下实现模拟量单极性输出的电路。图中括弧内对应于8098单片机。图3图3中,由地址锁存器74LS373把低8位地址从地址/数据总线P0口(对8031单片机)别离出来并锁存。由地址译码器对地址译码,产生片选信号送到DAC0832的CS端和XFER。在单片机执行一条输出指令时,立即在XFER,CS出现一个负脉冲并把8位数据从P0口输出。脉冲为低电平期间,把8位数据送到DAC0832的8位输入存放器和8位DAC存放器,并到达8位D/A变换器开始D/A变换。当脉冲上升沿之后,数据被锁存在8位输入存放器和8位DAC存放器。因而输出指令执行完之后,P0口或P3口上数据的变化不会改变D/A变换结果。设要把其值为DATA的数字量经过图3中的DAC0832变为单极性模拟量输出,DAC0832的地址为ADRESS,那么启动D/A转换程序如下:8031程序 8098程序MOV DPTR,#ADRESS AD AX,#ADRESS EMOV A,#DATA LDB BH,#DATA EMOVX DPTR,A STB BH,AXE一般,在此电路正式使用以前,先要进行调整,包括调整零点和增益。先调零点,后调增益,步骤如下:1)调整零点:给DAC0832送一个很小的数字量,例如D=01H。置Rn=0,调电位器W使Vout与理论值(与01H对应)相差不大于土LSB/10。这里1LSB=VEFF/256,设VREF=5V,那么lLSB=5V/256=19.53mV。D=O1H对应的输出为19.53mV。因此应把Vout调整在19.53mV士19.53mV范围内。-2)调整增益,把较大的数字量送到DAC0832,例如D=FFH,调整与Rfb并联和串联的可变电阻Rm和Rn,使Vout与理论值之差小于LSB/10。设VREF=5V,那么与FEH对应的理论值为-FFH VRF/256=-2555/256=-4980.47mV,那么应调整到Vout为-4980.47mV士1.95mV。.与Rfb串联和并联的可调电阻越大,增益越大。一般情况下不需调增益,此时可去掉Rm,令Rn为零。在图3中,因为引脚VREF接+5V,所以输出Vout0。如果把引脚VREF接负电源,那么Vout便为正。四、 软件设计流程图主程序流程图:入口频率幅值设置子程序输出显示初始化程序幅值频率设定子程序流程图:入口出口键盘处理键盘扫描有键按下?显示子程序流程图:入口出口第二显示频率第一显示电压中断子程序流程图:入口修改定时时间出口三角波梯形波矩形波波动量=1?波动量=2?波动量=3?五、 原理图六、 程序 ORG 0000H AJMP MAIN ORG 0050HMAIN: MOV A,P1 CJNE A,#00H,LOOP AJMP JUCHILOOP:CJNE A,#01H,LOOP1 AJMP SANJIAOLOOP1:CJNE A,#02H,LOOP2 AJMP JUXINGLOOP2:AJMP SINJUCHI:INC P0 ACALLDELAY MOV A,P0 CJNE A,#0FFH,JUCHI MOV P0,#00H AJMP MAINSANJIAO:INC P0 ACALL DELAYMOV A,P0 CJNE A,#0FFH,SANJIAOSAN:DEC P0 MOV A,P0 ACALL DELAYCJNE A,#00H,SAN AJMP MAINJUXING: MOV P0,#0FFH ACALL DELAY MOV P0,#00H ACALL DELAY AJMP MAINSIN: MOV DPTR,#TAB MOV A,#00H MOVC A,A+DPTR MOV P0,A INC DPTR INC R1 ACALL DELAY CJNE R1,#01AH,SIN AJMP MAINTAB: DB 80H,83H,86H,89H,8dH,90H,93H,96H,99H,9cH,9fH,0a2H DB 0a5H,0a8H,0abH,0aeH,0b1H,0b4H,0b7H,0baH,0bcH,0bfH,0c2H,0c5HDELAY:MOV R6,#00H/DELAY1:MOV R7,#00HDELAY2:MOV R5,#0FH DJNZ R5,$/ DJNZ R7,DELAY2 DJNZ R6,DELAY2 RET/LOOP3: MOV 69,#00H END七、 课程设计体会经过近这个月的锻炼和学习我们学到了许多书本上没有的知识,从方案的论证、课题的选择、电路原理,到程序的编写,一步步,我们收获很大。在设计中,我们力求硬件电路简单,充分发挥软件灵活方面的特点,满足系统设计要求。这中间,我们也遇到了许多困难,在老师的帮助下,一个个也都战胜了。由于我们这个团队接触单片机时间还不长,有很多东西我们还没有学好,学精,所以,设计的方案可能不是最好的,但我们已经尽到我们最大努力来完成此次作品,希望取得好的结果,能学到更加多得知识。所以,在以后的学习中,我们要更加努力,才能处于不败之地。在此,要感谢我们的指导老师,给我们进行了很多的辅导,不仅在技术上给了我很大帮助,也在系统需求和设计方面给予了我很大帮助。老师的谆谆教导,使我们受益匪浅。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号