热门关键词:
数字温度计仿真
  • 该文件为doc格式
  • 文件大小:68.61K
  • 下载次数
  • 文件评级
  • 更新时间:2013-01-08
  • 发 布 人372019824
  • 文件下载:
  • 立即下载

  • 文件介绍:
  • 该文件为 doc 格式,下载需要 1 积分
  • 数字温度计仿真 您好,这是我做的数字温度计仿真实验,具有报警功能,但是测温仿真时只能显示整数位-55—128,现在要求精确到0.1,比如仿真时检测温度要求显示115.1、115.2、115.3,请高手您帮忙检查一下程序,并做修改实现此功能,不甚感激。


    #include
    #define uint unsigned int
    #define ulong unsigned long
    #define uchar unsigned char //宏定义
    sbit DQ=P3^6 ; //定义DS18B20总线I/O
    sbit SET=P3^1; //定义调整键
    sbit DEC=P3^2; //定义减少键
    sbit ADD=P3^3; //定义增加键
    sbit BEEP=P3^7; //定义蜂鸣器
    bit shanshuo_st; //闪烁间隔标志
    bit beep_st; //蜂鸣器间隔标志
    uchar x=0; //计数器
    signed char m; //温度值全局变量
    uchar n; //温度值全局变量
    uchar set_st=0; //状态标志
    uchar shangxian=38; //上限报警温度,默认值为38
    uchar xiaxian=5; //下限报警温度,默认值为5
    uchar tmpbuf[5];
    sbit Sign_Port =P3^0;
    sfr Dat_Port =0x80;
    sfr Cs_Port =0xa0;
    bit fu;
    uint ReadTemperature(void) ;
    uchar code table[12]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
    0x7F,0x6F,0x00,0x40};

    /*****延时子程序*****/
    void Delay_DS18B20(int num)
    {
    while(num--) ;
    }

    /*****初始化DS18B20*****/
    void Init_DS18B20(void)
    {
    unsigned char x=0;
    DQ = 1; //DQ复位
    Delay_DS18B20(8); //稍做延时
    DQ = 0; //单片机将DQ拉低
    Delay_DS18B20(80); //精确延时,大于480us
    DQ = 1; //拉高总线...
文档留言
验证码: 请在右侧输入验证码 看不清楚,换一个