找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6281|回復: 3
打印 上一主題 下一主題
收起左側(cè)

stm32+ADE7758的智能電表源碼

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:273465 發(fā)表于 2018-1-8 21:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基于ADE7758的智能電表,完美源程序

單片機源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "key.h"
  6. #include "timer.h"
  7. #include "lcd.h"
  8. #include "rtc.h"
  9. #include "my.h"
  10. #include "myeth.h"
  11. #include "spi.h"
  12. #include "ade7758.h"
  13. #include "remote.h"
  14. #include "text.h"

  15. u8 tRxBuf[300],tTxBuf[300],tDataBuf[900];
  16. extern u8 MyCommunicationMode;
  17. int main(void)
  18. {
  19.         u8 key,t;
  20.         u8 DataBuf[300]={0x00,0x22,0x50,0x22,0x60,0x22,0x23,0x51,0x00,0x45,0x23,0x01,0x89,0x37,0x12};
  21.         u32 ans,Overflow,rec,i;
  22.         u8 ans1[4];
  23.         u16 len;
  24.         delay_init();               //延時初始化
  25.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統(tǒng)中斷優(yōu)先級分組2
  26.         uart_init(115200);           //串口波特率設置
  27.         LED_Init();                          //LED初始化
  28.         KEY_Init();                          //按鍵初始化
  29.         LCD_Init();                         //LCD初始化
  30.         FSMC_SRAM_Init();                //初始化外部SRAM  
  31.         My_RTC_Init();                  //RTC初始化
  32.         TIM3_Int_Init(999,839); //100khz的頻率,計數(shù)1000為10ms
  33.         mymem_init(SRAMIN);                //初始化內(nèi)部內(nèi)存池
  34.         mymem_init(SRAMEX);                //初始化外部內(nèi)存池
  35.         mymem_init(SRAMCCM);        //初始化CCM內(nèi)存池
  36.         W25QXX_Init(); //W25QXX Flash初始化
  37.         ADE_IDInitial();
  38.         ADE_Init();
  39.         Remote_Init();
  40.         font_init();
  41.         POINT_COLOR = RED;                 //紅色字體
  42.         
  43.         
  44.         for(i=0;i<812;i++)   //向W25QXX寫數(shù)據(jù)
  45.         {
  46.                 t=i%4;
  47.                 DataBuf[i]=t;
  48.         }
  49.         W25QXX_Write(DataBuf,VariableAddr,812);//寫入測試數(shù)據(jù)
  50.                
  51.          
  52.         while(1)
  53.         {
  54.                 key=Remote_Scan();
  55.          
  56.                 LCD_ShowString(30,140,200,16,16,"key0:Ethernet key1:RS485");
  57.                 MyCommunicationMode=0;
  58.                 if (key==Rem0) MyCommunicationMode=EthernetMODE;
  59.                 else if (key==Rem1) MyCommunicationMode=RS485MODE; else
  60.                          if (key==Rem2) MyCommunicationMode=ZigbeeMODE;
  61.                 if (MyCommunicationMode==EthernetMODE)
  62.                 {
  63.                         IwIPInit();
  64.                         EtherNetCommunicationProtocol(tRxBuf,tTxBuf,tDataBuf);
  65.                 } else
  66.                 if (MyCommunicationMode==RS485MODE)
  67.                 {
  68.                         RS485_Init(9600);//485初始化
  69.                         NorCommunicationProtocol(tRxBuf,tTxBuf,tDataBuf);
  70.                 } else if (MyCommunicationMode==ZigbeeMODE)
  71.                 {
  72.                         NorCommunicationProtocol(tRxBuf,tTxBuf,tDataBuf);
  73.                 }

  74.         }
  75. }
復制代碼

所有資料51hei提供下載:
meter加顯示 路由器.rar (1.32 MB, 下載次數(shù): 112)


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

使用道具 舉報

沙發(fā)
ID:357107 發(fā)表于 2018-8-27 15:12 | 只看該作者
你好有硬件電路圖嗎
回復

使用道具 舉報

板凳
ID:357107 發(fā)表于 2018-8-27 15:13 | 只看該作者
你好有硬件電路圖嗎
回復

使用道具 舉報

地板
ID:308785 發(fā)表于 2021-5-6 22:00 | 只看該作者
這個有一定的參考價值
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表