求电路原理图和代码,最好标好

用stc89c52rc芯片与esp8266的结合,控制三色LED彩灯的颜色变化和亮度变化,可以实现用手机app远程控制。

1.首先要明确下,如果是要完整的电路图和代码,不经过自己思考,那应该是比较难达到目的。

2.如果是要求一个方案、思路,那就好办。
第一步,确认ESP8266是指8个脚的板子,还是小系统板?

img

img

img

如果是第1个,操作起来会麻烦。
你可以先把OneNet串口固件烧录到8266模块里,然后就可以通过串口数据发送到51单片机。但是这个方案没有比较好用的APP,OneNet可以用大屏显示来实现,另外,不确定STC89C52这个单片机能不能实现3色灯的控制。
如果是二个,搜索blinker和blynk,有很详细的教程实现APP控制led三色灯,APP都是免费的。
如果是第三个,只要画图做个底板就可以和单片机串口连接,操作方法同第二个。

结论:
可以不用单片机的话执行第二个的方案。
一定要单片机并且只能STC89C52的话,ESP8266建议换ESP32,把单片机接 ESP32串口2上面,非常好解决问题,因为接入云平台以后会有很多log数据下发到串口,干扰你对RGB灯颜色的控制,你可以编程使用ESP32的串口2发送颜色数据。
以下几个关键词多搜索一下自然有答案了。
Blynk、 8266、 ESP32、Blinker、OneNet串口固件

是控制三个三个led灯还是灯条,这两个的控制方式是完全不一样的。如果是三个led灯,只需要at指令让stc的片子输出对应的pwm就行了。如果是灯条,则需要在收到命令后对灯条的ic进行通信。

这个需求只用esp8266就能做到,没必要再用51了

确实,还不如直接用esp8266或者esp32……….用
51+8266也行我之前做的是stm32+8266+onenet平台的(有app和网页可以控制)stm32的需要不?

https://download.csdn.net/download/swordjun/11108972?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-download-2~default~OPENSEARCH~Rate-6.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-download-2~default~OPENSEARCH~Rate-6.pc_feed_download_top3ask

img

stc89c52rc芯片与8051芯片完全兼容,用8051芯片控制三色彩灯的电路图太多了,只需把8051换成stc89c52rc即可(D0-D7)共8个针脚可以编程传输数据,一个三色灯用三个针脚和一个接地线。
esp8266与stc89c52rc关联

只需将 stc89c52rc 的 TX/RX 连接到 esp8266 的 RX/TX 并在汇编/C 中编写代码,即可根据需要将数据传输到 Esp8266 模块。并且波特率可以比默认的 115200bps 高很多。
注意事项,esp8266电压是 3.3V
下面是相关应用
把51替换成stc89c52rc即可

https://blog.csdn.net/qq_41984175/article/details/104566513
https://blog.csdn.net/Dreamcatcher_yxc/article/details/106905505
https://m.elecfans.com/article/574618.html
下面这个链接是答案,望采纳
http://www.360doc.com/content/19/1229/23/12109864_883011992.shtml

img


stc89c52rc的电路可以参考该图 ,与esp8266通信使用的是串口通信,esp8266可设置为AT命令格式,也可以是其它方式。控制LED亮度可使用PWM控制,最好使用灌电流,限流电阻可根据自己的需求调整。


/*******************************************
ESP8266控制

**********************************************/

#ifndef __ESP8266_H_
#define __ESP8266_H_

#include "uart.h"
#include "Delay.h"



char code     TSD[]="AT+CIPSEND=0,10\r\n",         //向0号机发送10字节数据
            restart[]="AT+RST\r\n" ,             //重启
            Model_1[]="AT+CWMODE=1\r\n",         //模式1  Station模式
            Model_2[]="AT+CWMODE=2\r\n",         //模式2  AP模式
            Model_3[]="AT+CWMODE=3\r\n",         //模式3  AP兼Station模式
            SMC[]="AT+CIPMUX=1\r\n",             //启动多连接
            SSC[]="AT+CIPMUX=0\r\n",             //启动单连接
              ESM[]="AT+CIPSERVER=1,8080\r\n",    //开启服务器模式
            send[]="AT+CIPSEND=",                //发送数据
            terminator[]="\r\n",                //结束换行符
            link_server[]="AT+CIPSTART=\"TCP\"\,\"",//连接到服务器
            Link_WIFI[]="AT+CWJAP=\"",
            TCP_DisconnectMode[]="AT+CIPCLOSEMODE=0",
            TCP_Disconnect[]="AT+CIPCLOSE";

void UartSendStr(char *P)
{
    while(*P)
    {
        UartSend(*P++);
    }
}

void InitEsp8266()            //ESP8266初始化
{

    Delayms(2000);
    UartSendStr(SMC);
    Delayms(500);
    UartSendStr(ESM);
    
}

void ESP8266Send(unsigned char *p)
{
    unsigned char buf[10];
    buf[0] = '0';
    buf[1] = ',';
    buf[2] = (strlen(p)/10)+0x30;
    buf[3] = (strlen(p)%10)+0x30;
    
    UartSendStr(send);
    UartSendStr(buf);
    UartSendStr(terminator);
    Delayms(100);
    UartSendStr(p);
    UartSendStr(terminator);
    
}

#endif

img

CSDN真的是各路大神,懂啥的都有

https://download.csdn.net/download/swordjun/11108972?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-download-2~default~OPENSEARCH~Rate-6.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-download-2~default~OPENSEARCH~Rate-6.pc_feed_download_top3ask

关注一下,要考的