1、武汉理工大学数字电子技术基础课程设计说明书题 目: 数控电压源的设计仿真与制作 初始条件:运用所学的数电和模电知识,利用集成可逆计数器、D/A转换器、显示译码器、数码管、运算放大器等器件实现系统设计。系统结构如下图所示。(也可以利用FPGA或单片机系统设计实现)要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周内完成对数控电压源的设计、仿真、装配与调试。2、技术要求:输出电压09.9V,步进电压值0.1V,输出纹波电压10mv,输出电流5A。 用两按钮开关作为电压调整键,与可逆计数器的加计数CPU 时钟输入端和减计数CPD 时钟输出端相连,
2、可逆计数器采用两片十进制同步加/减计数器如74LS192 级联而成。 数字显示电路采用两片二十进制BCD码译码驱动器如74LS248和2个七段数码管组成。 D/A转换电路可采用DAC0832和集成运算放大器构成。 调整输出级采用运放作射极跟随器,使调整管的输出电压精确地与D/A转换器输出电压保持一致。调整管可采用大功率达林顿管,确保电路的输出电流值达到设计要求。 稳压电源部分利用7815、7915、和7805设计实现15V、5V工作电源和调整管所需输入电压,要求能提供5A 的电流。 确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。3、
3、查阅至少5篇参考文献。按武汉理工大学课程设计工作规范要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。时间安排:第12天,查阅相关资料,学习设计原理。第34天,方案选择和电路设计仿真。第45天,电路调试和设计说明书撰写。第6天,上交课程设计成果及报告,同时进行答辩。指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日目 录1. PROTEUS简介12. 总体设计方案22. 1 总体设计思路22. 2 总体设计框图23. 硬件单元电路设计23.1 单片机最小系统设计23.2 显示和按键控制电路设计43.3 D/A转换电路设计53.3.1 TLC5615的特点53.3.2 T
4、LC5615引脚说明53.3.3 TLC5615的时序图63.4 电源电路设计74. 总体电路图85. 软件仿真及结果分析86. 程序设计97. 实物安装及调试108. 元器件清单119. 心得与体会1210. 参考文献13附录一:C语言程序14附录二:本科生课程设计成绩评定表17 1. Proteus简介Proteus 是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但
5、已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。该软件的特点是:(1)实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能
6、,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大其功能特点如下: (1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真具有3大功能模块:(1)个易用而又功能强大的ISIS原理布图工具;(2)PROSPICE混合模型SPICE仿真;(3) ARES PCB设计. 随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结
7、果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。 2. 总体设计方案2. 1 总体设计思路采用AT89C51 系列单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值(D/ A转换后电压值) ,经集成运放放大和射极输出器输出,间接地改变输出电压的大小,并用PROTUES进行仿真。2. 2 总体设计框图经过方案论证和比较后,最终确定的系统框图如图1所示,主要由主电源、辅助电源、D/ A 转换、集成运放、射极输出器、单片机最小系统、显示及按键等组成。单片机AT89C52电压显示按键D/A转换集成
8、运算放大器辅助电源+12v,-12v,+5v射极输出电源+12v电压输出图1 电路总体设计图 3. 硬件单元电路设计3.1 单片机最小系统设计单片机最小系统是能补足单片机工作的最简单电路,它由单片机、电源、晶体振荡器、复位电路等构成。它是本系统的处理单元也是控制单元,负责处理信号、外设的接口与控制,同时它也是所有软件的载体。本系统采用AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(
9、CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义。其管脚如下图所示:图2 AT89C52单片机管脚图本设计中,P0 端口(323
10、9 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接。单片机正常工作时,都需要有一个时钟电路和一个复位电路。本设计中选择了内部时钟方式和按键电平复位电路,来构成单片机的最小电路。如图3所示。图3 单片机最小系统3.2 显示和按键控制电路设计采用四位L ED 数码管动态显示输出电压的大小。此电路原理简单,电路连接方便,可用单片机直接驱动,其中U2,U3为位驱动,RP1是P0的上拉电阻。图4 数码管显示电路本系统用两只按键KEY1、KEY2 来实现“ + ”、“ - ”步进控制,每当按下KEY1时输出电压增加0.1v,同时数码管显示的数值也增加0.1,同理每当按下KEY2时输出电压减
11、少0.1v,同时数码管显示的数值也减少0.1,另外用一只按键KEY3 实现电路复位清零。图5 按键控制电路3.3 D/A转换电路设计 目前,数模转换器从接口上可分为两大类:并行接口数模转换器和串行接口数模转换器。并行接口数模转换器的引脚多,体积大,占用单片机的口线多;而串行数模转换器的体积小,占用单片机的口线少,为减少线路板的面积和占用单片机的口线,可采用TCL5615串行数模转换器产生可变基准电压。TLC5615串行数模转换器简介:TLC5615为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC寄存
12、器复位至全零。 3.3.1 TLC5615的特点 (1)10位CMOS电压输出; (2)5V单电源供电; (3)与CPU三线串行接口; (4)最大输出电压可达基准电压的二倍; (5)输出电压具有和基准电压相同极性; (6)建立时间125s; (7)内部上电复位; (8)低功耗,最大仅175mW。3.3.2 TLC5615引脚说明TLC5615有小型和塑料DIP封装,DIP封装的TLC5615芯片引脚排列如图6所示。 图6 TLC5615引脚排列图引脚功能说明如下: 脚1DIN:串行数据输入端; 脚2SCLK:串行时钟输入端; 脚3CS:芯片选用通端,低电平有效; 脚4DOUT:用于级联时的串行
13、数据输出端; 脚5AGND:模拟地; 脚6REFIN:基准电压输入端; 脚7OUT:DAC模拟电压输出端; 脚8VDD:正电源端。3.3.3 TLC5615的时序图图7 TLC5615的时序图TLC5615的时序分析: TLC5615的时序如图7所示。 由时序图可以看出,当片选CS为低电平时,输入数据DIN由时钟SCLK同步输入或输出,而且最高有效位在前,低有效位在后。输入时SCLK的上升沿把串行输入数据DIN移入内部的16位移位寄存器,SCLK的下降沿输出串行数据DOUT,片选CS的上升沿把数据传送至DAC寄存器。 当片选CS为高电平时,串行输入数据DIN不能由时钟同步送入移位寄存器;输出数
14、据DOUT保持最近的数值不变而不进入高阻状态。由此要想串行输入数据和输出数据必须满足两个条件:第一时钟SCLK的有效跳变;第二片选CS为低电平。这里,为了使时钟的内部馈通最小,当片选CS为高电平时,输入时钟SCLK应当为低电平。 串行数模转换器TLC5615的使用有两种方式,即级联方式和非级联方式。如不使用级联方式,DIN只需输入12位数据。DIN输入的12位数据中,前10位为TLC5615输入的D/A转换数据,且输入时高位在前,低位在后,后两位必须写入数值为零的低于LSB的位,因为TLC5615的DAC输入锁存器为12位宽。如果使用TL5615的级联功能,来自DOUT的数据需要输入16位时钟
15、下降沿,因此完成一次数据输入需要16个时钟周期,输入的数据也应为16位。输入的数据中,前4位为高虚拟位,中间10位为D/A转换数据,最后2位为低于LSB的位即零。实际电路中TLC5615与单片机连接如下图所示: 图8 D/A转换电路TLC5615的SCLK脚与P3.0连接,CS脚与P3.1连接,DIN脚与P3.2连接,DAC 输出的电压经集成运算放大器UA741放大后,输出010V 电压。为了满足输出电压的要求,应使集成运放的放大倍数为2 倍,即A uf = 2。实际使用时,通过调整RV1 的阻值,来满足放大倍数的要求。集成运放放大的电压经Q41构成射极跟随器放大,作为最终电压输出。其中TL4
16、31可等效为一只稳压二极管,它为TLC5615提供2.5V基准电压。3.4 电源电路设计本系统采用两种电源(主电源和辅助电源) 供电,如图4 所示, 电源变压器带有中心抽头, 经LM7812 、LM7912 得到大小相等、极性相反的12 V ,一路经LM7805 得到+ 5 V 电压:其中+ 12V 为主电源,作为射极输出器的电源; 12V 作为集成运放的电源;+ 5 V作为单片机系统及显示电路电源用。电路图如下图所示:图9 电源电路图4. 总体电路图 根据以上的分析和设计,本系统的完整电路图如下图所示:图10 基于AT89C52单片机的数控电压源电路5. 软件仿真及结果分析按图设计完成后,检
17、查无误后开始仿真,最初计数器示数为0,输出电压为 0mV。然后按加或减法计数按钮,两位数码管上可显示出099中的任意数,图中电压表的示数即为对应的输出电压值,对应的从09.9v,步长为0.1v变化。下图为数码管某一示数对应电压表的示数: 图11 软件仿真结果 通过软件仿真,所设计的电路图符合实验要求,在误差允许范围内,基本实现了数控电压源的功能。6. 程序设计系统程序设计采用C语言编程,设计的关键是对直流电压源步进电压的控制和显示。设计框图如图12所示。图12 软件设计流程图当电源打开的时候,MCU 进行复位,寄存器清零,输出电压为0 V ,并在数码管上显示(这里为0) 。这时候程序循环检测是
18、否有按键信号,如果KEY1 按下,则输出电压增加0. 1 V ;如果KEY2 按下,则输出电压减省0. 1 V。若用户按KEY3 ,则复位清零,单片机返回初始状态,输出电压为0 V ,并等待下一次按键。7. 实物安装及调试电路组装好以后,要检查一遍接线情况,在确定安装接线无误的情况下,就可进行电路通电调试。首先测量电源输出电压是否达到要求;在初始化状态下,调节集成运放A741 的外接调零电位器,使集成运放输出电压为零。调节射极输出器的偏置电阻RV2使输出电压为零;在输入数值最大的情况下,调节输出集成运放的负反馈电阻RV1,使其输出电压为9.9 V ,测量射极输出器的输出电压,如果正常(9.9
19、V) ,说明设计组装基本成功。8. 元器件清单名称含义型号R1、R2、R4、R5电阻1KR3电阻10KC1电容10ufC2、C3电容30pfU1单片机AT89C52U2、U3反相器74HC04U4D/A转换器TLC5615U5并联稳压管TL431U6运算放大器UA741Q1三极管ZTX453RP1电阻10KRV1电位器15KRV2电位器20KX1数码管CRYSTALKEY1、KEY2、KEY3按键BUTTONL1稳压管LM7812L2稳压管LM7912L3稳压管LM7805C4、C5电容1000ufC6、C7电容3.3ufVD1-VD4二极管1N40049. 心得与体会10. 参考文献1 谭浩
20、强.C程序设计.第三版. 北京:清华大学出版社,20072 唐竞新.数字电子电路M.第1版.北京:清华大学出版社,2003 3 伍时和.数字电子技术基础.第1版. 北京:清华大学出版社,20094 蒋辉科等编著. 单片机原理与应用设计.北京航空航天大学出版社,2007 5 李广弟.单片机基础.第二版.北京: 北京航空航天大学出版社,20026 李群芳.单片微型计算机与接口技术.电子工业出版社,2005.1附录一:C语言程序#include#include #define uchar unsigned char #define uint unsigned int#define Nop() _no
21、p_()#define _Nop() _nop_()uint aa,shi,ge;sbit wela1=P20;/*定义数码管位选*/sbit wela2=P21;sbit key1=P10;/*定义控制按键*/sbit key2=P13;sbit CLK=P30;/*定义DAC控制端口*/sbit CS=P31;sbit DIN=P32;/*定义数码管显示字符跟数字的对应数组关系*/uchar duma=0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90,0x7f;void delay(char c) /*延时1ms*/ char a,b;
22、for(a=c;a0;a-) for(b=110;b0;b-);void keyscan1()/*按键1进行加1*/ if(key1=0) aa+; while(key1=0);/等待按键释放 void keyscan2() /*按键2进行减1*/ if(key2=0) aa-; while(key2=0); /等待按键释放void xs() /*数码管显示*/ shi=aa/10; ge=aa%10; wela1=0; P0=dumashi; delay(5); wela1=1; wela2=0; P0=dumage; delay(5); wela2=1;void TLC5615(uint
23、da) uchar i;CLK = 0;CS = 0;for(i=0;i12;i+) if(da&0x200)!=0) DIN= 1;else DIN = 0;Nop();CLK = 1;Nop();Nop();CLK = 0;da = (da1); /*左移一位*/ CS = 1;uint Volage_to_TL5615da(uint Volage)/*将电压转换为TLC5615的输出数据*/uint da; float tt;tt=Volage*0.05/5*1024; da= tt+0.5; /*对结果进行4舍5入*/return da;void main() aa=00; while(1) TLC5615(Volage_to_TL5615da(aa); /*输出电压*/ keyscan1(); keyscan2(); xs(); 附录二:本科生课程设计成绩评定表姓 名性 别专业、班级课程设计题目:课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日19