标题: 基于STC12C5A16S2的超声波测距(温度)程序 [打印本页]

作者: xuanhao926    时间: 2019-3-21 19:29
标题: 基于STC12C5A16S2的超声波测距(温度)程序
以下为部分程序
//
//操作按键定义
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;                 // 报警温度下限(有正负)

带温度校正的超声波测距程序(12864M串口液晶).rar

63.35 KB, 下载次数: 141, 下载积分: 黑币 -5


作者: ssjjkk    时间: 2019-3-21 23:20
厉害了 高手




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1