找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3175|回复: 3
收起左侧

TC77温度传感器+51单片机+LCD1602显示的仿真与源码

  [复制链接]
ID:115061 发表于 2018-2-5 10:14 | 显示全部楼层 |阅读模式
这个传感器网上的资料很少,自己研究了几天,大致搞出来了。下面是仿真图:

TC77仿真图

TC77仿真图


单片机源程序:
  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, 下载次数: 52)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:689229 发表于 2023-3-25 12:02 | 显示全部楼层
东西怎么下载,可以运行吗?我下来看看
回复

使用道具 举报

ID:72951 发表于 2019-10-14 20:37 | 显示全部楼层
不错,值得学习。
回复

使用道具 举报

ID:319331 发表于 2018-5-1 21:19 | 显示全部楼层
哇,可以可以,找了好久终于找到了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表