仿真原版本:Proteus7.8
程序編譯器:keil 4/keil 5
編程語言:C語言
設(shè)計編號:S0012
功能說明
1、顯示溫度0-99,上電默認高溫報警35°,低溫報警10°
2、按鍵說明:
① 按一下KEY1查看高溫,調(diào)整高溫報警值指示燈亮,同時也可以按加減調(diào)高溫的值。
② 再按一下KEY1查看低溫,調(diào)整低溫報警值指示燈亮同時也可以按加減調(diào)低溫的值。
③ 程序默認低溫報警值要比高溫報警低5°再按一下KEY正常顯示。
3、溫度調(diào)整低于低溫報警或者高于高溫報警值,蜂鳴器響,指示燈閃爍。
仿真電路
三個按鍵
KEY1
按一下查看高溫設(shè)置值,再按一下查看低溫設(shè)置值,再按一下返回正常顯示
KEY2
設(shè)置狀態(tài)下,設(shè)置溫度+
KEY3
設(shè)置狀態(tài)下,設(shè)置溫度-
程序
主函數(shù)
/*****主函數(shù)*****/
void main(void)
{
LED=0; //默認關(guān)閉報警
BEEP=0; //默認關(guān)閉蜂鳴器
LED_SET_HIGHT=0;//默認設(shè)置燈暗
LED_SET_LOW=0;//默認設(shè)置燈暗
check_wendu();
check_wendu();
for(z=0;z<300;z++)
{
Disp_init();
}
while(1)
{
if(display_mode==0){
Disp_Temperature();//正常顯示
}else if(display_mode==1){//設(shè)置高
Disp_Temperature_Set_Hight();
}else if(display_mode==2){//設(shè)置低
Disp_Temperature_Set_Low();
}
KeyDriver(); //鍵盤驅(qū)動掃描
KeyScan();
if(key_sacn_cnt<20){//延時效果,不占用CPU,隔一段時間更新溫度
key_sacn_cnt++;
}else{
check_wendu();
key_sacn_cnt=0;
}
if(display_mode==0){//正常模式才報警,設(shè)置模式不報警
if(m>=gaowen || m<=diwen){//如果m大于高溫值或者小于低溫值,開啟聲光報警
led_sacn_cnt++;
if(led_sacn_cnt>100){
LED=~LED;
BEEP=~BEEP;
led_sacn_cnt=0;
}
}else{
LED=0;
BEEP=0;
led_sacn_cnt=1;
}
}else{
LED=0;
BEEP=0;
}
}
}
DS18B20溫度讀取
/*****讀取溫度*****/
unsigned int ReadTemperature(void)
{
unsigned char a=0;
unsigned char b=0;
unsigned int t=0;
float tt=0;
Init_DS18B20();
WriteOneChar(0xCC); //跳過讀序號列號的操作
WriteOneChar(0x44); //啟動溫度轉(zhuǎn)換
Init_DS18B20();
WriteOneChar(0xCC); //跳過讀序號列號的操作
WriteOneChar(0xBE); //讀取溫度寄存器
a=ReadOneChar(); //讀低8位
b=ReadOneChar(); //讀高8位
t=b; //高8位轉(zhuǎn)移到t
t<<=8; //t數(shù)據(jù)左移8位
t=t|a; //將t和a按位或,得到一個16位的數(shù)
tt=t*0.0625; //將t乘以0.0625得到實際溫度值
//(溫度傳感器設(shè)置12位精度,最小分辨率是0.0625)
t= tt*10+0.5; //放大10倍(將小數(shù)點后一位顯示出來)輸出并四舍五入
return(t); //返回溫度值
}
設(shè)計報告
資料清單&&下載鏈接
?. 常見使用問題及解決方法–必讀?。。?!
1. 源程序
2. proteus仿真
3. 功能說明
4. 開題報告
5. 設(shè)計報告
6. 講解視頻
Altium Designer 安裝破解
filename.bat
KEIL安裝破解
Proteus元器件查找
Proteus安裝
Proteus簡易使用教程
單片機學習資料
目錄清單.txt
相關(guān)數(shù)據(jù)手冊
答辯技巧
設(shè)計報告常用描述
鼠標雙擊打開查找嘉盛單片機51 STM32單片機課程畢業(yè)設(shè)計.url
資料下載鏈接