当前位置:文档之家› 基于单片机的数控直流电流源的设计 毕业论文

基于单片机的数控直流电流源的设计 毕业论文

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

基于单片机的数控直流电流源的设计

【摘要】随着电子技术的飞速发展,电子设备越来越多,而电子设备要工作都需要有电源能够为其通电。性能好的电子设备,首先就离不开稳定的电源,电源的稳定度越高,电子设备机器外围条件越优越,设备的寿命就更长。而各种不同的电子设备所需要的供电电源不是统一的,所以,对于数控恒定电流源的研究与开发就显得相当重要了。现在数控恒压技术已经很成熟,但在恒流方面尤其是在数控恒流方面的技术还有待发展,高性能的数控电流源的研究与开发非常重要。

本文介绍了一种基于单片机的数控电流源的设计方法,系统以AT89C52单片机为中心控制器,利用按键设置输出电流,单片机将该电流值送1602液晶屏显示,同时,通过与D/A转换器的数据通信端口将输出电流的数字量送入D/A转换器,D/A转换器将数字量转换为为模拟量后输出,再通过压控流电路得到输出的电流,采样电路把输出的电流转换成电压值送入AD,经转换后把对应的数字量送入单片机,形成闭环系统。A/D转换器采用MAX1241,D/A转换器采用AD5320。

本文提供的数控电流源具有很高的精度值,可满足多种电流源的试验要求,且电路精炼、简单易懂、成本低廉、实用价值和开发价值大。

【关键字】数控电流源A T89C52 A/D转换器D/A转换器

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

Based on SCM control DC current source design

Abstract As electronic technology in recent years, electronic devices and electronic equipment work will need to have the power of electricity. the performance of electronic equipment is first and foremost from a stable source of stability, the higher the external condition, an electronic device, machine equipment of the more, it will be long. And a variety of electronic equipment needed the supply of power is not unified, so for nc constant current research and development is very important. it is a constant pressure nc technology have a ripe, constant flow in the field, especially at a constant stream nc skills to development, performance nc current research and development is very important.

This article describes a revivification of nc current design methods and systems to AT89C52 monolithic integrated circuits to control, the button for the output, the current monolithic integrated circuits current t ake the tube, At the same time, and d a converter data communications port output of the current number of tier d a converter, d a converter will be converted to numbers measure for simulating after the output, run by a constant flow of electrical a steady output of electricity. d a converter adopt MAX1241 AD5320.

This article provides nc current source of very high precision, a number of current trials, circuits, refining, simplicity, low cost, or useful value. Developing

Keywords Numerical controlled current source AT89C52 Analog -To- Digital conversion

Digital-To- Analog conversion

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

目录

第1章概述 (1)

1.1设计要求 (1)

1.2理论分析 (1)

1.3系统介绍 (1)

第2章硬件设计 (3)

2.1电源模块 (3)

2.2恒流源模块 (5)

2.3单片机模块 (6)

2.4键盘模块 (10)

2.4.1键盘电路 (11)

2.5显示模块 (11)

2.5.1 1602LCD显示 (11)

2.5.2 LCD显示硬件电路 (12)

2.6 A/D模块 (14)

2.6.1芯片MAX1241 (14)

2.6.2 A/D模块电路 (15)

2.7 D/A模块 (16)

2.8存储模块 (17)

2.8.12 C总线 (18)

2.8.2 芯片24C02C (18)

2.8.3 存储模块电路 (18)

第3章软件设计 (24)

3.1编程语言描述 (24)

3.2系统软件的功能模块 (24)

3.2.1主程序设计 (24)

3.2.2 中断程序设计 (25)

第4章软件仿真及硬件调试 (29)

4.1 Proteus (29)

4.2软件仿真 (29)

4.3硬件调试 (31)

4.3.1单片机最小系统调试 (31)

4.3.2键盘及液晶显示调试 (31)

4.3.3数模转换与功放电路调试 (31)

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

4.3.4模数转换电路调试 (31)

4.3.5存储器电路调试 (31)

第5章设计总结 (32)

致谢 (33)

参考文献 (34)

附录A 原理图 (35)

附录B 实物图 (36)

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

第1章概述

1.1设计要求

(1)输出电流范围:0—500mA (DC);

