完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,楼主初学单片机,在原有程序上更改了一下某电子秤的源程序,能不能运行还不知道。现在想把89c52单片机和ESP8266接起来,能够把电子秤程序里的输出值“yuliang”通过ESP8266传输到手机上 ,并且用手机控制单片机P21的蜂鸣器鸣叫。 ESP8266的程序网上好多我就没发了 电子秤主程序如下:
#include "main.h" #include "HX711.h" #include "uart.h" #include "LCD1602.h" unsigned long HX711_Buffer = 0; unsigned long Weight_danzhong = 0; unsigned long Weight_zongzhong = 0; unsigned long yuliang = 0; long Weight_xianzhong = 0; unsigned char flag = 0; bit Flag_ERROR = 0; ***it speak= P1^7; ***it led=P2^3; #define GapValue 400 //**************************************************** //主函数 //**************************************************** void main() { Uart_Init(); Send_Word("Welcome to use!n"); Init_LCD1602(); LCD1602_write_com(0x80); LCD1602_write_word("Welcome to use!"); Delay_ms(1000); //延时,等待传感器稳定 Get_danzhong(); Get_zongzhong(); while(1) { EA = 0; Get_Weight(); //称重 EA = 1; Scan_Key(); //显示当前药品余量个数 if( Flag_ERROR == 1) { Send_Word("ERRORn"); LCD1602_write_com(0x80+0x40); LCD1602_write_word("ERROR "); speak=0; } else { speak=1; Send_ASCII(yuliang/1000 + 0X30); Send_ASCII(yuliang%1000/100 + 0X30); Send_ASCII(yuliang%100/10 + 0X30); Send_ASCII(yuliang%10 + 0X30); Send_Word(" n"); LCD1602_write_com(0x80+0x40); LCD1602_write_data(yuliang/1000 + 0X30); LCD1602_write_data(yuliang%1000/100 + 0X30); LCD1602_write_data(yuliang%100/10 + 0X30); LCD1602_write_data(yuliang%10 + 0X30); LCD1602_write_word(" n"); } } } //扫描按键 void Scan_Key() { if(KEY1 == 0) { Delay_ms(5); if(KEY1 == 0) { while(KEY1 == 0); Get_danzhong(); //称单重 Delay_ms(5); while(KEY1 == 0); Get_zongzhong(); } } } //**************************************************** //称重 //**************************************************** void Get_Weight() { Weight_xianzhong = HX711_Read(); yuliang = Weight_xianzhong/Weight_danzhong; //获取数量 if(Weight_zongzhong/Weight_xianzhong > 3) { led = 0; } if(Weight_xianzhong > 0) { Weight_xianzhong = (unsigned int)((float)Weight_xianzhong/GapValue); //计算实物的实际重量 if(Weight_xianzhong > 5000) //超重报警 { Flag_ERROR = 1; } else { Flag_ERROR = 0; } } else { Weight_xianzhong = 0; // Flag_ERROR = 1; //负重报警 } } //**************************************************** //获取单重和总重 //**************************************************** void Get_zongzhong() { Weight_zongzhong = HX711_Read(); } void Get_danzhong() { Weight_danzhong = HX711_Read(); } //**************************************************** //MS延时函数(12M晶振下测试) //**************************************************** void Delay_ms(unsigned int n) { unsigned int i,j; for(i=0;i for(j=0;j<123;j++); } 工程文件打包上传了,有无大手子能帮忙加入ESP8266传输"yuliang"到手机上 ,并且用手机控制单片机P21的蜂鸣器鸣叫的程序。只需要51单片机的程序。 |
|
相关推荐
1个回答
|
|
多谢楼主分享这些不错的学习资料。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》 第十六章 WATCH_DOG实验
460 浏览 0 评论
【敏矽微ME32G070开发板免费体验】+ADC测试与LED点亮
418 浏览 0 评论
飞凌嵌入式-ELFBOARD ELF 2的硬件知识分享--核心板
352 浏览 0 评论
【敏矽微ME32G070开发板免费体验】\\+Lora通信终端产品开发项目
514 浏览 0 评论
1576 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11970 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 15:54 , Processed in 0.597518 second(s), Total 68, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号