欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4513|回復(fù): 0
收起左側(cè)

單片機(jī)溫濕度檢測(cè)RS485多機(jī)通信仿真+主、從機(jī)源程序

[復(fù)制鏈接]
ID:1011991 發(fā)表于 2022-3-22 14:10 | 顯示全部樓層 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif Screenshot_20220322_135253.jpg


單片機(jī)源程序如下:
#include "reg52.h"
#include "lcd1206.h"

sbit Rs485_die=P3^7; //高電平輸出  低電平輸入
sbit Data=P1^0;              //傳感器接口
sbit KEY1=P1^1;              //傳感器接口
u8 tempt1;

unsigned char RH_TP[6];


void serial_init(void);
u8 SEND_data(u8 addr);
void delay_1ms(unsigned int t);


void DISplay_RT_1()           //傳感器1的數(shù)據(jù)        顯示
{
///顯示溫度
    lcd_pos(0X03);
         LcdWriteData(RH_TP[0]+'0');
        lcd_pos(0X04);
         LcdWriteData(RH_TP[1]+'0');

///顯示濕度
     lcd_pos(0X43);
         LcdWriteData(RH_TP[2]+'0');
        lcd_pos(0X44);
         LcdWriteData(RH_TP[3]+'0');


}

void DISplay_RT_2()           //傳感器2的數(shù)據(jù)
{
///顯示溫度
    lcd_pos(0X0C);
         LcdWriteData(RH_TP[0]+'0');
        lcd_pos(0X0D);
         LcdWriteData(RH_TP[1]+'0');

///顯示濕度
     lcd_pos(0X4C);
         LcdWriteData(RH_TP[2]+'0');
        lcd_pos(0X4D);
         LcdWriteData(RH_TP[3]+'0');


}




main()
{
         

        LcdInit();
        serial_init();

  Rs485_die=1;
  TB8=1;SM2=0; Rs485_die=1;         //fa song di zi        

lcd_pos(0x00);                           ///溫度1
LcdWriteData( 'T');
  lcd_pos(0x01);
LcdWriteData('1');
  lcd_pos(0x02);
LcdWriteData( ':');
  lcd_pos(0x06);
LcdWriteData( 'C');

                                                        //濕度1
lcd_pos(0x40);
LcdWriteData( 'R');
  lcd_pos(0x41);
LcdWriteData('1');
  lcd_pos(0x42);
LcdWriteData( ':');
  lcd_pos(0x46);
LcdWriteData( 'H');


  lcd_pos(0x09);                ///溫度2
LcdWriteData( 'T');
  lcd_pos(0x0A);
LcdWriteData( '2');
  lcd_pos(0x0B);
LcdWriteData( ':');
   lcd_pos(0x0F);
LcdWriteData( 'C');


   lcd_pos(0x49);                ///濕度2
LcdWriteData( 'T');
  lcd_pos(0x4A);
LcdWriteData( '2');
  lcd_pos(0x4B);
LcdWriteData( ':');
   lcd_pos(0x4F);
LcdWriteData( 'H');

  Data=1;

                        
  while(1)
  {


         TB8=1;
     delay_1ms(5);
         SEND_data(0x01);         //獲取主機(jī)一的數(shù)據(jù)
         delay_1ms(5);
            DISplay_RT_1();              //顯示獲取的數(shù)據(jù)

         TB8=1;
     delay_1ms(5);
         SEND_data(0x02);         //獲取主機(jī)2的數(shù)據(jù)
         delay_1ms(5);
            DISplay_RT_2();              //顯示獲取的數(shù)據(jù)

         if(KEY1==0)
         {
          Data=0;
         
         }else
         {
             Data=1;
         }

  }

}


void delay_1ms(unsigned int t)
{
unsigned int x,y;
for(x=t;x>0;x--)
  for(y=110;y>0;y--);
}
//緩沖區(qū)初始化


//串口初始化函數(shù)
void serial_init(void)
{
TMOD=0x20; //定時(shí)器1工作于方式2
TH1=0xfd;  
TL1=0xfd; //波特率為9600
PCON=0;
SCON=0xd0;  //串口工作于方式3
TR1=1;  //開啟定時(shí)器
TI=0;        //                                                           清除中斷標(biāo)志位
RI=0;
//ES=1;                                                //打開接收中斷
//EA=1;                                                //打開總中斷
SM2=0;
}
//發(fā)送數(shù)據(jù)函數(shù)
u8 SEND_data(u8 addr)
{
      u8 i=0;
         
      Rs485_die=1;
      TB8=1;
          TI=0;
          SBUF=addr;
          while(!TI);
          TI=0;
            
          Rs485_die=0;
          for(i=0;i<6;i++)
          {
          RI=0;
          while(!RI);
          RH_TP[ i] =SBUF;
          RI=0;

          }

         Rs485_die=1;
}

Keil代碼與Proteus仿真下載: 溫濕度檢測(cè)單片機(jī)485多機(jī)通信.zip (145.06 KB, 下載次數(shù): 155)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

無效樓層,該帖已經(jīng)被刪除
無效樓層,該帖已經(jīng)被刪除

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表