-
大小: 9.73MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-10-10
- 語言: 其他
- 標(biāo)簽: 畢業(yè)設(shè)計(jì)??單片機(jī)??
資源簡介
本項(xiàng)目采用主要芯片:STC12C5A60S2、LCD1602、MLX90614;
本資料是我今年做的項(xiàng)目,已經(jīng)完美交貨,現(xiàn)在把全部設(shè)計(jì)資料共享給大家
壓縮包里包含該項(xiàng)目的完整原理圖、PCB圖、程序、實(shí)物圖等。
硬件設(shè)計(jì)部分使用Protel99 SE或Altium Designer Release 10完成,軟件設(shè)計(jì)部分采用Keil 4完成。
可供需要的人參考。
一、畢業(yè)設(shè)計(jì)(論文)的內(nèi)容
運(yùn)用所學(xué)的數(shù)字邏輯電路、模擬電子電路、單片機(jī)、測控電路等的基本知識(shí),設(shè)計(jì)并制作一個(gè)非接觸式紅外線測溫儀。該系統(tǒng)以單片機(jī)為核心,外接其他外圍電路組成。
二、畢業(yè)設(shè)計(jì)(論文)的要求與數(shù)據(jù)(與上述文字空1~行)
要求所設(shè)計(jì)的系統(tǒng)具有下面功能:
1. 非接觸式溫度測量,溫度測量范圍至少包括-20℃---150℃
2. 溫度顯示,分辨率0.1℃
3. 可干電池供電,電量低時(shí)可顯示或報(bào)警提示
4.可擴(kuò)展(如精確測量目標(biāo)距離等)。

