資源簡介
“51單片機+adc0809+PT100的24路溫度巡檢儀”,用51單片機設(shè)計的一個基于PROTEUS仿真的24路溫度巡檢儀,通過LCD1602顯示數(shù)據(jù),main文件中有操作說明,包含所有設(shè)計的源碼,PROTEUS仿真圖,完全自行設(shè)計,幫人做的畢業(yè)設(shè)計。在此上傳給有需要的同志。

代碼片段和文件信息
#include“l(fā)cd.h“
#include
/*******************************************************************************
*?函?數(shù)?名?????????:?Lcd1602_Delay1ms
*?函數(shù)功能 ???:?延時函數(shù),延時1ms
*?輸????入?????????:?c
*?輸????出?????????:?無
*?說????名?????????:?該函數(shù)是在12MHZ晶振下,12分頻單片機的延時。
*******************************************************************************/
void?Lcd1602_Delay1ms(uint?c)???//誤差?0us
{
????uchar?ab;
for?(;?c>0;?c--)
{
?for?(b=199;b>0;b--)
?{
?? for(a=1;a>0;a--);
?}??????
}
????
}
void?Send_Byte(uchar?byte)
{
uchar?idat;
dat=byte;
for(i=0;i<8;i++)
{
DS=(bit)(dat&0x80);//從最高位開始傳送
shcp=0;//發(fā)送線上的數(shù)據(jù)
_nop_();
shcp=1;
dat<<=1;
}
stcp=0;//鎖存到輸出存儲器
_nop_();
stcp=1;
}
/*******************************************************************************
*?函?數(shù)?名?????????:?LcdWriteCom
*?函數(shù)功能 ???:?向LCD寫入一個字節(jié)的命令
*?輸????入?????????:?com
*?輸????出?????????:?無
*******************************************************************************/
#ifndef? LCD1602_4PINS ?//當(dāng)沒有定義這個LCD1602_4PINS時
void?LcdWriteCom(uchar?com) ??//寫入命令
{
LCD1602_E?=?0;?????//使能
LCD1602_RS?=?0; ???//選擇發(fā)送命令
LCD1602_RW?=?0; ???//選擇寫入
Send_Byte(com);?????//放入命令
Lcd1602_Delay1ms(1); //等待數(shù)據(jù)穩(wěn)定
LCD1602_E?=?1; ??????????//寫入時序
Lcd1602_Delay1ms(5); ??//保持時間
LCD1602_E?=?0;
}
#else?
void?LcdWriteCom(uchar?com) ??//寫入命令
{
LCD1602_E?=?0; ?//使能清零
LCD1602_RS?=?0; ?//選擇寫入命令
LCD1602_RW?=?0; ?//選擇寫入
Send_Byte(com); //由于4位的接線是接到P0口的高四位,所以傳送高四位不用改
Lcd1602_Delay1ms(1);
LCD1602_E?=?1; ?//寫入時序
Lcd1602_Delay1ms(5);
LCD1602_E?=?0;
// Lcd1602_Delay1ms(1);
Send_Byte(com<<4);?//發(fā)送低四位
Lcd1602_Delay1ms(1);
LCD1602_E?=?1; ?//寫入時序
Lcd1602_Delay1ms(5);
LCD1602_E?=?0;
}
#endif
/*******************************************************************************
*?函?數(shù)?名?????????:?LcdWriteData
*?函數(shù)功能 ???:?向LCD寫入一個字節(jié)的數(shù)據(jù)
*?輸????入?????????:?dat
*?輸????出?????????:?無
*******************************************************************************/ ???
#ifndef? LCD1602_4PINS ???
void?LcdWriteData(uchar?dat) //寫入數(shù)據(jù)
{
LCD1602_E?=?0; //使能清零
LCD1602_RS?=?1; //選擇輸入數(shù)據(jù)
LCD1602_RW?=?0; //選擇寫入
Send_Byte(dat);?//寫入數(shù)據(jù)
Lcd1602_Delay1ms(1);
LCD1602_E?=?1;???//寫入時序
Lcd1602_Delay1ms(5);???//保持時間
LCD1602_E?=?0;
}
#else
void?LcdWriteData(uchar?dat) //寫入數(shù)據(jù)
{
LCD1602_E?=?0; ??//使能清零
LCD1602_RS?=?1; ??//選擇寫入數(shù)據(jù)
LCD1602_RW?=?0; ??//選擇寫入
Send_Byte(dat); //由于4位的接線是接到P0口的高四位,所以傳送高四位不用改
Lcd1602_Delay1ms(1);
LCD1602_E?=?1; ??//寫入時序
Lcd1602_Delay1ms(5);
LCD1602_E?=?0;
Send_Byte(dat<<4);?//寫入低四位
Lcd1602_Delay1ms(1);
LCD1602_E?=?1; ??//寫入時序
Lcd1602_Delay1ms(5);
LCD1602_E?=?0;
}
#endif
/*******************************************************************************
*?函?數(shù)?名???????:?LcdInit()
*?函數(shù)功能 ?:?初始化LCD屏
*?輸????入???????:?無
*?輸????出???????:?無
*******************************************************************************/ ???
#ifndef LCD1602_4PINS
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-11?15:39??51單片機24路溫度巡檢儀\
?????文件???????????0??2018-03-11?15:39??51單片機24路溫度巡檢儀\1.txt
?????文件??????275641??2016-05-20?17:46??51單片機24路溫度巡檢儀\Temper24.DSN
?????目錄???????????0??2018-03-11?15:39??51單片機24路溫度巡檢儀\Temper_24R\
?????文件????????4226??2016-04-27?22:39??51單片機24路溫度巡檢儀\Temper_24R\lcd.c
?????文件????????1115??2016-04-27?19:57??51單片機24路溫度巡檢儀\Temper_24R\lcd.h
?????目錄???????????0??2016-07-08?17:24??51單片機24路溫度巡檢儀\Temper_24R\Listings\
?????文件????????7544??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\Listings\lcd.lst
?????文件???????18415??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\Listings\main.lst
?????文件???????14146??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\Listings\STARTUP.lst
?????文件???????30048??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\Listings\Temper_24R.m51
?????文件????????9828??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\main.c
?????目錄???????????0??2016-07-08?17:24??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件????????5507??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件???????21584??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件?????????819??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件???????24454??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件????????1253??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件????????8459??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件????????3777??2016-04-26?10:34??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件?????????149??2016-05-20?17:47??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件??????????89??2016-04-26?10:34??51單片機24路溫度巡檢儀\Temper_24R\ob
?????文件????????6376??2012-01-24?13:42??51單片機24路溫度巡檢儀\Temper_24R\STARTUP.A51
?????文件??????139091??2016-05-22?23:02??51單片機24路溫度巡檢儀\Temper_24R\Temper_24R.uvgui.WuYuan
?????文件????????5769??2016-04-28?00:36??51單片機24路溫度巡檢儀\Temper_24R\Temper_24R.uvopt
?????文件???????14215??2016-04-28?00:36??51單片機24路溫度巡檢儀\Temper_24R\Temper_24R.uvproj
評論
共有 條評論