資源簡介
4*4矩陣鍵盤輸入任意數字(0~999999)顯示在LCD1602上

代碼片段和文件信息
#include
#include?“display.h“
#include?
#include?
#include?“lcd1602.h“
/////////////////////////////////////////////////////////////////
//液晶顯示擴展指令數據定義項
#define?WIDTH???16????//液晶列數
#define?HEIGHT??2?????//液晶行數
#define?CHAR_WIDTH??1?//每個字符所占列數
#define?CHAR_HEIGHT?1?//每個字符所占行數
unsigned?char?row=0col=0;??//全局行列位置
uchar?shuzi[]={“0123456789.“};
uchar?tishi[]?=?{“Frequencye?:“};
////////////////////////////////////////////////////////////////
/*******************************************
函數名稱:DisplayInit
功????能:對1602液晶模塊進行復位操作
參????數:無
返回值??:無
********************************************/
void?DisplayInit(void)
{ ?
LcdReset();
}
/***********************************************
函數名稱: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?==?0x0f)
????????{
???????????x??=?0;?
???????????y?^=?1;
????????}
????}
}
/*******************************************
函數名稱: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?dat)?
{
????LocateXY(?x?y?);
????LcdWriteData(?dat?);
}
/*******************************************
函數名稱:Delay5ms
功????能:延時約5ms
參????數:無
返回值??:無
********************************************/
void?Delay5nms(void)
{?
????uint?i=40000;
????while?(i?!=?0)
????{
????????i--;
????}
}
/*******************************************
函數名稱:MoveCursor
功????能:移動當前坐標位置
參????數:無
返回值??:無
影????響:全局變量?row,col
********************************************/
void?MoveCursor()
{
?????col?+=?CHAR_WIDTH;
?????if((col)?>?(WIDTH-1)?)
????{
????????row?+=?CHAR_HEIGHT;
????????if(?row?>?(HEIGHT-1)?)
??????????row=0;
????????col?=?col%WIDTH;
????}??
}
/
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8887??2014-07-09?13:14??16k2\16K3.dep
?????文件??????20090??2014-07-02?01:21??16k2\16K3.ewd
?????文件??????50167??2014-07-08?01:45??16k2\16K3.ewp
?????文件????????158??2013-06-22?22:37??16k2\16K3.eww
?????文件??????17846??2013-06-22?22:37??16k2\Backup?(2)?of?16K3.ewd
?????文件??????47164??2013-06-22?22:37??16k2\Backup?(2)?of?16K3.ewp
?????文件??????12489??2013-06-22?22:37??16k2\Backup?of?16K3.ewd
?????文件??????43840??2013-06-22?22:37??16k2\Backup?of?16K3.ewp
?????文件????????690??2013-06-22?22:37??16k2\BoardConfig.h
?????文件???????5005??2014-07-09?13:13??16k2\Debug\Exe\16K3.txt
?????文件????????310??2014-07-09?13:14??16k2\Debug\Obj\16K3.pbd
?????文件??????39190??2014-07-09?11:47??16k2\Debug\Obj\display.r43
?????文件??????22678??2014-07-09?13:13??16k2\Debug\Obj\Keypad.r43
?????文件??????10246??2014-07-08?01:59??16k2\Debug\Obj\lcd1602.r43
?????文件???????8639??2014-07-09?12:12??16k2\Debug\Obj\main.r43
?????文件???????7573??2014-07-09?11:46??16k2\display.c
?????文件???????2892??2014-07-09?11:47??16k2\display.h
?????文件???????4689??2014-07-09?13:13??16k2\Keypad.c
?????文件????????425??2014-07-09?12:00??16k2\Keypad.h
?????文件???????2403??2014-07-08?01:59??16k2\lcd1602.c
?????文件???????1439??2014-07-08?01:58??16k2\lcd1602.h
?????文件????????616??2014-07-09?12:12??16k2\main.c
?????文件??????40724??2014-07-03?09:44??16k2\MSP430F149.txt
?????文件???????7156??2014-07-03?14:16??16k2\Release\Exe\16K3.txt
?????文件????????321??2014-07-03?14:16??16k2\Release\Obj\16K3.pbd
?????文件???????3103??2014-07-03?14:16??16k2\Release\Obj\ad7816.r43
?????文件???????6629??2014-07-03?14:16??16k2\Release\Obj\display.r43
?????文件???????9594??2014-07-03?14:16??16k2\Release\Obj\Keypad.r43
?????文件??????12769??2014-07-03?14:16??16k2\Release\Obj\main.r43
?????文件???????1108??2014-07-09?13:13??16k2\settings\16K3.cspy.bat
............此處省略16個文件信息
- 上一篇:MSP430采集BMP180程序
- 下一篇:操作系統基礎.docx
評論
共有 條評論