加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

基于51单片机的wifi自动校时时钟设计

6小时前
261
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

程序运行图:

85d6ecfd745f4806af993b9ca3d9aff6.png

部分程序:

#include <REGX52.H>

#include "lcd_1602.h"

#include "key.h"

#include "ds18b20.h"

#include "time.h"

#include "uart.h"

u8 time_init[];

u8 wendu=25;

extern u16 i;

extern u8 flag;

unsigned char ch;

unsigned char RX_BUF[35],RX_DAT[35],RX_CNT=0,RX_OVER=0;

void Delay10ms(unsigned int c)   //误差 0us

{

unsigned char a, b;

for (;c>0;c--)

{

for (b=38;b>0;b--)

{

for (a=130;a>0;a--);

}

}

}

void Uart_IRQ() interrupt 4       //串口接收中断函数

{

unsigned x;

if(RI)

{

ch=SBUF;

if(ch!='S')//开始

{

RX_BUF[RX_CNT++]=ch;

}

else         //结束

{

for(x=0;x<RX_CNT;x++)

{

RX_DAT[x]=RX_BUF[x];

}

RX_CNT=0;

RX_OVER=1;

}

RI=0;//清标志位

}

}

void Uart_Init(void)                             //串口初始化函数

{

TMOD |=0x20;

TH1=0xfd;

TL1=0xfd;  //9600

TR1=1;

REN=1;   //允许串口接收

SM0=0;SM1=1; //串口工作方式为方式1

EA=1;  // 打开中断总开关

ES=1;  //打开串口中断

}

void main()

{

Timer0Init();

LcdInit();

int_init();

Uart_Init();

while(1)

{

wendu=DS18B20_GET();

Time_panduan();

if(RX_OVER==1)

{

wifi_time();

Delay10ms(300);

RX_OVER=0;

}

if(flag==1)

{

key1();//加

key2();//减

}

display();

}

}

 

  • 有需要资料的可了解一下.docx

相关推荐

电子产业图谱