2013全國大學生電子設計競賽L題_第1頁
2013全國大學生電子設計競賽L題_第2頁
2013全國大學生電子設計競賽L題_第3頁
2013全國大學生電子設計競賽L題_第4頁
2013全國大學生電子設計競賽L題_第5頁
已閱讀5頁,還剩29頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

此處貼密封紙,然后此處貼密封紙,然后掀起并折向報告背面,最后用膠水在后面粘牢。直流穩壓電源及漏電保護裝置(L題)中山市技師學院參賽隊員:林家俊葉偉智郭建華2013年9月7日摘要摘要:這個直流穩壓電源以一個通用的MOS三極管為核心,一個資源豐富、低功耗的16位瑞薩MCU(微控制器)是系統的主控制芯片。電壓調節電路由一個基準電壓芯片TL1431和一個可調電阻構成。當裝置工作時,MCU通過自帶的AD轉換器對本裝置的電壓、電流和功率進行監控、測試和采樣。如果漏電它還啟動漏電保護裝置,保護操作者和儀器本身。瑞薩MCU的輸入輸出功能都很強大、應用靈活,編程界面友好。經測試,這個裝置能達到題目指定的所有的基本的和擴展的要求。關鍵詞:穩壓電源、MOS管、瑞薩16位MCU、漏電保護Abstract:ThisconstantvoltagepowersupplyusesageneralMOStransistorasthecore,anda16bitRenesasMCU(MicroControlUnit),whichisrichinresourcesandlowinpowerconsumption,worksasthemaincontrolchipinthesystem.Thevoltageregulatingcircuitisposedbyavoltagereferencechip,TL1431,andavariableresistor.Whenthedeviceworks,theMCUmonitors,testsandsamplesthevoltage,currentandpowerofthedevice,usingitsinternalADconvertor.Inthecaseofleakageitwouldsettheleakageprotectiondevice,whichcanprotecttheoperatorandthedeviceitself.The16bitRenesasMCUhaspowerfulfunctionsinbothinputandoutput.Itsapplicationisveryflexibleandtheprogramminginterfaceisfriendly.Aftertesting,thisdevicecanachieveallthebasicrequirementsandtheexpansionrequirementswhichassignedbythetopic.Keyword:voltagepower、Mos、16BitRenesasMCU、leakageProtection目錄TOC\o"13"\h\z\u緒論 11系統方案 11.1 DC/DC的論證與選擇 21.2漏電流保護裝置的論證與選擇 41.3電流采樣電路芯片的論證與選擇 51.4MOS管輔助電源電路的論證與選擇 71.5控制系統的論證與選擇 92系統理論分析與計算 102.1直流穩壓電源的分析 10 102.2穩壓電源的計算 11 112.3直流漏電流傳感器的計算 12 123電路與程序設計 123.1電路的設計 123.1.1系統總體框圖 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:源程序 22直流穩壓電源及漏電保護裝置(L題)【高職組】緒論問題的提出隨著功率電子技術的發展,電源在各個領域得到了廣泛的應用。開關電源和線性電源在內部結構上是完全不一樣的,開關電源顧名思義有開關動作,它利用變占空比或變頻的方法實現不同的電壓,實現較為復雜,最大的優點是高效率,一般在90%以上,缺點是文波和開關噪聲較大,適用于對文波和噪聲要求不高的場合;而線性電源沒有開關動作,屬于連續模擬控制,內部結構相對簡單,芯片面積也較小,成本較低,優點是成本低,文波噪聲小,最大的缺點是效率低。它們各有優缺點在應用上互補共存!設備的漏電流都會對人身安全造成嚴重的危害,所以一款優秀的漏電流在設備中起著非常重要的作用。設計線性電源模塊供電系統涉及到DC/DC穩壓變換模塊、電流電壓檢測和漏電流保護等內容,下面簡單介紹其基本原理。DC/DC穩壓變換模塊是指將一個變化的直流電壓變換為固定的直流電壓,線性電源可以用在要求高的場合。漏電流保護人身安全是非常重要的,所以我們找了款優秀的直流漏電流保護器。在本系統中我們采用工業產品直流漏電流器的方案。1系統方案本系統主要由DC/DC降壓模塊、MOS驅動模塊、MCU模塊、漏電保護模塊組成,下面分別論證這幾個模塊的選擇。DC/DC的論證與選擇題目要求DC輸入從5.5V~25V,使用線性器件降壓到5V±0.05V。這里討論常見的幾種DC/DC降壓拓撲進行討論和分析。方案一:該電路是凌特最基本的升壓拓撲結構。圖11升壓拓撲優點:輸出電壓穩定、外圍所需的元件少、效率可以做的很高、低壓差210mV。缺點:電路屬于開關電源,不屬于線性型穩壓電源芯片。方案二:該電路所以最常見的LM7805線性型穩壓電源芯片。圖12線性芯片電路優點:符合題目要求、能從上千片芯片中挑選電壓精度高的芯片、電路簡單。缺點:當輸入電壓較大輸出電流大時候,芯片承受功率過大。即使多塊經過挑選的高精度LM7805并聯使用,電路也會非常復雜。方案三:這種電路結構的特點是:由一個MOS管、一個基準電壓源、一個輔助電源組成。主要優點:電路簡單、MOS管耐壓和最大電流夠大的話,可以輸出很大功率。穩定性好。主要缺點:需要一組輔助電源。方案選擇:結合題目對直流穩壓電源的功率、穩定度、紋波、電壓調整率、負載調整率等功能要求與上述各方案的比較,也出于對于時間、電路的復雜程度以及之前對各種電路熟悉程度的考慮,選擇了方案三做DC/DC降壓,并且選用了IR公司的MOS管和TI公司的基準源TL1431做功率主控核心。1.2漏電流保護裝置的論證與選擇方案一:使用ACS712ELCTR5AT電流芯片檢測圖15漏電保護傳感器ACS712優點:價格便宜、體積小、交流和直流電流都能測量。缺點:需要用兩片ACS712分別測量正極和負極電流,然后算出漏電流。在實際測量過程中,會出現電路板設計不好(比賽過程中單面覆銅板或者萬用板),會有影響到測量精度。方案三:使用工業用的直流漏電流傳感器。圖16漏電保護傳感器工業模塊優點:電路簡單、精度高、響應時間快、絕緣等級高、工業產品性能穩定性好。缺點:價格比較貴、體積較大。方案選擇:結合題目要求、時間等功能要求與上述方案的比較,選擇方案二做為漏電流保護裝置的核心器件。1.3電流采樣電路芯片的論證與選擇方案一:電阻分壓測量電流圖17電阻分壓采樣電流電路1.3.1.工作原理在負載的某一端串一個小阻值的電阻,串聯電路中流過負載和取樣電阻的電流是相等的。根據這個就可以計算出負載和取樣電阻上的電壓,當負載電流過大,相應取樣電阻上的電壓也會升高,根據這個原理只要取出取樣電阻二端電壓就可以判斷流過負載電流的大小。優點:價格便宜、使用廣泛。缺點:分壓阻值太大影響負載輸出功率、測量時需要高精度的AD才能得到高精度電流。在測量過程中發現,從負載輸出端接電阻線上有很小的電阻,都會影響到電壓的精度。方案二:使用ACS712ELCTR5AT電流芯片檢測圖18ACS712電流采樣電路優點:芯片精度高、可以做到3000V電氣隔離(本系統沒有隔離)、測量范圍廣、不容易受到干擾。缺點:價格比電阻分壓高。方案選擇:結合題目要求上述方案的比較,選擇方案二做為控制系統的電流檢測的核心器件。1.4MOS管輔助電源電路的論證與選擇NMOS管在5.5V~25V輸入電壓較低時候,達不到Vgs門檻值,NMOS不能在要求范圍內工作,為了能讓NMOS管能在低壓(7V以下)正常工作,需要給一組輔助電源(該組輔助電源需要電流很小,只作為提升驅動NMOS管的電壓使用)。下面是方案的選擇:方案一:外接+15V電源圖19LM7815穩壓電路優點:操作方便。缺點:外加一組電源不合適題目要求。方案二:使用降壓型DC/DC電路圖110降壓電路優點:效率高。缺點:在題目要求5.5V~25V低壓輸入時候不能滿足+15V要求。方案三:使用升壓型DC/DC電路圖111升壓電路優點:效率高。缺點:在低壓輸入時候能滿足+15V輸出要求,可是當輸入電壓大于+15V以后,輸出電壓就會隨著輸入電壓而增加,NMOS管的Vgs輸入過高,容易燒壞NMOS管。方案四:使用升降壓型DC/DC電路圖112升降壓電路優點:效率高、能在寬壓輸入時候滿足+15V驅動NMOS管的要求。缺點:電路需要調整。方案選擇:結合題目要求,上述方案的比較,選擇方案四做為直流穩壓電源的NOMS管輔助電源。1.5控制系統的論證與選擇方案一:AT89S52單片機優點:價格便宜、使用廣泛。缺點:屬于8位單片機,速度比較慢、沒有AD,不合適系統要求。方案二:STM32F103RBT6優點:32位處理器速度快、功能多。缺點:對于題目來說,性價比不高。方案三:瑞薩R5F100LEA優點:功能強大、16位單片機、速度高、性價比好。缺點:市面上采購比較麻煩。方案選擇:結合題目要求、性價比和創新性要求與上述方案的比較,選擇方案三做為控制系統的核心器件。2系統理論分析與計算2.1直流穩壓電源的分析2.1.1該線性直流穩壓電源利用改變Vgs的導通電壓,改變RDS的阻值。達到輸出電壓穩定的功能。它采用TL1431(精密電壓基準)和CSD18532KCS設計的一個可以大功率線性穩壓電源。下圖是主要拓撲圖:圖21升降壓電路2.1.2主要拓撲原理分析:C3為濾波電容,DC/DC為輔助電源為TL1431(精密電壓基準)提供工作電壓,同時提高對NMOS管的驅動電壓,R6為采樣分壓電路,穩壓過程如下:當輸出電壓升高時:UO↑→UR(TL431)↑→Uk(TL431)↓→R23(MOS)↑→U23(MOS)↑→UO↓;只要調節R6阻值就能改變輸出電壓。2.1.3由于MOS管Vgs一般都大于12V,當在低電壓輸入情況下,MOS管處于關掉狀態,為能讓MOS管能再低壓時候正常工作,我們加入一組輔助電源電路。使Vgs能受控范圍。下圖為Vgs不同電壓下的導通情況。由此看出,使用NMOS管,加入輔助是很有必要性的。圖22MOS的Vgs導通特性圖2.2穩壓電源的計算圖23線性穩壓電路2.2.1TL1431內部有2.5V基準源和一個比較器,要想輸出電壓為5V,假設R6精密電位器下電阻為Rb,上電阻為Rc。計算公式為:(2.5V/Rb)*(Rb+Rc)=5V。2.3直流漏電流傳感器的計算圖24直流漏電流傳感器LH01參數2.3.1本漏電流保護裝置選用了LH01型直流漏電流傳感器。輸出電流為040MA時,輸出電壓為05V,本系統設置為30MA時漏電保護。計算公式為:(30/40)*5=3.75V。3電路與程序設計3.1電路的設計3.1.1系統總體框圖系統總體框圖如圖31所示,直流穩壓電源電路輸出5V電壓,控制器采樣直流穩壓電源的電壓、電流,并計算實時功率。同時做S1,S2的切換。漏電保護裝置檢測30MA漏電流時候,切斷負載電源。圖31系統總體框圖3.1.2控制器子系統框圖與電路原理圖1、控制器子系統框圖圖32控制器子系統框圖2、控制器子系統電路圖33控制器子系統電路3.1.3直流穩壓電源子系統框圖與電路原理圖1、直流穩壓電源子系統框圖圖34直流穩壓電源子系統框圖2、直流穩壓電源子系統電路圖35直流穩壓電源子系統電路3.1.4漏電流保護裝置子系統框圖與電路原理圖1、漏電流保護裝置子系統框圖圖36漏電流保護裝置子系統框圖2、漏電流保護裝置子系統電路圖37漏電流保護裝置子系統電路3.2程序的設計3.2.1程序功能描述與設計思路1、程序功能描述根據題目要求軟件部分主要實現實時功率顯示。1)鍵盤實現功能:轉換開關、K鍵,漏電流復位。2)顯示部分:顯示電壓值、電流、功率。2、程序設計思路根據題目的要求,程序分成兩個部分。第一部分:測量直流穩壓電源的電流、電壓、功率和控制轉換開關。第二部分:控制漏電流保護裝置在有30MA漏電流時候動作。3.2.2程序流程圖1、直流穩壓電源主程序流程圖2、漏電保護裝置主程序流程圖4測試方案與測試結果4.1測試方案1、硬件測試(圖見附頁圖1)①測試輔助電源電路輸出為+15V。②測試線性直流穩壓電源空載輸出電壓為+5V,正常后接入5歐負載。③調節直流輸入電壓在7~25V變化時,輸出電壓為5±0.05V,電壓調整率SU≤1%。④調節直流輸入電壓在5.5~7V變化時,要求電壓為5±0.05V⑤調節直流輸入電壓固定在7V,當直流穩壓電源輸出電流由1A減小到0.01A時,要求負載調整率SL≤1%⑥查看顯示界面電壓、電流、功率。⑦測試+5V升壓到±15V電路。⑧調節漏電流電位器,使漏電流達到30MA,檢查繼電器是否動作。切斷負載供電。⑨調小漏電流小于30MA,測試K鍵。⑩統一調試整個系統。2、軟件仿真測試(圖見附頁圖2)①線性穩壓電源電路,軟件仿真,檢查設計方案是否正確。②仿真輔助電源方案是否正確。3、硬件軟件聯調①實際和仿真有區別時候,適當修改實物參數,達到設計要求。②漏電流保護裝置軟件仿真功能和實物一致,4.2測試條件與儀器4.2.1測試環境競賽實驗室,常溫,常濕,常壓。4.2.2測試儀器表STYLEREF1\s41主要測試儀器清單序號名稱型號、規格生產廠家數字示波器TDS1012TEK數字萬用表17BDIGITAL福祿克直流穩壓電源DF17432L綠揚電子4.3測試結果及分析4.3.1測試結果(數據)5.5~25V輸入測試結果如下表所示:(單位/V)信號值5.506.007.00100015.0018.0022.0025.00萬用表5.015.015.015.015.015.015.015.01表STYLEREF1\s425.5V~25V測試數據漏電保護裝置輸出測試結果如下表所示:(單位/V)信號值5.00萬用表4.99漏電保護裝置動作測試結果如下表所示:(單位/V)信號值5.00萬用表0.00漏電保護裝置動作電流測試結果如下表所示:(單位/MA)信號值30萬用表30表STYLEREF1\s43漏電保護裝置數據4.3.2測試分析與結論根據上述測試數據,把電路各部分連為一體。對控制部分進行檢測,觀察顯示部分能正常工作和鍵盤按鍵功能能實現,且顯示與測量值基本一致,所以電路能正常工作。,由此可以得出以下結論:1、輸入電壓在7~25V變化時,輸出電壓為5±0.05V,電壓調整率SU≤1%。2、直流輸入電壓在5.5~7V變化時,要求電壓為5±0.05V3、直流輸入電壓固定在7V,當直流穩壓電源輸出電流由1A減小到0.01A時,要求負載調整率SL≤1%4、漏電保護裝置沒有動作時,輸出電壓≥4.6V。動作時,輸出電壓為0V。5、求漏電保護裝置動作電流誤差的絕對值≤5%。6、漏電保護裝置的接入功耗為110MA。7、使用了組委會提供的瑞薩芯片。綜上所述,本設計達到題目設計的全部要求,并在發揮項添加了部分特色,使用了瑞薩芯片。附錄1:電路原理圖附頁11電源板電路附頁12控制板電路附頁13漏電流保護裝置板電路附頁14輔助電源電路附頁15瑞薩芯片電路附錄2:源程序以下為部分源程序。/************************************************************************************************************************DISCLAIMER*ThissoftwareissuppliedbyRenesasElectronicsCorporationandisonly*intendedforusewithRenesasproducts.Nootherusesareauthorized.This*softwareisownedbyRenesasElectronicsCorporationandisprotectedunder*allapplicablelaws,includingcopyrightlaws.*THISSOFTWAREISPROVIDED"ASIS"ANDRENESASMAKESNOWARRANTIESREGARDING*THISSOFTWARE,WHETHEREXPRESS,IMPLIEDORSTATUTORY,INCLUDINGBUTNOT*LIMITEDTOWARRANTIESOFMERCHANTABILITY,FITNESSFORAPARTICULARPURPOSE*ANDNONINFRINGEMENT.ALLSUCHWARRANTIESAREEXPRESSLYDISCLAIMED.*TOTHEMAXIMUMEXTENTPERMITTEDNOTPROHIBITEDBYLAW,NEITHERRENESAS*ELECTRONICSCORPORATIONNORANYOFITSAFFILIATEDPANIESSHALLBELIABLE*FORANYDIRECT,INDIRECT,SPECIAL,INCIDENTALORCONSEQUENTIALDAMAGESFOR*ANYREASONRELATEDTOTHISSOFTWARE,EVENIFRENESASORITSAFFILIATESHAVE*BEENADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGES.*Renesasreservestheright,withoutnotice,tomakechangestothissoftware*andtodiscontinuetheavailabilityofthissoftware.Byusingthissoftware,*youagreetotheadditionaltermsandconditionsfoundbyaccessingthe*followinglink:http://.renesas/disclaimerhttp://.renesas/disclaimer**Copyright(C)2011,2013RenesasElectronicsCorporation.Allrightsreserved.***********************************************************************************************************************//************************************************************************************************************************FileName:r_main.c*Version:CodeGeneratorforRL78/G13V2.00.00.07[22Feb2013]*Device(s):R5F100LE*ToolChain:CA78K0R*Description:Thisfileimplementsmainfunction.*CreationDate:***********************************************************************************************************************//***********************************************************************************************************************Pragmadirective***********************************************************************************************************************//*Startusercodeforpragma.Donoteditmentgeneratedhere*//*Endusercode.Donoteditmentgeneratedhere*//***********************************************************************************************************************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"/*Startusercodeforinclude.Donoteditmentgeneratedhere*//*Endusercode.Donoteditmentgeneratedhere*/#include"r_cg_userdefine.h"/***********************************************************************************************************************Globalvariablesandfunctions***********************************************************************************************************************//*Startusercodeforglobal.Donoteditmentgeneratedhere*/externvoidLCD_Intial(void);/*Endusercode.Donoteditmentgeneratedhere*/voidR_MAIN_UserInit(void);/************************************************************************************************************************FunctionName:main*Description:Thisfunctionimplementsmainfunction.*Arguments:None*ReturnValue:None***********************************************************************************************************************/voidmain(void){R_MAIN_UserInit();/*Startusercode.Donoteditmentgeneratedhere*/R_ADC_Set_OperationOn();R_ADC_Start();R_TAU0_Channel0_Start();LCD_Intial();while(1U){}/*Endusercode.Donoteditmentgeneratedhere*/}/************************************************************************************************************************FunctionName:R_MAIN_UserInit*Description:Thisfunctionaddsusercodebeforeimplementingmainfunction.*Arguments:None*ReturnValue:None***********************************************************************************************************************/voidR_MAIN_UserInit(void){/*Startusercode.Donoteditmentgeneratedhere*/EI();/*Endusercode.Donoteditmentgeneratedhere*/}/*Startusercodeforadding.Donoteditmentgeneratedhere*//*Endusercode.Donoteditmentgeneratedhere*/程序附頁11主函數***********************************************************************************************************************/#pragmainterruptINTTM00r_tau0_channel0_interrupt/*Startusercodeforpragma.Donoteditmentgeneratedhere*//*Endusercode.Donoteditmentgeneratedhere*//***********************************************************************************************************************Includes***********************************************************************************************************************/#include"r_cg_macrodriver.h"#include"r_cg_timer.h"/*Startusercodeforinclude.Donoteditmentgeneratedhere*//*Endusercode.Donoteditmentgeneratedhere*/#include"r_cg_userdefine.h"/***********************************************************************************************************************Globalvariablesandfunctions***********************************************************************************************************************//*Startusercodeforglobal.Donoteditmentgeneratedhere*/externunsignedintL_OFSET;externuint16_tadc_result[4];externvoidkey_process(void);externunsignedcharkey_get_value(void);externunsignedcharkey_get_state(void);externvoidbeep_process(void);externvoidbeep_set(unsignedcharstate);externvoidLCD_Prints_Num(unsignedcharx,unsignedchary,unsignedintnum);externvoidLCD_Prints_String_CN(unsignedchary,unsignedchar*p);externvoidApp_Control(void);#defineStart_Baohu()P0.2=1;#defineStop_Baohu()P0.2=0; #defineStart_5ou()P0.1=1;#defineStop_5ou()P0.1=0;#defineStart_lou()P0.0=1;#defineStop_lou()P0.0=0;#defineDIS_INIT 0//????#defineSYS_INIT 1//?????#define Read_State 2//???S???#defineLoad_State 3//5?????#defineLeakage_State 4//????#defineProtect_State 5//???? #defineEmergency_State 6unsignedintdis_value=0;bitzero_s;voidApp_Control(){ staticunsignedchartimer=0; staticunsignedcharstate=0; staticunsignedcharcount=0; unsignedcharkey_value=key_get_value(); unsignedcharkey_state=key_get_state(); unsignedintDC_Value;//=adc_result[0]; //unsignedintDC_Buffer; DC_Value=(unsignedlong)(/adc_result[0]); DC_Value=DC_Value*1.0364;//(5.01/4.95*1.024) if(DC_Value>501){DC_Value=501;} if(DC_Value<499){DC_Value=499;} dis_value=adc_result[1];//((adc_result[1]Sys_Value)*2.7962946281);//((ADC_Value1*49.4)/10.23)*0.173mV; if(state>1) { if(dis_value<7) { LCD_Prints_Num(4,2,0); LCD_Prints_Num(4,3,0); //ADC_Value2 } else { if(++timer>=40) { timer=0; LCD_Prints_Num(4,1,DC_Value); LCD_Prints_Num(4,2,dis_value); LCD_Prints_Num(4,3,(dis_value*5)); //ADC_Value2 } } } switch(state) { caseDIS_INIT: zero_s=0; if(++count>=60)//2S { count=0; zero_s=1; state=SYS_INIT; LCD_Prints_String_CN(0,""); } break; caseSYS_INIT: //LCD_Prints_Num(4,2,L_OFSET); //LCD_Prints_Num(4,3,adc_result[1]); 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"); if((L_OFSET>240)&&(L_OFSET<275)) { //Sys_Value=adc_result[1]; state=Read_State; } else{state=Emergency_State;}/**/ break; caseRead_State: //???S??? if(key_state==1) { beep_set(3); if(key_value=='2') //??5??? { Start_5ou(); Stop_lou(); LCD_Prints_String_CN(0,"直流穩壓電源"); state=Load_State; L_OFSET+=2; } if(key_value=='3') //?????? { LCD_Prints_String_CN(0,"漏電保護裝置"); //LCD_Prints_String_CN(0,"Protect"); Start_lou(); Stop_5ou(); L_OFSET=1; state=Leakage_State; } } break; caseLoad_State: //5??? if((key_state==1)&&(key_value=='3')) //?????? { beep_set(3); Start_lou(); Stop_5ou(); Stop_Baohu(); L_OFSET=3; LCD_Prints_String_CN(0,"漏電保護裝置"); //LCD_Prints_String_CN(0,"Protect"); state=Leakage_State; } break; caseLeakage_State: //???? if(adc_result[2]>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,"Dcpower"); state=Load_State; } break; caseProtect_State: //???? if(key_state==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; } } break; caseEmergency_State: if((L_OFSET>240)&&(L_OFSET<275)) { zero_s=1; //Sys_Value=adc_result[1]; state=Read_State; break; } LCD_Prints_String_CN(0,""); LCD_Prints_String_CN(1,"Error..."); LCD_Prints_String_CN(2,""); LCD_Prints_String_CN(0,"請檢查..."); break; }}/*Endusercode.Donoteditmentgeneratedhere*//************************************************************************************************************************FunctionName:r_tau0_channel0_interrupt*Description:ThisfunctionisINTTM00interruptserviceroutine.*Arguments:None*ReturnValue:None***********************************************************************************************************************/__interruptstaticvoidr_tau0_channel0_interrupt(void){/*Startusercode.Donoteditmentgeneratedhere*/staticunsignedcharcount=0;staticunsignedcharTimer_count=0;if(++count>=100){ P13.0=~P13.0;//10/s count=0;}if(++Timer_count>=50){ Timer_count=0; App_Control();}key_process();beep_process();/*Endusercode.Donoteditmentgeneratedhere*/}/*Startusercodeforadding.Donoteditmentgeneratedhere*//*Endusercode.Donoteditmentgeneratedhere*/程序附頁12定時器程序/***********************************************************************************************************************Pragmadirective***********************************************************************************************************************/#pragmainterruptINTADr_adc_interrupt/*Startusercodeforpragma.Donoteditmentgeneratedhere*//*Endusercode.Donoteditmentgeneratedhere*//***********************************************************************************************************************Includes***********************************************************************************************************************/#include"r_cg_macrodriver.h"#include"r_cg_adc.h"/*Startusercodeforinclude.Donoteditmentgeneratedhere*//*Endusercode.Donoteditmentgeneratedhere*/#include"r_cg_userdefine.h"/***********************************************************************************************************************Globalvariablesandfunctions***********************************************************************************************************************//*Startusercodeforglobal.Donoteditmentgeneratedhere*///uint16_tda_dat_int;uint16_tadc_result[4];unsignedcharadc_channel=0;/*Endusercode.Donoteditmentgeneratedhere*/#defineADC_Number 100#defineVoltage(252*1024)unsignedintL_OFSET;externbitzero_s;#defineV_R(float)(4.97/10.240)#define

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論