slc548496 2020-06-04 15:35 采纳率: 0%
浏览 332

MAX6675测热电偶温度,在1602LCD上显示,不准确,那位大佬帮忙看看,

#include
sbit RS=P3^0;
sbit RW=P3^1;
sbit E=P3^2;
sbit S0=P1^0;
sbit SCK=P1^1;
sbit CS=P1^2;
float temp;
int wendu;
unsigned wd[2];
void delay(unsigned int t)
{
unsigned int i=0,j=0;
for(i=0;i<t;i++)
{
for(j=0;j<120;j++);
}
}
Read_temp()
{
unsigned int i=0,j=0;
unsigned long temp;
temp=0;
CS=1;
SCK=0;
delay(10);
CS=0;
for(i=0;i<16;i++)
{
temp<<=1;
SCK=1;
if(S0==1){temp=temp|0x01;}
else {temp=temp|0x00;}
SCK=0;
}
temp=temp&0x7FF8;
temp=temp*0.25;
delay(200);
return(temp);

}

void write_com(unsigned char com)
{
RS=0;
RW=0;
E=0;
P2=com;
delay(5);
E=1;
delay(5);
E=0;
}
void write_dat(unsigned char dat)
{
RS=1;
RW=0;
E=0;
P2=dat;
delay(5);
E=1;
delay(5);
E=0;
}
void init()
{
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void display()
{
unsigned int i=0;
write_com(0x80);
delay(5);
wd[0]=wendu/100%10;
wd[1]=wendu/10%10;
wd[2]=wendu/1%10;
while(wd[i]!='\0')
{
write_dat(wd[i]+0x30);
delay(5);
i++;
}
}
void main()
{
init();
while(1)
{
wendu=Read_temp();
display();
}

}

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2020-06-05 14:52
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 机器学习建模调参,roc评价指标
  • ¥15 RCS plot 包内置数据集使用时报错,如何解决?
  • ¥15 keil+mspm0g3507+二维总线舵机
  • ¥15 如何用wireshark分析找出url接口和param参数
  • ¥15 有谁知道这是阿里云那个应用的域名吗,怎么调用?
  • ¥30 正则表达式的一些问题
  • ¥15 C#如何使用ClosedXML库搭配别的库实现:将指定Excel区域导出为图片(例如A1:AO50)
  • ¥15 虚拟机只能接收不能发送
  • ¥15 为什么echarts极坐标柱形图的图形显示的特别小呢
  • ¥20 网络科学导论,网络同步与控制