91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

內(nèi)含數(shù)字溫度計(jì) 單片機(jī)keil代碼 和proteus電路原理仿真 以及設(shè)計(jì)論文 一條龍服務(wù),超值~

資源截圖

代碼片段和文件信息

#include
#include?
#define?uchar?unsigned?char
#define?uint?unsigned?int
#define??????ad0_7??????P1???????//AD數(shù)據(jù)口

sbit?????????cs=P2^4;??????//片選信號(hào),低電平有效,控制芯片的啟動(dòng)和結(jié)果讀取

sbit?????????rd=P2^7;????????//讀數(shù)據(jù)控制,低電平有效

sbit?????????wr=P2^6;?????????//AD啟動(dòng)控制,上升沿有效

sbit?????????intr=P2^5;???????//AD轉(zhuǎn)換完成輸出低電平

uchar?i;
uchar?led[11]={?????0x3F??//“0“
????????????????0x06??//“1“
????????????????0x5B??//“2“
????????????????0x4F??//“3“
????????????????0x66??//“4“
????????????????0x6D??//“5“
????????????????0x7D??//“6“
????????????????0x07??//“7“
????????????????0x7F??//“8“
????????????????0x6F??//“9“
0x40???//“-“
};
uchar?dat_AD[4]={0};
??
//啟動(dòng)AD轉(zhuǎn)換子程序//////////////////
void?start_ad(void)
{???????cs=0;?????????????????//允許AD
????????wr=0;
????????_nop_();
?????????wr=1;????????????????//WR由低變高時(shí)啟動(dòng)AD轉(zhuǎn)換
????????
????????while(intr);??????????//等待轉(zhuǎn)換完成,低電平有效
????????cs=1;?????????????????//停止AD轉(zhuǎn)換
}////////////////////
?read_ad()
{???????uint?ad_data;
????????ad0_7=0xff;
????????cs=0;?????????????????//允許讀
????????rd=0;?????????????????//讀取轉(zhuǎn)換數(shù)據(jù)結(jié)果
????????_nop_();
????????ad_data=ad0_7;?????????//把數(shù)據(jù)存到AD——data中
????????rd=1;cs=1;????????????//停止讀取AD
????????return(ad_data);
}
//?數(shù)據(jù)處理函數(shù)
//實(shí)際測(cè)量當(dāng)0度時(shí),AD數(shù)據(jù)為133,所以數(shù)據(jù)處理時(shí)判斷AD數(shù)據(jù)和133的大小來識(shí)別正負(fù)溫度。
//由于ADC芯片精度不夠,所以測(cè)量時(shí)有誤差,8位AD的分辨率為19.5mV,約為20mV,
//放大電路輸出的電壓,溫度每變化一度,電壓變化只有10mV左右,所以測(cè)量有誤差,
//以下溫度和AD數(shù)據(jù)的計(jì)算公式為實(shí)測(cè)數(shù)據(jù)后線性擬合得到的,實(shí)際線性擬合得到公式為:y=0.503x+133.63.
//因?yàn)锳D數(shù)據(jù)為0-255的整數(shù),所以公式簡(jiǎn)化為以下計(jì)算方式
void?data_shout(uint?ad_data)
{??????
?????????float??temp;
?????????uint?T;

if(ad_data<79)
???????????????{
???????????????????temp=614.422-7.811*ad_data;
?T=(uint)temp;
?????????????????dat_AD[0]=10;
???????????????} ????????????????????//負(fù)溫度???dat_AD[0]中為溫度符號(hào)數(shù)據(jù)
? else?if(ad_data<=204)
???????????????{
???????????????????temp=7.990*ad_data-628.491;
?????????T=(uint)temp;
?????????????????dat_AD[0]=T/1000;
???????????????} ?????????????????????//正溫度

else?if(ad_data>204)
???????????????{
?????????????????temp=8.124*ad_data-655.742;
?????????T=(uint)temp;
?????????????????dat_AD[0]=T/1000;
???????????????} ????????????????????????//ad_data=T;

?????? ?dat_AD[1]=T%1000/100;??????????????//溫度值的十位
?????????dat_AD[2]=T%100/10;??????????//2溫度值的個(gè)位
?????????dat_AD[3]=T%10;??????????//溫度值的小數(shù)位

}
//顯示函數(shù)
void?disp(){

switch(i){
case?0:?P0=0xfe;P3=led[dat_AD[0]];i++;break; ?//顯示符號(hào)位
case?1:?P0=0xfd;P3=led[dat_AD[1]];i++;break;
case?2:?P0=0xfb;P3=led[dat_AD[2]]|0x80;i++;break;
case?3:?P0=0xf7;P3=led[dat_AD[3]];i=0;break;

}
}

