找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3721|回复: 6
收起左侧

智能离网逆变器 eg8010单片机源程序

  [复制链接]
ID:979573 发表于 2022-3-8 21:14 | 显示全部楼层 |阅读模式
智能离网逆变器,组成有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. }
复制代码

51hei.png
Keil代码下载:
训练10.7z (2.7 MB, 下载次数: 83)
回复

使用道具 举报

ID:262 发表于 2022-3-10 02:40 | 显示全部楼层
楼主能分享一下原理图吗?
回复

使用道具 举报

ID:61140 发表于 2022-6-7 11:02 | 显示全部楼层
这个真的是EG8010源程序么?可以直接下载使用么,谢谢楼主!
回复

使用道具 举报

ID:666917 发表于 2022-9-22 10:14 | 显示全部楼层
eg8010,怎么还要代码?
回复

使用道具 举报

ID:97678 发表于 2022-9-24 09:25 | 显示全部楼层
发一下原理图,分享资料!!!
回复

使用道具 举报

ID:323213 发表于 2022-10-20 21:45 | 显示全部楼层
不知道是否是这个原理图。
SCH.png
回复

使用道具 举报

ID:563947 发表于 2022-11-2 22:30 来自手机 | 显示全部楼层
这个程序中看不到软件与硬件的说明,少PWM子程序
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表