|
以下为部分程序
//
//操作按键定义
sbit KEY0=P1^4; //功能按键设定报警距离及温度
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; //超声波发射口
sbit Echo=P3^2; //回波接收
//
bit set_flashing_flag=0; //设定时调整单元闪烁标志,0正常显示,1熄灭
bit ds18b20_Err_flag; //温度传感器异常标志
unsigned char xdata set_time_flag=0; //调整控制标志,0-3,分别为正常,调距离、高温、低温
unsigned char xdata second_conter=0; //秒计数器
//
unsigned int xdata Distance ; //距离
float xdata s,sm; //平均距离值,每次测量距离
unsigned char xdata m_con;//距离算平均值计数,10次测量求一次平均值
//
//数据表及内存定义
//*******温度小数部分用查表法**********//
uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
//
//开机文字显示内容
uchar code disdata1[16]={"超声波距离测量器"};//开机显示画面第一行
uchar code disdata2[16]={"A13 电信课程设计"};//开机显示画面第二行
uchar code disdata3[16]={"设计者: 楼然苗 "};//开机显示画面第一行
uchar code disdata4[16]={"2015年10月16日 "};//开机显示画面第二行
//
//
//
//工作时显示缓存单元
//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行显示缓冲
//调整时的显示单元
uchar code DISP_DATA11[16]={"----设定状态----"}; //液晶第1行显示缓冲
uchar code DISP_DATA22[16]={"S2设定 S3加S4减"}; //液晶第2行显示缓冲
uchar xdata DISP_DATA33[16]={"报警距离:400.0CM"}; //液晶第3行显示缓冲
uchar xdata DISP_DATA44[16]={"温度:H+40 L-10 "}; //液晶第4行显示缓冲
//
uchar code DISP_DATA7[16]={"温度传感器异常!!"};//液晶第显示状态表/设定用
//
//
uchar data temp_data[2]={0x00,0x00}; // DS18B20读出温度暂放低字节及高字节
uchar data t_data=0; //温度数据整数部分值存放
float test_temp_data; //测得的温度数据(有正负)
char data temp_bj_max; //报警温度上限(有正负)
char data temp_bj_min; // 报警温度下限(有正负)
|
评分
-
查看全部评分
|