(2)准确度:±0.05%设置值±1ppm满幅;

(3)步进精度:10mA;

(4)有效输出电压0—10V 最大输出电压12V;

(5)LCD1602液晶屏显示前面板键盘操作;

1.2理论分析

首先,在数控方面采用单片机比CPLD和FPGA等可编程逻辑器件好,因为此处只是一般用途的控制,没有必要选用价格昂贵的CPLD和FPGA,而且他们用在此处并不合适,控制起来显得很麻烦。而单片机则不同,他有着非常成熟的技术,这方面的参考文献也很多,而且他从来就是用于控制方面的,在这方面有着天生的优势。还有他价格也不贵,仅几元人民币。对于这样的应用系统比较划得来。其次在恒流源方面,我们方案也很好。从理论上看,运放是接成比较器的,作为模拟反馈的,这样在只要运放的输入不变,那么三极管的

be

V是不变的,根据三极管的共射极

输入特性可知,

be

V不变时,e I和c I也保持不变,而且b

c

I

=,b

e

I

I)

1(β

+

=。当β

比较大时

e

c

I

I≈。当运放的输入改变时,也改变了be V值,这样也就改变了c I和e I的值,而且这个变化基本也是呈线性的。这也就是本系统的恒流原理。由于器件受温度的影响以及局部非线性的存在,这样的恒流源不能做到真正的恒流,因此,当外界条件发生变化时,我们要及时给予补偿,只有这样才能做到真正的恒流。这也就是为什么要加入模数转换器的真正原因,他能实时测量电流的变化并按照一定的算法及时给予补偿,采用数字补偿逐次逼近的方式作为反馈调整环节,由程序控制调节功率管的输出。当改变负载大小时,基本上不影响电流的输出。模数转换器还起到测量的作用,同时送显示让我们知道实际的电流输出值。

1.3系统介绍

本系统以AT89C52单片机为主控制器,通过键盘来设置直流电源的输出电流,设置步进等级可达10mA,并可由液晶模块显示实际输出电流值和电流设定值。首先,采用单片稳压芯片实现直流稳压,然后采用了分立元器件实现稳流。为实现对输出电流控制:一方面,通过D/A转换器(AD5320)输出实现电流的预置,再经过运算放大

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊器控制晶体管的输出电流。另一方面,单片机系统还兼顾对恒流源进行实时监控,输出电流经过电流/电压转变后,通过A/D转换(MAX1241)芯片,实时把模拟量转化为数字量,再经单片机分析处理,通过数据形式的反馈环节,使电流更加稳定,这样构成稳定的压控电流源。此外,系统还增加了存储设备,能够保存掉电前的数据,使系统更加方便使用。系统原理框图,如图1.1所示:

图1.1 系统原理框图

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

第2章硬件设计

2.1电源模块

本设计共用到电源有四种:即±12V、+5V、负载电源。可选用的有开关电源和稳压电源两种,由于开关电源的纹波系数比较大,对AD和DA转换的精度会有影响。稳压电源的线性比较好,因此采用常用的稳压电源来作为整个系统的电源。稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成,如图2.1所示:

图2.1 电源方框及波形图

整流和滤波电路:整流电路的作用是将交流电压变换成脉动电压。滤波电路一般由电容和电感组成,可以组成不同类型的滤波电路,其作用是把脉动电压中的大部分

纹波加以滤除,以得到较平滑的直流电压。再通过稳压电路得到平直的直流电压。

2.1.1电源设计

该电源按常规设计,即用降压变压器把220V市电变成较低的交流电,再通过整流桥将交流变为脉动的直流,并上电容滤波再接入78XX和79XX系列稳压块稳压(78XX 系列输出正电压,79XX系列输出负电压,且输入电压应高于输出电压4V-7V,压差较大稳定,但功耗也大,7805应加大散热片输出电压才稳定),从而得到5V,±12V的电压源。其中5V电源用LM7812输出的12V电压作为LM7805的输入电压以得到5V电压。电路原理图分别如图2.2和图2.3所示:

┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图2.2 +5V电源

图2.3 ±12V电源

考虑到恒流源电路的电源需要提供较大的功率,同时为了减少电源间的干扰,而且单片机对电源电压的稳定性要求很高,当供电电压波动大时会出现复位情况,所以恒流源电路电源由单独电源提供。由LM317搭建成输出电压为1.2~37V的可调电源,稳压电源由电源变压器、整流电路、滤波电路、保护电路和稳压电路组成。其电路原理图,如图2.4所示:

┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图2.4 负载电源

2.2恒流源模块

用“运放+大功率三极管”的结构构成恒流源部分。功率三极管选用SS8050,它是应用范围广、中小功率NPN型的三极管,特征频率:最小150MH,集电极最大允许电流:1.5(A),集电极电压:40V。其性能满足本设计要求,同时可以通过功率管的不同容量来满足不同的应用要求。采用常用的大功率电阻作为采样电阻,输出电流波动比较大,而康锰铜丝(阻值随温度的变化较小)是一种温度特性佳的阻性元件,选其作为取样电阻,其两端电压正比于流过的电流,因此该电压的反馈就是负载电流的反馈。

当功率三极管工作于饱和区时,集电极电流Ic近似为电压VRL控制的电流。即当Uc为常数时,满足:Ic=A(Vbc),只要Vbc不变,Ic就不变。在此电路中,R13为取样电阻,采用康铜丝绕制(阻值随温度的变化较小),阻值为0.35欧。运放采用OP-07作为电压比较器,(VDA)=(UIN-)=(UIN+)=(VAD),功率三极管Ic=Ie(基极电流相对很小,可忽略不计) 所以Io=Ie= VAD/R13= VDA/R13。正因为Io= VDA/R13,电路输入电压VDA控制电流Io,即Io不随RL的变化而变化,从而实现压控恒流。其原理,如图2.5所示:

┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图2.5 恒流电路

2.3单片机模块

2.3.1 A T89C52芯片介绍

单片机是大规模集成电路结束发展的产物,常见的单片机有8051系列的单片机、8096系列的单片机、PIC系列、AVR系列、SPCE061A的凌阳单片机。他将中央处理器(CPU)、存储器(ROM/RAM)、输入输出接口、定时器/记数器等主要计算机部件集成在一片芯片上,因此单片机被称为单片机微型计算机(Single Chip Microcomputer).单片机配上适当的外围设备和软件,便可构成一个单片机应用系统。本次设计对单片机的要求:只要能够方便地扩展显示器、键盘、A/D转换器、D/A转换器等外设即可,其他并无特殊要求。故选择常见的美国Inter公司生产的MCS-51系列单片机,它具有可高性高、功能强、体积小、价格低、和抗干扰能力强等特点,被广泛应用于工农业生产、国防、科研及日常生活等各个领域。而且本组同学也比较熟悉。

我们选择的ATMEL公司的AT89C52单片机,他是一种低功耗、高性能CMOS8位微控制器,具有8K ISP(在系统可编程)Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C52管脚,如图2.6所示:

A T89C52具有如下特点:

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

?兼容MCS-51指令系统

?32个双向I/O口

?3个16位可编程定时/计数器

?全双工UART串行中断口线

?2个外部中断源

?中断唤醒省电模式

?看门狗(WDT)电路

?灵活的ISP字节和分页编程

? 4.5-5.5V工作电压

?时钟频率0-33MHz

?256×8bit内部RAM

?低功耗空闲和省电模式

?3级加密位

?软件设置空闲和省电功能

?双数据寄存器指针

?8k可反复擦写(>1000次)ISP Flash ROM

AT89C52主要引脚的主要功能:

VCC:接+5V电源。

GND:接地。

图2.6 A T89C52引脚

P0口:P0口为一个8位漏极开路双向I/O口,作为输出口,每位能驱动8个TTL 逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0口具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/记数器2的外部记数输入(P1.0/T2)和定时器/记数器2的触发输入(P1.1/T2EX),具体如下表1所示。

在flash编程和校验时,P1口接收低8位地址字节。

表1各端口引脚与复用功能表

P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如MOVX

@DPTR)时,P2口送出高八位地址。在这种应用中,P2口P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89C52特殊功能(第二功能)使用,如下表2所示。

