-
大小: 72KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-23
- 語言: 其他
- 標(biāo)簽: MSP430F149??NRF24L01??無線收發(fā)??
資源簡介
用MSP430編寫的NRF24L01模塊驅(qū)動(dòng)代碼,已測試通過,僅供學(xué)習(xí)參考!

代碼片段和文件信息
#include?“cry1602.h“
/**************宏定義***************/
#define?DataDir?????P4DIR
#define?DataPort????P4OUT
#define?Busy ????0x80
#define?CtrlDir?????P3DIR
#define?CLR_RS?P3OUT&=~BIT0;????//RS?=?P3.0
#define?SET_RS?P3OUT|=BIT0;
#define?CLR_RW?P3OUT&=~BIT1; //RW?=?P3.1
#define?SET_RW?P3OUT|=BIT1;
#define?CLR_EN?P3OUT&=~BIT2; //EN?=?P3.2
#define?SET_EN?P3OUT|=BIT2;
/*******************************************
函數(shù)名稱:DispNchar
功????能:讓液晶從某個(gè)位置起連續(xù)顯示N個(gè)字符
參????數(shù):x--位置的列坐標(biāo)
??????????y--位置的行坐標(biāo)
??????????n--字符個(gè)數(shù)
??????????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;
????}
??}
}
/*******************************************
函數(shù)名稱:LocateXY
功????能:向液晶輸入顯示字符位置的坐標(biāo)信息
參????數(shù):x--位置的列坐標(biāo)
??????????y--位置的行坐標(biāo)
返回值??:無
********************************************/
void?LocateXY(uchar?xuchar?y)?
{
??uchar?temp;
??temp?=?x&0x0f;
??y?&=?0x01;
??if(y)?temp?|=?0x40;??//如果在第2行
??temp?|=?0x80;
??LcdWriteCommand(temp1);
}
/*******************************************
函數(shù)名稱:Disp1Char
功????能:在某個(gè)位置顯示一個(gè)字符
參????數(shù):x--位置的列坐標(biāo)
??????????y--位置的行坐標(biāo)
??????????data--顯示的字符數(shù)據(jù)
返回值??:無
********************************************/
void?Disp1Char(uchar?xuchar?yuchar?data)?
{
??LocateXY(?x?y?);
??LcdWriteData(?data?);
}
/*******************************************
函數(shù)名稱:LcdReset
功????能:對1602液晶模塊進(jìn)行復(fù)位操作
參????數(shù):無
返回值??:無
********************************************/
void?LcdReset(void)?
{
??CtrlDir?|=?0x07;?????????????????//控制線端口設(shè)為輸出狀態(tài)?
??DataDir??=?0xFF;?????????????????//數(shù)據(jù)端口設(shè)為輸出狀態(tài)
??LcdWriteCommand(0x38?0); ???//規(guī)定的復(fù)位操作
??Delay5ms();
??LcdWriteCommand(0x38?0);
??Delay5ms();
??LcdWriteCommand(0x38?0);
??Delay5ms();
??LcdWriteCommand(0x38?1); ???//顯示模式設(shè)置
??LcdWriteCommand(0x08?1); ???//顯示關(guān)閉
??LcdWriteCommand(0x01?1); ???//顯示清屏
??LcdWriteCommand(0x06?1); ???//寫字符時(shí)整體不移動(dòng)
??LcdWriteCommand(0x0c?1); ???//顯示開,不開游標(biāo),不閃爍
}
/*******************************************
函數(shù)名稱:LcdWriteCommand
功????能:向液晶模塊寫入命令
參????數(shù):cmd--命令,
??????????chk--是否判忙的標(biāo)志,1:判忙,0:不判
返回值??:無
********************************************/
void?LcdWriteCommand(uchar?cmduchar?chk)?
{
??if?(chk)?WaitForEnable();???//?檢測忙信號(hào)?
??CLR_RS;
??CLR_RW;?
??_NOP();?
??DataPort?=?cmd;?????????????//將命令字寫入數(shù)據(jù)端口?
??_NOP(); ?
??SET_EN;?????????????????????//產(chǎn)生使能脈沖信號(hào)
??_NOP();
??_NOP();
??CLR_EN;
}
/*******************************************
函數(shù)名稱:LcdWriteData
功????能:向液晶顯示的當(dāng)前地址寫入顯示數(shù)據(jù)
參????數(shù):data--顯示字符數(shù)據(jù)
返回值??:無
********************************************/
void?LcdWriteData(?uchar?data?)?
{
??WaitForEnable();????????//等待液晶不忙
??SET_RS;
??CLR_RW;?
??_NOP();
??DataPort?=?data;????????//將顯示數(shù)據(jù)寫入數(shù)據(jù)端口
??_NOP();
??SET_EN;?????????????????//產(chǎn)生使能脈沖信號(hào)
??_NOP();
??_NOP();
??CLR_EN;
}
/****************************************
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4304??2012-08-01?20:43??NRF24L01收發(fā)代碼\receive\cry1602.c
?????文件????????516??2012-08-01?20:39??NRF24L01收發(fā)代碼\receive\cry1602.h
?????文件??????24976??2012-08-04?17:12??NRF24L01收發(fā)代碼\receive\Debug\Exe\receive.d43
?????文件??????13956??2012-08-04?16:46??NRF24L01收發(fā)代碼\receive\Debug\Obj\cry1602.r43
?????文件???????9037??2012-08-04?17:12??NRF24L01收發(fā)代碼\receive\Debug\Obj\main.r43
?????文件??????21332??2012-08-04?17:07??NRF24L01收發(fā)代碼\receive\Debug\Obj\nRF24L01.r43
?????文件????????286??2012-08-04?17:12??NRF24L01收發(fā)代碼\receive\Debug\Obj\receive.pbd
?????文件????????361??2012-08-04?16:37??NRF24L01收發(fā)代碼\receive\delay.h
?????文件????????926??2012-08-04?19:28??NRF24L01收發(fā)代碼\receive\main.c
?????文件???????3700??2012-08-04?19:27??NRF24L01收發(fā)代碼\receive\nRF24L01.c
?????文件???????2971??2012-08-04?17:07??NRF24L01收發(fā)代碼\receive\nRF24L01.h
?????文件???????6759??2012-08-04?19:47??NRF24L01收發(fā)代碼\receive\receive.dep
?????文件??????50527??2012-08-04?16:46??NRF24L01收發(fā)代碼\receive\receive.ewp
?????文件????????161??2012-08-04?16:46??NRF24L01收發(fā)代碼\receive\receive.eww
?????文件???????2764??2012-08-04?19:28??NRF24L01收發(fā)代碼\receive\Release\Exe\receive.txt
?????文件???????7804??2012-08-04?17:17??NRF24L01收發(fā)代碼\receive\Release\Obj\cry1602.r43
?????文件???????4109??2012-08-04?19:28??NRF24L01收發(fā)代碼\receive\Release\Obj\main.r43
?????文件??????14947??2012-08-04?19:27??NRF24L01收發(fā)代碼\receive\Release\Obj\nRF24L01.r43
?????文件????????328??2012-08-04?19:28??NRF24L01收發(fā)代碼\receive\Release\Obj\receive.pbd
?????文件???????1141??2012-08-04?18:56??NRF24L01收發(fā)代碼\receive\settings\receive.cspy.bat
?????文件?????????63??2012-08-04?19:47??NRF24L01收發(fā)代碼\receive\settings\receive.dbgdt
?????文件????????486??2012-08-04?19:47??NRF24L01收發(fā)代碼\receive\settings\receive.dni
?????文件???????2984??2012-08-04?19:47??NRF24L01收發(fā)代碼\receive\settings\receive.wsdt
?????文件??????20178??2012-08-04?16:42??NRF24L01收發(fā)代碼\send\Debug\Exe\send.d43
?????文件???????7947??2012-08-04?16:42??NRF24L01收發(fā)代碼\send\Debug\Obj\main.r43
?????文件??????21149??2012-08-04?16:42??NRF24L01收發(fā)代碼\send\Debug\Obj\nRF24L01.r43
?????文件????????210??2012-08-04?16:42??NRF24L01收發(fā)代碼\send\Debug\Obj\send.pbd
?????文件????????361??2012-08-04?16:37??NRF24L01收發(fā)代碼\send\delay.h
?????文件????????867??2012-08-04?19:54??NRF24L01收發(fā)代碼\send\main.c
?????文件???????3701??2012-08-04?17:14??NRF24L01收發(fā)代碼\send\nRF24L01.c
............此處省略36個(gè)文件信息
評論
共有 條評論