- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 3
武汉纺织大学
单片机原理与应用
课
程
设
计
设计题目: nrf24l01数据传送
学 院: 电子与电气工程学院
班 级: 电子11201
姓 名: 张啸宇 胡安凯
QQ 号: 1272779714
目录
TOC \o 1-3 \h \z \u 一、思想出路: 3
二、设计方案: 3
2.1、硬件设计方案: 3
2.2、软件设计方案: 3
1.驱动文件: 3
2.发送端主程序 4
3.接收端主程序 5
2.3、接线: 6
三、选题方案 7
四、系统原理图 7
4.1、发射端: 7
4.2、接收端: 8
五、程序精选 8
六、总结 8
6.1、功能总结: 8
6.2、功能完善: 9
6.3、自我总结: 9
七、展望: 9
一、思想出路:
?物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。随着我国互联网的发展,物联网相关概念也随之进入了人们的视线,物联网是继计算机、互联网与移动通信网之后的又一次信息产业化浪潮。而基于物联网的智能家居系统也渐渐浮出水面,科学技术在发展,也在慢慢的改变我们的生活。因此,为了适应潮流,我们选择了nrf24l01模块,和单片机,组成一个简单的wifi传输系统,实现简单的物联网功能。
二、设计方案:
2.1、硬件设计方案:
一个完整的传输系统至少应该有两个部分组成。一个发射端,一个接收端。
发送端:
硬件:
nRF24l01模块 发送部分
STC89C52RC单片机小系统 控制发送部分
数码管 显示发送值代号
8键独立键盘 触发发送
接收端:
硬件:
nRF24l01模块 接收部分
STC89C52RC单片机小系统 控制接收处理显示部分
LCD1602 显示单片机处理后的要显示内容
2.2、软件设计方案:
1.驱动文件:
nRF24l01的驱动头文件(引脚定义和功能函数定义),LCD1602驱动头文件(引脚定义和功能函数定义),52单片机驱动头文件。
2.发送端主程序
程序存储器中存储8组发送数组,扫描按键后对应子函数发送。发送成功后数码管点亮。
(1)8组16字节数组。unsigned char code tx_buf【16】
(2)键盘扫描程序
unsigned char Key_Scan()
{
unsigned char keyValue = 0 , i; //保存键值
//--检测按键1--//
if (GPIO_KEY != 0xFF) //检测按键K1是否按下
{
Delay10ms(1); //消除抖动
if (GPIO_KEY != 0xFF) //再次检测按键是否按下
{
keyValue = GPIO_KEY;
i = 0;
while ((i50) (GPIO_KEY != 0xFF)) //检测按键是否松开
{
Delay10ms(1);
i++;
}
}
}
//GPIO_KEY在引脚定义中为 #define GPIO_KEY P2 对应P2口。
(3)主程序跳转到子函数部分:
start:
while (1)
{
keyNum = Key_Scan(); //扫描键盘
switch (keyNum)
{ case(0xFE) : fun0();goto start;break; //返回按键K1的数据
case(0xFD) : fun1();goto start;break; //返回按键K2的数据
case(0xFB) : fun2();goto start;break //返回按键K3的数据
case(0xF7) : fun3();goto start;break; //返回按键K4的数据
case(0xEF) : fun4();goto start;break; //返回按键K5的数据
case(0xDF) : fun5();goto start;brea
文档评论(0)