历史上的今天
今天是:2024年10月28日(星期一)
2019年10月28日 | ESP8266的单片机程序,一页版
2019-10-28 来源:51hei
单片机源程序如下:
#include #define uint unsigned int #define uchar unsigned char sbit lcd0=P1^0; sbit lcd1=P1^1; sbit lcd2=P1^2; sbit lcd3=P1^3; sbit lcd4=P1^4; sbit lcd5=P1^5; sbit lcd6=P1^6; sbit lcd7=P1^7; sbit key_config_Ap=P2^1; sbit key_config_Air=P2^3; uchar usartbuf[50]={0}; uchar sn,checksum,usrtlen,usarrtflag,num_usart; uchar send_3_config,send_7_error,send_8_dev,send_9_dev; /*wifi模组请求设备信息,mcu回复*/ uchar mcu_send_1[75]={ 0xff,0xff,0x00,0x47,0x02,0x55,0x00,0x00, 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34, 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x34, 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31, 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31, 0x34,0x39,0x33,0x35,0x33,0x31,0x33,0x36, 0x30,0x66,0x38,0x66,0x34,0x32,0x37,0x64, 0x38,0x64,0x33,0x34,0x35,0x39,0x36,0x62, 0x33,0x37,0x33,0x62,0x38,0x61,0x39,0x30, 0x00,0x00,0x55}; /*wifi模组与设备mcu心跳,mcu回复*/ uchar mcu_send_2[9]={0xff,0xff,0x00,0x05,0x08,0x55,0x00,0x00,0x55}; /*设备mcu通知wifi模组进入配置模式,mcu发送*/ uchar mcu_send_3[10]={0xff,0xff,0x00,0x06,0x09,0x55,0x00,0x00,0x11,0x55}; /*设备mcu重置wifi,mcu发送*/ uchar mcu_send_4[9]={0xff,0xff,0x00,0x05,0x0b,0x55,0x00,0x00,0x55}; /*wifi模组向设备通知工作状态变化,mcu回复*/ uchar mcu_send_5[9]={0xff,0xff,0x00,0x05,0x0e,0x55,0x00,0x00,0x55}; /*wifi模组请求重启mcu,mcu回复*/ uchar mcu_send_6[9]={0xff,0xff,0x00,0x05,0x10,0x55,0x00,0x00,0x55}; /*非法消息通知,mcu回复*/ uchar mcu_send_7[10]={0xff,0xff,0x00,0x06,0x12,0x55,0x00,0x00,0x11,0x55}; /*wifi模组读取设备当前状态,mcu回复*/ uchar mcu_send_8[11]={0xff,0xff,0x00,0x07,0x04,0x55,0x00,0x00,0x03,0x11,0x55}; /*设备向wifi主动上报当前状态,mcu发送*/ uchar mcu_send_9[11]={0xff,0xff,0x00,0x07,0x05,0x55,0x00,0x00,0x04,0x11,0x55}; /*wifi模组控制设备,mcu回复*/ uchar mcu_send_10[9]={0xff,0xff,0x00,0x05,0x04,0x55,0x00,0x00,0x55}; /*mcu通知wifi进入可绑定模式,mcu发送*/ uchar mcu_send_12[9]={0xff,0xff,0x00,0x05,0x15,0x55,0x00,0x00,0x55}; /**********************************************************************/ /**********************************************************************/ /**********************************************************************/ /**********************************************************************/ /**********************************************************************/ /**********************************************************************/ /**********************************************************************/ /**********************************************************************/ /*延时函数*/ void Delay_ms(unsigned char z) { unsigned char x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /*初始化函数*/ void Usart_Init() { TMOD=0x21; //定时器0工作方式1,定时器1工作方式2 TH0=(65536-10000)/256; TL0=(65536-10000)%256; TH1=0xfd; TL1=0xfd; TR0=1; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; } /*mcu发送数据程序*/ void Usart_SendArrang(uchar *dat,uchar len) { unsigned char i; for(i=0;i ES=0; SBUF=dat[i]; while(!TI); TI=0; ES=1; } } /*定时器0中断*/ void Timer0_Int() interrupt 1 { TH0=(65536-10000)/256; TL0=(65536-10000)%256; num_usart++; } /*串口中断函数*/ void Usart_Int() interrupt 4 { num_usart=0; ET0=1; usartbuf[usrtlen++]=SBUF; if(usrtlen==2) { if(usartbuf[0]!=0xff||usartbuf[1]!=0xff) { usrtlen=0; } } RI=0; } /*改变设备状态*/ void Control_Mcu() { switch(usartbuf[9]) { case 0x01: if(usartbuf[10]==0x01) { lcd0=0; } else if(usartbuf[10]==0) { lcd0=1; } break; case 0x02: if(usartbuf[10]==0x02) { lcd1=0; } else if(usartbuf[10]==0) { lcd1=1; } break; case 0x04: if(usartbuf[10]==0x04) { lcd2=0; } else if(usartbuf[10]==0) { lcd2=1; } break; case 0x08: if(usartbuf[10]==0x08) { lcd3=0; } else if(usartbuf[10]==0) { lcd3=1; } break; case 0x10: if(usartbuf[10]==0x10) { lcd4=0; } else if(usartbuf[10]==0) { lcd4=1; } break;
史海拾趣
|
完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT等)。其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。 我们知道,在PLC中划有各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位 ...… 查看全部问答> |
|
各位大侠,我用的wince5.0+s3C2451的平台,系统sleep正常,但是Wakeup后提示: ERROR: Power Handler function yield to low priority thread. 查了相关资料,说是在驱动的电源处理power_up和power_down部分不要使用同步对象和系统调用,但是似 ...… 查看全部问答> |
|
我现在有一个西门子模块的GPRS彩信猫。我需要接受送来的彩信。哪么。。。。我用AT+CMGR可以读短信。。。短信里有URL,接下来应该怎么做才能下载彩信的图片呢… 查看全部问答> |
|
arm上运行的Linux内核与http://www.kernel.org上发布的内核有啥关系?翻阅了一天的资料,云里雾里的。基本是以下几种说法: (1):arm linux = Linux + arm补丁(http://www.arm.linux.org.uk/developer) (2):通过skyeye来移植 (3):用已有的arm lin ...… 查看全部问答> |
|
众多学员反应,在自学PLC的过程中,有些人能在纸上画梯形图但无法输入电脑送进PLC执行、有些人对软件基本上就是拿来就用,但确无法理解梯形图的真正含义、其中有一个最让我哭笑不得的学员,为了PWM k10 k10 Y00的指令,把东莞市 ...… 查看全部问答> |
|
俺用的是STM32F103VB,72MHz运行。USART2,半双工通讯,DMA发送,中断接收。在速率为19200、115200时一切正常。 但是项目要求速率达到0.5Mbps,更改波特率设置(用的是FWLib)后,通讯无法进行。示波器查出发送正确。我在接收中断函数 入口 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 08:56 编辑 大家的进度怎么样了啊!一起聊一下,交流一下自己的心得,成果啊!让大家一起进步啊! … 查看全部问答> |
|
传一本英文版的书 Programming embedded system in c and c++ 最近下载了一本中文版的,中文版的翻译的太过草率了。于是,好不容易找了本英文版的。 有需要的尽管拿去,呵呵 … 查看全部问答> |




