云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 毕业论文 - 基于51单片机和NRF24L01的无线温度监控 - 图文

毕业论文 - 基于51单片机和NRF24L01的无线温度监控 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/29 17:15:23

void write_data(uchar date) { lcd_rs=1; lcd_rw=0; P0=date; lcd_en=1; delayms(1); lcd_en=0; }

void lcd_init() { lcd_en=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); }

void write_str(uchar x,uchar y,uchar *s) { switch(y) { case 0: write_com(0x08+x); break; case 1: write_com(0x08+0x40+x); break; } while(*s) { write_data(*s); s++; } }

/********************最大最小值显示函数************************/

void write_maxmin(uchar add,uchar date) { uchar shi,ge; shi=date/10; ge=date;

没有天生的聪明 只有不懈的努力

36

writeComm(0x80+add); //写入地址 writeData(0x30+shi); writeData(0x30+ge); }

void keyscan() { uchar slnum; if(K1==0) { delayMs(1); if(K1==0) //确认功能键被按下 { slnum++; //功能选择计数变量加1, while(!K1); //等待按键释放,防抖动 }writeComm(0x0f); } if(slnum==1) {

flag=1; //标志位为1,表示有功能键被按下,此时不在执行温度检测 writeComm(0x80+14); //光标定位到MIN位置 writeComm(0x0f); //光标开始闪速 } if(slnum==2) { writeComm(0x80+4); //光标定位到MAX位置 writeComm(0x0f); //光标开始闪速 } if(slnum==3) { slnum=0; //功能键第三下按下后,功能计数清零 flag=0; //标志位恢复,执行温度转化 writeComm(0x0c); //关闭光标闪速 } if(slnum!=0) //只有在功能键被按下后,K2,K3才有效 { if(K2==0) { delayMs(1); if(K2==0) {

while(!K2); if(slnum==1) { MIN++; if(MIN==99) {MIN=0;} writeComm(0x80+14); //MIN++显示的位置 writeComm(0x0f); write_maxmin(14,MIN); writeComm(0x80+14); } if(slnum==2) { MAX++; if(MAX==99) {MAX=0;} writeComm(0x80+4); writeComm(0x0f); write_maxmin(4,MAX); writeComm(0x80+4); } } } if(K3==0) delayMs(1); if(K3==0) { while(!K3); if(slnum==1) { MIN--; if(MIN==-1) {MIN=99;} writeComm(0x80+14); writeComm(0x0f); write_maxmin(14,MIN); writeComm(0x80+14); } if(slnum==2) { MAX--; if(MAX==-1){MAX=99;} writeComm(0x80+4); writeComm(0x0f); write_maxmin(4,MAX); writeComm(0x80+4); }

没有天生的聪明 只有不懈的努力

38

} } }

void main() { uchar rx_buf[4]={0,0}; lcd_init(); init_io(); write_com(0x80+0);write_data('M'); write_com(0x80+1);write_data('A'); write_com(0x80+2);write_data('X'); write_com(0x80+3);write_data(':'); write_com(0x80+10);write_data('M'); write_com(0x80+11);write_data('I'); write_com(0x80+12);write_data('N'); write_com(0x80+13);write_data(':'); write_com(0xc0+0);write_data('N'); write_com(0xc0+1);write_data('O'); write_com(0xc0+2);write_data('W'); write_com(0xc0+3);write_data(':'); while(1) {

keyscan(); RX_mode(); RxPacket(rx_buf);

write_com(0x80+0x40+6); write_data(table[rx_buf[0]]); write_data(table[rx_buf[1]]); write_data(rx_buf[2]); write_data(table[rx_buf[3]]);

temp=((rx_buf[0])*10)+(rx_buf[1]); if((temp>=MAX)|(temp<=(MIN-1))) {BJ=0;BEEF=0; } else{ BJ=1;BEEF=1; } } }

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

void write_data(uchar date) { lcd_rs=1; lcd_rw=0; P0=date; lcd_en=1; delayms(1); lcd_en=0; } void lcd_init() { lcd_en=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); } void write_str(uchar x,uchar y,uchar *s) { switch(y) { case 0: write_com(0x08+x); break; case 1: write_com(0x08+0x40+x); break; } while(*s) { write_

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com