微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 各位老师能帮我看看这是什么问题么?谢谢

各位老师能帮我看看这是什么问题么?谢谢

时间:10-02 整理:3721RD 点击:
毕业设计用的DS18B20检测温度,然后用两片74HC595驱动的8位数码管显示,为什么显示不出来呢,好像是定义的问题,请各位老师不吝赐教,谢谢。
下面是部分程序
unsigned char code table[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
uint temp;

uint read_temprature()//读取寄存器中存储的温度数据函数
{
        uchar a,b;
        ds_reset();
        ds_write_byte(0xcc);
        ds_write_byte(0xbe);//读暂存器指令
        a=ds_read_byte();//读低八位               
        b=ds_read_byte();//读高八位
        temp=b;
        temp=temp<<8;
        temp=temp|a;
        temp=temp*0.0625*10+0.5;
        return temp;
}


void display(uint temp)//数码管显示函数
{  
    Write_Byte(table[temp%100/10]);// 段选 温度个位
    Write_Byte(0x01);// 位选,
    Output();//发送到595 输出

    Write_Byte(table[temp/100]);   温度十位
    Write_Byte(0x02);
    Output();
}




是不是temp的数据类型和编码表的类型不一样导致的?

0

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top