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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5500|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)非接觸式紅外溫度計(jì)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:259935 發(fā)表于 2017-12-10 22:35 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
上一周做的課程設(shè)計(jì)
mcu90615傳感器 lcd1602顯示數(shù)據(jù)

單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #include "usart.h"
  3. #include "iic.h"  
  4. #include "1602.h"
  5. /*
  6. Keil:uVision2
  7. MCU:STC90C516RD+
  8. 硬件接法:
  9. GY-MCU90615---STM32
  10. 1、GY-MCU90615_RX---STM32_TX,STM32復(fù)位將發(fā)送A5 45 EA給模塊
  11. 2、STM32_TX---FT232,STM32將數(shù)據(jù)上傳給上位機(jī)
  12. 3、GY-MCU90615_TX---STM32_RX,接收模塊溫度數(shù)據(jù)
  13. 軟件說(shuō)明:
  14. 該程序采用串口方式獲取模塊角度數(shù)據(jù),波特率9600
  15. 所以得用上位機(jī)先將模塊串口設(shè)置成9600,然后再進(jìn)行以上操作:
  16. 指令:A5 AE 53,模塊需復(fù)位生效

  17. 注:中斷函數(shù)位于stc_it.c

  18. */
  19. void send_com(u8 datas)
  20. {
  21.         u8 bytes[3]={0};
  22.         bytes[0]=0xa5;
  23.         bytes[1]=datas;//功能字節(jié)
  24.         USART_Send(bytes,3);//發(fā)送幀頭、功能字節(jié)、校驗(yàn)和
  25. }
  26. int main(void)
  27. {
  28.         float TO=0,TA=0,tem=0;
  29.     u8 sum=0,i=0;
  30.         int datas[2]={0};
  31.         Usart_Int(9600);
  32.         send_com(0x45);//發(fā)送讀方位角指令
  33.         Init_LCD1602();
  34.         LCD1602_write_com(0x80);
  35.         LCD1602_write_word("Temperature:");


  36.         while(1)
  37.         {
  38.                 if(Receive_ok)//串口接收完畢
  39.                 {
  40.                         for(sum=0,i=0;i<(TEMP_data[3]+4);i++)//TEMP_data[3]=4
  41.                         sum+=TEMP_data[i];
  42.                         if(sum==TEMP_data[i])//校驗(yàn)和判斷
  43.                         {
  44.                                 TO=(float)((TEMP_data[4]<<8)|TEMP_data[5])/100;//得到真實(shí)溫度
  45. //                                datas[0]=(TEMP_data[4]<<8)|TEMP_data[5];//放大100倍的物體溫度
  46.                                 TA=(float)((TEMP_data[6]<<8)|TEMP_data[7])/100;//得到真實(shí)溫度
  47. //                                datas[1]=(TEMP_data[6]<<8)|TEMP_data[7];//放大100倍的環(huán)境溫度
  48. //                                send_out(datas,2,0x45);//上傳給上位機(jī)
  49.                                 tem=(float)TO+2.0;
  50.                                 tem=(float)tem*100;
  51.                                 LCD1602_write_com(0x80+0x41);
  52.                                 LCD1602_write_data((int)tem%100000/10000 + 0x30);
  53.                                 LCD1602_write_data((int)tem%10000/1000 + 0x30);
  54.                                 LCD1602_write_data((int)tem%1000/100 + 0x30);
  55.                                 LCD1602_write_word(".");
  56.                                 LCD1602_write_data((int)tem%100/10 + 0x30);
  57.                                 LCD1602_write_data((int)tem%10 + 0x30);
  58.                                 LCD1602_write_word("`C");

  59.                         }
  60.                         Receive_ok=0;//處理數(shù)據(jù)完畢標(biāo)志
  61.                 }
  62.         }
  63. }
復(fù)制代碼

所有資料51hei提供下載:
紅外溫度計(jì)程序.zip (193 KB, 下載次數(shù): 65)


評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
326564735 + 5 贊一個(gè)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:197152 發(fā)表于 2018-3-16 08:27 | 只看該作者
請(qǐng)問(wèn)程序是否可用???幫同學(xué)做的想直接幫他焊接好
回復(fù)

使用道具 舉報(bào)

板凳
ID:259935 發(fā)表于 2018-3-29 13:08 | 只看該作者
吳海晨o 發(fā)表于 2018-3-16 08:27
請(qǐng)問(wèn)程序是否可用???幫同學(xué)做的想直接幫他焊接好

可以用 我是用模塊的 你的硬件部分這個(gè)我就不知道合不合適了
回復(fù)

使用道具 舉報(bào)

地板
ID:395024 發(fā)表于 2018-9-7 15:31 | 只看該作者
請(qǐng)問(wèn)樓主,90614傳感器可以用這個(gè)代碼嗎
回復(fù)

使用道具 舉報(bào)

5#
ID:395024 發(fā)表于 2018-9-7 15:33 | 只看該作者
請(qǐng)問(wèn)樓主,90614傳感器可以用這個(gè)程序嗎
回復(fù)

使用道具 舉報(bào)

6#
ID:377075 發(fā)表于 2018-11-9 11:53 | 只看該作者
樓主,用51單片機(jī)能做嗎
回復(fù)

使用道具 舉報(bào)

7#
ID:293046 發(fā)表于 2018-11-27 18:52 | 只看該作者
謝謝       分享                    
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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