資源簡(jiǎn)介
STC12C5A60S2主控+OLED顯示溫度+18B20測(cè)量溫度+PWM控制喇叭報(bào)警與LED切換+上位機(jī)傳輸溫度
要求:溫度每隔0.5秒采集一次并且顯示在OLED上面,當(dāng)溫度大于一定溫度時(shí),出現(xiàn)ERROR報(bào)警,蜂鳴器發(fā)出報(bào)警聲音,LED由紅色切換到綠色,上位機(jī)接收到ERROR字樣,當(dāng)溫度降到臨界點(diǎn)后,字樣消失,報(bào)警消失,LED切換過(guò)來(lái)。

代碼片段和文件信息
/***********************************************************
程序功能:STC12C5A60S2?DS18B20溫度傳感器+OLED液晶顯示
MCU型號(hào):?STC12C5A60S2
晶振頻率:11.0892MHz
整理時(shí)間:2016年6月04號(hào)
作者:王忠杰
修改:李鑫港
p1^3?蜂鳴器
p3^3?燈
************************************************************/
#include?“REG51.h“
#include?“oled.h“
#define?uchar?unsigned?char?
#define?uint?unsigned?int
????sfr?CCON?=0xD8;
sfr?CMOD=0xD9;
sfr?CL=0xE9;
sfr?CH=0xF9;
sfr?CCAPM0=0xDA;
sfr?CCAP0L=0xEA;
sfr?AUXR=0x8E;
? sfr?CCAP0H=0xFA;
sfr?CCAPM1=0xDB;
sfr?CCAP1L=0xEB;
sfr?CCAP1H=0xFB;
sfr?PCAPWM0=0xf2;
sfr?PCAPWM1=0xf3;
????sfr?ADC_CONTR=0xBC;
????sfr?ADC_RES=0xBD;
sbit?CR=CCON^6;
sbit?BEEP?=?P3^0?;???
sbit?LED_change?=?P3^3?;??
typedef?unsigned?char?BYTE;
typedef?unsigned?int?WORD;
#include?“DS18B20.h“
#define?WIDE?1
#define?LENTH?104
unsigned?int?count;
unsigned?char?fen=0;
BYTE?ly_dis[4];//定義顯示緩沖區(qū)
unsigned?char?UartTele[7];
//long?int?k=18;
unsigned?int?shu=0;
uchar?Time1;
char?qian=0bai=0shi=0ge=0;
uchar?xdata?tem[LENTH]={0};
void?Display_time(void);
void?Delay?(WORD?t)
{
WORD?x;
while(t--)
{
x?=?5000;
while(x--);
}
}
void?UartTelephone()
{ if( ly_dis[1]>=5)
??? ????????{
//SBUF?=59;?while(!TI);TI=0;?
? ?? //SBUF?=59;?while(!TI);TI=0;?
SBUF?=fen/10+48;
while(!TI);
TI=0;?
SBUF?=fen%10+48;?
while(!TI);
TI=0;
????SBUF?=58;
while(!TI);
TI=0;?
SBUF?=shu/100+48;
while(!TI);
TI=0;
SBUF?=shu/10%10+48;
while(!TI);
TI=0;
SBUF?=46;
while(!TI);
TI=0;
//.?error!?
SBUF?=shu%10+48;
while(!TI);
TI=0;
SBUF?=92;
while(!TI);
TI=0;?
//SBUF?=63;while(!TI);TI=0;?
//iii
//SBUF?=59;?while(!TI);TI=0;?
//SBUF?=ly_dis[0]+16; while(!TI); TI=0;
SBUF?=ly_dis[1]+48;
while(!TI);
TI=0;
SBUF?=ly_dis[2]+48;
while(!TI);
TI=0;
//.
SBUF?=46;
while(!TI);
TI=0;
SBUF?=ly_dis[3]+48;?
while(!TI);
TI=0;
SBUF?=ly_dis[4]+48;
while(!TI);
TI=0;
SBUF?=32;
while(!TI);
TI=0;?
// SBUF?=167;while(!TI);TI=0;
SBUF?=67;
while(!TI);
TI=0;
SBUF?=32;
while(!TI);
TI=0;
SBUF?=32;
while(!TI);
TI=0;
????SBUF?=87;
while(!TI);
TI=0;
SBUF?=65;
while(!TI);
TI=0;
SBUF?=82;
while(!TI);
TI=0;
SBUF?=78;
while(!TI);
TI=0;
SBUF?=73;
while(!TI);
TI=0;
SBUF?=78;
while(!TI);
TI=0;
SBUF?=71;
while(!TI);
TI=0;
SBUF?=32;
while(!TI);
TI=0;
SBUF?=32;
while(!TI);
TI=0;
// SBUF?=61;while(!TI);TI=0;
// SBUF?=61;while(!TI);TI=0;
// SBUF?=1;while(!TI);TI=0;
// SBUF?=63;while(!TI);TI=0;
// SBUF?=63;while(!TI);TI=0;
// SBUF?=1;while(!TI);TI=0;?
}
else
{
//SBUF?=59;?while(!TI);TI=0;?
? ?? //SBUF?=59;?while(!TI);TI=0;?
SBUF?=fen/10+48;?
while(!TI);
TI=0;?
SBUF?=fen%10+48;?
while(!TI);
TI=0;
????SBUF?=58;
while(!TI);
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????2638??2016-06-04?13:49??oled?改\DS18B20.H
?????文件???????7222??2016-11-05?13:54??oled?改\main.c
?????文件??????18756??2016-11-05?13:30??oled?改\main.LST
?????文件???????8673??2016-06-04?09:17??oled?改\main.OBJ
?????文件???????1333??2016-05-30?16:47??oled?改\OLED.build_log.htm
?????文件??????16724??2016-05-30?16:47??oled?改\OLED.hex
?????文件?????????54??2016-05-30?16:47??oled?改\OLED.lnp
?????文件??????25359??2016-11-05?13:30??oled?改\oled.lst
?????文件??????45111??2016-11-05?13:30??oled?改\OLED.M51
?????文件??????20785??2016-05-30?16:47??oled?改\oled.obj
?????文件???????2855??2016-06-04?09:37??oled?改\OLED.plg
?????文件??????74386??2014-07-14?23:53??oled?改\OLED.uvgui.Administrator
?????文件??????75416??2015-05-10?17:01??oled?改\OLED.uvgui.txj
?????文件??????71847??2016-05-30?16:53??oled?改\OLED.uvgui.yangleilei
?????文件??????74584??2014-07-14?23:40??oled?改\OLED.uvgui_Administrator.bak
?????文件??????75417??2015-05-10?17:00??oled?改\OLED.uvgui_txj.bak
????.......?????58574??2016-11-06?10:32??oled?改\OLED.uvopt
????.......?????13751??2016-11-05?13:55??oled?改\OLED.uvproj
????.......?????58582??2016-11-05?13:55??oled?改\OLED_uvopt.bak
????.......?????13760??2016-06-04?13:49??oled?改\OLED_uvproj.bak
?????文件??????11667??2016-01-27?20:39??oled?改\SRC\bmp.h
?????文件??????13018??2016-06-10?12:08??oled?改\SRC\oled.c
?????文件???????2307??2016-06-10?13:49??oled?改\SRC\oled.h
?????文件??????12863??2016-06-09?23:56??oled?改\SRC\oledfont.h
?????文件???????6376??2013-06-24?10:27??oled?改\STARTUP.A51
?????文件??????14146??2016-11-05?13:30??oled?改\STARTUP.LST
?????文件????????749??2016-05-30?16:47??oled?改\STARTUP.OBJ
?????目錄??????????0??2016-11-05?10:00??oled?改\SRC
?????目錄??????????0??2016-11-06?10:32??oled?改
-----------?---------??----------?-----??----
............此處省略2個(gè)文件信息
評(píng)論
共有 條評(píng)論