在flash编程和校验时,P3口也接收一些控制信号。

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。

ALE/ PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

PSEM:外部程序存储器选通信号。

当AT89C52从外部程序存储器执行外部代码时,PSEM在每个机器周期被激活两次,而在访问外部数据存储器时,PSEM将不被激活。

EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。

为了执行内部程序指令,EA应该接VCC。

在flash编程期间,EA也接收12伏VPP电压

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端。

2.3.2 A T89C52硬件电路设计

单片机系统是整个数控系统的核心部分,它主要用于键盘按键管理、数据处理、实时采样分析系统参数及对各部分反馈环节进行整体调整。主要包括AT89C52单片机、振荡电路、复位电路等。电路,如图2.7所示:

┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图2.7 单片机控制电路

(1)AT89C52单片机的P1口是个双向口,可以作输出输入口,在本系统中用作显示部分,P0口也是个双向口,主要接A/D、D/A和24C02C。P2口的P2.3、P2.4、P2.5、P2.6接键盘输入。而P3口主要用于中断。

(2)复位电路复位是单片机初始化操作。复位将单片机复位初始化状态,目的是使CPU及个专用寄存器处于一个确定的初始状态。如前面介绍,在单片机的复位信号RST上保持2个机器周期以上的高电平,单片机就会复位。本次设计采用的是手动复位方式和自动复位都可以,利用按键闭合是单片机复位端上保持接通高电平状态两个机器周期以上就可以完成复位。

