-
大小: 72KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-05-23
- 语言: 其他
- 标签: MSP430F149 NRF24L01 无线收发
资源简介
用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个文件信息
相关资源
- MSP430F149的SD卡模块驱动
- NRF24l01收发程序带LCD1602液晶及串口通
- STC15W4-nRF24L01 项目
- 基于两块430单片机及nrf24l01无线数据传
- 基于msp430f149的FFT算法,结果在1602液晶
- 2.4G无线通信模块(接收端代码+发射端
- MSP430F149 最小系统板原理图
- 基于430单片机的万年历程序
- MSP430F149+DS18B20+1602程序绝对好用
- msp430f149超声波雷达
- XN297 2.4GHz 单片高速无线收发芯片
- 51单片机nrf24L01遥控小车
- 基于nRF24L01和STM32的无线文件收发系统
- MSP430F149利用硬件SPI口读写串行Flash
- msp430F149应用电路原理图
- nrf905无线收发芯片原理及设计实现
- 2.4GHz无线收发芯片A7105及其应用
- nRF24L01详细中文资料+51程序
- msp430f149官方例程
- 基于arduino的无线温湿度传输系统
- MSP430F149+1602数码显示和实时时钟
- nrf24L01无线模块+温度测量
- 51单片机+DS18B20+NRF24L01+LCD1602=无线温度
- MSP430F149 TB输出频率可调PWM波
- sht10+bh1750+nrf24l01数据传输
- 一个MSP430F149单片机与无线芯片NRF240
- NRF24L01全双工调试程序
- msp430f149 12864显示温度
- DHT11温湿度传感器MSP430F149)
- 基于51单片机的NRF24L01双向通信
评论
共有 条评论