已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32的单相正弦变频稳压电源本项设计的的要求是输入40V到60V。输出稳定的有效值18V,80W。重载超过5A时,过流保护。输出正弦波频率在20HZ到60HZ可调,步进为1HZ。我们做的DC/AC主电路采用全桥式,双极性SPWM,驱动芯片采用IR2110,极容易烧毁,使用时应倍加小心。用电流互感器采电流,电压互感器采电压,电压经过全波整流后送到STM32里。这个设计大部分工作由软件完成。难点在于要调度好中断之间的关系,理解PI的整个控制过程。如果理解有偏差,就会出现无论怎么改变PI的系数,输出都稳不了压。同时,硬件电路也要做好。做电源不要引太多线出来,易受到干扰。尽量避免使用过零比较器,因为过零比较器的上升沿下降沿极不稳定,易导致单片机误触发。下面在多分享下我做这个设计时的调试经验1,利用高级定时器TIM1,产生SPWM,中断优先级一定要设成最高抢断式2,带重载时波形会失真,原因主要是死区时间和开关管损耗,可以尝试下改小死区时间。3,我的PI思路是这样的,在一个正弦波周期内,做一次PI。具体实现方法是电压互感器采过来的经全波整流的波对应一个比较器产生的方波,正弦波过零时产生上升沿翻转,触发单片机开始定时,技术到四分之一个周期时,打开AD和DMA,在峰值处连续采14个点,然后排序,去掉最大的三个和最小的三个,然后相加求平均值。做一次PI,在下个正弦波开始时,赋给MA。这里关键是AD一定要采的准,可以设置电平翻转来用示波器观察是不是在峰值附近采值。下面给出全部代码MAINHIFNDEF_MAIN_HDEFINE_MAIN_HVOIDRCC_CONFIGURATIONVOIDVOIDNVIC_CONFIGURATIONVOIDVOIDGPIO_CONFIGURATIONVOIDVOIDADC_CONFIGURATIONVOIDVOIDTIM_CONFIGURATIONVOIDVOIDADC_DMAINITVOIDVOIDEXTI_CONFIGURATIONVOIDVOIDDISPLAY1VOIDVOIDDISPLAY2VOIDVOIDDISPLAY3VOIDVOIDDISPLAY4VOIDVOIDDISPLAY5VOIDVOIDPINLVZHUANHUAVOIDENDIFMAINCINCLUDE“STM32F10X_LIBH“INCLUDE“STM32F10X_ITH“INCLUDE“STM32F10X_DMAH“INCLUDE“STM32F10X_ADCH“INCLUDEINCLUDE“LCD1602H“INCLUDE“JUZHENKEYH“INCLUDE“MAINH“/PRIVATETYPEDEF/PRIVATEDEFINE/PRIVATEMACRO/PRIVATEVARIABLES/PRIVATEFUNCTIONPROTOTYPES/PRIVATEFUNCTIONS/FUNCTIONNAMEMAINDESCRIPTIONMAINPROGRAMINPUTNONEOUTPUTNONERETURNNONE/DEFINEN14DEFINEADC1_DR_ADDRESSU320X4001244CUNSIGNEDSHORTADCCONVERTEDVALUENEXTI_INITTYPEDEFEXTI_INITSTRUCTUREERRORSTATUSHSESTARTUPSTATUSNVIC_INITTYPEDEFNVIC_INITSTRUCTURE1FLOATXIANSHI00U8I0U8V10,V20U8P10,P20,P30U8PP0U8TIME50MS0FLOATNN04VU16PULSE0VU16PERIOD20S8SHUZI“0123456789“S8PINLV“20HZ“S8DIANYA“18V“S8TABLE“0000V“S8MA“000“S8OVERCURRENT“OVERCURRENT“U8PINLVSHEZHI20U8DIANYASHEZHI18U8FLAG10U8FLAG20U8OVERCURRENTFLAG0FLOATDEL04INTMAINVOIDIFDEFDEBUGDEBUGENDIFPINLVZHUANHUARCC_CONFIGURATIONGPIO_CONFIGURATIONDELAYXMS60LCD_INITDELAYXMS20DISPLAY1TIM_CONFIGURATIONNVIC_CONFIGURATIONEXTI_CONFIGURATIONCH451_INITADC_CONFIGURATIONADC_DMAINITDELAYXMS60LCD_INITDISPLAY1/INFINITELOOP/WHILE1IFGPIO_READINPUTDATABITGPIOC,GPIO_PIN_5TIM_CMDTIM1,DISABLETIM_CTRLPWMOUTPUTSTIM1,DISABLELCD_INITDISPLAY5OVERCURRENTFLAG1DELAYXMS200ELSEIFGPIO_READINPUTDATABITGPIOC,GPIO_PIN_5TIM_CTRLPWMOUTPUTSTIM1,ENABLELCD_INITOVERCURRENTFLAG0ELSEIFGPIO_READINPUTDATABITGPIOC,GPIO_PIN_5DISPLAY2DELAYXMS200DISPLAY3VOIDRCC_CONFIGURATIONVOIDRCC_DEINIT/将外设RCC寄存器重设为缺省值RCC_HSECONFIGRCC_HSE_ON/使能HSE,即外部高速晶振HSESTARTUPSTATUSRCC_WAITFORHSESTARTUP/等待HSE就绪IFHSESTARTUPSTATUSSUCCESSFLASH_PREFETCHBUFFERCMDFLASH_PREFETCHBUFFER_ENABLE/使能预取指令缓存FLASH_SETLATENCYFLASH_LATENCY_2/设置代码延时值FLASH2WAITSTATERCC_HCLKCONFIGRCC_SYSCLK_DIV1/设置AHB时钟HCLKSYSCLKRCC_PCLK2CONFIGRCC_HCLK_DIV1/设置高速AHB时钟PCLK2HCLKRCC_PCLK1CONFIGRCC_HCLK_DIV2/设置低速AHB时钟PCLK1HCLK/2RCC_PLLCONFIGRCC_PLLSOURCE_HSE_DIV1,RCC_PLLMUL_9/设置PLL时钟源及倍频系数PLLCLK8MHZ972MHZRCC_PLLCMDENABLE/等待PLL就绪WHILERCC_GETFLAGSTATUSRCC_FLAG_PLLRDYRESETRCC_SYSCLKCONFIGRCC_SYSCLKSOURCE_PLLCLK/选定PLL为系统时钟源WHILERCC_GETSYSCLKSOURCE0X08/确认PLL作为系统时钟源RCC_APB2PERIPHCLOCKCMDRCC_APB2PERIPH_ADC1|RCC_APB2PERIPH_AFIO,ENABLERCC_AHBPERIPHCLOCKCMDRCC_AHBPERIPH_DMA1|RCC_AHBPERIPH_DMA2,ENABLERCC_APB2PERIPHCLOCKCMDRCC_APB2PERIPH_TIM1|RCC_APB2PERIPH_GPIOA|RCC_APB2PERIPH_GPIOB|RCC_APB2PERIPH_GPIOC|RCC_APB2PERIPH_GPIOD|RCC_APB2PERIPH_GPIOE,ENABLERCC_APB1PERIPHCLOCKCMDRCC_APB1PERIPH_TIM2|RCC_APB1PERIPH_TIM3|RCC_APB1PERIPH_TIM4,ENABLERCC_ADCCLKCONFIGRCC_PCLK2_DIV4VOIDEXTI_CONFIGURATIONVOIDEXTI_DEINIT/将EXIT寄存器重设置为缺省值GPIO_EXTILINECONFIGGPIO_PORTSOURCEGPIOC,GPIO_PINSOURCE6/设置为外部中断EXTI_INITSTRUCTUREEXTI_LINEEXTI_LINE6/设置外部中断线EXTI_INITSTRUCTUREEXTI_MODEEXTI_MODE_INTERRUPT/设置EXTI线路为重点请求EXTI_INITSTRUCTUREEXTI_TRIGGEREXTI_TRIGGER_FALLING/设置输入线路为下降沿为中断请求EXTI_INITSTRUCTUREEXTI_LINECMDENABLE/中断使能EXTI_INITGPIO_EXTILINECONFIGGPIO_PORTSOURCEGPIOD,GPIO_PINSOURCE1/设置为外部中断EXTI_INITSTRUCTUREEXTI_LINEEXTI_LINE1/设置外部中断线EXTI_INITSTRUCTUREEXTI_MODEEXTI_MODE_INTERRUPT/设置EXTI线路为重点请求EXTI_INITSTRUCTUREEXTI_TRIGGEREXTI_TRIGGER_RISING/设置输入线路为下降沿为中断请求EXTI_INITSTRUCTUREEXTI_LINECMDENABLE/中断使能EXTI_INIT/EXTI_GENERATESWINTERRUPTEXTI_LINE5EXTI_CLEARFLAGEXTI_LINE6|EXTI_LINE1EXTI_CLEARFLAGEXTI_LINE1|EXTI_LINE1/EXTI_CLEARFLAGEXTI_LINE0VOIDNVIC_CONFIGURATIONVOIDNVIC_INITTYPEDEFNVIC_INITSTRUCTUREIFDEFVECT_TAB_RAMNVIC_SETVECTORTABLENVIC_VECTTAB_RAM,0X0ELSE/VECT_TAB_FLASH/NVIC_SETVECTORTABLENVIC_VECTTAB_FLASH,0X0ENDIF/ENABLETHETIM1GLOBALINTERRUPT/NVIC_PRIORITYGROUPCONFIGNVIC_PRIORITYGROUP_1NVIC_INITSTRUCTURENVIC_IRQCHANNELTIM1_UP_IRQCHANNELNVIC_INITSTRUCTURENVIC_IRQCHANNELPREEMPTIONPRIORITY0NVIC_INITSTRUCTURENVIC_IRQCHANNELSUBPRIORITY0NVIC_INITSTRUCTURENVIC_IRQCHANNELCMDENABLENVIC_INIT/ENABLETHEDMAINTERRUPT/NVIC_INITSTRUCTURENVIC_IRQCHANNELDMA1_CHANNEL1_IRQCHANNELNVIC_INITSTRUCTURENVIC_IRQCHANNELPREEMPTIONPRIORITY1NVIC_INITSTRUCTURENVIC_IRQCHANNELSUBPRIORITY2NVIC_INITSTRUCTURENVIC_IRQCHANNELCMDENABLENVIC_INIT/ENABLETHEEXTI9_5GLOBALINTERRUPT/NVIC_INITSTRUCTURENVIC_IRQCHANNELEXTI9_5_IRQCHANNELNVIC_INITSTRUCTURENVIC_IRQCHANNELPREEMPTIONPRIORITY0NVIC_INITSTRUCTURENVIC_IRQCHANNELSUBPRIORITY0NVIC_INITSTRUCTURENVIC_IRQCHANNELCMDENABLENVIC_INITNVIC_INITSTRUCTURENVIC_IRQCHANNELEXTI1_IRQCHANNELNVIC_INITSTRUCTURENVIC_IRQCHANNELPREEMPTIONPRIORITY0NVIC_INITSTRUCTURENVIC_IRQCHANNELSUBPRIORITY1NVIC_INITSTRUCTURENVIC_IRQCHANNELCMDENABLENVIC_INIT/ENABLETHETIM2GLOBALINTERRUPT/NVIC_INITSTRUCTURENVIC_IRQCHANNELTIM2_IRQCHANNELNVIC_INITSTRUCTURENVIC_IRQCHANNELPREEMPTIONPRIORITY1NVIC_INITSTRUCTURENVIC_IRQCHANNELSUBPRIORITY2NVIC_INITSTRUCTURENVIC_IRQCHANNELCMDENABLENVIC_INITNVIC_INITSTRUCTURENVIC_IRQCHANNELTIM3_IRQCHANNELNVIC_INITSTRUCTURENVIC_IRQCHANNELPREEMPTIONPRIORITY1NVIC_INITSTRUCTURENVIC_IRQCHANNELSUBPRIORITY1NVIC_INITSTRUCTURENVIC_IRQCHANNELCMDENABLENVIC_INIT/NVIC_INITSTRUCTURENVIC_IRQCHANNELTIM4_IRQCHANNEL/NVIC_INITSTRUCTURENVIC_IRQCHANNELPREEMPTIONPRIORITY1/NVIC_INITSTRUCTURENVIC_IRQCHANNELSUBPRIORITY3/NVIC_INITSTRUCTURENVIC_IRQCHANNELCMDENABLE/NVIC_INITVOIDGPIO_CONFIGURATIONVOIDGPIO_INITTYPEDEFGPIO_INITSTRUCTURE/配置1602的控制端RSRWEGPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_15|GPIO_PIN_14|GPIO_PIN_13GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_OUT_PPGPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOB,/GPIOCCONFIGURATIONCHANNEL1,2AND3ASALTERNATEFUNCTIONPUSHPULL/配置D8D15为1602数据口GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_OUT_PPGPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOD,/键盘/GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_6GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_IPU/上拉输入GPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOC,GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_1GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_IPD/下拉输入GPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOD,GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_5|GPIO_PIN_8|GPIO_PIN_9GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_OUT_PP/推挽输出GPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOB,GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_11GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_OUT_PP/推挽输出GPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOB,/键盘/GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_0GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_AIN/GPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOB,/AD输入测电压/GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_6/GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_IPD/下拉输入测电压/GPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZ/GPIO_INITGPIOA,GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_5GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_IPD/下拉输入测电流方波GPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOC,/根据GPIO_INITSTRUCTURE中指定的参数初始化外设GPIOX寄存器/PE8设置为功能脚PWMPE9设置为PWM的反极性输出/GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_8|GPIO_PIN_9GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_AF_PPGPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOE,GPIO_PINREMAPCONFIGGPIO_FULLREMAP_TIM1,ENABLE/TIM1复用功能完全映射/PE10设置为功能脚PWMPE11设置为PWM的反极性输出/GPIO_INITSTRUCTUREGPIO_PINGPIO_PIN_10|GPIO_PIN_11GPIO_INITSTRUCTUREGPIO_MODEGPIO_MODE_AF_PPGPIO_INITSTRUCTUREGPIO_SPEEDGPIO_SPEED_50MHZGPIO_INITGPIOE,GPIO_PINREMAPCONFIGGPIO_FULLREMAP_TIM1,ENABLEVOIDADC_CONFIGURATIONVOIDADC_INITTYPEDEFADC_INITSTRUCTURE/将ADC1配置在独立转换,连续转换模式下,转换数据右对齐,关闭外部触发/ADC_INITSTRUCTUREADC_MODEADC_MODE_INDEPENDENT/每个通道独立工作/扫描转换模式开启ADC扫描所有ADC_SQRX寄存器规则转换通道)和ADC_JSQR寄存器(注入转换通道,即不规则转换通道)/ADC_INITSTRUCTUREADC_SCANCONVMODEDISABLEADC_INITSTRUCTUREADC_CONTINUOUSCONVMODEENABLE/连续转换模式开启/关闭ADC外部触发,即禁止由外部触发模数转换/ADC_INITSTRUCTUREADC_EXTERNALTRIGCONVADC_EXTERNALTRIGCONV_NONEADC_INITSTRUCTUREADC_DATAALIGNADC_DATAALIGN_RIGHTADC_INITSTRUCTUREADC_NBROFCHANNEL1ADC_INITADC1,/规则组通道设置将ADC1的通道设为CHANNEL_8PB0,采样周期为715ADC_REGULARCHANNELCONFIGADC1,ADC_CHANNEL_8,1,ADC_SAMPLETIME_1CYCLES5ADC_DMACMDADC1,ENABLE/将ADC1与DMA关联,使能ADC1的DMAADC_CMDADC1,ENABLEADC_RESETCALIBRATIONADC1/ADC1复位校准WHILEADC_GETRESETCALIBRATIONSTATUSADC1ADC_STARTCALIBRATIONADC1/启动ADC1校准WHILEADC_GETCALIBRATIONSTATUSADC1/检测ADC1校准是否结束ADC_SOFTWARESTARTCONVCMDADC1,ENABLE/软件启动ADC1进行连续转换VOIDADC_DMAINITVOIDDMA_INITTYPEDEFDMA_INITSTRUCTDMA_DEINITDMA1_CHANNEL1/复位后开启DMA1的第一通道/DMA对应的外设基地址DMA_INITSTRUCTDMA_PERIPHERALBASEADDRADC1_DR_ADDRESS/转换结果的数据大小DMA_INITSTRUCTDMA_PERIPHERALDATASIZEDMA_PERIPHERALDATASIZE_HALFWORDDMA_INITSTRUCTDMA_MEMORYBASEADDRU32ADCCONVERTEDVALUE/DMA的转换模式SRC模式,从外设向内存中传送数据DMA_INITSTRUCTDMA_DIRDMA_DIR_PERIPHERALSRCDMA_INITSTRUCTDMA_M2MDMA_M2M_DISABLE/DMA传送数据的尺寸,ADC是12位的,用16位的HALFWORD存放DMA_INITSTRUCTDMA_MEMORYDATASIZEDMA_MEMORYDATASIZE_HALFWORD/接收一次数据后,目标内存地址自动后移,用来采集多个数据DMA_INITSTRUCTDMA_MEMORYINCDMA_MEMORYINC_ENABLE/接收一次数据后,设备地址是否后移,ADC不用后移,如果是内存需要后移DMA_INITSTRUCTDMA_PERIPHERALINCDMA_PERIPHERALINC_DISABLE/转换模式常用循环缓存模式。BUFFER写满后,自动回到初始地址开始传输/如果M2M开启了,则这个模式失效。另一种是NORMAL模式不循环,仅一次DMADMA_INITSTRUCTDMA_MODEDMA_MODE_CIRCULARDMA_INITSTRUCTDMA_PRIORITYDMA_PRIORITY_HIGH/DMA优先级,高DMA_INITSTRUCTDMA_BUFFERSIZEN/DMA缓存大小DMA_INITDMA1_CHANNEL1,/在完成A/D配置后使能DMA1通道1,之后ADC将通过DMA不断刷新指定的RAM区域DMA_ITCONFIGDMA1_CHANNEL1,DMA_IT_TC,ENABLE/失能传输完毕中断DMA_CMDDMA1_CHANNEL1,ENABLEVOIDTIM_CONFIGURATIONVOIDTIM_TIMEBASEINITTYPEDEFTIM_TIMEBASEINITSTRUCTURETIM_OCINITTYPEDEFTIM_OCINITSTRUCTURETIM_BDTRINITTYPEDEFTIM_BDTRINITSTRUCTURE/TIM1基本计数器设置(设置PWM频率)/频率TIM1_CLK/ARR1TIM1_CLK/TIM1_PERIOD1/通道输出的占空比TIM1_CCRX/TIM1_PERIOD1TIM_TIMEBASEINITSTRUCTURETIM_PERIODPERIOD/设置了在下一个更新事件装入活动的自动重装载寄存器周期的值。/它的取值必须在0X0000和0XFFFF之间TIM_TIMEBASEINITSTRUCTURETIM_PRESCALER0/设置了用来作为TIM1时钟频率除数的预分频值。/它的取值必须在0X0000和0XFFFF之间TIM_TIMEBASEINITSTRUCTURETIM_CLOCKDIVISION0/设置了时钟分割TIM_TIMEBASEINITSTRUCTURETIM_COUNTERMODETIM_COUNTERMODE_UP/TIM向上计数模式TIM_TIMEBASEINITSTRUCTURETIM_REPETITIONCOUNTER0/设置了周期计数器值。RCR向下计数器每次计数至0,会产生一个更新事件且计数/器重新由RCR值(N)开始计数。这意味着在PWM模式(N1)对应着/边沿对齐模式下PWM周期数/中央对齐模式下PWM半周期数/它的取值必须在0X00和0XFF之间TIM_TIMEBASEINITTIM1,/PRESCALERCONFIGURATION预分频值即时装入/TIM_PRESCALERCONFIGTIM1,0X0,TIM_PSCRELOADMODE_IMMEDIATE/TIM1_OC1模块设置(设置1通道占空比)TIM_OCINITSTRUCTURETIM_OCMODETIM_OCMODE_PWM2/TIM1脉冲宽度调制模式2/在向上计数时,当TIM1_CNTTIM1_CCR1时,通道1为有效电平,否则为无效电平。如果选择PWM1,则相反TIM_OCINITSTRUCTURETIM_OUTPUTSTATETIM_OUTPUTSTATE_ENABLE/使能输出比较状态TIM_OCINITSTRUCTURETIM_OUTPUTNSTATETIM_OUTPUTNSTATE_ENABLE/使能输出比较N状态TIM_OCINITSTRUCTURETIM_OCPOLARITYTIM_OCPOLARITY_HIGH/TIM1输出比较极性高TIM_OCINITSTRUCTURETIM_OCNPOLARITYTIM_OCNPOLARITY_HIGH/TIM1输出比较N极性高TIM_OCINITSTRUCTURETIM_PULSE0/设置了待装入捕获比较寄存器的脉冲值。/它的取值必须在0X0000和0XFFFF之间TIM_OC1INITTIM1,/CHANNEL2,CONFIGURATIONINPWMMODE/TIM_OCINITSTRUCTURETIM_PULSE0TIM_OC2INITTIM1,/死区设置/OSSRSTATE和OSSISTATE设置在运行模式下非工作状态选项TIM_BDTRINITSTRUCTURETIM_OSSRSTATETIM_OSSRSTATE_ENABLETIM_BDTRINITSTRUCTURETIM_OSSISTATETIM_OSSISTATE_ENABLE/写保护如若锁定级别为1,不能写入TIM1_BDTR寄存器的DTG/BKE/BKP/AOE位、/TIM1_CR2寄存器的OISX/OISXN位。系统复位后,只能写入一次LOCK位,其内容冻结直至复位TIM_BDTRINITSTRUCTURETIM_LOCKLEVELTIM_LOCKLEVEL_OFF/不锁任何位TIM_BDTRINITSTRUCTURETIM_DEADTIME40/这里调整死区大小00XFF基准是00138USTIM_BDTRINITSTRUCTURETIM_BREAKTIM_BREAK_DISABLE/失能TIM刹车输入TIM_BDTRINITSTRUCTURETIM_BREAKPOLARITYTIM_BREAKPOLARITY_HIGH/TIM刹车输入管脚极性高TIM_BDTRINITSTRUCTURETIM_AUTOMATICOUTPUTTIM_AUTOMATICOUTPUT_ENABLE/自动输出功能使能TIM_BDTRCONFIGTIM1,TIM_UPDATEDISABLECONFIGTIM1,DISABLE/使能或者失能TIM1更新事件TIM_CLEARFLAGTIM1,TIM_FLAG_UPDATETIM_ITCONFIGTIM1,TIM_IT_UPDATE,DISABLE/TIM1开启TIM_CMDTIM1,DISABLE/TIM1_OC通道输出PWM(一定要加)TIM_CTRLPWMOUTPUTSTIM1,DISABLE/使能或者失能TIM1的主输出/TIM_OCINITTYPEDEFTIM_OCINITSTRUCTURE/TIME2/TIMEBASECONFIGURATION/用于检测峰值TIM_DEINITTIM2TIM_TIMEBASEINITSTRUCTURETIM_PERIOD3599TIM_TIMEBASEINITSTRUCTURETIM_PRESCALER199TIM_TIMEBASEINITSTRUCTURETIM_CLOCKDIVISION0TIM_TIMEBASEINITSTRUCTURETIM_COUNTERMODETIM_COUNTERMODE_UPTIM_TIMEBASEINITTIM2,TIM_ARRPRELOADCONFIGTIM2,DISABLE/TIMITENABLE/TIM_CLEARFLAGTIM2,TIM_FLAG_UPDATETIM_ITCONFIGTIM2,TIM_IT_UPDATE,DISABLETIM_CMDTIM2,DISABLETIM_DEINITTIM3TIM_TIMEBASEINITSTRUCTURETIM_PERIOD180000/PINLVSHEZHI3TIM_TIMEBASEINITSTRUCTURETIM_PRESCALER99TIM_TIMEBASEINITSTRUCTURETIM_CLOCKDIVISION0TIM_TIMEBASEINITSTRUCTURETIM_COUNTERMODETIM_COUNTERMODE_UPTIM_TIMEBASEINITTIM3,TIM_CLEARFLAGTIM3,TIM_FLAG_UPDATETIM_ITCONFIGTIM3,TIM_IT_UPDATE,DISABLETIM_CMDTIM3,DISABLETIM_CMDTIM4,DISABLETIM_ITCONFIGTIM1,TIM_IT_UPDATE,ENABLETIM_CMDTIM1,ENABLETIM_CTRLPWMOUTPUTSTIM1,ENABLEVOIDDISPLAY1VOIDDELAYXMS6WRITE_COMMAND0X80DELAYXMS6WRITE_DATADELAYXMS6WHILEPINLVI0WRITE_DATAPINLVIDELAYXMS6II0WRITE_COMMAND0X800X40DELAYXMS6WRITE_DATADELAYXMS6WHILEDIANYAI0WRITE_DATADIANYAIDELAYXMS6II0DELAYXMS6WRITE_DATADELAYXMS6WHILETABLEI0WRITE_DATATABLEIDELAYXMS6II0VOIDDISPLAY2VOIDP3PINLVSHEZHI10P1PINLVSHEZHI/100P2PINLVSHEZHIP1100P3/10V1DIANYASHEZHI/10V2DIANYASHEZHI10DELAYXMS1WRITE_COMMAND0X38/设置162显示,57点阵,8位数据DELAYXMS1IFP10WRITE_COMMAND0X80DELAYXMS1WRITE_DATADELAYXMS1WRITE_DATASHUZIP2DELAYXMS1WRITE_DATASHUZIP3DELAYXMS1ELSEWRITE_COMMAND0X80DELAYXMS1WRITE_DATASHUZIP1DELAYXMS1WRITE_DATASHUZIP2DELAYXMS1WRITE_DATASHUZIP3DELAYXMS1WRITE_DATAHDELAYXMS1WRITE_DATAZDELAYXMS1WRITE_COMMAND0X800X05DELAYXMS1SPRINTFCHARMA,“12F“,NNI0WHILEMAI0WRITE_DATAMAIDELAYXMS1II0IFV10WRITE_COMMAND0X800X40DELAYXMS1WRITE_DATADELAYXMS1WRITE_DATASHUZIV2DELAYXMS1ELSEWRITE_COMMAND0X800X41DELAYXMS1WRITE_DATASHUZIV1DELAYXMS1WRITE_DATASHUZIV2DELAYXMS1WRITE_DATAVDELAYXMS1WRITE_DATAVOIDDISPLAY3VOIDSPRINTFCHARMA,“12F“,NNI0WRITE_COMMAND0X800X05DELAYXMS1WHILEMAI0WRITE_DATAMAIDELAYXMS1II0SPRINTFCHARTABLE,“43F“,XIANSHIWRITE_COMMAND0X800X45DELAYXMS1WHILETABLEI0WRITE_DATATABLEIDELAYXMS1II0DELAYXMS1WRITE_DATAVVOIDDISPLAY4VOIDP3PINLVSHEZHI10P1PINLVSHEZHI/100P2PINLVSHEZHIP1100P3/10DELAYXMS2WRITE_COMMAND0X38/设置162显示,57点阵,8位数据DELAYXMS2IFP10WRITE_COMMAND0X80DELAYXMS2WRITE_DATADELAYXMS2WRITE_DATASHUZIP2DELAYXMS2WRITE_DATASHUZIP3DELAYXMS2ELSEWRITE_COMMAND0X80DELAYXMS2WRITE_DATASHUZIP1DELAYXMS2WRITE_DATASHUZIP2DELAYXMS2WRITE_DATASHUZIP3DELAYXMS2WRITE_DATAHDELAYXMS2WRITE_DATAZDELAYXMS2VOIDDISPLAY5VOIDI0WRITE_COMMAND0X800X01DELAYXMS1WHILEOVERCURRENTI0WRITE_DATAOVERCURRENTIDELAYXMS1II0VOIDPINLVZHUANHUAVOIDIFPINLVSHEZHI15IFDEFDEBUG/FUNCTIONNAMEASSERT_FAILEDDESCRIPTIONREPORTSTHENAMEOFTHESOURCEFILEANDTHESOURCELINENUMBERWHERETHEASSERT_PARAMERRORHASOCCURREDINPUTFILEPOINTERTOTHESOURCEFILENAMELINEASSERT_PARAMERRORLINESOURCENUMBEROUTPUTNONERETURNNONE/VOIDASSERT_FAILEDU8FILE,U32LINE/USERCANADDHISOWNIMPLEMENTATIONTOREPORTTHEFILENAMEANDLINENUMBER,EXPRINTF“WRONGPARAMETERSVALUEFILESONLINEDRN“,FILE,LINE/INFINITELOOP/WHILE1ENDIFSTM32F10X_ITC/INCLUDES/INCLUDE“STM32F10X_ITH“INCLUDE“JUZHENKEYH“INCLUDEINCLUDE“MAINH“INCLUDE“LCD1602H“EXTERNUNSIGNEDSHORTADCCONVERTEDVALUE14EXTERNNVIC_INITTYPEDEFNVIC_INITSTRUCTURE1UNSIGNEDSHORTVALUE_BUF14EXTERNFLOATXIANSHIEXTERNU8USER,OKEXTERNU8PINLVSHEZHIEXTERNU8DIANYASHEZHIEXTERNU8V1,V2EXTERNU8P1,P2,P3EXTERNFLOATXIANSHIEXTERNFLOATPREXIANSHIEXTERNFLOATNNEXTERNU8QQEXTERNFLOATDELEXTERNU8PPFLOATERRORR0FLOATCOEFF205,03FLOATINTTERM_C0FLOATPREVERROR_C0EXTERNU8TIME50MSU16II0EXTERNVU16PULSEU8TEST0U8DMAFLAG1FLOATTABLE_118002000,2006,2013,2019,2025,2031,2038,2044,2050,2057,2063,2069,2075,2082,2088,2094,2100,2107,2113,2119,2125,2132,2138,2144,2151,2157,2163,2169,2176,2182,2188,2194,2201,2207,2213,2219,2225,2232,2238,2244,2250,2257,2263,2269,2275,2281,2288,2294,2300,2306,2312,2319,2325,2331,2337,2343,2349,2356,2362,2368,2374,2380,2386,2392,2399,2405,2411,2417,2423,2429,2435,2441,2447,2453,2460,2466,2472,2478,2484,2490,2496,2502,2508,2514,2520,2526,2532,2538,2544,2550,2556,2562,2568,2574,2580,2586,2592,2598,2604,2609,2615,2621,2627,2633,2639,2645,2651,2656,2662,2668,2674,2680,2686,2691,2697,2703,2709,2715,2720,2726,2732,2738,2743,2749,2755,2760,2766,2772,2777,2783,2789,2794,2800,2806,2811,2817,2822,2828,2834,2839,2845,2850,2856,2861,2867,2872,2878,2883,2889,2894,2900,2905,2910,2916,2921,2927,2932,2937,2943,2948,2953,2959,2964,2969,2975,2980,2985,2990,2996,3001,3006,3011,3016,3022,3027,3032,3037,3042,3047,3052,3058,3063,3068,3073,3078,3083,3088,3093,3098,3103,3108,3113,3118,3123,3127,3132,3137,3142,3147,3152,3157,3161,3166,3171,3176,3180,3185,3190,3195,3199,3204,3209,3213,3218,3222,3227,3232,3236,3241,3245,3250,3254,3259,3263,3268,3272,3277,3281,3286,3290,3294,3299,3303,3307,3312,3316,3320,3324,3329,3333,3337,3341,3346,3350,3354,3358,3362,3366,3370,3374,3378,3382,3386,3390,3394,3398,3402,3406,3410,3414,3418,3422,3426,3429,3433,3437,3441,3445,3448,3452,3456,3459,3463,3467,3470,3474,3478,3481,3485,3488,3492,3495,3499,3502,3506,3509,3513,3516,3519,3523,3526,3529,3533,3536,3539,3542,3546,3549,3552,3555,3558,3562,3565,3568,3571,3574,3577,3580,3583,3586,3589,3592,3595,3598,3600,3603,3606,3609,3612,3615,3617,3620,3623,3626,3628,3631,3634,3636,3639,3641,3644,3647,3649,3652,3654,3656,3659,3661,3664,3666,3669,3671,3673,3676,3678,3680,3682,3685,3687,3689,3691,3693,3695,3697,3700,3702,3704,3706,3708,3710,3712,3713,3715,3717,3719,3721,3723,3725,3726,3728,3730,3732,3733,3735,3737,3738,3740,3742,3743,3745,3746,3748,3749,3751,3752,3754,3755,3756,3758,3759,3760,3762,3763,3764,3765,3767,3768,3769,3770,3771,3772,3774,3775,3776,3777,3778,3779,3780,3780,3781,3782,3783,3784,3785,3786,3786,3787,3788,3789,3789,3790,3791,3791,3792,3792,3793,3794,3794,3795,3795,3796,3796,3796,3797,3797,3797,3798,3798,3798,3799,3799,3799,3799,3799,3800,3800,3800,3800,3800,3800,3800,3800,3800,3800,3800,3800,3800,3799,3799,3799,3799,3799,3798,3798,3798,3797,3797,3797,3796,3796,3796,3795,3795,3794,3794,3793,3792,3792,3791,3791,3790,3789,3789,3788,3787,3786,3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高中物理电磁感应模拟测试题
- 住宅全周期工程管控方案
- 遮阳用膜结构织物安装方案
- 排风高效过滤装置安装方案
- 土木工程用玻璃纤维增强筋应用技术方案
- 人工智能赋能中小企业供应链金融创新方案
- 建筑结构保温复合板设计方案
- 建筑用遮阳金属百叶帘设计方案
- 2026年物流科技公司供应链管理笔试题
- 建筑幕墙用陶板材料选型方案
- 2026年山东定期医师考核题库及答案
- 2026内蒙古乌海市国创数字产业发展有限责任公司招聘15人考试备考题库及答案解析
- 2026年济南商标审查协作中心招聘(10名)考试参考试题及答案解析
- ERCP诊疗指南课件
- 2026年高一历史学业水平考试知识点归纳总结(复习必背)
- 2026年华远国际陆港集团校园招聘(122人)笔试参考题库及答案解析
- 2025年国企档案专员《档案管理知识》真题及答案解析
- 国家事业单位招聘2025中国文联所属单位公开招聘笔试历年参考题库典型考点附带答案详解
- 2026天津市河北区产业发展集团有限公司社会招聘工作人员3人考试备考题库及答案解析
- 2026年四川省事业单位考试真题及答案
- 2026中国兵器审计中心(西安中心)招聘(5人)笔试参考题库及答案解析
评论
0/150
提交评论