找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5098|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

智能離網(wǎng)逆變器 eg8010單片機源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:979573 發(fā)表于 2022-3-8 21:14 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
智能離網(wǎng)逆變器,組成有eg8010,控制電壓輸出,還有個串口屏

單片機源程序如下:
  1. #include "come.h"
  2. void main()
  3. {
  4.         unsigned int len=0;
  5.         prot_mode();
  6.         Uart2_Init();
  7.         Uart3_Init();
  8.         Uart4_Init();
  9.         Timer0Init();
  10.         RS485_init();
  11.         queue_reset();
  12.         wait_ms(300);
  13.         Reset_Screen();
  14.         while(1)
  15.         {
  16.                 check_modbus();
  17.                 if(eg8010_button)EG8010_ctr();
  18.                 len=queue_find_cmd(buffer,CMD_MAX_SIZE);
  19.                 if(len>0){PressMessage((PCTRL_MSG)buffer);}
  20.                 if(time_count>100)
  21.                 {
  22.                         time_count=0;
  23.                         ALL_ReadText();
  24.                         EG8010_Dispose();
  25.                 }
  26.         }
  27. }
  28. void prot_mode()
  29. {
  30.         P0M1=0x00;P0M0=0x10;
  31.         P1M1=0xc0;P1M0=0x00;
  32.         P2M1=0xff;P2M0=0x00;
  33.         P3M1=0x00;P3M0=0x00;
  34.         P4M1=0x00;P4M0=0xff;

  35. }
  36. void PressMessage(PCTRL_MSG msg)
  37. {
  38.         unsigned char cmd_type=msg->cmd_type;
  39.         unsigned char ctrl_msg=msg->ctrl_msg;
  40.         unsigned char control_type=msg->control_type;
  41.         unsigned int screen_id=PTR2U16(&msg->screen_id);
  42.         unsigned int control_id=PTR2U16(&msg->control_id);
  43.         unsigned long int value=PTR2U32(msg->param);
  44.         if(cmd_type==0xB1)
  45.         {
  46.                 switch(control_type)
  47.                 {
  48.                         case 0x10:Button(screen_id,control_id,msg->param[1]);break;
  49.                         case 0x11:Text(screen_id,control_id,msg->param);break;
  50.                         case 0x13:Slider(screen_id,control_id,value);break;
  51.                 }
  52.         }
  53. }
  54. void Slider(unsigned int screen_id,control_id,unsigned long int value)
  55. {
  56.        
  57.         if(screen_id==0x0004&&control_id==0x0002)
  58.         {
  59.                 //Reset_Screen();
  60.                 SetBackLight(255-(unsigned char)value);
  61.         }
  62. }
  63. void Button(unsigned int screen_id,control_id,state)
  64. {
  65.         if(screen_id=0x0003&&control_id==0x0007&&state==0&&eg8010_flag==0)
  66.         {
  67.                 eg8010_button=eg8010_flag=1;
  68.         }
  69. }
  70. void Text(unsigned int screen_id,control_id,unsigned char *str)
  71. {
  72.         if(screen_id=0x0003&&control_id==0x0004)
  73.         {
  74.                 sscanf(str,"%d",vol_num);
  75.         }
  76. }
  77. void ALL_ReadText()
  78. {
  79.         ReadText(2,9);
  80.         ReadText(2,10);
  81.         ReadText(2,11);
  82. }
  83. void EG8010_Dispose()
  84. {
  85.          unsigned int  temp[2]={0};
  86.         if(vol_num>0&&vol_num<=230)
  87.         {
  88.                 eg8010_vol[1]=(u8)vol_num*51/75;
  89.                 temp[0]=eg8010_vol[1];
  90.         }
  91.         if(eg8010_flag)
  92.                 if(temp[1]!=temp[0])
  93.                 {
  94.                         eg8010_flag=0;
  95.                         eg8010_count=2;
  96.                         temp[1]=temp[0];
  97.                 }
  98.                 if(eg8010_count==0&&eg8010_flag==0)
  99.                 {
  100.                         eg8010_count=3;
  101.                         SetText(2,9,(u16)(eg_buffer[0]*75/51));
  102.       SetText_d(2,10,(float)(eg_buffer[1]*50/255));
  103.       SetText_d(2,11,(float)(eg_buffer[1]*50/255)*(u16)(eg_buffer[0]*75/51));
  104.                 }
  105. }
復(fù)制代碼


Keil代碼下載:
訓練10.7z (2.7 MB, 下載次數(shù): 97)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:262 發(fā)表于 2022-3-10 02:40 | 只看該作者
樓主能分享一下原理圖嗎?
回復(fù)

使用道具 舉報

板凳
ID:61140 發(fā)表于 2022-6-7 11:02 | 只看該作者
這個真的是EG8010源程序么?可以直接下載使用么,謝謝樓主!
回復(fù)

使用道具 舉報

地板
ID:666917 發(fā)表于 2022-9-22 10:14 | 只看該作者
eg8010,怎么還要代碼?
回復(fù)

使用道具 舉報

5#
ID:97678 發(fā)表于 2022-9-24 09:25 | 只看該作者
發(fā)一下原理圖,分享資料。!
回復(fù)

使用道具 舉報

6#
ID:323213 發(fā)表于 2022-10-20 21:45 | 只看該作者
不知道是否是這個原理圖。

SCH.png (180.85 KB, 下載次數(shù): 116)

SCH.png
回復(fù)

使用道具 舉報

7#
ID:563947 發(fā)表于 2022-11-2 22:30 來自手機 | 只看該作者
這個程序中看不到軟件與硬件的說明,少PWM子程序
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表