标题: TC77温度传感器+51单片机+LCD1602显示的仿真与源码 [打印本页]

作者: ly0725    时间: 2018-2-5 10:14
标题: TC77温度传感器+51单片机+LCD1602显示的仿真与源码
这个传感器网上的资料很少,自己研究了几天,大致搞出来了。下面是仿真图:


单片机源程序:
  1. #include<reg52.h>
  2. #include"delay.h"
  3. #include"lcd602.h"

  4. //**************端口定义*******************
  5. sbit DIN=P3^1;  //串行数据
  6. sbit LOAD=P3^2; //片选
  7. sbit CLK=P3^0;  //串行时钟

  8. //**************数组定义*******************
  9. //uchar tab1[]={"temp:     "};

  10. /*******************变量定义********************/
  11. int temp1;
  12. bit flag_temp;
  13. /*********************************SPI读两个字节*************************************/
  14. spi_read_byte(uint dat)
  15. {
  16.                 uchar i;
  17.                 uint date;
  18.                 LOAD=0; //拉低片选线,选中器件
  19.                 delayxms(5);
  20.                 //读取数据
  21.                 for (i=0;i<13;i++) //移位循环 16 次
  22.                 {        
  23.                     date<<=1;             // 低一位移位到最高位
  24.                     CLK=1; //清零时钟总线
  25.                         
  26.                         if(DIN)
  27.                         date|=0x0001; //每次取高字节
  28.                     CLK=0; //时钟上升沿,发送地址
  29.                 }

  30.                 for (i=0;i<16;i++) //移位循环 16 次
  31.                 {
  32.                     CLK=1; //清零时钟总线
  33.                         DIN=(bit)(dat&0x8000); //每次取高字节
  34.                     dat<<=1; //左移一位
  35.                     CLK=0; //时钟上升沿,发送地址
  36.                 }

  37.                 LOAD=1; //发送结束,上升沿锁存数据

  38.                 return(date);                   // 返回读出的一字节
  39. }
  40. /*******************主函数********************/
  41. void main(void)
  42. {               
  43.         chushihua();

  44.                 while(1)
  45.                 {                     
  46.                             temp1=spi_read_byte(0xffff);             //关断模式
  47.                                 
  48.                                     if(temp1>0x0fff)                            //temp1>0x0fff  温度为负数
  49.                                         {
  50.                                                 flag_temp=1;
  51.                                                 temp1=(~temp1+1)&0x1fff;
  52.                                         }
  53.                                         else
  54.                                         {
  55.                                                 flag_temp=0;
  56.                                         }

  57.                                         if(flag_temp==0)
  58.                                         {write_zifu(1,5,'+');}
  59.                                         if(flag_temp==1)
  60.                                         {write_zifu(1,5,'-');}
  61.                                        
  62.                                     write_num3(1,6,temp1*0.0625*10);
  63.                 }
  64. }
复制代码

全部资料51hei下载地址:
TC77温度传感器.rar (138.06 KB, 下载次数: 57)




作者: 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