2007全国电子设计大赛E题获奖论文报告(1)

上传人:仙*** 文档编号:68349831 上传时间:2022-04-02 格式:DOC 页数:24 大小:3.96MB
返回 下载 相关 举报
2007全国电子设计大赛E题获奖论文报告(1)_第1页
第1页 / 共24页
2007全国电子设计大赛E题获奖论文报告(1)_第2页
第2页 / 共24页
2007全国电子设计大赛E题获奖论文报告(1)_第3页
第3页 / 共24页
点击查看更多>>
资源描述
题目 :开关稳压电源(E题)摘 要本设计综合考虑题目基本部分和发挥部分的指标要求,系统采用简单的boost升压电路作为DC-DC变换器主电路;PWM控制器采用低压型专用集成芯片UC3843; 主开关管采用IRF540;由内置12位A/D、D/A的高性能、低功耗单片机C8051F021组成系统测控与显示单元,采用液晶显示器作为系统的状态和运行数据显示屏。通过实际测试,作品的性能指标中,输出纹波完全达到了要求;电压调整率,整体效率,负载过流故障排除后自恢复功能,输出电压键控1V步进,电流、电压实时测量及数显功能等几项指标达均到了发挥部分要求;负载调整率也接近发挥部分指标要求。另外,系统还增加了实时输出功率数据显示和负载过流状态下的声、光报警等实用功能。一、 引言为了满足题目发挥部分规定的电压调整率、负载调整率以及效率等几项指标要求,我们在设计中主要是尽量减少辅助控制电路的损耗。通过单片机和脉宽调制电路来稳定输出电压,并通过单片机的控制实现对整个电路的过流保护功能,排除过流故障后,电源能自动恢复为正常工作状态。同时,当输出电压与设定电压误差较大时,单片机能对输出电压进行一定调节,以提高负载调整率;通过单片机实现了输出电压的键盘设定和步进调整(步进为1V)。系统具有测量和数字显示输出电压、电流的功能。此外,还增加了实时输出功率测量与显示、在输出过流的时候系统发出声、光报警信号等功能。二、方案论证与比较1DC-DC主回路拓扑方案论证方案一:采用变压器升压的隔离型PWM直流直流变换器电路,此电路效率较低,开关辐射/纹波较大,电路较复杂。方案二:采用非隔离型BOOST升压电路,控制电路用专用集成芯片UC3843A,这种电路使用的外部原件最少、调试容易、成本低、效率高。因此,采用此种方案。2. 控制方法及实现方案方案一:采用电压型脉宽调制技术,产生频率固定,脉冲宽度可调整的方波脉冲,采用电压反馈环控制系统,它的反馈信息取自输出电压,用反馈电压调整控制器的输出脉冲宽度,改变脉冲占空比,实现开关电源的稳定。方案二:采用电流型脉宽调制芯片,此技术与传统的仅有输出电压反馈的PWM系统相比增加了一个电感电流反馈。此反馈就做为PWM的斜坡函数,就不再需要锯齿波发生器,更重要的是使用电感电流反馈使系统的可靠性有了明显的改善,经比较具有如下优点:1) 使系统具有快速的瞬态响应及高速的稳定性。2) 输出电压精度很高。3) 具有内在的对功率开关管电流的控制及限流能力。4) 具有良好的并联运行能力。可以看出方案二的控制性能明显优于方案一,所以采用方案二。3. 提高效率的方法及实现方案单片机系统及其它辅助电路的功耗对电源的整体效率有很大的影响。所以选用一款功耗低的单片机作为控制与显示单元电路。采用效率高、开关速度快、损耗小的MOS场效应管作为主开关管。选用快速、低损耗的肖特基二极管作为输出端的整流/升压二极管。根据以上可以提高效率的方法综合出包括以下三个方面的方案:1) 放弃使用常规的高功耗单片机8051而改用与51系列兼容的但内置12位A/D, D/A转换器的新型高性能、低功耗单片机C8051F021,由于A/D, D/A转换器内置,并具有可编程的前置放大器,外围电路结构简单,性能可靠。内部嵌入了一款高速、低功耗、高性能的8位微处理器,显示器采用液晶屏。这样可以减小控制单元电路的损耗,使系统的整体效率提高。2) 使用高效率的MOSFET管IRF540代替传统的双极型晶体管,因为它的开关速度高、导通和关断时间短,开关损耗小,并且是电压控制型元件,驱动功率小,可以用专用集成电路直接驱动,不存在二次击穿,热稳定性好等,因而可靠性高。3) 采用低功耗、超高速、反向恢复时间短的肖特基二极管MBR1545,可有效降低开关损耗并提高开关频率。三、电路设计与参数计算1. 系统框架本系统由以下几大部分组成:隔离变压器、整流滤波电路、过流保护电路、DC-DC变换电路、控制电路、键盘输入电路、显示电路、过流声光报警电路等。 图一2.主回路器件的选择与参数计算 整流桥的选择:隔离变压器输出的交流电压为18V,整流桥的电流最大可达56A,为了得到较好的直流量,用全桥整流,整流桥的耐压应为50V以上,正向电流大于等于8A,实际电路中采用10A/600V整流桥。滤波电容器选择:要求输出的最大电流为2A,最大电压为36V,所以输出最大功率约为72W,按照电路效率为80计算。可得整个电路输入的功率约为90W。电路自身功率达18W,根据P=U2/R,可求得整流滤波电路的等效负载电阻R6欧姆,滤波电路的基波周期10mS,按一般要求,滤波电路的时间常数CR30mS50mS,所以,滤波电容C选用4700F/50V和1000F/50V并联(考虑到有输入电流测试端口的存在)。整流滤波部分电路图见图二。开关管的选择:功率MOSFET具有导通电阻低、负载电流大的优点。栅极驱动器的负载能力必须足够大,以保证在系统要求的时间内完成对栅极等效电容(CEI)的充放电。流经MOS管的电流理论平均值:ID=TOFFIO/T=IO VO / Vi5A。所以,MOSFET应选用平均电流大于10A、电压大于50V的管子,实际选用IRF540N,IF=28A、VR=100V、PD=150W、RDS(ON)=0.077。升压二极管的选择:二极管要采用正向电压降低,反向恢复时间短的二极管,所以选用反向恢复时间为60us以下、反向耐压为45V以上的肖特基二极管。它是一种低功耗、超高速半导体器件,可大幅降低开关损耗并提高开关频率。实际电路中选用MBR1545:IF=15A、VR=45V。主储能电感器L1的制作。按公式:L计算得电感量应大于等于100H。实际采用38的高性能环形高频磁芯、用 0.8的漆包线绕28圈。3.PWM控制电路的设计与参数计算控制电路的电路结构及参数如图三所示:采用低压电流型PWM专用集成控制芯片UC3843A,开关频率约为50KHz。主开关管源极电阻选0.1/3W,所以,开关管的最大电流限制在10A以下。4.效率的分析及计算整流滤波后电路的总功率 PI= UIII ,输出功率PO=UOIO, DC-DC变换器的效率=PO/PI。电路总的功率损耗主要包括主开关管、升压二极管的动态开关损耗与导通损耗、储能电感的铜耗与磁滞损耗;其它部分的损耗如脉宽调制器的损耗、单片机及显示屏的损耗、过流保护电路的损耗等。这些方面的功耗增加都会导致电源整体效率下降。所以,电路中采用现有器材中功耗最低的元器件来减少总的损耗,提高电源的整体效率。如开关管采用MOSFETIRF540、升压二极管使用正向电压低的肖特基二极管MBR1545,控制电路采用低压型PWM控制芯片UC3843,单片机系统使用低功耗的C8051F021、液晶屏等。5.保护电路设计与参数计算过流保护电路原理图如图四所示:系统的过流保护功能是通过单片机实现控制MOS管IRF9540(实际是2个并联以减小导通电阻)实现的,当输出的电流不大于2.5A时,单片机的P0.3口输出高电平,使得跟它相连的三极管9013饱和导通,从而使与三极管相连的场效应管IRF9540导通,DCDC变换电路正常运行。当输出的电流大于2.5A时,单片机的P0.3口输出低电平使与它相连的三极管和场效应管均截止。Vin通过与IRF9540并联的大功率电阻向DC-DC变换器提供负载状态检测电流通路,单片机持续采样输出电流、同时输出过载报警信号。当过流故障消失时,单片机的P0.3口输出恢复高电平,电路自动恢复到正常工作状态。6.输出电压数字设定及显示电路的设计数字设定是通过键盘输入数值给单片机C8051F021来实现的,本系统中的键盘采用4*4键盘,直接与单片机的P1口连接,连线简单、方便,同时减少了外围电路,从而有助于整体电路效率与可靠性的提高。显示电路采用带字库的LCD液晶显示器。为了避免占用大量的I/O口,采用串行传输模式,其中CS、SID、CLK引脚分别与P0.0、P0.1、P0.2口相连,虽然编程难度增大,但是节省了I/O资源,避免外扩I/O芯片,减少了系统硬件电路的成本。LCD可以用全中文界面显示,显示内容丰富,易于人机交流。四、软件设计本设计使用低功耗增强型51单片机C8051F021组成的数字控制单元,可以实现以下四个方面的功能:1) 测试输出电流、电压并显示。单片机通过内部自带的12位A/D对输出的电压和电流进行采样,将采集回来的数值在单片机内部进行处理后将数据送往液晶屏显示输出电压、输出电流、输出功率等参数。2) 设定输出电压值。通过键盘设定电压值送给单片机,单片机通过内部自带12位D/A将数字量转换成相应的模拟量送给UC3843的电压反馈端,进而控制输出电压实现键控1V步进的功能。3) 实现输出电压调节(微调):当直流输出电压误差较大时,调整输出电压,提高系统稳压性能指标(主要是提高负载调整率)。4) 当输出电流大于2.5A时,单片机就会启动过流保护功能,通过控制IRF9540的截止来避免电路损坏,并同时输出声、光报警信号。当过流故障排除时,系统自动恢复正常工作状态。五、系统测试1.测试仪器滑动变阻器7-16 ;万用表DT890B+、VC9807A+、VC9802A+ ;20MHZ示波器 DF4326 ;单相交流调压器R6001。2.测试方法电压调整率的测试方法:在输出电流为2A的条件下,调整变压器使隔离变压器的输出在15V到21V之间取几个值然后测量相应的直流输出电压值,根据公式可求得电压调整率。负载调整率的测试方法:在隔离变压器输出为18V、输出直流电压36V,分别测量负载电流为0和2A所对应的输出电压值。负载调整率就是输出电压的相对变化量与标准电压的比值。DC-DC变换器效率的测试方法:在隔离变压器输出为18V, 直流输出电压为36V、输出电流为2A的条件下,测得输入电压Ui和输入电流Ii的直流平均值,效率(UoIo/UiIi)100 。 3.实际测试数据(1)电压调整率的测试(IO=2A)变压器输出电压(V)151821直流稳压电路输出电压(V)35.9535. 9736.02电压调整率=0.19%(2) 负载调整率的测试(U2=18V、Uo36V)负载电流(A)2.020输出电压(V)35.9436.31负载调整率=1.0 %(3)DC-DC变换器效率的测量(U2=18V、IO=2A、UO=36V)输入电压(V)19.80输入电流(A)4.07输出电压(V)35.95输出电流(A)2.01效率89.7%(4)纹波与噪声电压测试:U2=18V 、Uo=36V 、Io=2A ,用示波器测量。纹波峰峰值UOPP0.2V(20ms/div) 。(5)过流保护:当负载电流超过2.5A时,输出电压降到约05V(取决于负载阻抗大小),同时发出声、光报警信号;排除过流故障后,电源能自动恢复为正常工作状态。六、结论通过实际测试可以看出:本作品的性能指标中,纹波达到了题目要求;如下几项指标达到了发挥部分要求:电压调整率,整体效率,负载过流故障排除后自恢复功能,输出电压键控1V步进,电流、电压实时测量及数显功能;负载调整率也接近发挥部分指标要求。另外,系统还增加了实时输出功率数字显示和负载过流状态下的声、光报警等实用功能。6七附件:1. 单片机控制部分电路图2. DC-DC变换器完整电路图附- 17 - 3. 主程序流程图:4. 按键扫描子程序流程图:5. 定时器3中断服务子程序流程图:6. 过流保护子程序流程图:7. 显示子程序流程图:8. 按键扫描子程序流程图:9. 程序清单: $include (c8051f020.inc) CS128BIT P0.0SID128BIT P0.1 CLK128BIT P0.2ORG 0000H AJMPMAINORG0073HLJMPTimer3ORG0080HMAIN:CLR EAMOV WDTCN, #0DEh ;禁止看门狗MOV WDTCN, #0ADhMOVSP,#70HIO_INITL:MOVXBR2,#40H;FOR P0MOVXBR0,#00HMOVXBR1,#00H;设置为I/O方式MOVP0MDOUT,#0FFH;设置为推挽方式MOVP1MDOUT,#00H;设置为输入方式MOVP1,#0FFHAD_INITL: MOVADC0CN,#0F0H;enable adc0 and start the ad convertMOV REF0CN,#03H ;enable bias generator and output bufferDA_INITL: MOVDAC1CN,#80HMOVDAC0CN,#80HMOVDAC0L,#80HMOVDAC0H,#07HSETB P0.3CLR P0.4 ;光报警位RAM_INITL:MOV31H,#0;主菜单光标位置MOV32H,#0;菜单标志MOV33H,#0;键值MOV34H,#0BH;电压设定值MOV35H,#0B8H MOV 36H,#80H MOV 37H,#90HMOV3AH,#0;电压采样值单元(BCD)MOV3BH,#0MOV3CH,#0;电流采样值单元(BCD)MOV3DH,#0MOV54H,#0;功率存放单元MOV55H,#0MOV 40H,#0;电压测量值单元显示用MOV 41H,#0MOV42H,#0MOV43H,#0MOV 44H,#3;电压设定值单元显示用MOV45H,#0MOV46H,#0MOV 4FH,#0MOV 47H,#0;电流测量值单元显示用MOV48H,#0MOV49H,#0MOV 4AH,#0MOV4BH,#0;功率测量值单元显示用MOV4CH,#0MOV4DH,#0MOV 4EH,#0MOV56H,#0MOV50H,#9;电压平均值滤波暂存MOV51H,#0F5HMOV52H,#0;电流平均值滤波暂存MOV53H,#0MOV57H,#0;关标位置 MOV 58H,#0;设定定值标志MOV59H,#0BH;PI输出值单元(BCD)MOV5AH,#0B8HMOV 5BH,#2;PMOV 5CH,#5;IMOV 5DH,#0;E(N)MOV 5EH,#0;MOV 5FH,#0;E(N-1)MOV 60H,#0;MOV 65H,#0FFH;过流标志位MOV 66H,#0MOV 67H,#0LCALLLCD_InitLCALLTimer3_Init LCALL Display_1LCALLDelay_1s MOV30H,#01H LCALL WRITE12864_CMDSETBEAHERE:LCALL DA_CONVLCALLKey_ScanLCALL Key_SettleLCALL DisplayLCALL Cal_POWER LCALL GL_PRT;LCALL PI_Contl1AJMP HEREPI_Contl1:CLR CMOVR2,34HMOVR3,35HMOVR0,66HMOVR1,67HLCALL SUBBHJC SDLT_CL3MOV R5,#6LCALL PIDIVMOV R0,59HMOV R1,5AHLCALL ADDAMOV 59H,R0MOV 5AH,R1AJMP PI_Contl_RETSDLT_CL3: MOVR2,66HMOVR3,67HMOVR0,34HMOVR1,35HLCALL SUBBHMOV R5,#6LCALL PIDIVMOV A,R2MOV R0,AMOV A,R3MOV R1,AMOV R2,59HMOV R3,5AHLCALL SUBBHMOV 59H,R2MOV 5AH,R3PI_Contl_RET: MOV R4,59HMOV R5,5AHLCALL Dtm_PIMMRETSUBBH:;R2R3-R0R1=R2R3CLRCMOVA,R3SUBBA,R1MOVR3,AMOVA,R2SUBBA,R0MOVR2,ARETGL_PRT:CLR CMOV R2,#0H;设定过流动作上限值2.50AMOV R3,#0FAHMOV R0,3CHMOV R1,3DHACALL SUBBHJC GUOLMOV A,65HJZ NGL_RETCLR CMOV R2,3CHMOV R3,3DH MOV R0,#00H;设定过流动作下限值0.02AMOV R1,#20ACALL SUBBH JNC NGL_RETSETB P0.3MOV 65H,#0CLR P0.4MOV TMR3RLL,#00H;修改MOV TMR3RLH,#0F0H;修改MOV TMR3L,#00HMOV TMR3H,#0F0HNGL_RET:RETGUOL: MOV 44H,#3;过流则输出最小值MOV45H,#0MOV46H,#0MOV 4FH,#0MOV 59H,#0BHMOV 5AH,#0B8HMOV 34H,#0BHMOV 35H,#0B8H MOV 32H,#0MOV 31H,#0MOV A,65HJNZ RET1MOV TMR3RLL,#80H;修改MOV TMR3RLH,#0FFH;修改MOV TMR3L,#80HMOV TMR3H,#0FFHMOV30H,#01H LCALL WRITE12864_CMDRET1:CLR P0.3;保护位MOV 65H,#0FFHRETPI_Contl:LR CMOVR2,34HMOVR3,35HMOVR0,66HMOVR1,67HLCALL SUBBHJC SDLT_CL2; MOV R5,#4; LCALL PIMULMOV5FH,R2;暂存偏差MOV 60H,R3 MOV R5,#5LCALL PIDIV MOV A,R2MOV R0,A MOV A,R3MOV R1,AMOVR2,5DHMOVR3,5EHLCALL ADDA;Imax=0xe10,Imin=0xb88 MOV A,R0MOV R4,A MOV A,R1MOV R5,ALCALL Dtm_IMxMOV 5DH,R4MOV 5EH,R5MOV R2,5FHMOV R3,60H MOV R5,#6LCALL PIDIV MOV A,R2MOV R0,A MOV A,R3MOV R1,AMOVR2,5DHMOVR3,5EHLCALL ADDA;Imax=0xe10,Imin=0xb88 MOV A,R0MOV R4,A MOV A,R1MOV R5,ALCALL Dtm_PIMMMOV 59H,R4MOV 5AH,R5LJMP PI_RET1SDLT_CL2:MOVR2,66HMOVR3,67HMOVR0,34HMOVR1,35HLCALL SUBBH;MOV R5,#4;LCALL PIMUL MOV5FH,R2;暂存偏差MOV 60H,R3MOV R5,#5LCALL PIDIVMOV A,R2MOV R0,A MOV A,R3MOV R1,ACLR CMOVR2,5DHMOVR3,5EHLCALL SUBBHJC ILT_MINMOV A,R2MOV R4,AMOV A,R3MOV R5,ALCALL Dtm_IMxMOV 5DH,R4MOV 5EH,R5AJMP IGE_MINILT_MIN:MOV 5DH,#0MOV 5EH,#0IGE_MIN:MOV R2,5FHMOV R3,60H MOV R5,#6LCALL PIDIV MOV A,R2MOV R0,A MOV A,R3MOV R1,ACLR CMOVR2,5DHMOVR3,5EHLCALL SUBBHJC ILT_MIN1MOV A,R2MOV R4,AMOV A,R3MOV R5,ALCALL Dtm_PIMMMOV 59H,R4MOV 5AH,R5AJMP PI_RET1ILT_MIN1:MOV 59H,#0BHMOV 5AH,#0B8HPI_RET1: RETPIMUL:CLR CMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,A DJNZ R5,PIMULRETPIDIV: ;IN R2R3CLR CMOV A,R2RRC AMOV R2,AMOV A,R3RRC AMOV R3,A DJNZ R5,PIDIVRETDtm_IMx:;IN:R4R5,OUT:R4R5 判断上下限CLR CMOVR2,#0EHMOVR3,#10HMOV A,R4MOVR0,AMOV A,R5MOVR1,ALCALL SUBBHJC IGT_MAXAJMP Dtm_RET IGT_MAX:MOVR4,#0EHMOVR5,#10Hajmp Dtm_RETIDtm_RET:RETDtm_PIMM:;IN:R4R5,OUT:R4R5 判断上下限CLR CMOVR2,#0EHMOVR3,#10HMOV A,R4MOVR0,AMOV A,R5MOVR1,ALCALL SUBBHJC GT_MAXCLR CMOV A,R4MOVR2,AMOV A,R5MOVR3,AMOVR0,#0BHMOVR1,#0B8HLCALL SUBBHJC LT_MINLJMP Dtm_RET GT_MAX:MOV R4,#0EHMOV R5,#10Hajmp Dtm_RETLT_MIN: MOV R4,#0BHMOV R5,#0B8HDtm_RET:RETDA_CONV:;12V -3630V;变换公式:2/2.41*4095=D46H-(59H5AH-3000)*4095/(600*2.41)MOVR2,59HMOVR3,5AHMOV R0,#0BHMOV R1,#0B8HLCALL SUBBH MOV R6,#0FHMOV R7,#0FFHLCALL MULD MOV R6,#05HMOV R7,#0A6HLCALLDIVD MOV A,R4MOV R0,AMOV A,R5MOV R1,AMOV R2,#0DHMOV R3,#46HLCALL SUBBH MOVDAC1L,R3;处理后的数据送给DAMOVDAC1H,R2RETTimer3_Init:MOV TMR3CN,#00HMOV TMR3RLL,#00H;修改MOV TMR3RLH,#080H;修改MOV TMR3L,#00HMOV TMR3H,#080HMOV A,EIE2ORL A,#01HMOV EIE2,AMOVA,TMR3CNORL A,#04HMOV TMR3CN,ARETCUNFANG:MOV R0,36HMOV R1,37HMOV A,R2 MOV R0,AMOV A,R3MOV R1,AINC R0CJNE R0,#8FH,NOTYICHMOV R0,#80HNOTYICH: INC R1CJNE R1,#9FH,NOTYICH1MOV R1,#90HNOTYICH1: MOV 36H,R0MOV 37H,R1 RETAVERAGE: MOV R7,#15MOV R0,#80HMOV R1,#90HMOV R2,#0MOV R3,#0AVAGLP: CLR C MOV A,R1ADD A,R3MOV R3,AMOV A,R0ADDC A,R2MOV R2,AINC R0INC R1DJNZ R7,AVAGLP MOV R5,#4LCALL PIDIV MOV 50H,R2MOV 51H,R3RETTimer3: PUSH PSWPUSH ACCSETB RS0SETB RS1CLR EAMOV A,3EHINC AMOV 3EH,AMOV A,TMR3CN ;清溢出标志位ANL A,#7FHMOV TMR3CN ,A MOV A,65H ;声音报警JZ START_AD1CPL P0.4CLR P0.3START_AD1:MOVAMX0SL,#01H ;choose channal 0MOVAMX0CF,#00HMOV ADC0CF, #40HCLRAD0INT ;启动ADSETBAD0BUSY ;start ad convertNOPHAHA:MOVC,AD0INT ;ensure the ad convert is finishedJNC HAHAMOVR3,ADC0L ;read low data MOVR2,ADC0H ;read high dataLCALL CUNFANG LCALL AVERAGE START_AD8:MOVAMX0SL,#07H;choose channal 0MOVAMX0CF,#00HMOV ADC0CF, #43HCLRAD0INT ;启动ADSETBAD0BUSY ;start ad convertNOPHAHA1:MOVC,AD0INT ;ensure the ad convert is finishedJNC HAHA1MOVR3,ADC0L ;read low data MOVR2,ADC0H ;read high data MOV 38H,R2MOV 39H,R3MOVR1,53HMOVR0,52HLCALLADDAMOV53H,R1MOV52H,R0MOVA,3EHCJNE A,#15,INT_RETMOV 3EH,#0LCALLADVolt_BIAODULCALLADCurrt_BIAODUINT_RET:SETBEACLR RS0CLR RS1POP ACCPOP PSWRETIKey_Scan:MOVA,P1CPLAMOV33H,ALCALLDelay_10MsMOVA,P1CPLACJNE A,33H,Kscan_Ret MOV 33H,ALOOP1:MOVA,P1CPLAJNZ LOOP1RETKscan_Ret:MOV33H,#0RETKey_Settle:MOVA,32HJNZSub_MenuMain_Menu:MOVA,33HJZ Key_Ret1ANLA,#80HJNZKEY8_1MOVA,33HANLA,#40HJNZKEY7_1MOVA,33HANLA,#20HJNZKEY6_1MOVA,33HANLA,#10HJNZKEY5_1MOVA,33HANLA,#08HJNZKEY4_1MOVA,33HANLA,#04HJNZKEY3_1MOVA,33HANLA,#02HJNZKEY2_1KEY1_1:MOVA,31HINCAMOV31H,ACJNEA,#3,Key_Ret1MOVA,#0MOV31H,AAJMPKey_Ret1KEY3_1:AJMPKey_RetKEY2_1:MOV32H,#0FFHMOV30H,#01H LCALL WRITE12864_CMDAJMPKey_Ret1KEY4_1:AJMPKey_Ret1KEY5_1:AJMPKey_Ret1KEY6_1:AJMPKey_Ret1KEY7_1:AJMPKey_Ret1KEY8_1: Key_Ret1:RETSub_Menu:MOVA,33HCJNE A,#0,Sub_keyLJMP Key_RetSub_key:MOVR0,31HCJNER0,#01H,Key_ReturnANLA,#80HJNZKEY8MOVA,33HANLA,#40HJNZKEY7MOVA,33HANLA,#20HJNZKEY6MOVA,33HANLA,#10HJNZKEY5MOVA,33HANLA,#08HJNZKEY4MOVA,33HANLA,#04HJNZKEY3MOVA,33HANLA,#02HJNZKEY2KEY1:AJMPKey_RetKEY8: AJMPKey_RetKEY6:MOVA,57HINCAMOV57H,ACJNEA,#4,Key_RetMOVA,#0MOV57H,AAJMPKey_RetKEY2:MOV58H,#0MOV57H,#0LCALL Voltage_FinhMOVA,34H;送ad转换,缩短调节时间MOV59H,AMOVA,35HMOV5AH,AAJMPKey_RetKEY7:AJMPKey_RetKey_Return:ANLA,#04HJNZKEY34RETKEY4:MOV58H,#0FFHMOV57H,#0AJMPKey_RetKEY3:MOV58H,#0KEY34:MOV32H,#0MOV30H,#01HMOV 31H,#0LCALL WRITE12864_CMDAJMPKey_RetKEY5:MOVA,57HJNZNot_SHIW1MOVA,44HINCAMOV44H,ACJNEA,#5,Key_RetMOVA,#2MOV44H,AAJMPKey_RetNot_SHIW1:MOVA,57HCJNEA,#1,NOT_GEW1MOVA,45HINCAMOV45H,ACJNEA,#10,Key_RetMOVA,#0MOV45H,AAJMPKey_RetNOT_GEW1:MOVA,57HCJNEA,#2,NOT_x11MOVA,46HINCAMOV46H,ACJNEA,#10,Key_RetMOVA,#0MOV46H,AAJMPKey_RetNOT_x11:MOVA,4FHINCAMOV4FH,ACJNEA,#10,Key_RetMOVA,#0MOV4FH,AAJMPKey_RetKey_Ret:RETLCD_Init:MOV30H,#30H ;功能设置 8位数据,基本指令 LCALL WRITE12864_CMD MOV30H,#0CH ;显示状态 ON,游标OFF,反白OFF LCALL WRITE12864_CMD MOV30H,#02H ;地址归位 LCALL WRITE12864_CMD MOV30H,#01H ;清除显示 LCALL WRITE12864_CMDRETDISP_HZ:;入口r0,r4,DPTR MOV30H,R0 LCALL WRITE12864_CMD MOVR0,#16 HZ_1:CLRAMOVA,#00 MOVCA,A+DPTR MOV30H,A lcall WRITE12864_DAT INCDPTR DJNZR0,HZ_1MOVR0,#16DJNZR4,HZ_1RETDisplay: MOV A,65HJNZ GL_DISPMOVA,32HJNZSub_dispLCALL Display_2AJMPDisplay_RetSub_disp:MOVA,31HJNZNot_TempDispLCALLDisplay_3AJMPDisplay_RetNot_TempDisp:CJNEA,#1,SheDing_DispLCALLDisplay_4AJMPDisplay_RetSheDing_Disp:CJNE A,#2,GL_DISPLCALLDisplay_5 AJMPDisplay_RetGL_DISP:LCALLDisplay_6Display_Ret: RETDisplay_2:MOVR0,#80H MOVDPTR,#Caidan1MOVR4,#2 LCALL DISP_HZ MOVR0,#90H MOVDPTR,#Caidan3MOVR4,#2 LCALL DISP_HZMOVA,31HJNZNot_TempMOV30H,#95H LCALL WRITE12864_CMDAJMPWRITE_HANDNot_Temp:CJNE A,#1,She_DingMOV30H,#8DH LCALL WRITE12864_CMDAJMPWRITE_HANDShe_Ding:MOV30H,#9DH LCALL WRITE12864_CMDWRITE_HAND:MOV30H,#0A1H LCALL WRITE12864_DATMOV30H,#0EFH LCALL WRITE12864_DATRET Caidan1: DB 主菜单 Caidan2: DB 电压显示 Caidan3: DB 电流显示 Caidan4: DB 功率显示 Display_3:MOVR0,#80H MOVDPTR,#Caidan3_1MOVR4,#2 LCALL DISP_HZCai_Dan32: MOVDPTR,#SHUZI MOV30H,#89H LCALL WRITE12864_CMD MOVA,48HMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#8BH LCALL WRITE12864_CMD MOVA,49HMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#8CH LCALL WRITE12864_CMD MOVA,4AHMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATRET Caidan3_1: DB电流测量值: Caidan3_2: DB . A Display_4:MOVR0,#80H MOVDPTR,#Caidan4_1MOVR4,#2 LCALL DISP_HZMOVR0,#90H MOVDPTR,#Caidan4_3MOVR4,#2 LCALL DISP_HZ MOVDPTR,#SHUZIMOV30H,#91H LCALL WRITE12864_CMD MOVA,44HMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#92H LCALL WRITE12864_CMD MOVA,45HMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#94H LCALL WRITE12864_CMD MOVA,46HMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#95H LCALL WRITE12864_CMD MOVA,4FHMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DAT MOV30H,#99H LCALL WRITE12864_CMD MOVA,40HMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#9AH LCALL WRITE12864_CMD MOVA,41HMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#9CH LCALL WRITE12864_CMD MOVA,42HMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#9DH LCALL WRITE12864_CMD MOVA,43HMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOVA,58HJZCaiD4_RETMOV30H,#0FH LCALL WRITE12864_CMDMOVA,57HJNZNot_SHIWMOV30H,#91H LCALL WRITE12864_CMD AJMPCaiD41_RETNot_SHIW:MOVA,57HCJNEA,#1,NOT_GEWMOV30H,#92H LCALL WRITE12864_CMD AJMPCaiD41_RETNOT_GEW:MOVA,57HCJNEA,#2,NOT_x1MOV30H,#94H LCALL WRITE12864_CMD AJMPCaiD41_RETNOT_x1:MOV30H,#95H LCALL WRITE12864_CMD AJMPCaiD41_RETCaiD41_RET:LCALL Delay_400msMOV30H,#0CH LCALL WRITE12864_CMDCaiD4_RET:RET Caidan4_1: DB电压设定值: Caidan4_2: DB电压测量值: Caidan4_3: DB . V Caidan4_4: DB . V SHUZI: DB0123456789 ADisplay_5:MOVR0,#80H MOVDPTR,#Caidan5_1MOVR4,#2 LCALL DISP_HZ MOVDPTR,#SHUZI MOV30H,#89H LCALL WRITE12864_CMD MOVA,4BHMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#8AH LCALL WRITE12864_CMD MOVA,4CHMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#8CH LCALL WRITE12864_CMD MOVA,4DHMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATMOV30H,#8DH LCALL WRITE12864_CMD MOVA,4EHMOVC A,A+DPTRMOV30H,ALCALL WRITE12864_DATRET Caidan5_1: DB功率测量值: Caidan5_2: DB . W Display_6:MOVR0,#90H MOVDPTR,#Caidan6_1MOVR4,#1 LCALL DISP_HZRETCaidan6_1: DB 电源进入保护状态Caidan6_2: DB 请检查电路 ;*DSP(欢迎画面)* Display_1:MOVR0,#80H MOVDPTR,#CHIN1MOVR4,#2 LCALL DISP_HZRET CHIN1:DB全国电子设计大赛;CHIN3:DBxxxx大学作品CHIN2:DB 开关稳压电源 Voltage_Finh:MOVR7,47HMOVA,46HSWAPAADD A,R7MOV R3,AMOV R6,45HMOV A,44HSWAP AADD A,R6MOV R2,ALCALL BCDHMOV34H,R2MOV 35H,R3RETBCDH:MOVA,R3 ;入口出口都为R2R3MOV R7,ALCALL BCDH1MOV
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!