代碼片段和文件信息
#include“12C5A60S2.h“?
#include“intrins.h“ //?需要用_nop_()函數(shù)來延時(shí)?
#include?“global.h“
#include?“U.h“
//************************************?
#define??uint??unsigned?int?
#define??uchar?unsigned?char?
#define??Nack_counter??10?
#define?BYTE?unsigned?char? ?//宏定義
#define?WORD?unsigned?int
//**************端口定義**************?
//LCD控制線接口?
uchar?flag1;
uchar?code?tab1[]?=?{“Temp?is:??????“}; //?11?
uchar?code?tab2[]?=?{“Low?battery???“}; //?11
uchar?num;
uint??temph?templ;
uint??T;
sbit?BUSY?=?ACC^7; //?忙標(biāo)志位(非管腳)
sbit??LCDRS=P1^1;?
sbit??LCDRW=P1^2;?
sbit??LCDE=P1^3;?
sbit??speak?=?P2^2;
//mlx90614端口定義?
sbit??SCL=P2^0;//時(shí)鐘線?
sbit??SDA=P2^1;//數(shù)據(jù)線?
//************數(shù)據(jù)定義****************?
bdata?uchar?flag;???????????????????//可位尋址數(shù)據(jù)?
sbit??bit_out=flag^7;?
sbit??bit_in=flag^0;?
uchar?DataHDataLPecreg;?
//************函數(shù)聲明*****************************************?
void???start_bit();?????????????????//MLX90614發(fā)起始位子程序?
void???stop_bit();??????????????????//MLX90614發(fā)結(jié)束位子程序?
uchar??rx_byte(void);???????????????//MLX90614接收字節(jié)子程序?
void???send_bit(void);??????????????//MLX90614發(fā)送位子程序?
void???tx_byte(uchar?dat_byte);?????//MLX90614接收字節(jié)子程序?
void???receive_bit(void);???????????//MLX90614接收位子程序?
void???delay(uint?N);???????????????//延時(shí)程序?
uint???memread(void);???????????????//讀溫度數(shù)據(jù)?
void???LCMInit(void);??????????????//LCD?初始化子程序?
BYTE?Wait();??????????//LCD判斷忙子程序?
void?WriteLCD(BYTE?BYTE);??? ???//LCD寫命令子程序?
void???dis_dat_wrt(uchar?dat);??????//LCD寫數(shù)據(jù)子程序?
void???display(uint?Tem);???????????//顯示子程序?
void???displaytitle(); //顯示標(biāo)題
void???displaylow();
void???Warn(); //判斷是否需要報(bào)警
void???Delayms(uint?z); ???? //延時(shí)若干ms
//*************主函數(shù)*******************************************?
void?main()?
{?
uint?Tem;
temph?=?3700; //?最高溫度
speak?=?1; //?蜂鳴器?0叫?1?不叫
//初始化MLX90614?
SCL=1;SDA=1;_nop_();?
_nop_();_nop_();_nop_();?
SCL=1;?
delay(1000);?
SCL=1;?
//初始化液晶?
LCMInit();?
//顯示文字?
U_Init();?
while(1)?
{?
U();?//?測10000次AD?取平均值
// WriteLCD(0?0xc5);
// WriteLCD(1?adc_cita?%?10000?/?1000?+?0x30);
// WriteLCD(1?adc_cita?%?1000?/?100?+?0x30);
// WriteLCD(1?adc_cita?%?100?/?10?+?0x30);
// WriteLCD(1?adc_cita?%?10?+?0x30);
if?(adc_cita?550)
{
displaytitle();
Tem=memread(); //?讀取溫度
display(Tem); //?顯示溫度
Warn(); //?判斷是否需要報(bào)警
}
else?if?(adc_cita?580)?
{
displaylow();
}
Delayms(200);? //?延時(shí)200mS
}?
}?
//*********輸入轉(zhuǎn)換并顯示*********?
void?display(uint?Tem)?
{??
uchar?temp[6]?i;
T=Tem*2;???
if(T>=27315)? //?顯示正溫度
{?
/*
由于傳感器采用17位AD?
所以可以精確到0.01°C
詳見中文資料?P?2
*/
T=T-27315; //?溫度轉(zhuǎn)換?開爾文?->?攝氏度?中文資料?P26?
T+=50;
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;//?溫度個(gè)位
temp[3]?=?0x2e; //?小數(shù)點(diǎn)
temp[4]?=?T?%?10000?%?1000?%?100?/
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????3050222??2013-05-22?16:10??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\IMG_0526.JPG
?????文件????2037337??2013-05-22?16:11??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\IMG_0527.JPG
?????文件????2592986??2013-05-22?16:11??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\IMG_0528.JPG
?????文件????2433434??2013-05-22?16:11??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\IMG_0529.JPG
?????文件?????376832??2013-05-21?10:13??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\PCB\非接觸式數(shù)字體溫計(jì).Ddb
?????文件??????17439??2011-04-21?07:56??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\12C5A60S2.H
?????文件???????1602??2013-05-22?12:39??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\ADC.H
?????文件????????940??2012-03-15?20:30??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\global.h
?????文件????????702??2013-05-22?12:53??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\U.h
?????文件??????20694??2013-06-01?10:07??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì)
?????文件???????8244??2013-06-01?10:06??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì).c
?????文件???????5090??2013-06-01?10:07??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì).hex
?????文件?????????68??2013-06-01?10:07??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì).lnp
?????文件??????16983??2013-06-01?10:07??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì).LST
?????文件??????25829??2013-06-01?10:07??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì).M51
?????文件??????24279??2013-06-01?10:07??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì).OBJ
?????文件????????664??2013-06-01?10:07??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì).plg
?????文件??????57954??2013-05-28?11:28??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì).uvopt
?????文件??????13306??2013-05-22?16:38??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì).uvproj
?????文件??????57021??2013-05-22?16:38??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì)_uvopt.bak
?????文件??????????0??2013-05-22?15:37??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program\非接觸式數(shù)字體溫計(jì)_uvproj.bak
?????文件??????51712??2013-08-18?21:49??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\非接觸式紅外線測溫儀.doc
?????目錄??????????0??2013-08-18?21:44??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\PCB
?????目錄??????????0??2013-08-18?21:44??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\Program
?????目錄??????????0??2013-05-21?10:27??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)\相關(guān)資料
?????目錄??????????0??2013-08-18?22:04??非接觸式數(shù)字體溫計(jì)的設(shè)計(jì)
-----------?---------??----------?-----??----
?????????????10793338????????????????????26
評(píng)論
共有 條評(píng)論