久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4830|回復: 1
打印 上一主題 下一主題
收起左側

[求助]這個DS18B20測溫程序,怎樣可以改成可調溫控程序?

[復制鏈接]
跳轉到指定樓層
樓主
ID:36520 發表于 2012-6-13 12:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include #include #define uint unsigned int #define uchar unsigned char uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f}; //不帶小數點 uchar code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef}; //帶小數點 uchar Ds; uint temp; sbit ds=P1^7; sbit du=P2^6; sbit we=P2^7; sbit beep=P2^2; sbit jd=P2^3; sbit key_up=P3^2; sbit key_down=P3^4; float futemp; /************ 延時函數 ************/ void delay(uint z) //ms延時 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /************ DS18B20函數 ***********/ dsreset(void) //DS18B20復位 初始化函數 { uint i; ds=0; i=103; while(i>0) i--; ds=1; i=4; while(i>0) i--; Ds=ds; i=4; while(i>0) i--; return Ds; } bit tempreadbit(void) //讀一位數據函數 { uint i; bit dat; ds=0;i++; ds=1;i++;i++; dat=ds; i=8;while(i>0) i--; return(dat); } uchar tempread(void) //讀一個字節數據函數 { uchar i,j,dat; dat=0; for(i=1;i<=8;i++) { j=tempreadbit(); dat=(j<<7)|(dat>>1); } return(dat); } void tempwritebyte(uchar dat) //寫一個字節數據函數 { uint i; uchar j; bit testb; for(j=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) //寫1 { ds=0; i++;i++; ds=1; i=8;while(i>0) i--; } else //寫0 { ds=0; i=8;while(i>0) i--; ds=1; i++;i++; } } } /************ 獲取溫度并轉換 ***********/ void tempchange(void) //DS18B20 開始獲取溫度并轉換 { dsreset(); delay(1); tempwritebyte(0xcc); tempwritebyte(0x44); } uint get_temp() //讀取寄存器中存儲的溫度數據 { uchar a,b; dsreset(); delay(1); tempwritebyte(0xcc); tempwritebyte(0xbe); a=tempread(); b=tempread(); temp=b; temp<<=8; temp=temp|a; futemp=temp*0.0625; temp=futemp*10+0.5; futemp=futemp+0.05; return temp; } /************ 按鍵掃描函數 ************/ /************ 顯示子函數 ***********/ void play(uint xs) { uchar bai,shi,ge; bai=xs/100; shi=xs%100/10; ge=xs%10; du=1; P0=table[bai]; du=0; P0=0xff; we=1; P0=0xdf; we=0; delay(1); du=1; P0=table1[shi]; du=0; P0=0xff; we=1; P0=0xbf; we=0; delay(1); du=1; P0=table[ge]; du=0; P0=0xff; we=1; P0=0x7f; we=0; delay(1); } /************ 主函數 ***********/ void main() { while(1) { tempchange(); play(get_temp()); } }
[此貼子已經被作者于2012-6-13 12:34:02編輯過]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:7485 發表于 2012-6-14 20:14 | 只看該作者
怎么是這樣的?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产综合久久久久久首页 | 偷拍自拍在线观看 | 亚洲精品自在在线观看 | 欧美精品一区二区三区四区 在线 | 九九热精品视频在线观看 | 久久99精品视频 | 国产一级久久久久 | 日本又色又爽又黄又高潮 | 欧美一级欧美一级在线播放 | 日韩精品一区二区三区四区视频 | 一区二区伦理电影 | 国产资源网 | 亚洲国产精品一区二区久久 | 亚洲自拍偷拍欧美 | 99精品在线观看 | 精品国产一区一区二区三亚瑟 | 欧美美女一区二区 | 久久久久国产一级毛片 | 日韩在线播放中文字幕 | 五月婷婷激情网 | 国产一区二区三区视频 | 中国黄色毛片视频 | 国精产品一区一区三区免费完 | 久久亚洲国产 | 最新中文字幕第一页视频 | 免费在线观看一级毛片 | 黄色欧美大片 | 欧美日韩电影一区 | 免费的av网站 | 日本三级电影在线观看视频 | 97超碰人人 | 激情av网站 | 国产精品91久久久久久 | 欧美日韩在线免费 | 涩涩99| 色噜噜狠狠色综合中国 | 性一交一乱一透一a级 | 国产精品18hdxxxⅹ在线 | 欧美一二三四成人免费视频 | 蜜桃一区| 一二区成人影院电影网 |