|
這個傳感器網(wǎng)上的資料很少,自己研究了幾天,大致搞出來了。下面是仿真圖:
TC77.png (45.58 KB, 下載次數(shù): 50)
下載附件
TC77仿真圖
2018-2-5 10:11 上傳
單片機源程序:
- #include<reg52.h>
- #include"delay.h"
- #include"lcd602.h"
- //**************端口定義*******************
- sbit DIN=P3^1; //串行數(shù)據(jù)
- sbit LOAD=P3^2; //片選
- sbit CLK=P3^0; //串行時鐘
- //**************數(shù)組定義*******************
- //uchar tab1[]={"temp: "};
- /*******************變量定義********************/
- int temp1;
- bit flag_temp;
- /*********************************SPI讀兩個字節(jié)*************************************/
- spi_read_byte(uint dat)
- {
- uchar i;
- uint date;
- LOAD=0; //拉低片選線,選中器件
- delayxms(5);
- //讀取數(shù)據(jù)
- for (i=0;i<13;i++) //移位循環(huán) 16 次
- {
- date<<=1; // 低一位移位到最高位
- CLK=1; //清零時鐘總線
-
- if(DIN)
- date|=0x0001; //每次取高字節(jié)
- CLK=0; //時鐘上升沿,發(fā)送地址
- }
- for (i=0;i<16;i++) //移位循環(huán) 16 次
- {
- CLK=1; //清零時鐘總線
- DIN=(bit)(dat&0x8000); //每次取高字節(jié)
- dat<<=1; //左移一位
- CLK=0; //時鐘上升沿,發(fā)送地址
- }
- LOAD=1; //發(fā)送結(jié)束,上升沿鎖存數(shù)據(jù)
- return(date); // 返回讀出的一字節(jié)
- }
- /*******************主函數(shù)********************/
- void main(void)
- {
- chushihua();
- while(1)
- {
- temp1=spi_read_byte(0xffff); //關(guān)斷模式
-
- if(temp1>0x0fff) //temp1>0x0fff 溫度為負(fù)數(shù)
- {
- 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);
- }
- }
復(fù)制代碼
全部資料51hei下載地址:
TC77溫度傳感器.rar
(138.06 KB, 下載次數(shù): 57)
2018-2-5 10:14 上傳
點擊文件名下載附件
仿真+程序 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|