《基于单片机信号产生电路的设计 .doc》由会员分享,可在线阅读,更多相关《基于单片机信号产生电路的设计 .doc(20页珍藏版)》请在三一办公上搜索。
1、目 录第1章.概述1第2章.系统设计22.1系统方案的比较22.2控制芯片的选择2第3章.硬件电路的设计33.1基本原理:33.2 各部分电路原理3第4章.软件设计84.1主程序流程图84.2 子程序流程图9结论12参考文献13附录1电路原理图14附录2 程序清单15第1章 概述. 波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。信号发生器作为一种常见的应用电子仪器设备,传统的可以完全由硬件电路搭接而成,如采用555振荡电路发生正弦波、三角波和
2、方波的电路便是可取的路径之一,不用依靠单片机。但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点。在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟机械振动等领域常常要用到低频信号源。而由硬件电路构成的低频信号其性能难以令人满意,而且由于低频信号源所需的RC很大;大电阻,大电容在制作上有困难,参数的精度亦难以保证;体积大,漏电,损耗显著更是其致命的弱点。一旦工作需求功能有增加,则电路复杂程度会大大增加。当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变。现代电子领域中,单片机的应用正在不断的走向深入,这必将导致传统控制与检
3、测技术的日益革新。单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域得以极为广泛的应用,并走入家庭,从洗衣机、微波炉到音响汽车,处处可见其应用。因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一。利用单片机采用程序设计方法来产生低频信号,其下限频率很低。具有线路相对简单,结构紧凑,价格低廉,频率稳定度高,抗干扰能力强,用途广泛等优点,并且能够对波形进行细微调整,改良波形,使其满足系统的要求。只要对电路稍加修改,调整程序,即可完成功能升级。这里介绍一种采用AT89S52单片机和一片DAC0832数模转换器做成的数字式低频信号发生器,它的特点是价格
4、低、性能高,在低频范围稳定性好、操作方便、体积小、耗电少等。信号发生器与其它相比还具有如下优点:较分立元件信号发生器而言,具有频率高,工作稳定,容易调试等特性;较专用DDS芯片的信号发生器而言,具有结构简单,成本低等特性。第2章 系统的设计2.1系统方案的比较方案一:采用函数信号发生器ICL8038集成模拟芯片,(如图2-1)它是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。图2-1方案一方框图D/A键 盘单片机ICL8038运算电路显 示D/A输出方案二:采用分立元件实现非稳态
5、的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。方案三:采用单片机和DAC0832数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案三既可满足设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。2.2控制芯片的选择AT89S52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器
6、、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机。AT89S52芯片比较常用,简单易控制,成本低,性能稳定故采用方案一。第3章.硬件电路的设计3.1基本原理:系统框图如图3-1所示。图3-1 低频信号发生器系统框图低频信号发生器系统主要由CPU、D/A转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。3.2 各部分电路原理(A)DAC0832芯片原理管脚功能介绍(如图3-5所示)图3-5 DAC0832管脚图(1
7、) DI7DI0:8位的数据输入端,DI7为最高位。(2) IOUT1:模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当 DAC寄存器中数据全为0时,输出电流为0。(3) IOUT2:模拟电流输出端2, IOUT2与IOUT1的和为一个常数,即IOUT1IOUT2常数。(4) RFB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。(5) VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围
8、为(+10-10)V。VREF端与D/A内部T形电阻网络相连。(6) Vcc:芯片供电电压,范围为(+5 15)V。(7) AGND:模拟量地,即模拟电路接地端。(8) DGND:数字量地。 当WR2和XFER同时有效时,8位DAC寄存器端为高电平“1”,此时DAC寄存器的输出端Q跟随输入端D也就是输入寄存器Q端的电平变化;反之,当端为低电平“0”时,第一级8位输入寄存器Q端的状态则锁存到第二级8位DAC寄存器中,以便第三级8位DAC转换器进行D/A转换。一般情况下为了简化接口电路,可以把WR2和XFER直接接地,使第二级8位DAC寄存器的输入端到输出端直通,只有第一级8位输入寄存器置成可选通
9、、可锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片DAC0832芯片,构成多个DAC0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,我们的课题选择了单缓冲方式使用方便,程序简单,易操作。工作原理DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部
10、分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8位DAC寄存器用于存放待转换的数字量,由加以控制;8位D/A转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态。DAC0832与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为Vout1=-Vref(数字码/256)若D/A转换器输出为双极性,如图3-6所示。图3-6 D/A转换器双极性输出电路图7中,运算放大器A2的作用是把运算放大器A1的单向输出电压转换成双向输出电压。其原理是将A2的输
11、入端通过电阻R1与参考电压VREF相连,VREF经R1向A2提供一个偏流I1,其电流方向与I2相反,因此运算放大器A2的输入电流为I1、I2之代数和。则D/A转换器的总输出电压为:VOUT2= -(R3/R2) VOUT1+(R3/R1) VREF设R1=R3=2R R2=R,则 VOUT2= -(2VOUT1+VREF)DAC0832主要是用于波形的数据的传送,是本题目电路中的主要芯片。DAC0832电路原理图(如图3-7所示) 图3-7 0832电路原理图(B) LM324工作原理(管脚功能如图3-8所示) 图3-8 LM324管脚图LM324时四运放集成电路 ,它采用14脚双烈直插塑料封
12、袋,外形如图1所示。他的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图中所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“OUT”为输出端。两个信号输入端中,“-”为反相输入端,表示运放输出端OUT的信号与该输入端的为相反;“+”为同相输入端,表示运放输出端OUT的信号与输入端的相位相同。LM324的引脚排列见图9。由于LM324四运放电路具有电源电压范围宽,静态功耗小,可但电源使用,价格低廉等优点,因此被广泛应用在各种电路中。在此项目中用了LM324的三组运放,分别置于第一级输出,第一、二级
13、之间,第二级输出。(C)MC1403工作原理(管脚功能如图3-9所示) 图3-9 MC1403管脚图MC1403是低压基准芯片。一般用作8到12bit的D/A芯片的基准电压等一些需要基本精准的基准电压的场合。输出电压:2.5V+/-25Mv输入电压范围:4.5Vto40V输出电流:10Ma因为输出是固定的,所以电路很简单。就是Vin接电源输入,GND接地,Vout加一个0.1uf到1uf的电容就可以了。Vout一般用于8到12bit的D/A芯片的基准电压。在此项目里MC1403起到了稳压的作用,它基准了DAC0832的8脚需要的2.5V。使其DAC0832能够正常工作。第四章 软件设计单片机技
14、术比较成熟,开发过程可利用的资源和工具丰富,最大的优点是价格便宜,成本低。调试软件采用Keil51.keiluVison是众多单片机应用开发软件中优秀软件之一,界面友好,易写易操作。在调试程序中,软件仿真protues功能也很强,软件调通,再通过编程器下载到AT89S52中,然后插到系统中即可独立完成所有的控制。软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、锯齿波模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。显示波形模块是利用DAC0832的8位特点,把波形的数据以8位数据的形势送进CPU中,只要一按键就能显示波形。4.1主程序流程图图4-1 主程序流程图本软件设计
15、过程中主要实现利用按键来控制不同波形的输出,当按键1按下时,函数发生器就输出锯齿波;当按键2按下时,函数发生器就输出三角波;当按键3按下时,函数发生器就输出正弦波;当按键4按下时,函数发生器就输出方波。通过按键可以以任意循环方式输出不同波形。4.2 子程序流程图1 锯齿波流程图图4-2 锯齿波流程图锯齿波产生首先将DAC0832口地址至为4000H,然后将00H送入寄存器A中,DAC0832输出A中的内容,当A中的内容等于F0H返回开始,当A中的内容不为0FH时,A中的内容累加,从而输出波形。2 三角波程序流程图4-3 三角波流程图三角波产生首先将DAC0832口地址至为4000H,通过A中数
16、值的加一递升,当A中的内容为0时,与0FFH相比,相等时A中的内容减一递减,从而循环产生三角波。3 正弦波程序流程图图4-4 正弦波流程图正弦波波形设计通过查表指令得出。4方波程序流程图图4-5 方波流程图方波产生首先将DAC0832口地址至为4000H,当A中的内容为0时,输出对应模拟量,然后延时,当A中的内容为0FFH时,同样输出对应模拟量,再延时,从而得到方波。5延时子程序流程图 图4-6 延时程序流程图延时程序如下:DELY: MOV R7,#10HDLY0: MOV R6,#0EDH NOPDLY1: DJNZ R6,DLY1 DJNZ R7,DLY0 RET方波的上限和下限的延时时
17、间为:7ms S=1+(1+1+2237+2)16+1=7648S结论 在对系统进行波形仿真时可以在虚拟示波器上观察到锯齿波、三角波、正弦波和方波的波形。其中锯齿波、三角波以及正弦波的输出误差较大,方波波形较为理想。这一方面与电路设置的参数有关,另一方面也与使用的仿真软件有关。对于上述问题的解决办法是:改变仿真电路的参数或着换用版本较高的仿真软件。在将电路和实物连接的情况下再将程序下载至单片机中进行实际电路的测试时,电路输出的四种波形基本上都可以看到,其中锯齿波、三角波以及正弦波的输出误差较大,方波波形较为理想。但是基本上是符合设计要求的。当然在实际电路测量时由于实验环境的干扰也会对输出波形有
18、一些影响,这些影响主要是使输出波形产生寄生的高频杂波,具体表现就是使输出波形质量变坏,波形边厚。在对电路进行调试时适当改变数模转换电路及输出放大电路参数电路输出结果相对较好一些。这次课程设计使我掌握了很多实践知识,在老师和同学的帮助下对单片机有了进一步的了解。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,进而提高自己的实际动手能力和独立思考的能力 参考文献1 孙俊逸,盛秋林,张铮等.单片机原理及应用M.北京:清华大学出版社,2001.2 蔡美琴.MCS-51系列单片机系统及其应用M.北京:高等教育出版社,
19、2000.3 孙育才,孙华芳,王荣兴.单片机原理及应用M.北京:电子工业出版社,2003.4 李鸿.单片机原理及应用M.湖南:湖南大学出版社,2004.5 丁元杰.单片微机原理及应用.第二版M.北京:机械工业出版社,2001.6 潘新民 王燕芳 编著.微型计算机控制技术. 北京:高等教育出版社,2004.7 马忠梅.单片机的C语言应用程序设计M.北京:北京北航出版社,2003. 8 陆子明,徐长根. 单片机设计与应用基础教程.北京:国防工业出版社,2005.1 9 刘守义.单片机应用技术.西安:西安电子科技大学出版社,2002. 8 10 王新贤.通用集成电路速查手册.济南:山东科学技术出版社
20、,2002.9附录1 电路原理图附录2 程序清单KEY1 BIT P1.0KEY2 BIT P1.1KEY3 BIT P1.2KEY4 BIT P1.3;按键KEY1:锯齿波 按键KEY2:三角波 按键KEY3: 正弦波 ;按键KEY4: 方波; ORG 0000H LJMP MAIN ORG 0030HMAIN:MOV SP,#50HMOV DPTR,#7FFFHMOV P2,#00HMOV A,#00HMOVX DPTR,ASCAN_KEY1:MOV A,P1 ANL A,#0FH CJNE A,#0EH,SCAN_KEY2 LJMP B1SCAN_KEY2:MOV A,P1 ANl A,
21、#0FH CJNE A,#0DH,SCAN_KEY3 LJMP B2SCAN_KEY3:MOV A,P1 ANl A,#0FH CJNE A,#0BH,SCAN_KEY4 LJMP B3SCAN_KEY4:MOV A,P1 ANl A,#0FH CJNE A,#07H,SCAN_KEY1 LJMP B4;利用dac0832产生锯齿波;B1:CLR P1.4 SETB P1.5 SETB P1.6 SETB P1.7LP: MOV A,#00H MOV DPTR,#4000H MOVX DPTR,A LP1: INC A MOV P2,A CJNE A,#0FFH,LP1 LJMP SCAN_K
22、EY1;利用dac0832产生三角波;B2: CLR P1.5 SETB P1.4 SETB P1.6 SETB P1.7UP: MOV A,#00HUP1: INC A MOV P2,A NOP NOP CJNE A,#0F0H,UP1DOWN:DEC A MOV P2,A NOP NOP CJNE A,#00H,DOWN LJMP SCAN_KEY2;利用dac0832产生正弦波;B3: MOV R1,#00H ;取表格初值 ;在表格里取数送到指定地址/ LOOP1:CLR P1.6 SETB P1.4 SETB P1.5 SETB P1.7 MOV A,R1 MOV DPTR,#SETT
23、AB MOVC A,A+DPTR MOV DPTR,#4000H MOVX DPTR,A MOV P2,A INC R1;表格加一 CJNE R1,#0FFH,LOOP1SETTAB: ;正弦表格/ DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H
24、,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0
25、DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H DB 4EH, 4CH, 48H, 45H, 43H, 4
26、0H, 3DH, 3AH DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H DB 02H, 03H, 04H, 05H, 06H, 07H, 08
27、H, 09H DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H LJMP SCAN_KEY3;利用dac0832产生方波;B4: CLR P1.7
28、 SETB P1.4 SETB P1.6 SETB P1.5 MOV A,#0FFH MOV P2,A LCALL DELY MOV A,#00H MOV P2,A LCALL DELY LJMP SCAN_KEY4DELY:MOV R6,#10H MOV R7,#0EDH NOPDL1:DJNZ R7,DL1DL2:DJNZ R6,DL2 RETEND大庆石油学院课程设计成绩评价表课程名称单片机原理及应用课程设计题目名称基于单片机信号产生电路的设计学生姓名段萍学号060901140109指导教师姓名职称序号评价项目指 标满分评分1工作量、工作态度和出勤率按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。202课程设计质量课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。453创新工作中有创新意识,对前人工作有一些改进或有一定应用价值。54答辩能正确回答指导教师所提出的问题。30总分评语:指导教师: 年 月 日