欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STC15單片機利用ESP8266控制LED 源程序
[打印本頁]
作者:
老古董2號
時間:
2020-9-15 10:17
標題:
STC15單片機利用ESP8266控制LED 源程序
輸入ESPKLED,LED燈亮,輸入ESPGLED,燈滅
單片機源程序如下:
/**************************************************
*
* 平臺:keil5 + STC154K58S
* 功能:輸入ESPKLED,LED燈亮,輸入ESPGLED,燈滅
* 日期:2020年7月22日
*
***************************************************/
# include "config.h"
# include "GPIO.h"
# include "delay.h"
# include "USART.h"
# include <string.h>
# define uchar unsigned char
# define uint unsigned int
uchar s;
uchar flag;
uchar a;
sbit LED = P0^0;
void delay() //延時1000ms
{
uchar i;
for(i=0;i<5;i++)
{
delay_ms(200);
}
}
void GPIO_init() //將P3口設置為準雙向口
{
GPIO_InitTypeDef GPIO_init3;
GPIO_init3.Mode = GPIO_PullUp;
GPIO_init3.Pin = GPIO_Pin_All;
GPIO_Inilize(GPIO_P3, &GPIO_init3);
}
/******************************************************
*
* 功能:串口初始化
* 描述:8位波特率可變,使用定時器1,波特率為115200
* 使用P30,P31口
*
*
*******************************************************/
void USART_init1()
{
COMx_InitDefine USART_init1;
USART_init1.UART_Mode = UART_8bit_BRTx; //模式
USART_init1.UART_BRT_Use = BRT_Timer1; //使用定時器1作為波特率發生器
USART_init1.UART_BaudRate = 115200UL; //波特率
USART_init1.Morecommunicate = DISABLE; //多機通訊禁止
USART_init1.UART_RxEnable = ENABLE; //允許接收
USART_init1.BaudRateDouble = DISABLE; //波特率不加倍
USART_init1.UART_Interrupt = ENABLE; //允許中斷
USART_init1.UART_Polity = PolityLow; //優先級低(默認)
USART_init1.UART_P_SW = UART1_SW_P30_P31; //USART端口
USART_init1.UART_RXD_TXD_Short = DISABLE; //內部短路RXD與TXD, 做中繼
USART_Configuration(USART1, &USART_init1);
}
/****************************************************
*
* 功能:ESP8266模塊初始化
* 描述:利用AT指令,
* 設置WIFI名稱為:ESPESP1
* 密碼:12345678
* 端口:3333
* IP地址:192.168.4.1(默認)
*
*****************************************************/
void ESP8266_init()
{
for(s=0;s<3;s++) //多進行幾次初始化
{
PrintString1("AT\r\n");
PrintString1("AT+RST\r\n");
delay();
PrintString1("AT+CWMODE=3\r\n");
delay();
PrintString1("AT+CWSAP=\"ESPESP1\",\"12345678\",5,3\r\n");
delay();
PrintString1("AT+RST\r\n");
delay();
PrintString1("AT+CIPMUX=1\r\n");
delay();
PrintString1("AT+CIPSERVER=1,3333\r\n");
delay();
}
}
/**************************************
功能描述:握手成功與否函數
入口參數:uint8 *a
返回值:位
***************************************/
bit Hand(uchar *a)
{
if(strstr(RX1_Buffer,a)!=NULL) //判斷字符串a是否是字符串Rec_Buf的子串
return 1; //如果字符串a是字符串Rec_Buf的子串
else
return 0; //如果字符串a不是字符串Rec_Buf的子串
}
void main()
{
GPIO_init();
delay_ms(10);
USART_init1();
ES = 1; //允許串口1中斷
EA = 1; //允許總中斷
delay_ms(20);
ESP8266_init();
while (1)
{
delay_ms(1);
if(COM1.RX_TimeOut > 0) //超時計數
{
if(--COM1.RX_TimeOut == 0)
{
if(COM1.RX_Cnt > 0)
{
if(Hand("ESPKLED"))
{
ES = 0; //關閉串口1中斷
LED = 0;
ES = 1; //打開串口1中斷
}
if(Hand("ESPGLED"))
{
ES = 0; //關閉串口1中斷
LED = 1;
ES = 1; //打開串口1中斷
}
}
COM1.RX_Cnt = 0;
}
}
}
}
復制代碼
所有程序51hei提供下載:
ESP8266終極版控制LED.zip
(121.54 KB, 下載次數: 155)
2020-9-15 10:14 上傳
點擊文件名下載附件
ESP8266
下載積分: 黑幣 -5
作者:
suoguocs
時間:
2022-1-17 10:39
這個怎么沒人贊呢?
作者:
cmyldd
時間:
2022-4-10 09:10
如果可以連接阿里云就更加完美了
作者:
wjhhhhh
時間:
2022-7-27 13:22
suoguocs 發表于 2022-1-17 10:39
這個怎么沒人贊呢?
如果直接用8266控制,節省STC15單片機,可能就會有人點贊; 如果連接阿里云就更加完美; 如果直接使用每月10圓以下的sim卡+家用路由器+8266來控制,可能會得到大大的贊。
作者:
zyb572168
時間:
2022-8-1 10:03
正好用的上,學習學習
作者:
小新
時間:
2022-9-19 07:55
cmyldd 發表于 2022-4-10 09:10
如果可以連接阿里云就更加完美了
我連接的百度云
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1