(3)振荡电路该电路是由内部反相放大器通过引脚XTAL1和引脚XTAL2与外接的晶体以及电容C2和C3构成,产生出晶体振荡信号。此晶振信号接至内部的时钟电路。图中的晶振频率为11.0592MHz,外接晶体时,电容C2和C3通常选30pF。虽然对外接电容没有严格要求,但电容的大小会影响振荡频率、振荡器的稳定性和起振的速度。振荡器的这些特性对弹片机的应用影响很大,因此在设计印刷电路板时,应使晶体和电容尽可能与单片机靠近,以保证稳定可靠。

2.4键盘模块

键盘的作用是对单片机输入数据,进行对输出的控制。设计要求能对输出电流进行“+”,“-”调节,本设计采用五个按键,分别是“进入调整”、“+”、“-”、“确定”、“取消”。把按键值送给单片机的并行口P2,P2.3~P2.6作为键盘的输入端口。

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊2.4.1键盘电路

如图2.8所示,在没按下按键时对应的IO端口为高电平,当按下按键后对应的端口为低电平,由此可知是否有哪个键被按下,其中的电阻称为限流电阻起到限定电流的作用,否则电流过大会损坏单片机的IO端口。从键盘的上到下开始,依次为“进入调整”、“+”、“-”、“确定”、“取消”。进入调整的作用是在系统工作时使程序进入电流调整状态,进入调整与单片机的INT0引脚相连。

图2.8 键盘电路

2.5显示模块

2.5.1 1602LCD显示

液晶显示器由于体积小、质量轻、功耗低等特点,已成为各种便携式电子信息产品的理想显示器。液晶显示器通常可分为两大类,一是点阵型,二是字符型。一般的字符型液晶只有两行,面积较小,能显示字符和一些很简单的图形;而点阵型液晶通常面积较大,可以显示图形和更多的字符。为了方便设计,同时又能满足设计的需要及尽可能降低设计成本。因此,我们选择1602LCD液晶显示器。目前常用16*1,16*2,20*2和40*2行等的模块。针对此设计,我们选用16*2模块。1602字符型液晶显示器实物如图2.9所示:

┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图2.9 1602液晶显示器

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图2.10是1602的内部显示地址,如下图:

图2.10 1602LCD内部显示地址

2.5.2 LCD显示硬件电路

1602LCD的读写控制引脚是第5引脚R/W;在本次设计中,为了降低程序设计,我们只用LCD作显示器,在此只对其写操作,所以设计时直接将R/W接地。第三引脚的滑动电阻器可以调整屏幕的亮度,其电路原理图,如图2.11所示:

┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图2.11 LCD电路

1602程序如下:

void write_date(uchar date)//显示器写数据

{

lcdrs=1;

P0=date;

delay(1);

lcde=1;

delay(1);

lcde=0;

}

void write_com(uchar com) //显示器写程序

{

lcdrs=0;

P0=com;

delay(1);

lcde=1;

delay(1);

lcde=0;

}

void init()//lcd1602初始化

