資源簡介
該資源設計內容包含非接觸式數字體溫計的原理圖,PCD,實物圖,以及完整程序;
資料包括完整題目,芯片資料,以及所用到的單片機資料。
簡單介紹題目內容:
一、畢業設計(論文)的內容
學習和掌握單片機匯編或C語言程序設計技術以及相應的調試技術,熟悉單片機的開發環境以及編程、編譯和下載。以AT89S52或其他單片機和非接觸式紅外溫度傳感器為核心,設計制作一個帶有數顯功能的非接觸式體溫計。
二、畢業設計(論文)的要求與數據
要求:1. 在單片機開發環境下,編程和在線實時仿真及程序燒寫。
2. 要求測溫精度達到0.2攝氏度以上。
3. 可設置測溫的上下限閥值,超過設定溫度值時可發出報警。

代碼片段和文件信息
#include“at89x52.h“?
#include“intrins.h“ //?需要用_nop_()函數來延時?
//************************************?
#define??uint??unsigned?int?
#define??uchar?unsigned?char?
#define??Nack_counter??10?
//**************端口定義**************?
//LCD控制線接口?
uchar?flag1;
uchar?code?tab[]?=?{“Temp?is:“}; //?8?
uchar?num;
uint??temph?templ;
uint??T;
sbit??s1?=?P1^0;
sbit??s2?=?P1^1;
sbit??s3?=?P1^2;
sbit??RS=P2^5;?
sbit??RW=P2^6;?
sbit??LCDE=P2^7;?
sbit??speak?=?P1^7;
//mlx90614端口定義?
sbit??SCL=P2^3;//時鐘線?
sbit??SDA=P2^4;//數據線?
//************數據定義****************?
bdata?uchar?flag;???????????????????//可位尋址數據?
sbit??bit_out=flag^7;?
sbit??bit_in=flag^0;?
uchar?DataHDataLPecreg;?
//************函數聲明*****************************************?
void???start_bit();?????????????????//MLX90614發起始位子程序?
void???stop_bit();??????????????????//MLX90614發結束位子程序?
uchar??rx_byte(void);???????????????//MLX90614接收字節子程序?
void???send_bit(void);??????????????//MLX90614發送位子程序?
void???tx_byte(uchar?dat_byte);?????//MLX90614接收字節子程序?
void???receive_bit(void);???????????//MLX90614接收位子程序?
void???delay(uint?N);???????????????//延時程序?
uint???memread(void);???????????????//讀溫度數據?
void???init1602(void);??????????????//LCD?初始化子程序?
void???chk_busy_flg(void);??????????//LCD判斷忙子程序?
void???dis_cmd_wrt(uchar?cmd);??????//LCD寫命令子程序?
void???dis_dat_wrt(uchar?dat);??????//LCD寫數據子程序?
void???display(uint?Tem);???????????//顯示子程序?
void???displaytitle(); //顯示標題
void???KeyScan(); //鍵盤掃描
void???Warn(); //判斷是否需要報警
void???Delayms(uint?z); ???? //延時若干ms
//*************主函數*******************************************?
void?main()?
{?
?uint?Tem;?
?temph?=?3700; //?最高溫度
?templ?=?2000; //?最低溫度
?speak?=?1; //?蜂鳴器?0叫?1?不叫
?//初始化MLX90614?
?SCL=1;SDA=1;_nop_();?
?_nop_();_nop_();_nop_();?
?SCL=0;?
?delay(1000);?
?SCL=1;?
?//初始化液晶?
?init1602();?
?//顯示文字?
?displaytitle();?
?while(1)?
?{?
Tem=memread(); //?讀取溫度
display(Tem); //?顯示溫度
Warn(); //?判斷是否需要報警
Delayms(1000);? //?延時1S
// KeyScan(); ? //?鍵盤掃描
?}?
}?
//*********輸入轉換并顯示*********?
void?display(uint?Tem)?
{??
uchar?temp[6]?i;
T=Tem*2;???
if(T>=27315)? //?顯示正溫度
{?
/*
由于傳感器采用17位AD?
所以可以精確到0.01°C
詳見中文資料?P?2
*/
T=T-27315; //?溫度轉換?開爾文?->?攝氏度?中文資料?P26?
temp[0]?=?T?/?10000?+?0x30; //?溫度百位
if?(temp[0]?==?0x30) temp[0]?=?0x20; //?如果百位為0?不顯示百位
temp[1]?=?T?%?10000?/?1000?+?0x30; //?溫度十位
temp[2]?=?T?%?10000?%?1000?/?100?+?0x30;//?溫度個位
temp[3]?=?0x2e; //?小數點
temp[4]?=?T?%?10000?%?1000?%?100?/?10?+?0x30; //?小數點后1位
temp[5]?=?T?%?10000?%?1000?%?100?%?10?+?0x30; //?小數點后2位
dis_cmd_wrt(0xc8); //?在液晶第二行?第9列開始顯示溫度
for?(i?=?0;?i?6;?i?++)
{
dis_dat_wrt(temp[i]); //?顯示溫度
}
}?
//===========================?
else? ???//?顯示負溫度
{?
T=27315-T;?
temp[0]?=?T?/?10000?+?0x30;
if?(temp[0]?==?0x30) temp[0]?=?0x20;
temp[1]?=?T?%?10000?/?1000?+?0x30;
temp[2]?=?T?%?10000?%?1000?/?100?+?0x
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????19182??2012-06-01?20:29??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計
?????文件???????9827??2012-04-11?20:50??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.c
?????文件???????4287??2012-06-01?20:29??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.hex
?????文件?????????80??2012-06-01?20:29??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.lnp
?????文件????????785??2012-06-01?20:29??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.LST
?????文件??????24577??2012-06-01?20:29??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.M51
?????文件??????23340??2012-06-01?20:29??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.OBJ
?????文件????????465??2012-06-01?20:29??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.plg
?????文件??????95230??2012-04-11?20:53??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.uvgui.QYZ
?????文件??????91917??2012-04-11?20:22??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.uvgui_QYZ.bak
?????文件??????56150??2012-06-01?20:31??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.uvopt
?????文件??????13329??2012-06-01?20:31??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計.uvproj
?????文件???????5252??2012-04-11?20:53??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計_uvopt.bak
?????文件??????13359??2012-04-05?20:28??非接觸式數字體溫計的設計\Program\非接觸式數字體溫計的設計_uvproj.bak
?????文件?????361018??2010-12-16?23:09??非接觸式數字體溫計的設計\相關資料\AT89S52?CN.pdf
?????文件?????251651??2010-12-16?23:07??非接觸式數字體溫計的設計\相關資料\AT89S52?EN.pdf
?????文件????1332645??2012-04-06?20:41??非接觸式數字體溫計的設計\相關資料\IMG146.jpg
?????文件????1131466??2012-04-06?20:41??非接觸式數字體溫計的設計\相關資料\IMG147.jpg
?????文件????1219362??2012-04-06?20:41??非接觸式數字體溫計的設計\相關資料\IMG148.jpg
?????文件????1025183??2012-04-06?20:41??非接觸式數字體溫計的設計\相關資料\IMG149.jpg
?????文件????1167212??2012-04-06?20:41??非接觸式數字體溫計的設計\相關資料\IMG150.jpg
?????文件?????533472??2007-10-15?15:04??非接觸式數字體溫計的設計\相關資料\MLX90614\MLX90614?SMBus?implementation?in?PIC?MCU\MLX90614?SMBus?implementation?in?PIC?MCU\390119061403P002.pdf
?????文件????????758??2007-10-15?15:10??非接觸式數字體溫計的設計\相關資料\MLX90614\MLX90614?SMBus?implementation?in?PIC?MCU\MLX90614?SMBus?implementation?in?PIC?MCU\ASM\project\FWMLX90614PIC.mcp
?????文件???????1886??2007-10-15?15:19??非接觸式數字體溫計的設計\相關資料\MLX90614\MLX90614?SMBus?implementation?in?PIC?MCU\MLX90614?SMBus?implementation?in?PIC?MCU\ASM\project\FWMLX90614PIC.mcs
?????文件??????76288??2007-10-15?15:19??非接觸式數字體溫計的設計\相關資料\MLX90614\MLX90614?SMBus?implementation?in?PIC?MCU\MLX90614?SMBus?implementation?in?PIC?MCU\ASM\project\FWMLX90614PIC.mcw
?????文件????????788??2007-10-10?11:05??非接觸式數字體溫計的設計\相關資料\MLX90614\MLX90614?SMBus?implementation?in?PIC?MCU\MLX90614?SMBus?implementation?in?PIC?MCU\ASM\project\FWMLX90614PIC.mptags
?????文件?????????52??2007-10-10?11:05??非接觸式數字體溫計的設計\相關資料\MLX90614\MLX90614?SMBus?implementation?in?PIC?MCU\MLX90614?SMBus?implementation?in?PIC?MCU\ASM\project\FWMLX90614PIC.tagsrc
?????文件??????23040??2007-10-15?15:22??非接觸式數字體溫計的設計\相關資料\MLX90614\MLX90614?SMBus?implementation?in?PIC?MCU\MLX90614?SMBus?implementation?in?PIC?MCU\ASM\project\unti
?????文件????????856??2007-10-11?16:32??非接觸式數字體溫計的設計\相關資料\MLX90614\MLX90614?SMBus?implementation?in?PIC?MCU\MLX90614?SMBus?implementation?in?PIC?MCU\ASM\README.txt
?????文件???????3584??2007-09-12?14:52??非接觸式數字體溫計的設計\相關資料\MLX90614\MLX90614?SMBus?implementation?in?PIC?MCU\MLX90614?SMBus?implementation?in?PIC?MCU\ASM\SMBusFiles\CRC8.asm
............此處省略88個文件信息
- 上一篇:掃雷游戲.cpp C++ 課程設計
- 下一篇:C語言解析精粹(第二版)書和光盤源代碼
評論
共有 條評論