標(biāo)題: 無功補(bǔ)償控制器STM32程序 智能電容控制器 [打印本頁]

作者: wujh_    時(shí)間: 2017-4-24 08:07
標(biāo)題: 無功補(bǔ)償控制器STM32程序 智能電容控制器
無功補(bǔ)償控制器程序:

源碼預(yù)覽:
  1. /***********************************************************************
  2. * 文 件 名 :main.c
  3. * 描    述 :智能電容控制器
  4. *
  5. * 程序版本: V1.0
  6. * 日    期: 2016-11-18   
  7. *
  8. * IAR開發(fā)環(huán)境  版本 V2.20.1
  9. * ST庫函數(shù)     版本 V2.2.0
  10. ***********************************************************************/

  11. #include "pbdata.h"//引入自定義公共頭文件

  12. void BSP_Configuration(void);//硬件初始化函數(shù)聲明

  13. /***********************************************************************
  14. *   函 數(shù) 名: main
  15. *   功能說明: c程序入口
  16. *   形    參:無
  17. *   返 回 值: 錯(cuò)誤代碼(無需處理)   
  18. ***********************************************************************/
  19. int main(void)
  20. {
  21.   BSP_Configuration();  // 硬件驅(qū)動(dòng)初始化函數(shù)
  22.   W25QXX_Demo();
  23.   RN7302_Init();
  24.   while(1)              // 主程序循環(huán),反復(fù)執(zhí)行循環(huán)體里的語句
  25.   {
  26.     KeyDispose();
  27.     PCF8563_Demo();
  28.     TempSamplingDemo3();
  29.     UART3_Send_Str();
  30.     RN7302RD(bank0,RN7302_UA,4);
  31.   //  delay_ms(500);
  32.   }
  33. }
  34. /***********************************************************************
  35. *   函 數(shù) 名: BSP_Configuration
  36. *   功能說明: 初始化硬件設(shè)備。只需要調(diào)用一次。該函數(shù)配置CPU寄存器和外設(shè)的
  37.               寄存器并初始化一些全局變量。
  38. *   形    參:無
  39. *   返 回 值: 無
  40. ***********************************************************************/
  41. void BSP_Configuration(void)
  42. {  
  43.   CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//時(shí)鐘速度為內(nèi)部16M,1分頻,
  44.   
  45.   I2C_Configuration();
  46.   TempSamplingConfiguration();
  47.   lcd_config();
  48.   FLASH_Write();
  49.   Tim3_Init();          // 調(diào)用TIM3初始化程序  
  50.   Tim4_Init();
  51.   Tim3_Lcd();
  52.   clear_screen();
  53.   display_zhiming();
  54.   delay_ms(1000);
  55.   clear_screen();
  56.   W25QXX_GPIO();
  57.   RN7302_GPIO();
  58.   UART3_Congfiguration();
  59.   rim();                // 打開總中斷
  60. }

  61. /*斷言函數(shù):它的作用是在編程的過程中為程序提供參數(shù)檢查*/
  62. #ifdef USE_FULL_ASSERT
  63. void assert_failed(u8* file,u32 line)
  64. {
  65.   while(1)
  66.   {

  67.   }
  68. }
  69. #endif


