資源簡介
MLX90615無線測溫51單片機程序
液晶顯示LCD1602 按鍵設置閾值 蜂鳴器報警

代碼片段和文件信息
#include?“1602.h“
#include?“delay.h“
#include?
#define?uchar?unsigned?char
#define?uint?unsigned?int
#define?_NOP()?_nop_()
sbit?RS?=?P2^4;???//定義端口?
sbit?RW?=?P2^5;
sbit?EN?=?P2^6;
#define?DataPort????P0
#define?DataPIN?????P0
#define?CLR_RS?(RS=0)?
#define?SET_RS?(RS=1)
#define?CLR_RW?(RW=0)
#define?SET_RW?(RW=1)
#define?CLR_EN?(EN=0)
#define?SET_EN?(EN=1)
/*
LcdReset();???????????????//LCD1602初始化
DelayMs(10);
sprintf(temp“1111111111111111“);//更新顯示
DispStr(00(unsigned?char?*)temp);//打印顯示
sprintf(temp“1111111111111111“);//更新顯示
DispStr(01(unsigned?char?*)temp);//打印顯示
*/
/***********************************************
函數名稱:DispStr
功????能:讓液晶從某個位置起連續顯示一個字符串
參????數:x--位置的列坐標
??????????y--位置的行坐標
??????????ptr--指向字符串存放位置的指針
返回值??:無
***********************************************/
void?DispStr(uchar?xuchar?yuchar?*ptr)?
{
????uchar?*temp;
????uchar?in?=?0;
????
????temp?=?ptr;
????while(*ptr++?!=?‘\0‘)???n++;????//計算字符串有效字符的個數
????
????for?(i=0;i ????{
????????Disp1Char(x++ytemp[i]);
????????if?(x?==?0x10)
????????{
????????????break;
????????}
????}
}
/*******************************************
函數名稱: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?==?0x10)
????????{
???????????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?data1)?
{
????LocateXY(?x?y?);
????LcdWriteData(?data1?);
}
/*******************************************
函數名稱:LcdReset
功????能:對1602液晶模塊進行復位操作
參????數:無
返回值??:無
********************************************/
void?LcdReset(void)?
{
//????DataDir??=?0xFF;?????????????????//數據端口設為輸出狀態?
????LcdWriteCommand(0x38?0); ????//規定的復位操作
????DelayMs(5);
????LcdWriteCommand(0x38?0);
????DelayMs(5);
????LcdWriteCommand(0x38?0);
????DelayMs(5);
????LcdWriteCommand(0x38?1); //顯示模式設置
????LcdWriteCommand(0x08?1); //顯示關閉
????LcdWriteCommand(0x01?1); ????//顯示清屏
????LcdWriteCommand(0x06?1); //寫字符時整體不移動
????LcdWriteCommand(0x0c?1); //顯示開,不開游標,不閃爍
}
/*------------------------------------------------
????????????????清屏函數
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5068??2017-05-03?13:59??91、程序-MLX90615-20180126\1602.c
?????文件???????1031??2016-07-09?12:25??91、程序-MLX90615-20180126\1602.h
?????文件???????9492??2018-01-25?20:14??91、程序-MLX90615-20180126\1602.LST
?????文件???????9428??2018-01-25?20:14??91、程序-MLX90615-20180126\1602.OBJ
?????文件?????????34??2018-01-25?20:14??91、程序-MLX90615-20180126\1602.__i
?????文件??????27475??2018-01-25?20:24??91、程序-MLX90615-20180126\89c51
?????文件??????12164??2018-01-25?20:24??91、程序-MLX90615-20180126\89c51.hex
?????文件????????101??2018-01-25?20:24??91、程序-MLX90615-20180126\89c51.lnp
?????文件??????29359??2018-01-25?20:24??91、程序-MLX90615-20180126\89c51.M51
?????文件????????923??2018-01-25?20:34??91、程序-MLX90615-20180126\89c51.plg
????.......?????57323??2018-01-25?20:34??91、程序-MLX90615-20180126\89c51.uvopt
?????文件??????13895??2017-06-19?17:50??91、程序-MLX90615-20180126\89c51.uvproj
????.......?????57323??2018-01-25?20:27??91、程序-MLX90615-20180126\89c51_uvopt.bak
?????文件??????13563??2017-03-14?15:41??91、程序-MLX90615-20180126\89c51_uvproj.bak
?????文件????????738??2017-03-12?15:13??91、程序-MLX90615-20180126\delay.c
?????文件????????654??2017-03-12?15:13??91、程序-MLX90615-20180126\delay.h
?????文件???????1827??2018-01-25?20:14??91、程序-MLX90615-20180126\delay.LST
?????文件???????1117??2018-01-25?20:14??91、程序-MLX90615-20180126\delay.OBJ
?????文件?????????35??2018-01-25?20:14??91、程序-MLX90615-20180126\delay.__i
?????文件???????2360??2017-06-19?17:48??91、程序-MLX90615-20180126\main.c
?????文件???????5785??2018-01-25?20:14??91、程序-MLX90615-20180126\main.LST
?????文件???????7840??2018-01-25?20:14??91、程序-MLX90615-20180126\main.OBJ
?????文件?????????34??2018-01-25?20:14??91、程序-MLX90615-20180126\main.__i
?????文件???????3395??2018-01-25?20:24??91、程序-MLX90615-20180126\mlx90614.c
?????文件????????592??2017-05-03?13:41??91、程序-MLX90615-20180126\mlx90614.h
?????文件???????8254??2018-01-25?20:24??91、程序-MLX90615-20180126\mlx90614.LST
?????文件???????9032??2018-01-25?20:24??91、程序-MLX90615-20180126\mlx90614.OBJ
?????文件?????????38??2018-01-25?20:24??91、程序-MLX90615-20180126\mlx90614.__i
?????文件???????6376??2009-05-07?14:37??91、程序-MLX90615-20180126\STARTUP.A51
?????文件??????14072??2017-06-19?17:48??91、程序-MLX90615-20180126\STARTUP.LST
............此處省略5個文件信息
評論
共有 條評論