91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

基于STC89S52單片機的溫度控制系統,可以通過按鍵設置最大最小溫度值,DS18B20溫度傳感器采集回來溫度通過1602液晶顯示屏顯示。內含電路圖和程序源碼

資源截圖

代碼片段和文件信息

/**********************BST-V51實驗開發板例程************************

*??平臺:BST-V51?+?Keil?5?+?STC89C52
*??名稱:18B20實時溫度計1602顯示??
*??日期:2018-10-28
*??晶振:11.0592MHZ

******************************************************************/

#include?
#include?
#include?

#define?uchar?unsigned?char
#define?uint??unsigned?int

sbit?ds?=?P2^2;??//ds18b20端口定義
sbit?rw?=?P1^1;??//LCD1602端口定義
sbit?RS?=?P1^0;??
sbit?LCDEN?=?P2^5;?
sbit?kaiguan?=?P2^0;
sbit?K1?=?P3^4;??//K1獨立按鍵設置溫度+
sbit?K2?=?P3^5;??//K1獨立按鍵設置溫度-

void?delayUs()??//延時一個機器周期
{
????_nop_();
}

?void?delayMs(uint?a)??//延時a毫秒
{
????uint?i?j;
????for(i?=?a;?i?>?0;?i--)
????????for(j?=?100;?j?>?0;?j--);
}

/*******************************LCD1602*******************************/
void?writeComm(uchar?comm)??//LCD寫命令
{
????RS?=?0;????
????P0?=?comm;
????LCDEN?=?1;
????delayUs();
????LCDEN?=?0;
????delayMs(1);
}

void?writeData(uchar?dat)??//寫數據:RS=1?RW=0;
{
????RS?=?1;
????P0?=?dat;
????LCDEN?=?1;
????delayUs();
????LCDEN?=?0;
????delayMs(1);
}

void?init()??//LCD初始化
{
????rw?=?0;?
????writeComm(0x38);
????writeComm(0x0c);?
????writeComm(0x06);
????writeComm(0x01);?
}

void?writeString(uchar?*?str?uchar?length)??//LCD寫字符串
{
????uchar?i;
????for(i?=?0;?i?????{
?????????writeData(str[i]);
????}
?}
?
/*******************************DS18B20*******************************/
void?dsInit()??//ds18b20初始化
{
????unsigned?int?i;??
????ds?=?0;
????i?=?100;??
?????while(i>0)?i--;
????ds?=?1;???
????i?=?4;
?????while(i>0)?i--;
}
?
void?dsWait()??//等待
?{
??????unsigned?int?i;
??????while(ds);??
??????while(~ds);
??????i?=?4;
??????while(i?>?0)?i--;
}


bit?readBit()??//讀一位數據
{
????unsigned?int?i;
????bit?b;
????ds?=?0;
????i++;???
????ds?=?1;?
????i++;?i++;??
????b?=?ds;
????i?=?8;?
????while(i>0)?i--;
????return?b;
}

unsigned?char?readByte()??//讀一個字節
{
????unsigned?int?i;
????unsigned?char?j?dat;
????dat?=?0;
????for(i=0;?i<8;?i++)
????{
????????j?=?readBit();
??????
????????dat?=?(j?<>?1);
????}
????return?dat;
}


void?writeByte(unsigned?char?dat)??//寫一個字節
{
????unsigned?int?i;
????unsigned?char?j;
????bit?b;
????for(j?=?0;?j?????{
????????b?=?dat?&?0x01;
????????dat?>>=?1;
????
????????if(b)???
????????{
???????????ds?=?0;??????????i++;?i++;??
????????????ds?=?1;????
????????????i?=?8;?while(i>0)?i--;??
????????}
????????else??
????????{
????????????ds?=?0;
??????????i?=?8;?while(i>0)?i--;??
????????????ds?=?1;
???????????i++;?i++;
????????}
????}
}


void?sendChangeCmd()??//溫度轉換
{
????dsInit();????
????dsWait();???
????delayMs(1);????
????writeByte(0xcc);??//跳過64位光刻ROM操作
????writeByte(0x44);??//寫入RAM操作
}

void?sendReadCmd()??
{
????dsInit();
????dsWait();
????delayMs(1);
????writeByte(0xcc);?
????writeByte(0xbe);?
}


int?getTmpValue()??//獲取溫度
{
????unsigned?int?tmpvalue;
????int?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????14721??2018-10-29?00:57??DS18B20溫度控制(1602顯示)\1602-wendu

?????文件????????994??2018-10-29?00:57??DS18B20溫度控制(1602顯示)\1602-wendu.build_log.htm

?????文件???????5131??2018-10-29?00:55??DS18B20溫度控制(1602顯示)\1602-wendu.c

?????文件???????6745??2018-10-29?00:57??DS18B20溫度控制(1602顯示)\1602-wendu.hex

?????文件?????????37??2018-10-29?00:57??DS18B20溫度控制(1602顯示)\1602-wendu.lnp

?????文件??????10411??2018-10-29?00:57??DS18B20溫度控制(1602顯示)\1602-wendu.LST

?????文件??????20590??2018-10-29?00:57??DS18B20溫度控制(1602顯示)\1602-wendu.M51

?????文件??????15635??2018-10-29?00:57??DS18B20溫度控制(1602顯示)\1602-wendu.OBJ

?????文件????????259??2013-11-02?22:23??DS18B20溫度控制(1602顯示)\1602-wendu.plg

????.......?????85507??2018-11-01?21:45??DS18B20溫度控制(1602顯示)\1602-wendu.uvgui.36564

?????文件???????5564??2018-10-28?18:46??DS18B20溫度控制(1602顯示)\1602-wendu.uvopt

?????文件??????13851??2018-10-28?19:32??DS18B20溫度控制(1602顯示)\1602-wendu.uvproj

?????文件???????1330??2013-11-02?22:23??DS18B20溫度控制(1602顯示)\1602-wendu_Opt.Bak

?????文件???????2153??2012-02-15?20:38??DS18B20溫度控制(1602顯示)\1602-wendu_Uv2.Bak

?????文件??????39936??2018-05-04?14:38??DS18B20溫度控制(1602顯示)\溫度傳感器ds18b20模塊化程序.doc

?????文件??????16491??2018-10-29?01:12??DS18B20溫度控制(1602顯示)\電路\@Q9(Q~{HR_MGYWS4U)GS@19.png

?????文件????4032397??2018-10-29?01:17??DS18B20溫度控制(1602顯示)\電路\IMG_20181029_011728.jpg

?????文件??????52569??2018-10-29?01:12??DS18B20溫度控制(1602顯示)\電路\P32Y3]BCE0IRCU5NPU94WR9.png

?????文件?????192150??2018-10-29?01:11??DS18B20溫度控制(1602顯示)\電路\ZI_CR$9Z~2[%(‘FPW%4VY_3.png

?????目錄??????????0??2018-10-29?01:22??DS18B20溫度控制(1602顯示)\電路

?????目錄??????????0??2019-01-03?08:59??DS18B20溫度控制(1602顯示)

-----------?---------??----------?-----??----

??????????????4516471????????????????????21


評論

共有 條評論