//定時(shí)器初始化
//用作數(shù)碼管顯示的刷新
void?t0init(){
TMOD=0x01;
TH0=(65535-2000)/256; ???//定時(shí)20ms時(shí)間
TL0=(65535-2000)%256;
EA=1;
ET0=1;
TR0=1;
}
?//定時(shí)器中斷函數(shù),在中斷中刷新數(shù)碼管顯示
?void?Time0(??)?interrupt?1{
? TH0=(65535-2000)/256;
TL0=(65535-2000)%256;
disp();
?}?

//主函數(shù)
void?main(void){?
?t0init(); ??//初始化
?????while(1){
????????start_ad();?????????????//開始AD
????????data_shout(read_ad());???

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-06-05?23:38??keil\
?????文件??????118751??2014-06-09?15:10??keil\Last?Loaded?shuziwenduji.DBK
?????文件????????3411??2014-06-09?15:05??keil\main.c
?????文件????????6280??2019-06-05?23:35??keil\main.LST
?????文件????????6648??2019-06-05?23:35??keil\main.OBJ
?????文件????????7423??2019-06-05?23:35??keil\pt100
?????文件????????1054??2019-06-05?23:35??keil\pt100.build_log.htm
?????文件????????3992??2019-06-05?23:35??keil\pt100.hex
?????文件??????????42??2019-06-05?23:35??keil\pt100.lnp
?????文件???????10256??2019-06-05?23:35??keil\pt100.M51
?????文件?????????605??2014-06-09?15:08??keil\pt100.plg
?????文件???????90247??2019-06-05?23:38??keil\pt100.uvgui.20292
?????文件????????5741??2019-06-05?23:34??keil\pt100.uvopt
?????文件???????14027??2019-06-05?23:34??keil\pt100.uvproj
?????文件???????????0??2014-06-09?15:07??keil\pt100_Uv2.Bak
?????文件????????6376??2005-03-22?15:22??keil\STARTUP.A51
?????文件???????14069??2019-06-05?23:35??keil\STARTUP.LST
?????文件?????????749??2019-06-05?23:35??keil\STARTUP.OBJ
?????目錄???????????0??2019-06-05?23:37??proteus?仿真\
?????文件?????6885662??2014-06-09?15:48??proteus?仿真\shuziwenduji.BMP
?????文件??????118752??2014-06-09?18:10??proteus?仿真\shuziwenduji.DSN
?????文件???????21561??2019-06-05?23:37??proteus?仿真\shuziwenduji.pdsprj
?????文件?????????873??2019-06-05?23:37??proteus?仿真\shuziwenduji.pdsprj.DESKTOP-7CGG286.20292.workspace
?????文件?????????742??2014-06-09?18:10??proteus?仿真\shuziwenduji.PWI
?????目錄???????????0??2019-06-05?23:37??設(shè)計(jì)報(bào)告\
?????文件???????39424??2015-01-03?11:20??設(shè)計(jì)報(bào)告\基于熱敏電阻的數(shù)字溫度計(jì)的設(shè)計(jì)任務(wù)書.doc
?????文件??????605228??2015-01-03?11:19??設(shè)計(jì)報(bào)告\設(shè)計(jì).doc

評(píng)論

共有 條評(píng)論

相關(guān)資源