标题:
TC77温度传感器+51单片机+LCD1602显示的仿真与源码
[打印本页]
作者:
ly0725
时间:
2018-2-5 10:14
标题:
TC77温度传感器+51单片机+LCD1602显示的仿真与源码
这个传感器网上的资料很少,自己研究了几天,大致搞出来了。下面是仿真图:
TC77.png
(45.58 KB, 下载次数: 50)
下载附件
TC77仿真图
2018-2-5 10:11 上传
单片机源程序:
#include<reg52.h>
#include"delay.h"
#include"lcd602.h"
//**************端口定义*******************
sbit DIN=P3^1; //串行数据
sbit LOAD=P3^2; //片选
sbit CLK=P3^0; //串行时钟
//**************数组定义*******************
//uchar tab1[]={"temp: "};
/*******************变量定义********************/
int temp1;
bit flag_temp;
/*********************************SPI读两个字节*************************************/
spi_read_byte(uint dat)
{
uchar i;
uint date;
LOAD=0; //拉低片选线,选中器件
delayxms(5);
//读取数据
for (i=0;i<13;i++) //移位循环 16 次
{
date<<=1; // 低一位移位到最高位
CLK=1; //清零时钟总线
if(DIN)
date|=0x0001; //每次取高字节
CLK=0; //时钟上升沿,发送地址
}
for (i=0;i<16;i++) //移位循环 16 次
{
CLK=1; //清零时钟总线
DIN=(bit)(dat&0x8000); //每次取高字节
dat<<=1; //左移一位
CLK=0; //时钟上升沿,发送地址
}
LOAD=1; //发送结束,上升沿锁存数据
return(date); // 返回读出的一字节
}
/*******************主函数********************/
void main(void)
{
chushihua();
while(1)
{
temp1=spi_read_byte(0xffff); //关断模式
if(temp1>0x0fff) //temp1>0x0fff 温度为负数
{
flag_temp=1;
temp1=(~temp1+1)&0x1fff;
}
else
{
flag_temp=0;
}
if(flag_temp==0)
{write_zifu(1,5,'+');}
if(flag_temp==1)
{write_zifu(1,5,'-');}
write_num3(1,6,temp1*0.0625*10);
}
}
复制代码
全部资料51hei下载地址:
TC77温度传感器.rar
(138.06 KB, 下载次数: 57)
2018-2-5 10:14 上传
点击文件名下载附件
仿真+程序
下载积分: 黑币 -5
作者:
lcl1260519806
时间:
2018-5-1 21:19
哇,可以可以,找了好久终于找到了
作者:
em78447
时间:
2019-10-14 20:37
不错,值得学习。
作者:
seasoul_song
时间:
2023-3-25 12:02
东西怎么下载,可以运行吗?我下来看看
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1