{

lcde=0;

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

write_com(0x38);//8位数据端口,2行显示,5*7点阵

write_com(0x0f);//D2=1:开显示;D1=1:显示光标;D0=1:光标闪烁

write_com(0x01);//清屏

write_com(0x80);//设定地址指针在第一行第一个位置

}

2.6 A/D模块

由于本次设计的数控直流电流源能够完成设定输出值。根据题目要求输出0mA~

500mA,以10mA为步进。需要的级数为:

(5000)

50

10

m A

m A

-

=

因11

5022048

<=,由此可见采用11位的转换芯片完全可以满足要求,但市场上并没有11位转换器,所以系统中采用12位高精度A/D转换芯片MAX1241。同时D/A也采用12位的转换芯片AD5320。

2.6.1芯片MAX1241

MAX1241是MAXIM公司推出的一种串行A/D转换器,具有低功耗、高精度、高速度、体积小、接口简单等优点。MAX1241是一种单通道12位逐次逼近型串行

A/D转换器,功耗低,转换速度快。它使用逐次逼近技术完成A/D转换过程。最大非线性误差小于1LSB,转换时间9μs。采用三线式串行接口,内置快速采样/保持电路。

MAX1241内部结构(如图2.12)和管脚定义(如图2.13):

图2.12 MAX1241内部结构

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

图2.13 MAX1241管脚定义

2.6.2 A/D模块电路

MAX1241的VDD供电范围为2.7

~5.25V,为减少来自电源的干扰,可在VDD 引脚配置4.7μF和0.1μF的滤波电容。由于MAX1241内部没有参考电源提供,需外接参考电压,只需将Vref接在4.7μF电解电容即可;特殊情况下,让SHDN悬空,此时,即可在REF引脚输入参考电压,其范围为1.0~VDD.REF引脚外接电解电容不宜选择过大,电容越大,MAX1241由待机模式到正常工作模式的唤醒时间将越长。MAX1241的三根数据线,时钟输入端、片选控制端和数据输出端分别由AT89S52的P1.0、P1.1和P1.2控制。MAX1241芯片内部具有采样/保持电路,无需外部保持电容和采样/保持电路。MAX1241的控制线SCLK、CS、DOUT可与AT89S52的通用I/O口直接相连,无需任何接口变换,模拟电压经前级放大至0~VREF范围后,由AIN引脚输入。其中MAX1241,所用到的+2.5V基准电压,由LM336精密的2.5V 并联的稳压二极管提供。其外围电路,如图2.14所示:

图2.14 MAX1241外围电路

AD程序如下:

uint ad_conver()//A/D转换

{

uint voltage_temp=0;

uchar ucloop=12;

adcs=1;

┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊

adsclk=0;

adcs=0;

while(adout==0);//EOC信号为高表示转换结束

adsclk=1;

adsclk=0;

while(ucloop--)

{

adsclk=1;//上升沿数据稳定并读出

voltage_temp<<=1;

if(adout==1)

voltage_temp+=1;

adsclk=0;

}

adcs=1;

return voltage_temp;

}

2.7 D/A模块

有前面的计算知,模拟量输出通道我们选用了AD公司的单通道12位电压输出D/A转换器,单电源工作,电压范围为2.7V~5.5V,时钟频率最高可达30MHz。片内高精度输出放大器提供满电源幅度输出,其基准来自电源输入端,可以提供较大的动态输出范围,它利用能与标准的接口标准兼容的3线串行接口与微处理器交换数据,接口简单。

工作过程中,将SYNC置为低电平时候启动写序列,在这个阶段,SYNC线至少要保持低电平一直到SCLK的第16个下降沿,DAC在这第16个下降沿被更新,如果在这之前SYNC被拉为高电平,就意味着写序列中断,此时移位寄存器复位。来自DIN线的数据在SCLK的下降沿随时钟送入16位移位寄存器,输入移位寄存器的数据位数为16位宽,前两位是无关位,接下来2为是控制位,决定控制器件处于哪种工作方式,最后12位是数据位,它们代表着DA转换器即将输出的电压值。在第16个时钟下降沿,最后一位数据随时钟输入并按照给定内容执行已编制好的功能。其外围电路,如下图2.15所示:

相关主题
文本预览
相关文档 最新文档