本次設計采用了32單片機來完成,真正的完成了電能的采集與管理
單片機源程序如下:
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "usart3.h"
- #include "esp8266.h"
- #include "string.h"
- #include "timer.h"
- #include "led.h"
- #include "adc.h"
- #include "lcd.h"
- /*
- 項目的主要內容:STM32配合ESP8266模塊與服務器數據交互
- ESP8266的連接:USART3(PB10、PB11)
- 如何判斷數據接收完全?
- 1、出現了換行符;
- 2、如果超過10ms了都沒有下一條數據(TIM7來進行10ms的定時)。
- */
- int main(void)
- { char a[15];
- float k,kk;
- float w;
- u8 * m="zhinengchazuo";
- u16 adcx;
- float temp;
- delay_init(); //延時函數初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級
- uart_init(115200); //串口初始化為115200
- //LED_Init(); //LED端口初始化
- LCD_Init();
- Adc_Init(); //ADC初始化
- POINT_COLOR=RED;//設置字體為紅色
- LCD_ShowString(60,50,200,16,16,m);
- //LCD_ShowString(60,70,200,16,16,"信通學院");
- //LCD_ShowString(60,90,200,16,16,"智能插座");
- LCD_ShowString(60,110,200,16,16,"2019/12/9");
- //顯示提示信息
- POINT_COLOR=BLUE;//設置字體為藍色
- LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:");
- LCD_ShowString(60,150,200,16,16," V :0.000V");
- LCD_ShowString(60,170,200,16,16," W :0.000W");
- //delay_init(); //延時函數初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
- //uart_init(115200); //串口初始化為115200
- usart3_init(115200); //串口初始化為115200
- LED_Init();
-
- esp8266_start_trans(); //esp8266進行初始化
-
- while(1)
- {
- if(USART3_RX_STA&0xf000)
- {
-
- adcx=Get_Adc_Average(ADC_Channel_1,10);
- LCD_ShowxNum(156,130,adcx,4,16,0);//顯示ADC的值
- temp=(float)adcx*(3.3/4096);
- adcx=temp;
- w=adcx*4;
- LCD_ShowxNum(156,150,w,1,16,0);//顯示電壓值
- temp-=adcx;
- temp*=1000;
- LCD_ShowxNum(172,150,temp,3,16,0X80);
-
- kk=(float)temp*(3.3/4000);
- adcx=kk;
- k=w/2;
- LCD_ShowxNum(156,170,k,1,16,0);//顯示電壓值
- kk-=adcx;
- kk*=1000;
- LCD_ShowxNum(172,170,kk,3,16,0X80);
-
- delay_ms(250);
-
-
- printf("USART3_RX_BUF=%s\r\n",USART3_RX_BUF);
- sprintf(a,"%s",USART3_RX_BUF);
- printf("a=%s",a);
-
- if(strstr((const char*)a,"on")) GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- if(strstr((const char*)a,"off")) GPIO_SetBits(GPIOB,GPIO_Pin_5);
- USART3_RX_STA=0;
- }
-
- }
- }
復制代碼
所有程序51hei提供下載:
設計程序代碼.7z
(235.75 KB, 下載次數: 23)
2020-2-10 01:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|