|
以下為部分程序
//
//操作按鍵定義
sbit KEY0=P1^4; //功能按鍵設(shè)定報(bào)警距離及溫度
sbit KEY1=P1^5; // +鍵
sbit KEY2=P1^6; // -鍵
sbit KEY3=P1^7; //備用鍵
//其它定義
//sbit flashing_lamp1=P1^4; //指示小燈1
sbit LO_lamp=P0^7; //指示小燈或蜂鳴器
sbit Ultrasonic_out=P3^3; //超聲波發(fā)射口
sbit Echo=P3^2; //回波接收
//
bit set_flashing_flag=0; //設(shè)定時(shí)調(diào)整單元閃爍標(biāo)志,0正常顯示,1熄滅
bit ds18b20_Err_flag; //溫度傳感器異常標(biāo)志
unsigned char xdata set_time_flag=0; //調(diào)整控制標(biāo)志,0-3,分別為正常,調(diào)距離、高溫、低溫
unsigned char xdata second_conter=0; //秒計(jì)數(shù)器
//
unsigned int xdata Distance ; //距離
float xdata s,sm; //平均距離值,每次測量距離
unsigned char xdata m_con;//距離算平均值計(jì)數(shù),10次測量求一次平均值
//
//數(shù)據(jù)表及內(nèi)存定義
//*******溫度小數(shù)部分用查表法**********//
uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
//
//開機(jī)文字顯示內(nèi)容
uchar code disdata1[16]={"超聲波距離測量器"};//開機(jī)顯示畫面第一行
uchar code disdata2[16]={"A13 電信課程設(shè)計(jì)"};//開機(jī)顯示畫面第二行
uchar code disdata3[16]={"設(shè)計(jì)者: 樓然苗 "};//開機(jī)顯示畫面第一行
uchar code disdata4[16]={"2015年10月16日 "};//開機(jī)顯示畫面第二行
//
//
//
//工作時(shí)顯示緩存單元
//uchar code disdata1[16]={"超聲波距離測量器"}; //顯示畫面第一行
uchar xdata DISP_DATA2[16]={"聲速: 344.0 米 "}; //液晶第2行顯示緩沖
uchar xdata DISP_DATA3[16]={"距離: 000.0CM "}; //液晶第3行顯示緩沖
uchar xdata DISP_DATA4[16]={"氣溫: +120.9℃ "}; //液晶第4行顯示緩沖
//調(diào)整時(shí)的顯示單元
uchar code DISP_DATA11[16]={"----設(shè)定狀態(tài)----"}; //液晶第1行顯示緩沖
uchar code DISP_DATA22[16]={"S2設(shè)定 S3加S4減"}; //液晶第2行顯示緩沖
uchar xdata DISP_DATA33[16]={"報(bào)警距離:400.0CM"}; //液晶第3行顯示緩沖
uchar xdata DISP_DATA44[16]={"溫度:H+40 L-10 "}; //液晶第4行顯示緩沖
//
uchar code DISP_DATA7[16]={"溫度傳感器異常!!"};//液晶第顯示狀態(tài)表/設(shè)定用
//
//
uchar data temp_data[2]={0x00,0x00}; // DS18B20讀出溫度暫放低字節(jié)及高字節(jié)
uchar data t_data=0; //溫度數(shù)據(jù)整數(shù)部分值存放
float test_temp_data; //測得的溫度數(shù)據(jù)(有正負(fù))
char data temp_bj_max; //報(bào)警溫度上限(有正負(fù))
char data temp_bj_min; // 報(bào)警溫度下限(有正負(fù))
|
評分
-
查看全部評分
|