資源簡介
基于單片機的溫濕度檢測及遠程控制系統設計
該項目包括原理圖電路圖 程序源碼 演示講解文檔全套資料
三分拿去 超值了

代碼片段和文件信息
/*******************說明:**************************
將實時時鐘數據通過LCD1602顯示
--------------------------------------------------
基于戰神單片機工作室51/AVR最小系統板及DS1302
實時時鐘模塊編寫
淘寶店鋪地址:?http://zsmcu.taobao.com/
QQ:284083167
手機:15016732495
**************************************************/
#include?
#include?
#define?uchar?unsigned?char
#define?uint??unsigned?int
unsigned?char?num[10]={‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘};
????//定義的的4個鍵盤
sbit?s1=P1^1; ?? ?//時鐘功能鍵
sbit?s2=P1^2; ??//加鍵
sbit?s3=P1^3; ???//減鍵
int?s1num=0;
int?s5num=0;
sbit?led=P1^7;
int?H_shiH_ge;
int?L_shiL_ge;
int?T_HT_L;
//LCD1602引腳定義
//采用8位并行方式DB0~DB7連接至LCDDATA0~LCDDATA7
sbit?io=P1^0;//dht11data端接單片機的P1^0口//?
typedef?bit?BOOL;//此聲明一個布爾型變量即真或假//?
uchar?data_byte;?
uchar?RHRLTHTL;?
sbit?RS=P1^4;
sbit?RW=P1^5;
sbit?CS=P1^6;
#define?LCDDATA?P2
//功能:延時1毫秒
//入口參數:x
//出口參數:無
//說明:當晶振為12M時,j<112;當晶振為11.0592M時,j<122
void?Delay_xms(uint?x)
{
??uint?ij;
??for(i=0;i ????for(j=0;j<112;j++);
}
//功能:12us延時
//STC89C52為1T單片機即1個時鐘/機器周期速度為AT89C52的12倍
void?Delay_xus(uint?t) ?? ?
{?
??for(;t>0;t--)
???{
?_nop_();
???}
}
//控制LCD寫時序
void?LCD_en_write(void)???????
{
???CS=1;????
????Delay_xus(20);
???CS=0;???
Delay_xus(20);
}
??
//寫指令函數
void?Write_Instruction(uchar?command)
{
??RS=0;
??RW=0;
??CS=1;
??LCDDATA=command;
??LCD_en_write();//寫入指令數據
}
//寫數據函數
void?Write_Data(uchar?Wdata)
{
??RS=1;
??RW=0;
??CS=1;
??LCDDATA=Wdata;
??LCD_en_write();//寫入數據
}
//字符顯示初始地址設置
void?LCD_SET_XY(uchar?Xuchar?Y)
{
??uchar?address;
??if(Y==0)
????address=0x80+X;//Y=0表示在第一行顯示,地址基數為0x80
??else?
????address=0xc0+X;//Y非0時,表時在第二行顯示,地址基數為0xC0
??Write_Instruction(address);//寫指令,設置顯示初始地址
}
//在第X行Y列開始顯示Wdata所對應的單個字符
void?LCD_write_char(uchar?Xuchar?Yuchar?Wdata)
{
??LCD_SET_XY(XY);//寫地址
??Write_Data(Wdata);//寫入當前字符并顯示
}
//清屏函數
void?LCD_clear(void)
{
??Write_Instruction(0x01);
??Delay_xms(5);
}
//顯示屏初始化函數
void?LCD_init(void)?
{
Write_Instruction(0x38); //8bit?interface2line5*7dots
Delay_xms(5);
Write_Instruction(0x38);
Delay_xms(5);
Write_Instruction(0x38);
Write_Instruction(0x08); //關顯示,不顯光標,光標不閃爍
Write_Instruction(0x01); //清屏
Delay_xms(5);
Write_Instruction(0x04); //寫一字符,整屏顯示不移動
//Write_Instruction(0x05); //寫一字符,整屏右移
//Write_Instruction(0x06); //寫一字符,整屏顯示不移動
//Write_Instruction(0x07); //寫一字符,整屏左移
Delay_xms(5);
//Write_Instruction(0x0B); //關閉顯示(不顯示字符,只有背光亮)
Write_Instruction(0x0C); //開顯示,光標、閃爍都關閉
//Write_Instruction(0x0D); //開顯示,不顯示光標,但光標閃爍
//Write_Instruction(0x0E); //開顯示,顯示光標,但光標不閃爍
//Write_Instruction(0x0F); //開顯示,光標、閃爍均顯示
}
//**************************dht11測試某塊*************************************//?
//***************延時函數*************************************?
?void?delay(uchar?ms)?//延時模塊//?
{?
??uchar?i;?
??while(ms--)?????????????????
????????
?for(i=0;i<100;i++);?
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-10?18:51??成品\
?????文件???????56320??2018-05-16?23:42??成品\57900基于單片機的溫濕度檢測及遠程控制系統設計開題報告.doc
?????文件?????5561344??2018-05-25?22:39??成品\57900基于單片機的溫濕度檢測及遠程控制系統設計畢業論文.doc
?????目錄???????????0??2018-05-14?18:53??成品\總程序\
?????目錄???????????0??2018-05-14?19:45??成品\總程序\實時時鐘-LCD1602顯示\
?????文件???????19100??2018-05-14?19:20??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602
?????文件????????4251??2018-05-14?19:20??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602.hex
?????文件???????25988??2018-05-14?19:20??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602.M51
?????文件????????1016??2011-10-23?17:25??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602.opt.bak
?????文件????????3248??2018-05-14?19:20??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602.plg
?????文件????????1988??2011-09-06?11:13??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602.Uv2.bak
?????文件???????71925??2018-04-23?22:50??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602.uvgui.Administrator
?????文件???????71876??2018-04-14?12:09??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602.uvgui_Administrator.bak
?????文件???????13229??2018-04-30?22:19??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602.uvproj
?????文件????????1014??2011-10-20?16:20??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602_Opt.Bak
?????文件????????1988??2011-09-06?10:59??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602_Uv2.Bak
?????文件???????55829??2018-05-14?19:16??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602_uvopt.bak
?????文件???????13415??2018-01-23?23:18??成品\總程序\實時時鐘-LCD1602顯示\DS1302_LCD1602_uvproj.bak
?????文件???????10631??2018-05-14?19:20??成品\總程序\實時時鐘-LCD1602顯示\main.c
?????文件???????23650??2018-05-14?19:20??成品\總程序\實時時鐘-LCD1602顯示\main.LST
?????文件???????22155??2018-05-14?19:20??成品\總程序\實時時鐘-LCD1602顯示\main.OBJ
?????目錄???????????0??2018-10-10?18:51??視頻\
?????文件?????3543552??2018-10-10?22:46??視頻\新建?DOC?文檔?(6).doc
?????文件??????????67??2018-10-10?17:04??說明.txt
?????目錄???????????0??2018-10-10?18:52??需求\
?????文件???????10240??2018-10-10?22:50??需求\新建?DOC?文檔?(7).doc
- 上一篇:基于單片機的電子調光燈設計
- 下一篇:基于單片機的智能門禁系統設計
評論
共有 條評論