資源簡介
程序功能:MSP430F149讀取DS18B20進行溫度測量以后的結果并在1602液晶上顯示

代碼片段和文件信息
#include?
#include?“cry1602.h“
typedef?unsigned?char?uchar;
typedef?unsigned?int??uint;
/**************宏定義***************/
#define?DataDir?????P2DIR
#define?DataPort????P2OUT
#define?Busy ????0x80
#define?CtrlDir?????P6DIR
#define?CLR_RS?P6OUT&=~BIT3;????//RS?=?P6.3
#define?SET_RS?P6OUT|=BIT3;
#define?CLR_RW?P6OUT&=~BIT4; //RW?=?P6.4
#define?SET_RW?P6OUT|=BIT4;
#define?CLR_EN?P6OUT&=~BIT5; //EN?=?P6.5
#define?SET_EN?P6OUT|=BIT5;
/*******************************************
函數名稱:DispNchar
功????能:讓液晶從某個位置起連續顯示N個字符
參????數:x--位置的列坐標
??????????y--位置的行坐標
??????????n--字符個數
??????????ptr--指向字符存放位置的指針
返回值??:無
********************************************/
void?DispNChar(uchar?xuchar?y?uchar?nuchar?*ptr)?
{
????uchar?i;
????
for?(i=0;i {
Disp1Char(x++yptr[i]);
if?(x?==?0x0f)
{
???x?=?0;?
???????????y?^=?1;
}
}
}
/*******************************************
函數名稱:LocateXY
功????能:向液晶輸入顯示字符位置的坐標信息
參????數:x--位置的列坐標
??????????y--位置的行坐標
返回值??:無
********************************************/
void?LocateXY(uchar?xuchar?y)?
{
????uchar?temp;
temp?=?x&0x0f;
y?&=?0x01;
if(y)???temp?|=?0x40;??//如果在第2行
temp?|=?0x80;
????
LcdWriteCommand(temp1);
}
/*******************************************
函數名稱:Disp1Char
功????能:在某個位置顯示一個字符
參????數:x--位置的列坐標
??????????y--位置的行坐標
??????????data--顯示的字符數據
返回值??:無
********************************************/
void?Disp1Char(uchar?xuchar?yuchar?data)?
{
LocateXY(?x?y?);
LcdWriteData(?data?);
}
/*******************************************
函數名稱:LcdReset
功????能:對1602液晶模塊進行復位操作
參????數:無
返回值??:無
********************************************/
void?LcdReset(void)?
{
????CtrlDir?|=?0x07;?????????????????//控制線端口設為輸出狀態?
????DataDir??=?0xFF;?????????????????//數據端口設為輸出狀態
??
??? LcdWriteCommand(0x38?0); ????//規定的復位操作
Delay5ms();
LcdWriteCommand(0x38?0);
Delay5ms();
LcdWriteCommand(0x38?0);
Delay5ms();
LcdWriteCommand(0x38?1); //顯示模式設置
????LcdWriteCommand(0x08?1); //顯示關閉
??? LcdWriteCommand(0x01?1); ????//顯示清屏
LcdWriteCommand(0x06?1); //寫字符時整體不移動
LcdWriteCommand(0x0c?1); //顯示開,不開游標,不閃爍
}
/*******************************************
函數名稱:LcdWriteCommand
功????能:向液晶模塊寫入命令
參????數:cmd--命令,
??????????chk--是否判忙的標志,1:判忙,0:不判
返回值??:無
********************************************/
void?LcdWriteCommand(uchar?cmduchar?chk)?
{
if?(chk)?WaitForEnable();???//?檢測忙信號?
CLR_RS;
CLR_RW;?
_NOP();
DataPort?=?cmd;?????????????//將命令字寫入數據端口?
_NOP();
SET_EN;?????????????????????//產生使能脈沖信號
_NOP();
_NOP();
CLR_EN;
}
/*******************************************
函數名稱:LcdWriteData
功????能:向液晶顯示的當前地址寫入顯示數據
參????數:data--顯示字符數據
返回值??:無
********************************************/
void?LcdWriteData(?uchar?data?)?
{
WaitForEnable();????????//等待液晶不忙
SET_RS;
CLR_RW;?
_NOP();
????DataPort?=?data;????????//將顯示數據寫入數據端口
????_NOP();
SET_EN;??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????17846??2011-06-16?00:25??DS18B20溫度程序\S2\Backup?(2)?of?S2.ewd
?????文件??????47603??2011-06-28?14:50??DS18B20溫度程序\S2\Backup?(2)?of?S2.ewp
?????文件??????12489??2010-04-30?22:46??DS18B20溫度程序\S2\Backup?of?S2.ewd
?????文件??????44311??2008-03-22?22:35??DS18B20溫度程序\S2\Backup?of?S2.ewp
?????文件???????4420??2012-06-01?13:53??DS18B20溫度程序\S2\cry1602.c
?????文件????????444??2008-03-21?10:48??DS18B20溫度程序\S2\cry1602.h
?????文件??????25622??2011-06-17?00:11??DS18B20溫度程序\S2\Debug\Exe\S2.d43
?????文件???????4149??2012-06-01?13:51??DS18B20溫度程序\S2\Debug\Exe\S2.txt
?????文件??????14999??2011-06-16?00:25??DS18B20溫度程序\S2\Debug\Obj\cry1602.r43
?????文件??????15163??2011-06-16?00:25??DS18B20溫度程序\S2\Debug\Obj\DS18B20.r43
?????文件??????21937??2012-06-01?13:51??DS18B20溫度程序\S2\Debug\Obj\main.r43
?????文件????????258??2012-06-01?13:51??DS18B20溫度程序\S2\Debug\Obj\S2.pbd
?????文件???????4206??2010-04-30?22:48??DS18B20溫度程序\S2\DS18B20.c
?????文件????????260??2007-12-31?11:56??DS18B20溫度程序\S2\DS18B20.h
?????文件???????3614??2011-06-17?00:11??DS18B20溫度程序\S2\main.c
?????文件???????3930??2012-06-01?13:52??DS18B20溫度程序\S2\S2.dep
?????文件??????20090??2012-06-01?13:51??DS18B20溫度程序\S2\S2.ewd
?????文件??????50335??2012-06-01?13:51??DS18B20溫度程序\S2\S2.ewp
?????文件????????156??2008-03-22?22:35??DS18B20溫度程序\S2\S2.eww
?????文件???????1299??2012-06-01?13:51??DS18B20溫度程序\S2\settings\S2.cspy.bat
?????文件???????4407??2012-06-01?13:52??DS18B20溫度程序\S2\settings\S2.dbgdt
?????文件???????1287??2012-06-01?13:52??DS18B20溫度程序\S2\settings\S2.dni
?????文件???????2791??2012-06-01?13:52??DS18B20溫度程序\S2\settings\S2.wsdt
?????目錄??????????0??2012-08-14?17:09??DS18B20溫度程序\S2\Debug\Exe
?????目錄??????????0??2012-08-14?17:09??DS18B20溫度程序\S2\Debug\List
?????目錄??????????0??2012-08-14?17:09??DS18B20溫度程序\S2\Debug\Obj
?????目錄??????????0??2012-08-14?17:09??DS18B20溫度程序\S2\Debug
?????目錄??????????0??2012-08-14?17:09??DS18B20溫度程序\S2\settings
?????目錄??????????0??2012-08-14?17:09??DS18B20溫度程序\S2
?????目錄??????????0??2012-08-14?17:09??DS18B20溫度程序
............此處省略3個文件信息
- 上一篇:pano2vr精美皮膚一份縮略圖導航
- 下一篇:Flash小游戲打飛機
評論
共有 條評論