復(fù)制代碼
  1. #include "pbdata.h"   //引入自定義公共頭文件

  2. /*********************************************************************************
  3. *   函 數(shù) 名: delay_us
  4. *   功能說明: 微秒延時(shí)程序,注意此函數(shù)的運(yùn)行環(huán)境為(16M時(shí)鐘速度)
  5. *   形    參:nCount要延時(shí)的微秒數(shù),輸入nCount=1微妙
  6. *   返 回 值: 無
  7. *********************************************************************************/
  8. void delay_us(u16 nCount)   //16M 晶振時(shí)  延時(shí) 1個(gè)微妙
  9. {
  10.     nCount*=3;//等同于 nCount=nCount*3  相當(dāng)于把nCount變量擴(kuò)大3倍
  11.     while(--nCount);//nCount變量數(shù)值先減一,再判斷nCount的數(shù)值是否大于0,大于0循環(huán)減一,等于0退出循環(huán)。
  12. }

  13. /*********************************************************************************
  14. *   函 數(shù) 名: delay_ms
  15. *   功能說明: 毫秒延時(shí)程序,注意此函數(shù)的運(yùn)行環(huán)境為(16M時(shí)鐘速度)
  16. *   形    參:nCount要延時(shí)的毫秒數(shù),輸入nCount=1毫秒
  17. *   返 回 值: 無
  18. *********************************************************************************/
  19. void delay_ms(u16 nCount)  //16M 晶振時(shí)  延時(shí) 1個(gè)毫秒
  20. {
  21.     while(nCount--)//先判斷while()循環(huán)體里的nCount數(shù)值是否大于0,大于0循環(huán),減一執(zhí)行循環(huán)體,等于0退出循環(huán)。
  22.     {
  23.         delay_us(1000);//調(diào)用微妙延時(shí)函數(shù),輸入1000等譯演示1毫秒。
  24.     }
  25. }

  26. /************************************************************************************************
  27. *   函 數(shù) 名: Get_decimal
  28. *   功能說明: 獲得數(shù)值小數(shù)部分
  29. *   形    參:dt輸入數(shù)據(jù) deci小數(shù)位數(shù),最多保留4位小數(shù)
  30. *   返 回 值: 放大后的小數(shù)部分
  31. *************************************************************************************************/
  32. u16 Get_decimal(double dt,u8 deci)   //獲得數(shù)值小數(shù)部分double
  33. {
  34.     long x1=0;
  35.     u16 x2=0,x3=0;
  36.    
  37.     if(deci>4) deci=4;
  38.     if(deci<1) deci=1;
  39.     x3=(u16)pow(10, deci);
  40.     x1=(long)(dt*x3);
  41.     x2=(u16)(x1%x3);
  42.     return x2;
  43. }

  44. /************************************************************************************************
  45. *   函 數(shù) 名: FLASH_Write
  46. *   功能說明: 內(nèi)部EEPROM的讀寫
  47. *   形    參:dt輸入數(shù)據(jù) deci小數(shù)位數(shù),最多保留4位小數(shù)
  48. *   返 回 值: 放大后的小數(shù)部分
  49. *************************************************************************************************/
  50. void FLASH_Write(void)
  51. {
  52.   u16 val=0;
  53.   FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);
  54.   FLASH_Unlock(FLASH_MEMTYPE_DATA);
  55.   FLASH_ProgramByte(CTL,0);
  56.   FLASH_ProgramByte(CTH,0);
  57.   val=((FLASH_ReadByte(CTH))<<8)|(FLASH_ReadByte(CTL));
  58.   if(!val)
  59.   {
  60.     FLASH_ProgramByte(ZERO,0);
  61.     FLASH_ProgramByte(CTL,100);
  62.     FLASH_ProgramByte(GYH,0);
  63.     FLASH_ProgramByte(GYL,250);
  64.     FLASH_ProgramByte(QYH,0);
  65.     FLASH_ProgramByte(QYL,175);
  66.     FLASH_ProgramByte(GWZ,75);
  67.     FLASH_ProgramByte(TMX,99);
  68.     FLASH_ProgramByte(QMX,93);
  69.     FLASH_ProgramByte(TTS,15);
  70.     FLASH_ProgramByte(QTS,15);
  71.     FLASH_ProgramByte(VHR,1);
  72.     FLASH_ProgramByte(IHR,3);
  73.     FLASH_ProgramByte(SL,0);
  74.     FLASH_ProgramByte(SL+1,0);
  75.     FLASH_ProgramByte(SL+2,0);
  76.     FLASH_ProgramByte(SK,62);
  77.     FLASH_ProgramByte(SK+1,86);
  78.     FLASH_ProgramByte(SK+2,01);
  79.   }
  80.   FLASH_Lock(FLASH_MEMTYPE_PROG);
  81. //  val=FLASH_ReadByte(add_byte);
  82. //  return
  83. }

  84. //===============================================================================================//
復(fù)制代碼



