freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機(jī)及ds18b20溫度傳感器的數(shù)字溫度計(jì)程序(已修改)

2024-11-05 15:27 本頁面
 

【正文】 基于 51 單片機(jī)及 DS18B20 溫度傳感器的數(shù)字溫度計(jì)程序 (詳細(xì)注釋 ) 智筆記 1 智筆記 2 電路 實(shí)物圖 如下圖所示: C語言程序如下所示: /******************************************************************** zicreate Copyright (C) * 程序名 。 基于 DS18B20的測溫系統(tǒng) * 功 能: 實(shí)時測量溫度,超過上下限報警,報警溫度可手動調(diào)整。 K1是用來 * 進(jìn)入上下限調(diào)節(jié)模式的,當(dāng)按一下 K1進(jìn)入上限調(diào)節(jié)模式,再按一下進(jìn)入下限 * 調(diào)節(jié)模式。在正常模式下,按一下 K2進(jìn)入查看上限溫度模式,顯示 1s 左右自動 * 退出;按一下 K3進(jìn)入查看下限溫度模式,顯示 1s 左右自動退出;按一下 K4消除 * 按鍵音,再按一下啟動按鍵音。在調(diào)節(jié)上下限溫度模式下, K2是實(shí)現(xiàn)加 1功能, * K1是實(shí)現(xiàn)減 1功能, K3是用來設(shè)定上下限溫度正負(fù)的。 * 編程者: Jason * 編程時間: 2020/10/2 *********************************************************************/ include //將 include //將 (調(diào)用其中的 _nop_()空操作函數(shù)延時) define uint unsigned int //變量類型宏定義,用 uint 表示無符號整形( 16位) define uchar unsigned char //變量類型宏定義,用 uchar表示無符號字符型( 8位) uchar max=0x00,min=0x00。 //max是上限報警溫度, min 是下限報警溫度 bit s=0。 //s 是調(diào)整上下限溫度時溫度閃爍的標(biāo)志位, s=0不顯示 200ms, s=1顯 示 1s 左右 bit s1=0。 //s1標(biāo)志位用于上下限查看時的顯示 void display1(uint z)。 //聲明 display1()函數(shù) include //將 include //將 include //將 智筆記 3 /***********************主函數(shù) ************************/ void main() { beer=1。 //關(guān)閉蜂鳴器 led=1。 //關(guān)閉 LED 燈 timer1_init(0)。 //初始化定時器 1(未啟動定時器 1) get_temperature(1)。 //首次啟動 DS18B20獲取溫度( DS18B20上點(diǎn)后自動將 EEPROM 中的上下限溫度復(fù)制到 TH和 TL寄存器) while(1) //主循環(huán) { keyscan()。 //按鍵掃面函數(shù) get_temperature(0)。 //獲取溫度函數(shù) keyscan()。 //按鍵掃面函數(shù) display(temp,temp_d*)。//顯示函數(shù) alarm()。 //報警函數(shù) keyscan()。 //按鍵掃面函數(shù) } } /******************************************************************** * 程序名 。 __ds18b20_h__ * 功 能: DS18B20的 c51編程頭文件 * 編程者: ZPZ * 編程時間: 2020/10/2 * 說 明:用到的全局變量是:無符號字符型變量 temp(測得的溫度整數(shù)部分 ),temp_d * (測得的溫度小數(shù)部分 ),標(biāo)志位 f(測量溫度的標(biāo)志位‘ 0’表示“正溫度”‘ 1’表 * 示“負(fù)溫度”),標(biāo)志位 f_max(上限溫度的標(biāo)志位‘ 0’表示“正溫度”、‘ 1’表 * 示“負(fù)溫度”),標(biāo)志位 f_min(下限溫度的標(biāo)志位‘ 0’表示“正溫度”、‘ 1’表 * 示“負(fù)溫度”),標(biāo)志位 w(報警標(biāo)志位‘ 1’啟動報警‘ 0’關(guān)閉報警 )。 *********************************************************************/ ifndef __ds18b20_h__ //定義頭文件 define __ds18b20_h__ define uint unsigned int //變量類型宏定義,用 uint 表示無符號整形( 16位) define uchar unsigned char //變量類型宏定義,用 uchar表示無符號字符型( 8位) sbit DQ= P2^3。 //可位尋址變量定義,用 DQ表示 sbit beer=P1^0。 //用 beer表示 sbit led=P1^1。 //用 led 表示 uchar temp=0。 //測量溫度的整數(shù)部分 uchar temp_d=0。 //測量溫度的小數(shù)部 bit f=0。 //測量溫度的標(biāo)志位 ,0’表示“正溫度”‘ 1’表示“負(fù)溫度”) bit f_max=0。 //上限溫度的標(biāo)志位‘ 0’表示“正溫度”‘ 1’表示“負(fù)溫度”) bit f_min=0。 //下限溫度的標(biāo)志位‘ 0’表示“正溫度”、‘ 1’表示“負(fù)溫度”) bit w=0。 //報警標(biāo)志位‘ 1’啟動報警‘ 0’關(guān)閉報警 ) /*****************************延時子函數(shù) ******************************/ void ds18b20_delayus(uint t) //延時幾μ s { while(t)。} void ds18b20_delayms(uint t) //延時 1ms 左右 { uint i,j。 for(i=t。i0。i) for(j=120。j0。j)。} /**************************ds18b20 初始化函數(shù) *************************/ void ds18b20_init() // DS18B20初始化 { DQ=1。 //拉高數(shù)據(jù)線 DQ=0。 //控制器向 DS18B20發(fā)低電平脈沖 ds18b20_delayus(30)。 //延時 480μ s 左右 DQ=1。 //控制器拉高總線, while(DQ)。 //等待 DS18B20拉低總線 智筆記 4 ds18b20_delayus(20)。 //延時,等待上拉電阻拉高總線 DQ=1。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1