资源简介

用MSP430编写的NRF24L01模块驱动代码,已测试通过,仅供学习参考!

资源截图

代码片段和文件信息

#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;
/*******************************************
函数名称: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;                 //产生使能脉冲信号
  _NOP();
  _NOP();
  CLR_EN;
}
/****************************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4304  2012-08-01 20:43  NRF24L01收发代码\receive\cry1602.c

     文件        516  2012-08-01 20:39  NRF24L01收发代码\receive\cry1602.h

     文件      24976  2012-08-04 17:12  NRF24L01收发代码\receive\Debug\Exe\receive.d43

     文件      13956  2012-08-04 16:46  NRF24L01收发代码\receive\Debug\Obj\cry1602.r43

     文件       9037  2012-08-04 17:12  NRF24L01收发代码\receive\Debug\Obj\main.r43

     文件      21332  2012-08-04 17:07  NRF24L01收发代码\receive\Debug\Obj\nRF24L01.r43

     文件        286  2012-08-04 17:12  NRF24L01收发代码\receive\Debug\Obj\receive.pbd

     文件        361  2012-08-04 16:37  NRF24L01收发代码\receive\delay.h

     文件        926  2012-08-04 19:28  NRF24L01收发代码\receive\main.c

     文件       3700  2012-08-04 19:27  NRF24L01收发代码\receive\nRF24L01.c

     文件       2971  2012-08-04 17:07  NRF24L01收发代码\receive\nRF24L01.h

     文件       6759  2012-08-04 19:47  NRF24L01收发代码\receive\receive.dep

     文件      50527  2012-08-04 16:46  NRF24L01收发代码\receive\receive.ewp

     文件        161  2012-08-04 16:46  NRF24L01收发代码\receive\receive.eww

     文件       2764  2012-08-04 19:28  NRF24L01收发代码\receive\Release\Exe\receive.txt

     文件       7804  2012-08-04 17:17  NRF24L01收发代码\receive\Release\Obj\cry1602.r43

     文件       4109  2012-08-04 19:28  NRF24L01收发代码\receive\Release\Obj\main.r43

     文件      14947  2012-08-04 19:27  NRF24L01收发代码\receive\Release\Obj\nRF24L01.r43

     文件        328  2012-08-04 19:28  NRF24L01收发代码\receive\Release\Obj\receive.pbd

     文件       1141  2012-08-04 18:56  NRF24L01收发代码\receive\settings\receive.cspy.bat

     文件         63  2012-08-04 19:47  NRF24L01收发代码\receive\settings\receive.dbgdt

     文件        486  2012-08-04 19:47  NRF24L01收发代码\receive\settings\receive.dni

     文件       2984  2012-08-04 19:47  NRF24L01收发代码\receive\settings\receive.wsdt

     文件      20178  2012-08-04 16:42  NRF24L01收发代码\send\Debug\Exe\send.d43

     文件       7947  2012-08-04 16:42  NRF24L01收发代码\send\Debug\Obj\main.r43

     文件      21149  2012-08-04 16:42  NRF24L01收发代码\send\Debug\Obj\nRF24L01.r43

     文件        210  2012-08-04 16:42  NRF24L01收发代码\send\Debug\Obj\send.pbd

     文件        361  2012-08-04 16:37  NRF24L01收发代码\send\delay.h

     文件        867  2012-08-04 19:54  NRF24L01收发代码\send\main.c

     文件       3701  2012-08-04 17:14  NRF24L01收发代码\send\nRF24L01.c

............此处省略36个文件信息

评论

共有 条评论