1、第一章 摘要(自己在瞎扯一下)本次我们所设计的数控直流稳压电源与传统的稳压电源相比,具有操作方便,电压稳定度高的特点,其输出电压大小采用数字显示,输出电压的大小调节通过“+”、“-”两键操作,分别作加、减电压控制,单片机将根据按键锁进行的操作增加或减小转换电路的输入数值,转换器将数字量按比例转换成模拟电压,然后经过射极跟随器控制调整输出级输出所需的稳定电压。并ICH707芯片实时测试显示输出电压的变化,使设计更加人性化。第二章 方案论证及比较2.1 控制器部分 方案一:应用PIC芯片作为控制器。PIC单片机系列是美国微芯公司(Microship)的产品,是当前市场份额增长最快的单片机之一。PI
2、C系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。I/O脚增加了用于设置输入或输出状态的方向寄存器(TRISn , 其中n对应各口,如A、B、C、D、E等),从而解决了51系列I/O脚为高电平时同为输入和输出的状态。当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。相对于51系列而言,这是一个很大的优点,它可以直接驱动数码管显示且外电路简单。它的A/D为10位,能满足精度要求。具有在线调试及编程(ISP)功能。方案二:应用AT89S
3、51作为控制器。51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。而且,51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。低电平时,吸入电流可达20mA,具有一定的驱动能力;而为高电平时,输出电流仅数十A甚至更小(电流实
4、际上是由脚的上拉电流形成的),基本上没有驱动能力。 PIC芯片的内置很强大,但是一方面它的价格比较昂贵,另一方面,也是由于我们对PIC不大了解,没有试验过,所以,我们选择了51作为我们的控制器。这样一来,我们实现一些功能就必须要加外围电路了。2.2 显示部分 方案一 :使用LED显示。优点:可是角度宽,价格便宜。缺点:显示的内容少,介面呆板,而且占用较多的IO口资源。方案二 :使用1602液晶显示器。可视面积大,介面美观,抗干扰能力强,调用方便简单,而且可以节省软件中断资源,应用串行连接,节省I/O口资源。这次,我们选用了LED作为我们的显示器。因为1602液晶显示器相对来说比较昂贵,而且我们
5、的显示部分只是显示电压的输出值。用四位数码管就可以实现。但是,使用LED占用了比较多的资源。2.3 电源部分方案一:三端固定输出电压式稳压电源78XX系列运用其器件内部电路来实现过压保护、过流保护、过热保护 。这使它的性能很稳定。能够实现1A以上的电流 器件具有良好的温度系数。并且有多种电压输出值5V24V,因此产品的应用范围很泛 。可以运用本地调节来消除噪声影响,解决了与单点调节相关的分散问题输出电压误差精度分为3%和5% 。方案二:LM117/LM317 是美国国家半导体公司的三端可调正稳压器集成电路。LM117/LM317 的输出电压范围是1.2V至37V,负载电流最大为1.5A。它的使
6、用非常简单,仅需两个外接电阻来设置输出电压。此外它的线性调整率和负载调整率也比标 准的固定稳压器好。LM117/LM317 内置有过载保护、安全区保护等多种保护电路。通常 LM117/LM317 不需要外接电容,除非输入滤波电容到 LM117/LM317 输入端的连线超过 6 英寸(约 15 厘米)。使用输出电容能改变瞬态响应。调整端使用滤波电容能得到比标准三端稳压器高的多的纹波抑制比。LM117/LM317能够有许多特殊的用法。比如 把调整端悬浮到一个较高的电压上,可以用来调节高达数百伏的电压,只要输入输出压差不超过117/LM317的极限就行。当然还要避免输出端短路。还 可以把调整端接到一
7、个可编程电压上,实现可编程的电源输出。 通过比较分析,此次我们选择了78XX系列芯片来实现我们的电源输出。因为78XX系列的芯片能满足我们的四个固定电压的输出。第三章 主要电路单元的设计本系统由电源模块、调压模块、DA转换模块、显示与键盘模块组成。系统电路结构原理图,如图所示:+ 市电输入变压整流电压调整及过流保护系统电源+5v+24+15比较放大DA转换取样AT89S51键盘取样显示AD转换电路设计: 1整流、滤波电路设计。首先确定整流电路结构为桥式电路,选用大的电解电容对输入的电流进行滤波处理。电路如图所示: 整流滤波电路该整流滤波电路中,220V 的市电输入到电路中,经过一个整流桥堆整流
8、电路。整流电路的任务是将电网供给的交流电变换成脉动的直流电,通常利用二极管的单向导电性来实现。一般分为半波整流/全波整流/桥式整流/被压整流等,而桥堆就是用在桥式整流中的。通过整流桥堆后的电压为U=U0*1.2。U0为经过变压器变压后的输出电压。经过整流后的电压用两个电容实现滤波处理。2.电源电路该电源电路采用了四个三端集成稳压器来为电路输出电路所需要的各种电压。一般三集成稳压电路的最小输入、输出电压差约为2V,否则不能输出稳定的电压,使电压差保持在4-5V,即经变压器变压,二极管整流,电容器滤波后的电压应比稳压值高一些 。78系列的三端稳压器能够输出正的电压。79系列的三端稳压器输出是负电压
9、。由于该电路的芯片发热较大,一般要加上合适的散热片散热保护电路。芯片分三个引脚,输入、输出和接地,三个引脚不能接反,否则容易烧化电路。3.放大电路:这部分电路是实现电压放大的电路。电路的比较放大采用运放NE5534来设计,该器件具有共模抑制比高,响应速度快和压摆率高的特点。设计时可由R10、R11A、R12组成分压取样电路,并要求R10(R11A+R12)=14,即当输出电压存在UO=0.05 V时,Ua=0.04 V,这与DAC的输出(10255=0.04V=1LSB)变化一致。事实上,经过DAC转换以将电流转换为电压并进行电压放大后,即可将得到的10 V电压送比较器NE54534的同相端作
10、为比较的基准电压。由于DAC0832是8位的DA转换器,故有255步进。由此,当CPU控制DAC变化1LSB时,其对应Va的变化为0.04 V,故Uout的可调变化量为0.05 V(步长)。NE5534和Q1、Q3及取样电路构成的负反馈电路可实现调节输出电压的目的(稳压)。电路中的过流保护由R9与Q2完成。当Io0.7A时,VR9=R9Io10.7=0.7 V,此时Q2导通,并对调整管Q3的基极分流,使TIP41的导通电阻增大,输出电压降低,从而达到过流保护的目的。该系统的短路保护采用保险管来完成。该电路的数模转换电路是由DAC0832、两级低漂移的运放A714和VREF电路组成。DAC083
11、2和运放U3A将CPU发出的8位二进制数据转换成0-5 V的电压,然后经运放U3B反向放大2倍,以得到010 V电压。因此,该DAC的转换分辨率为10(28-1)=0.04 V,即CPU输出给DAC的数据变化为1 Bit,DAC输出电压的变化为0.04 V。VREF电路为DAC提供基准电压,调节R5A,可使基准电压保持为5 V。8位数模转换器DAC0832芯片1. 引脚及其功能DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。图1-1和图1-2分别为DAC0832的引脚图和内部结构图。其主要参数如下 :分辨率为8位,转换时间为1s,满量程误差为1LSB,参
12、考电压为(+10?/span-10)V,供电电源为(+5+15)V,逻辑电平输入与TTL兼容。从图1-1中可见, 在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号 /XFER。DAC0832引脚图如图所示:图中,当ILE为高电平,片选信号 /CS 和写信号 /WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当 /WR1 由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB的变化而变化。对第二级锁存来说
13、,传送控制信号 /XFER 和写信号 /WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC寄存器的输出随输入而变化,此后,当 /WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC寄存器中。图中其余各引脚的功能定义如下:(1)、DI7DI0 :8位的数据输入端,DI7为最高位。(2)、IOUT1 :模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当 DAC寄存器中数据全为0时,输出电流为0。(3)、IOUT2 :模拟电流输出端2, IOUT2与IOUT1的和为一个常数,即IOUT1IOUT2常数。(4)、RFB :反馈电阻引出端,DAC0832内
14、部已经有反馈电阻,所以 RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器 的输出端和输入端之间。(5)VREF :参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10-10)V。 VREF端与D/A内部T形电阻网络相连。(6)、Vcc :芯片供电电压,范围为(+5 15)V。(7)、AGND :模拟量地,即模拟电路接地端。(8)、DGND :数字量地。 4.键盘模块 当输出电压经R13限流和R14取样后,即可送入TLC2453-1进行模数转换。图中的TLC2453-1为11通道、12
15、位串行AD转换器,具有12位分辨率,转换时间为10s,有11个模拟输入通道,3路内置自测试方式,采样率为66 kbps,线性误差1LSBmax,同时带有转换结果输出EOC,并可单、双极性输出。通过其可编程的MSB或LSB前导可编程输出数据长度。 TLC2453-1的时钟频率选用4.1 MHz,电源输出电压Uo的取样信号从IN0输入,芯片的IO时钟端、数据输入端、转换数据输出端、片选端分别与AT89S51单片机的P0.0,P0.1,P0.2,P0.3相连,然后经单片机处理后从P0口输出,在经芯片MC74HC573N驱动后送入数码管,通过数码管显示输出电压。电路中AT89S51单片机的晶振频率选用
16、12 MHz,P3.0,P3.2,P3.5,P3.6接调压按钮。K1实现设置功能,即通过此按键可以实现电平快速切换功能(3V,5V,6V,9V,12V),K2实现调控增加电压的功能,K3实现调控减小电压的功能,K4实现按键锁定和解锁的功能,防止误触造成不便。5电压显示电路该部分电路通过运用两个MC74HC573N芯片控制数码管的位选和段选,并且,都将他们接在AT89S51的主芯片的.口上进行对数码管的控制。通过数码管的时时检测来知道电路电压输出的大小。电压显示电路,如下图所示:电路按一般的接法,在段,位选口上接上上拉电阻。并用三极管实现电路电流的放大小效果。数码管使用四位计数,使数码管的显示可
17、以达到V的精确要求。6.主芯片电路控制该部分电路采用了最基本的AT89S51为基核,通过对该芯片编程,使芯片实现各种强大的功能。该部分电路的电路图,如图所示:该部分电路通过控制AT89S51芯片的IO口实现电路的各项控制功能。通过控制P3.0,P3.1,P3.5,P3.6口实现按键的调节设置电压功能;通过控制芯片的P0口接的译码驱动器MC74HC573芯片实现电压的时时跟踪显示功能;通过和的转换,实现电路的数模和模数转换等。MC78系列24C02芯片概述:CAT24WC01/02/04/08/16 是一个1K/2K/4K/8K/16K 位串行CMOS E2PROM 内部含有128/256/51
18、2/1024/2048 个8 位字节CATALYST 公司的先进CMOS 技术实质上减少了器件的功耗CAT24WC01 有一个8 字节页写缓冲器CAT24WC02/04/08/16 有一个16 字节页写缓冲器该器件通过I2C 总线接口进行操作有一个专门的写保护功能。管脚描述:SCL 串行时钟CAT24WC01/02/04/08/16 串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。SDA 串行数据/地址CAT24WC01/02/04/08/16 双向串行数据/地址管脚用于器件所有数据的发送或接收SDA 是一个开漏,输出管脚可与其它开漏输出或集电极开路输出进行线或wire-
19、ORA0 A1 A2 器件地址输入端这些输入脚用于多个器件级联时设置器件地址当这些脚悬空时默认值为0 24WC01 除外。当使用24WC01 或24WC02 时最大可级联8 个器件如果只有一个24WC02 被总线寻址这三个地址输入脚A0 A1 A2 可悬空或连接到Vss 如果只有一个24WC01 被总线寻址这三个地址输入脚A0 A1 A2 必须连接到Vss。当使用24WC04 时最多可连接4 个器件该器件仅使用A1 A2 地址管脚A0 管脚未用可以连接到Vss 或悬空如果只有一个24WC04 被总线寻址A1 和A2 地址管脚可悬空或连接到Vss。当使用24WC08 时最多可连接2 个器件且仅使
20、用地址管脚A2 A0 A1 管脚未用可以连接到Vss 或悬空如果只有一个24WC08 被总线寻址A2 管脚可悬空或连接到Vss。当使用24WC16 时最多只可连接1 个器件所有地址管脚A0 A1 A2 都未用管脚可以连接到Vss 或悬空WP 写保护。如果WP 管脚连接到Vcc 所有的内容都被写保护只能读当WP 管脚连接到Vss 或悬空允许器件进行正常的读/写操作。芯片的时序图:Data Validity Start and Stop DefinitionOutput Acknowledge集成运放NE5534芯片description/ordering informationThe NE553
21、4, NE5534A, SA5534, and SA5534A are high-performance operational amplifiers combiningexcellent dc and ac characteristics. Some of the features include very low noise, high output-drive capability,high unity-gain and maximum-output-swing bandwidths, low distortion, and high slew rate.These operationa
22、l amplifiers are compensated internally for a gain equal to or greater than three. Optimizationof the frequency response for various applications can be obtained by use of an external compensationcapacitor between COMP and COMP/BAL. The devices feature input-protection diodes, output short-circuitpr
23、otection, and offset-voltage nulling capability with use of the BALANCE and COMP/BAL pins (see theapplication circuit diagram).For the NE5534A and SA5534A, a maximum limit is specified for the equivalent input noise voltage.symbolapplication circuitTLC2543芯片引脚图,如图所示:TLC2543概述TLC2543是12位的串行模数转换器,使用开关
24、电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机的I/O资源;且价格适中,分辨率较高,因此使用较为广泛。 TLC2543与围外电路的连线简单,三个控制输入端的CS(片选)、输入/输出时钟(I/O CLOCK)以及串行数据输入端(DATE INPUT 。片内的14通道多路器可以选择11个输入中的任何一个或三个测试电压中的一个,采样保持是自动的,转换结束,EOC输出变高。引脚号名称I/O说明19,11,12AINOAIN10I模拟量的输入端。11路输入信号由内部多路器选通。对于4.1MHZ的I/OCLOCK,驱动源阻抗必须小于或等于50欧,而且用60PF电容来限制模拟
25、输入电压的斜率。15CSI片选端。在CS端由高变低时,内部计数器复位。由低变高时,在设定的时间内禁止DATAINPUT和I/O CLOCK17DATAINPUT串行数据输入端,由位的串行地址输入来选择模拟量的输入通道。16DATTAOUT0A/D 转换结果的三态串行输出端。为高时处于高阻抗状态,为低时处于激活状态。EOC转换输出端。在最后的下降沿之后,EOC从高电平变为低电平并保持转换完成和数据准备传输为止。10GND地。是内部电路的回路端。除另外说明外,地所有的电压测量都相对而言。I/O CLOCK输入输出时钟端。I/OCLOCK接收串行输入信号并完成以下四个功能:(1)在I/O clock
26、 的钱8个上升沿,8为输入数据存入数据寄存器。(2)在I/OCLOCK的第四个下降沿,被选通的模拟输入电压开始向电容器充电,直到I/OCLOCK的最后一个下降沿为止。(3)将前一次转换数据的其余11位输出到oUT端,在I/ OCLOCK 下降沿时数据开始变化。(4)I/OCLOCK 的最后一个下降沿,降转换的控制信号送到内部状态控制位。14REF+I正基准电压端。基准电压的正端(通常为)被加到,最大的输入电压范围由加于本端与端的电压差决定。REFI负基准电压端,基准电压的低端(通常为低)被加到REF-20VCC电源TLC2543引脚、功能及时序一、引脚:TLC2543为20脚DIP封装,引脚图
27、如下图所示。TLC2543具有4线制串行接口,分别为片选端(CS),串行时钟输入端(I/O CLOCK),串行数据输入端(DATA IN)和串行数据输出端(DATA OUT)。它可以直接与SPI器件进行连接,不需要其他外部逻辑。同时,它还在高达4MHz的串行速率下与主机进行通信。TLC2543除了具有高速的转换速度外,片内还集成了14路多路开关。其中n路为外部模拟量输入,3路为片内自测电压输入。在转换结束后,EOC引脚变为高电平,转换过程中由片内时钟系统提供时钟,无需外部时钟。在AD转换器空闲期间,可以通过编程方式进入断电模式,此时器件耗电只有25pA。工作时序 :以MSB为前导, 用CS进行
28、12个时钟传送的工作时序如下图所示。1.上电时,EOC=“1”,CS=“1”2.使CS下降,前次转换结果的MSB即A11位数据输出到Dout供读数。3.将输入控制字的MSB位即C7送到Din,在CS之后tsu=1.425us后,使CLK上升,将Din上的数据移入输入寄存器。4.CLK下降,转换结果的A10位输出到Dout供读数。5.在第4个CLK下降时,由前4个CLK上升沿移入寄存器的四位通道地址被译码,相应模入通道接通,其模入电压开始时对内部开关电容充电。6.第8个CLK上升时,将Din脚的输入控制字C0位移入输入寄存器后,Din脚即无效。7.第11个CLK下降,上次AD结果的最低位A0输出
29、到Dout供读数。至此,I/O数据已全部完成,但为实现12位同步,仍用第12个CLK脉冲,且在其第12个CLK下降时,模入通道断开,EOC下降,本周期设置的AD转换开始,此时使CS上升。8.经过时间tconv=10us,转换完毕,EOC上升。9.使CS下降,转换结果的MSB位B11输出到Dout供读数。10.将新周期的输入控制字的MSB位D7送到Din,在CS下降之处,tSU时间处由CLK上升将Din数据移入输入寄存器。11.CLK下降,将AD结果的B10位输出到Dout。上电时,第一周期读取的Dout数据无效,应舍去。74HC57374HC573 概述74HC573是一款高速CMOS器件,7
30、4HC573引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC573包含八路D 型透明锁存器,每个锁存器具有独立的D 型输入,以及适用于面向总线的应用的三态输出。所有锁存器共用一个锁存使能(LE)端和一个输出使能(OE)端。当LE为高时,数据从Dn输入到锁存器,在此条件下,锁存器进入透明模式,也就是说,锁存器的输出状态将会随着对应的D输入每次的变化而改变。当LE为低时,锁存器将存储D输入上的信息一段就绪时间,直到LE的下降沿来临。当OE为低时,8个锁存器的内容可被正常输出;当OE为高时,输出进入高阻态。OE端的操作不会影响锁存器的状态。74HC573与以下型号逻辑功能相同:74HC563,
31、但输出为反相74HC373,但引脚布局不同74HC571的特点:特点:三态总线驱动输出置数全并行存取缓冲控制输入使能输入有改善抗扰度的滞后作用管脚图如图所示:芯片uA741通用高增益运算通用放大器,双列直插8脚或圆筒8脚封装。工作电压22V,差分电压30V,输入电压18V,允许功耗500mW.其管脚与OP07(超低失调精密运放)一样。管脚图如图所示:芯片的引脚图如图所示:AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计
32、数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。2管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P
33、0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出
34、地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)
35、P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX
36、,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTA
37、L2:来自反向振荡器的输出。7. ICL7107测试电路 ICL7107是一块应用非常广泛的集成电路。它包含3 1/2位数字A/D转换器,可直接驱动LED数码管,内部设有参考电压、独立模拟开关、逻辑控制、显示驱动、自动调零功能等。参考电路: 第四章 系统软件设计软件要实现的功能是:键盘对单片机输入数据,单片机对获得的数据进行处理,送到数模转换器,再送入数码管显示,实现对电压的控制。1 主控程序主控程序首先进行系统的初始化,然后显示电路中的输出电压,初始应为0V。按下功能转换键进入预置电压环节,等待键盘输入。根据键盘的不同输入,按下确定键后转入相应的应用程序。执行后,数码管显示电路中的电压。直到
38、被下一次设置电压打断。初始化函数进入键盘扫描函数,并根据所按键的不同运行不同的子函数进入检验函数,判断电路中的电流是否超过额定电流,若超过则作出相应的反应进入大循环2 过流保护程序过流保护由中断实现,通过AD转换检测电路中的电流,若电流超过额定电流的1.2倍时蜂鸣器发出警报并在5秒后初始化电路。若电流超过额定电流的1.5倍时立即初始化原电路。判断,若电流大于额定电压的1.5倍,立刻进行初始化判断,若电流大于额定电压的1.2倍,进入中断,同时蜂鸣器发出报警,并在5秒后进行初始化。3键盘显示程序刚上电时,数码管显示的是电路的输出电压。当第一次按下键一(即s1)时,进入设置步进初值的模式,数码管显示
39、设置的初始步进值(用s2和s3分别控制步进初值的增减),按下s4为确定键,此时数码管显示为电路输出电压。当数码管显示输出电压时,若连续按下两次s1则进入常用电压设置,用s2和s3分别控制常用电压的增减,其中常用电压有3V,5V,6V,9V,12V。按下s4为确定键,数码管显示为电路输出电压。当数码管显示为电路输出电压,连续三次按下s1则进入步步函数,此时电路的输出电压以原电路的输出电压为基础步步增大或减小,步进值为0.1V。增加到13V时开始减小,并在减小到0V时渐次增大。当再次按下s1键时停止步步函数。在按下确定键后再按一次s4则为锁定,此时再按s1,s2,s3键均无效,知道再次按下s4键解
40、锁。 第八章 心得体会 附录一:完整的系统源代码: #include#define uchar unsigned char#define uint unsigned int/*变量解释:num0 输出电压除以AD芯片(TLC2543)的读取电压的比值num1 num1的值为放大比例,即输出电流除以DA芯片(DAC0832)的输出电压*100(即显示的值)的比值max 当电路中电流为最大时,AD输出的电流*/#define num0 1#define num1 1#define max 1/*变量解释:flag 判断是否锁定键盘flag1 常用电压的设定flag0 判断DA值为bujin,还是常
41、用电压,还或是bubu函数s1num s1按键的值s4num s4按键的值a 判断bubu程序是加还是减*/uchar s1num,s4num,flag,flag1,flag0, qian,bai,shi,ge,a;/*变量解释:shu 输出电压的显示值yibu 自动步进的DA值bujin 步进的设定值*/uint shu,yibu,bujin;uchar code table1=/normal number0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar code table2= /+.number0xbf,0x86,0xdb,0
42、xcf,0xe6,0xed,0xfd,0x87,0xff,0xdf;uchar code table3=/常用电压0x12c,0x1f4,0x258,0x384,0x4b0;sbit SCL=P17;/I2C的数据/地址传输端sbit SDA=P16;/I2C的时钟端sbit dula=P32;/数码管的段选,用来选择数码管显示的数字sbit wela=P37;/数码管的位选,用来选择显示的数码管sbit csda=P14;/DAC0832的片选信号端sbit wr=P15;/外部写控制sbit s1=P30;/按键1,即功能切换键sbit s2=P31;/按键2,即增加键sbit s3=P3
43、5;/按键3,即减小键sbit s4=P36;/按键4,即锁定解锁键sbit ADEOC=P24;/AD转换结束端,在最后的I/O CLOCK下降沿之后,/EOC从高电平变为低电平并保持到转换完成和数据准备传输为止sbit ADCLOCK=P23;/输入输出时钟端sbit ADIN=P22;/串行数据输入端sbit ADOUT=P21;/AD转换结果的串行输出端sbit adcs=P20;/AD的片选端sbit di=P27;/蜂鸣器void delay();/延时一微秒左右void delayms(uint z);/延时单位为毫秒void init();/初始化函数void keyscan(
44、);/键盘扫描函数/*-I2C函数声明-*/void start();/开始I2C通讯void stop();/停止I2C通讯void respons();/应答void write_byte(uchar date);/写数据uchar read_byte();/读数据void write_add(uchar address,uchar date);/在指定地址写数据uchar read_add(uchar address);/在指定地址读数据/*-I2C函数声明-*/void display(uchar qian,uchar bai,uchar shi,uchar ge);/数码管显示,格式为XXXXvoid didi();/若电流超过1A的1.2倍时过5秒初始化,1A的1.5倍时直接初始化void dastart(uint x);/DA开始,并输出指定电压,其中x为需要输出的电压void xianshu();/显示电路中的电流void shebujin();/设定并显示设定的步进电压void shechang();/设定并显示设定的常用电压void bubu();/bubu每隔0.5秒输出电压变化0.1V,先增大,至超过13V时,再减小void bubustart();/开始bubu函数模式,数码管显示电路中的电压void bubustop();/结束bu
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922