《2013全国大学生电子设计竞赛L题.pdf》由会员分享,可在线阅读,更多相关《2013全国大学生电子设计竞赛L题.pdf(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2013年全国大学生电子设计竞赛直流稳压电源及漏电保护装置(L 题)中山市技师学院参赛队员:林家俊叶伟智郭建华2013 年 9 月 7 日此处贴密封纸,然后掀起并折向报告背面,最后用胶水在后面粘牢。I 摘要摘要:这个直流稳压电源以一个通用的MOS 三极管为核心,一个资源丰富、低功耗的 16 位瑞萨 MCU(微控制器)是系统的主控制芯片。电压调节电路由一个基准电压芯片TL1431和一个可调电阻构成。当装置工作时,MCU 通过自带的AD转换器对本装置的电压、电流和功率进行监控、测试和采样。如果漏电它还启动漏电保护装置,保护操作者和仪器本身。瑞萨MCU的输入输出功能都很强大、应用灵活,编程界面友好。
2、经测试,这个装置能达到题目指定的所有的基本的和扩展的要求。关键词:稳压电源、MOS 管、瑞萨 16 位 MCU、漏电保护Abstract:This constant voltage power supply uses a general MOS transistor as the core,and a 16-bit Renesas MCU(Micro Control Unit),which is rich in resources and low in power consumption,works as the main control chip in the system.The volt
3、age regulating circuit is composed by a voltage reference chip,TL1431,and a variable resistor.When the device works,the MCU monitors,tests and samples the voltage,current and power of the device,using its internal AD convertor.In the case of leakage it would set the leakage protection device,which c
4、an protect the operator and the device itself.The 16-bit Renesas MCU has powerful functions in both input and output.Its application is very flexible and the programming interface is friendly.After testing,this device can achieve all the basic requirements and the expansion requirements which assign
5、ed by the topic.Keyword:voltage power、Mos、16-Bit Renesas MCU、leakage Protection II III 目录绪论.11 系统方案.11.1DC/DC 的论证与选择.21.2 漏电流保护装置的论证与选择.41.3 电流采样电路芯片的论证与选择.51.4 MOS 管辅助电源电路的论证与选择.71.5 控制系统的论证与选择.92 系统理论分析与计算.102.1 直流稳压电源的分析.10.102.2 稳压电源的计算.11.112.3 直流漏电流传感器的计算.12.123 电路与程序设计.123.1 电路的设计.123.1.1 系统总
6、体框图.123.1.2 控制器子系统框图与电路原理图.133.1.3 直流稳压电源子系统框图与电路原理图.133.1.4 漏电流保护装置子系统框图与电路原理图.143.2 程序的设计.153.2.1 程序功能描述与设计思路.153.2.2 程序流程图.164 测试方案与测试结果.174.1 测试方案.174.2 测试条件与仪器.184.2.1 测试环境.184.2.2 测试仪器.184.3 测试结果及分析.184.3.1 测试结果(数据).184.3.2 测试分析与结论.19附录 1:电路原理图.20附录 2:源程序.231 直流稳压电源及漏电保护装置(L 题)【高职组】绪论问题的提出随着功率
7、电子技术的发展,电源在各个领域得到了广泛的应用。开关电源和线性电源在内部结构上是完全不一样的,开关电源顾名思义有开关动作,它利用变占空比或变频的方法实现不同的电压,实现较为复杂,最大的优点是高效率,一般在90以上,缺点是文波和开关噪声较大,适用于对文波和噪声要求不高的场合;而线性电源没有开关动作,属于连续模拟控制,内部结构相对简单,芯片面积也较小,成本较低,优点是成本低,文波噪声小,最大的缺点是效率低。它们各有优缺点在应用上互补共存!设备的漏电流都会对人身安全造成严重的危害,所以一款优秀的漏电流在设备中起着非常重要的作用。设计线性电源模块供电系统涉及到DC/DC 稳压变换模块、电流电压检测和漏
8、电流保护等内容,下面简单介绍其基本原理。DC/DC 稳压变换模块是指将一个变化的直流电压变换为固定的直流电压,线性电源可以用在要求高的场合。漏电流保护人身安全是非常重要的,所以我们找了款优秀的直流漏电流保护器。在本系统中我们采用工业产品直流漏电流器的方案。1 系统方案本系统主要由 DC/DC降压模块、MOS 驱动模块、MCU 模块、漏电保护模块组成,下2 面分别论证这几个模块的选择。1.1DC/DC 的论证与选择题目要求 DC输入从 5.5V25V,使用线性器件降压到5V0.05V。这里讨论常见的几种DC/DC 降压拓扑进行讨论和分析。方案一:该电路是凌特最基本的升压拓扑结构。图 1-1 升压
9、拓扑优点:输出电压稳定、外围所需的元件少、效率可以做的很高、低压差210mV。缺点:电路属于开关电源,不属于线性型稳压电源芯片。方案二:该电路所以最常见的LM7805线性型稳压电源芯片。3 图 1-2 线性芯片电路优点:符合题目要求、能从上千片芯片中挑选电压精度高的芯片、电路简单。缺点:当输入电压较大输出电流大时候,芯片承受功率过大。即使多块经过挑选的高精度 LM7805并联使用,电路也会非常复杂。方案三:这种电路结构的特点是:由一个 MOS 管、一个基准电压源、一个辅助电源组成。图 1-4 升压拓扑主要优点:电路简单、MOS 管耐压和最大电流够大的话,可以输出很大功率。稳定性好。主要缺点:需
10、要一组辅助电源。方案选择:结合题目对直流稳压电源的功率、稳定度、纹波、电压调整率、负载调整率等功能要求与上述各方案的比较,也出于对于时间、电路的复杂程度以及之前对各种电路熟悉程度的考虑,选择了方案三做DC/DC 降压,并且选用了 IR 公司的 MOS 管和 TI 公司的基准源 TL1431做功率主控核心。4 1.2 漏电流保护装置的论证与选择方案一:使用 ACS712ELCTR-5A-T 电流芯片检测图 1-5 漏电保护传感器ACS712 优点:价格便宜、体积小、交流和直流电流都能测量。缺点:需要用两片ACS712分别测量正极和负极电流,然后算出漏电流。在实际测量过程中,会出现电路板设计不好(
11、比赛过程中单面覆铜板或者万用板),会有影响到测量精度。方案三:使用工业用的直流漏电流传感器。5 1234mA漏电保护装置+-输出地RRL图 1-6 漏电保护传感器工业模块优点:电路简单、精度高、响应时间快、绝缘等级高、工业产品性能稳定性好。缺点:价格比较贵、体积较大。方案选择:结合题目要求、时间等功能要求与上述方案的比较,选择方案二做为漏电流保护装置的核心器件。1.3 电流采样电路芯片的论证与选择方案一:电阻分压测量电流图 1-7 电阻分压采样电流电路6 1.3.1.工作原理在负载的某一端串一个小阻值的电阻,串联电路中流过负载和取样电阻的电流是相等的。根据这个就可以计算出负载和取样电阻上的电压
12、,当负载电流过大,相应取样电阻上的电压也会升高,根据这个原理只要取出取样电阻二端电压就可以判断流过负载电流的大小。优点:价格便宜、使用广泛。缺点:分压阻值太大影响负载输出功率、测量时需要高精度的AD才能得到高精度电流。在测量过程中发现,从负载输出端接电阻线上有很小的电阻,都会影响到电压的精度。方案二:使用 ACS712ELCTR-5A-T 电流芯片检测图 1-8 ACS712 电流采样电路优点:芯片精度高、可以做到3000V 电气隔离(本系统没有隔离)、测量范围广、不容易受到干扰。缺点:价格比电阻分压高。7 方案选择:结合题目要求上述方案的比较,选择方案二做为控制系统的电流检测的核心器件。1.
13、4 MOS 管辅助电源电路的论证与选择NMOS 管在 5.5V25V输入电压较低时候,达不到Vgs 门槛值,NMOS 不能在要求范围内工作,为了能让NMOS 管能在低压(7V以下)正常工作,需要给一组辅助电源(该组辅助电源需要电流很小,只作为提升驱动NMOS 管的电压使用)。下面是方案的选择:方案一:外接+15V电源图 1-9 LM7815 稳压电路优点:操作方便。缺点:外加一组电源不合适题目要求。方案二:使用降压型DC/DC电路8 图 1-10 降压电路优点:效率高。缺点:在题目要求5.5V25V低压输入时候不能满足+15V要求。方案三:使用升压型DC/DC电路图 1-11 升压电路优点:效
14、率高。缺点:在低压输入时候能满足+15V输出要求,可是当输入电压大于+15V以后,输出电压就会随着输入电压而增加,NMOS 管的 Vgs输入过高,容易烧坏NMOS 管。方案四:使用升降压型DC/DC 电路9 图 1-12 升降压电路优点:效率高、能在宽压输入时候满足+15V驱动 NMOS 管的要求。缺点:电路需要调整。方案选择:结合题目要求,上述方案的比较,选择方案四做为直流稳压电源的NOMS 管辅助电源。1.5 控制系统的论证与选择方案一:AT89S52单片机优点:价格便宜、使用广泛。缺点:属于 8 位单片机,速度比较慢、没有AD,不合适系统要求。方案二:STM32F103RBT6 优点:3
15、2 位处理器速度快、功能多。缺点:对于题目来说,性价比不高。方案三:瑞萨 R5F100LEA 优点:功能强大、16位单片机、速度高、性价比好。缺点:市面上采购比较麻烦。方案选择:结合题目要求、性价比和创新性要求与上述方案的比较,选择方案三做为控10 制系统的核心器件。2 系统理论分析与计算2.1 直流稳压电源的分析2.1.1 该线性直流稳压电源利用改变Vgs 的导通电压,改变 RDS 的阻值。达到输出电压稳定的功能。它采用 TL1431(精密电压基准)和 CSD18532KCS 设计的一个可以大功率线性稳压电源。下图是主要拓扑图:图 2-1 升降压电路2.1.2 主要拓扑原理分析:C3为滤波电
16、容,DC/DC 为辅助电源为 TL1431(精密电压基准)提供工作电压,同时提高对NMOS 管的驱动电压,R6为采样分压电路,稳压过程如下:当输出电压升高时:UOUR(TL431)Uk(TL431)R2-3(MOS)U2-3(MOS)UO;只要调节 R6阻值就能改变输出电压。2.1.3 由于 MOS 管 Vgs一般都大于 12V,当在低电压输入情况下,MOS 管处于关掉状态,为能让 MOS 管能再低压时候正常工作,我们加入一组辅助电源电路。使 Vgs能受控范围。下图为 Vgs不同电压下的导通情况。由此看出,使用NMOS 管,加入辅助是很有必要性的。11 图 2-2 MOS 的 Vgs 导通特性
17、图2.2 稳压电源的计算图 2-3 线性稳压电路2.2.1 TL1431内部有 2.5V 基准源和一个比较器,要想输出电压为5V,假设 R6精密电位器下电阻为 Rb,上电阻为 Rc。计算公式为:(2.5V/Rb)*(Rb+Rc)=5V。12 2.3 直流漏电流传感器的计算图 2-4 直流漏电流传感器LH-01 参数2.3.1 本漏电流保护装置选用了LH-01 型直流漏电流传感器。输出电流为0-40MA时,输出电压为 0-5V,本系统设置为 30MA 时漏电保护。计算公式为:(30/40)*5=3.75V。3 电路与程序设计3.1电路的设计3.1.1系统总体框图系统总体框图如图3-1 所示,直流
18、稳压电源电路输出5V电压,控制器采样直流稳压电源的电压、电流,并计算实时功率。同时做 S1,S2的切换。漏电保护装置检测30MA漏电流时候,切断负载电源。直流稳压电源控制器漏电保护装置图 3-1 系统总体框图13 3.1.2 控制器子系统框图与电路原理图1、控制器子系统框图电流传感器瑞萨R5F100LEALCD128 64转换开关按键图 3-2 控制器子系统框图2、控制器子系统电路图 3-3 控制器子系统电路3.1.3 直流稳压电源子系统框图与电路原理图1、直流稳压电源子系统框图14 NMOS管TL1431基准分压电阻辅助电源图 3-4 直流稳压电源子系统框图2、直流稳压电源子系统电路图 3-
19、5 直流稳压电源子系统电路3.1.4 漏电流保护装置子系统框图与电路原理图1、漏电流保护装置子系统框图15 按键MCU漏电保护开关漏电流传感器电压电源模块图 3-6 漏电流保护装置子系统框图2、漏电流保护装置子系统电路图 3-7 漏电流保护装置子系统电路3.2程序的设计3.2.1程序功能描述与设计思路1、程序功能描述根据题目要求软件部分主要实现实时功率显示。16 1)键盘实现功能:转换开关、K键,漏电流复位。2)显示部分:显示电压值、电流、功率。2、程序设计思路根据题目的要求,程序分成两个部分。第一部分:测量直流稳压电源的电流、电压、功率和控制转换开关。第二部分:控制漏电流保护装置在有30MA
20、漏电流时候动作。3.2.2程序流程图1、直流稳压电源主程序流程图初始化中断初始化AD 初始化启动 AD,开中断开始AA转换开关接入漏电保护装置接入 5电阻关AD,中断计算电压,电流,功率启动 AD,中断刷新显示AKEY2KEY1N2、漏电保护装置主程序流程图17 初始化中断初始化AD 初始化启动 AD,开中断开始B漏电流 30mA漏电保护装置动作BNYB漏电流 30mABY4 测试方案与测试结果4.1测试方案1、硬件测试(图见附页图1)测试辅助电源电路输出为+15V。测试线性直流稳压电源空载输出电压为+5V,正常后接入 5 欧负载。调节直流输入电压在 725V 变化时,输出电压为50.05V,
21、电压调整率 SU 1%。调节直流输入电压在 5.57V 变化时,要求电压为50.05V 调节直流输入电压固定在 7V,当直流稳压电源输出电流由1A减小到 0.01A 时,要求负载调整率 SL1%查看显示界面电压、电流、功率。测试+5V升压到 15V电路。18 调节漏电流电位器,使漏电流达到30MA,检查继电器是否动作。切断负载供电。调小漏电流小于30MA,测试 K键。统一调试整个系统。2、软件仿真测试(图见附页图2)线性稳压电源电路,软件仿真,检查设计方案是否正确。仿真辅助电源方案是否正确。3、硬件软件联调实际和仿真有区别时候,适当修改实物参数,达到设计要求。漏电流保护装置软件仿真功能和实物一
22、致,4.2 测试条件与仪器4.2.1测试环境竞赛实验室,常温,常湿,常压。4.2.2测试仪器表 0-1 主要测试仪器清单序号名称型号、规格生产厂家1数字示波器TDS1012 TEK 2数字万用表17B DIGITAL 福禄克3直流稳压电源DF17432L 绿扬电子4.3 测试结果及分析4.3.1测试结果(数据)5.525V 输入测试结果如下表所示:(单位/V)信号值5.50 6.00 7.00 1000 15.00 18.00 22.00 25.00 万用表5.01 5.01 5.01 5.01 5.01 5.01 5.01 5.01 表 0-2 5.5V25V 测试数据漏电保护装置输出测试结
23、果如下表所示:(单位/V)信号值5.00 万用表4.99 19 漏电保护装置动作测试结果如下表所示:(单位/V)信号值5.00 万用表0.00 漏电保护装置动作电流测试结果如下表所示:(单位/MA)信号值30 万用表30 表 0-3 漏电保护装置数据4.3.2测试分析与结论根据上述测试数据,把电路各部分连为一体。对控制部分进行检测,观察显示部分能正常工作和键盘按键功能能实现,且显示与测量值基本一致,所以电路能正常工作。,由此可以得出以下结论:1、输入电压在 725V 变化时,输出电压为50.05V,电压调整率 SU 1%。2、直流输入电压在 5.57V 变化时,要求电压为50.05V 3、直流
24、输入电压固定在 7V,当直流稳压电源输出电流由1A减小到 0.01A 时,要求负载调整率 SL1%4、漏电保护装置没有动作时,输出电压4.6V。动作时,输出电压为 0V。5、求漏电保护装置动作电流误差的绝对值5%。6、漏电保护装置的接入功耗为110MA。7、使用了组委会提供的瑞萨芯片。综上所述,本设计达到题目设计的全部要求,并在发挥项添加了部分特色,使用了瑞萨芯片。20 附录 1:电路原理图附页 1-1 电源板电路附页 1-2 控制板电路21 附页 1-3 漏电流保护装置板电路附页 1-4 辅助电源电路22 附页 1-5 瑞萨芯片电路23 附录 2:源程序以下为部分源程序。/*DISCLAIM
25、ER*This software is supplied by Renesas Electronics Corporation and is only*intended for use with Renesas products.No other uses are authorized.This*software is owned by Renesas Electronics Corporation and is protected under*all applicable laws,including copyright laws.*THIS SOFTWARE IS PROVIDED AS
26、IS AND RENESAS MAKES NO WARRANTIES REGARDING*THIS SOFTWARE,WHETHER EXPRESS,IMPLIED OR STATUTORY,INCLUDING BUT NOT*LIMITED TO WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE*AND NON-INFRINGEMENT.ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.*TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITE
27、D BY LAW,NEITHER RENESAS*ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE*FOR ANY DIRECT,INDIRECT,SPECIAL,INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR*ANY REASON RELATED TO THIS SOFTWARE,EVEN IF RENESAS OR ITS AFFILIATES HAVE*BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.*Ren
28、esas reserves the right,without notice,to make changes to this software*and to discontinue the availability of this software.By using this software,*you agree to the additional terms and conditions found by accessing the*following link:*http:/ Renesas Electronics Corporation.All rights reserved.*/*F
29、ile Name:r_main.c*Version:CodeGenerator for RL78/G13 V2.00.00.07 22 Feb 2013*Device(s):R5F100LE*Tool-Chain:CA78K0R*Description:This file implements main function.*Creation Date:2013-9-7*/*24 Pragma directive*/*Start user code for pragma.Do not edit comment generated here*/*End user code.Do not edit
30、comment generated here*/*Includes*/#include r_cg_macrodriver.h#include r_cg_cgc.h#include r_cg_port.h#include r_cg_adc.h#include r_cg_timer.h/*Start user code for include.Do not edit comment generated here*/*End user code.Do not edit comment generated here*/#include r_cg_userdefine.h/*Global variabl
31、es and functions*/*Start user code for global.Do not edit comment generated here*/extern void LCD_Intial(void);/*End user code.Do not edit comment generated here*/void R_MAIN_UserInit(void);/*Function Name:main*Description:This function implements main function.*Arguments:None*Return Value:None*/voi
32、d main(void)R_MAIN_UserInit();25/*Start user code.Do not edit comment generated here*/R_ADC_Set_OperationOn();R_ADC_Start();R_TAU0_Channel0_Start();LCD_Intial();while(1U)/*End user code.Do not edit comment generated here*/*Function Name:R_MAIN_UserInit*Description:This function adds user code before
33、 implementing main function.*Arguments:None*Return Value:None*/void R_MAIN_UserInit(void)/*Start user code.Do not edit comment generated here*/EI();/*End user code.Do not edit comment generated here*/*Start user code for adding.Do not edit comment generated here*/*End user code.Do not edit comment g
34、enerated here*/程序附页 1-1 主函数*/#pragma interrupt INTTM00 r_tau0_channel0_interrupt/*Start user code for pragma.Do not edit comment generated here*/*End user code.Do not edit comment generated here*/*Includes*26*/#include r_cg_macrodriver.h#include r_cg_timer.h/*Start user code for include.Do not edit
35、comment generated here*/*End user code.Do not edit comment generated here*/#include r_cg_userdefine.h/*Global variables and functions*/*Start user code for global.Do not edit comment generated here*/extern unsigned int L_OFSET;extern uint16_t adc_result4;extern void key_process(void);extern unsigned
36、 char key_get_value(void);extern unsigned char key_get_state(void);extern void beep_process(void);extern void beep_set(unsigned char state);extern void LCD_Prints_Num(unsigned char x,unsigned char y,unsigned int num);extern void LCD_Prints_String_CN(unsigned char y,unsigned char*p);extern void App_C
37、ontrol(void);#define Start_Baohu()P0.2=1;#define Stop_Baohu()P0.2=0;#define Start_5ou()P0.1=1;#define Stop_5ou()P0.1=0;#define Start_lou()P0.0=1;#define Stop_lou()P0.0=0;#define DIS_INIT 0/?#define SYS_INIT 1/?#define Read_State 2/?S?#define Load_State 3/5?#define Leakage_State 4/?#define Protect_St
38、ate 5/?#define Emergency_State 6 unsigned int dis_value=0;27 bit zero_s;void App_Control()static unsigned char timer=0;static unsigned char state=0;static unsigned char count=0;unsigned char key_value=key_get_value();unsigned char key_state=key_get_state();unsigned int DC_Value;/=adc_result0;/unsign
39、ed int DC_Buffer;DC_Value=(unsigned long)(252000/adc_result0);DC_Value=DC_Value*1.0364;/(5.01/4.95*1.024)if(DC_Value 501)DC_Value=501;if(DC_Value 1)if(dis_value=40)timer=0;LCD_Prints_Num(4,1,DC_V alue);LCD_Prints_Num(4,2,dis_value);LCD_Prints_Num(4,3,(dis_value*5);/ADC_Value2 switch(state)case DIS_I
40、NIT:zero_s=0;if(+count=60)/2S count=0;zero_s=1;state=SYS_INIT;LCD_Prints_String_CN(0,);28 break;case SYS_INIT:/LCD_Prints_Num(4,2,L_OFSET);/LCD_Prints_Num(4,3,adc_result1);LCD_Prints_String_CN(0,直流稳压电源);LCD_Prints_String_CN(1,电压:5.00V);LCD_Prints_String_CN(2,电流:0.00A);LCD_Prints_String_CN(3,功率:0.00W
41、);if(L_OFSET240)&(L_OFSET 745)Start_Baohu();state=Protect_State;LCD_Prints_String_CN(0,保护状态);/?30mA?,?if(key_state=1)&(key_value=2)/?5?L_OFSET+=3;beep_set(3);Start_5ou();Stop_lou();LCD_Prints_String_CN(0,直流稳压电源);/LCD_Prints_String_CN(0,Dc power);state=Load_State;break;case Protect_State:/?if(key_sta
42、te=1)beep_set(3);if(key_value=1)/K?state=Leakage_State;/?Stop_Baohu();LCD_Prints_String_CN(0,漏电保护装置);if(key_value=2)/?5?Start_5ou();Stop_lou();LCD_Prints_String_CN(0,直流稳压电源);state=Load_State;Stop_Baohu();L_OFSET+=2;30 break;case Emergency_State:if(L_OFSET240)&(L_OFSET=100)P13.0=P13.0;/10/s count=0;i
43、f(+Timer_count=50)Timer_count=0;App_Control();key_process();beep_process();31/*End user code.Do not edit comment generated here*/*Start user code for adding.Do not edit comment generated here*/*End user code.Do not edit comment generated here*/程序附页1-2 定时器程序/*Pragma directive*/#pragma interrupt INTAD
44、 r_adc_interrupt/*Start user code for pragma.Do not edit comment generated here*/*End user code.Do not edit comment generated here*/*Includes*/#include r_cg_macrodriver.h#include r_cg_adc.h/*Start user code for include.Do not edit comment generated here*/*End user code.Do not edit comment generated
45、here*/#include r_cg_userdefine.h/*Global variables and functions*/*Start user code for global.Do not edit comment generated here*/uint16_t da_dat_int;uint16_t adc_result4;unsigned char adc_channel=0;/*End user code.Do not edit comment generated here*/#define ADC_Number 100#define Voltage(252*1024)un
46、signed int L_OFSET;32 extern bit zero_s;#define V_R(float)(4.97/10.240)#define ADC_V 1000#define ACS712_I(5.4054)/*1.08575 修正/*Function Name:r_adc_interrupt*Description:This function is INTAD interrupt service routine.*Arguments:None*Return Value:None*/_interrupt static void r_adc_interrupt(void)/*S
47、tart user code.Do not edit comment generated here*/static unsigned long ADC_Buffer=0;static unsigned int adc_state=0;int L=0;static unsigned long LO=0;static unsigned int LO_State=0;if(adc_channel=0)/ADC_NowValue_One=(unsigned long)(252000/(uint16_t)(ADCR 6U);/adc_resultadc_channel=ADC_NowValue_One*
48、1.0364;/(5.01/4.95*1.024)adc_resultadc_channel=(uint16_t)(ADCR 6U);ADS=0 x01;if(adc_channel=1)if(LO_State 6U);/adc_result3=adc_value;/LO+=adc_value;LO+=(uint16_t)(ADCR 6U);LO_State+;else if(zero_s)zero_s=0;L_OFSET=(LO/ADC_V)*V_R;33 LO=0;LO_State=0;else L=(LO/ADC_V)*V_R)-L_OFSET;LO=0.0;if(L 6U);/R_AD
49、C_Get_Result()*/ADS=0 x02;if(adc_channel=2)if(adc_state 6U);adc_state+;else adc_resultadc_channel=ADC_Buffer*0.01;ADC_Buffer=0;adc_state=0;/adc_resultadc_channel=(uint16_t)(ADCR 6U);/R_ADC_Get_Result()*/ADS=0 x03;if(adc_channel=3)/adc_resultadc_channel=(uint16_t)(ADCR 6U);/R_ADC_Get_Result()ADS=0 x00;adc_channel+;if(adc_channel=4)adc_channel=0;/*End user code.Do not edit comment generated here*/34 /*Start user code for adding.Do not edit comment generated here*/*End user code.Do not edit comment generated here*/程序附页1-3 AD 程序