iar源碼下載(注意這個(gè)不是Keil工程,這個(gè)是iar寫的,如果沒有安裝iar的就不要下載了):
硬件電路資料:無(未完成)
iar工程源碼: iar工程 無功補(bǔ)償控制器源程序.7z (1.08 MB, 下載次數(shù): 169)

作者: gqy001    時(shí)間: 2017-11-9 11:05
正需要,謝謝!
作者: hkldd    時(shí)間: 2017-12-13 09:26
正需要,好東東,謝謝!
作者: lanpizhu    時(shí)間: 2018-1-22 01:50
啥用也沒有

作者: y1z2f4    時(shí)間: 2018-8-4 08:59
看看什么情況?
作者: hunyuanqi    時(shí)間: 2018-8-4 19:57
看看,學(xué)習(xí)學(xué)習(xí)。。。。。。。。。。。。。。。。。。。。!
作者: 任我學(xué)    時(shí)間: 2018-8-9 15:55
不知道有沒有對(duì)大型電機(jī)機(jī)組瞬時(shí)啟動(dòng)或停止相對(duì)應(yīng)動(dòng)態(tài)補(bǔ)償功能
作者: lxr12    時(shí)間: 2018-10-27 22:38
開源了,學(xué)習(xí)一下
作者: lxr12    時(shí)間: 2018-10-27 22:39
不知道有沒有對(duì)大型電機(jī)機(jī)組瞬時(shí)啟動(dòng)或停止相對(duì)應(yīng)動(dòng)態(tài)補(bǔ)償功能,動(dòng)態(tài)補(bǔ)償有的,設(shè)計(jì)要求高
作者: 4611832336    時(shí)間: 2018-11-14 15:22
不是我想要的
作者: lxr12    時(shí)間: 2018-12-24 23:49
ACS712

作者: Edwardlyo    時(shí)間: 2019-4-19 20:31
怎么用

作者: Domoke    時(shí)間: 2019-7-25 10:47
學(xué)習(xí)學(xué)習(xí)
作者: lbq666    時(shí)間: 2019-8-17 16:43
有原理圖嗎
作者: zhengguo_wang    時(shí)間: 2019-8-19 10:28
謝謝,這個(gè)對(duì)于產(chǎn)品很有用
作者: 戰(zhàn)士小尾    時(shí)間: 2019-8-22 17:04
學(xué)習(xí)啦
作者: yjwpm    時(shí)間: 2019-12-24 12:57
謝謝,這個(gè)對(duì)于產(chǎn)品很有用
作者: momo12390    時(shí)間: 2020-2-26 00:13
感謝感謝,來看看能不能用。
作者: kkkllqw    時(shí)間: 2020-4-14 14:14
學(xué)習(xí)一下 謝謝啊
作者: ddmmei    時(shí)間: 2020-4-15 16:00
好東西
作者: 我會(huì)想你的    時(shí)間: 2021-8-14 15:14
學(xué)習(xí)一下還有這么強(qiáng)大東西分享
作者: jdzou    時(shí)間: 2021-11-13 11:18
剛好能用上,謝謝。
作者: shenchaobiao    時(shí)間: 2021-11-13 19:31
任我學(xué) 發(fā)表于 2018-8-9 15:55
不知道有沒有對(duì)大型電機(jī)機(jī)組瞬時(shí)啟動(dòng)或停止相對(duì)應(yīng)動(dòng)態(tài)補(bǔ)償功能

你也真敢想,這個(gè)對(duì)各家公司來說都是機(jī)密資料。
作者: 鄭治    時(shí)間: 2023-5-10 15:38
謝謝謝!我還不知道,這些源碼對(duì)應(yīng)的硬件系統(tǒng)是哪個(gè),有沒有誰能提供硬件的資料
作者: 鄭治    時(shí)間: 2023-5-10 15:46
我馬上搞硬件,有沒有人幫我整出一臺(tái)樣機(jī)來。
作者: 鄭治    時(shí)間: 2023-5-10 15:48
無功補(bǔ)償控制器STM32程序 智能電容控制器,硬件誰有,發(fā)一下。
作者: 鄭治    時(shí)間: 2023-5-10 15:51
需要硬件資料,誰有發(fā)來。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1