77范文网 - 专业文章范例文档资料分享平台

基于单片机的车站自动报站系统设计(6)

来源:网络收集 时间:2018-12-20 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

天津理工大学2015届本科毕业设计说明书

那个信号直到发送的次数达到峰值,此时MAX_RT寄存器变成高电压,导致IRQ变成低电压,中断触发,通知STC。

发射模块流程图可由图4.3所表示:

图4.3 发射流程图

4.3.2 发射程序

首先是设置发送模式:

(1) 该函数初始化NRF24L01到TX模式

(2) 设置TX地址,写TX数据宽度,设置RX自动应答的地址,填充TX发送数据,选

择RF频道,波特率 (3) PWR_UP,CRC使能

(4) CE为高大于10us,则启动发送

void TX_Mode(void) {

22

天津理工大学2015届本科毕业设计说明书

NRF24L01_CE=0;

NRF24L01_Write_Reg(FLUSH_TX,0xff);//清除TX FIFO寄存器

NRF24L01_Write_Buf(WRITE_REG+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH);//写TX节点地址

NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);//设置TX节点地址,主要为了使能ACK

NRF24L01_Write_Reg(WRITE_REG+EN_AA,0x01); //使能通道0的自动应答 NRF24L01_Write_Reg(WRITE_REG+EN_RXADDR,0x01); //使能通道0的接收地址 NRF24L01_Write_Reg(WRITE_REG+SETUP_RETR,0x1a);//设置自动重发间隔时间:500us + 86us;最大自动重发次数:10次

NRF24L01_Write_Reg(WRITE_REG+RF_CH,40); //设置RF通道为40 NRF24L01_Write_Reg(WRITE_REG+RF_SETUP,0x0f); //设置TX发射参数,0db增益,2Mbps,低噪声增益开启

NRF24L01_Write_Reg(WRITE_REG+CONFIG,0x0e); //配置基本工作模式的参数;PWR_UP,EN_CRC,16BIT_CRC,接收模式,开启所有中断

NRF24L01_CE=1;//CE为高,10us后启动发送 }

4.4 接收模块的系统设计

4.4.1接收模块流程图

车体接收信号时,第一步先将NRF调整为接收方式;第二步当收到无线信号时,把接收到的内容放入RX中,紧接着中断触发,IRQ变成低电压,让STC去寄存器中拿。如果与此同时打开了自动回答模式,接收模块就会把发射内容把信息转回到发射站台。最终完成信号的接收。

接收模块流程图可由图4.4所表示:

23

天津理工大学2015届本科毕业设计说明书

图4.4 接收数据流程图

4.4.2接收程序

发送模式下可以不设置发射的有效数据宽度,但接收模式一定要有。该芯片有6个通道,但其中写入到2,3,4,5通道地址的时候,无论你写多少个进去,它只识别最后一个。所以该地址宽度代码为:

const u8 TX_ADDRESS[TX_ADR_WIDTH]={0xe7,0xe7,0xe7,0xe7,0xe7}; //发送地址 const u8 RX_ADDRESS [RX_ADR_WIDTH]={0x01,0x01,0xc2,0xc2,0xc2}; //接收0通道地址

const u8 RX_ADDRESS1[RX_ADR_WIDTH]={0x02,0x01,0xc2,0xc2,0xc2}; //接收1通道地址

const u8 RX_ADDRESS2[RX_ADR_WIDTH]={0x03}; //接收2通道地址 const u8 RX_ADDRESS3[RX_ADR_WIDTH]={0x04}; //接收3通道地址 const u8 RX_ADDRESS4[RX_ADR_WIDTH]={0x05}; //接收4通道地址 const u8 RX_ADDRESS5[RX_ADR_WIDTH]={0x06}; //接收5通道地址

24

天津理工大学2015届本科毕业设计说明书

然后设置接收模式:

(1) 该函数初始化NRF24L01到RX模式

(2) 设置RX地址,写RX数据宽度,选择RF频道,波特率 (3) 当CE变高后即进入RX模式,并可以接收数据

void RX_Mode(void) {

NRF24L01_CE=0;

NRF24L01_Write_Reg(FLUSH_RX,0xff);//清除TX FIFO寄存器

NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);//写RX节点地址

NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P1,(u8*)RX_ADDRESS1,RX_ADR_WIDTH);//写RX节点地址

NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P2,(u8*)RX_ADDRESS2,1);//写RX节点地址

NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P3,(u8*)RX_ADDRESS3,1); NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P4,(u8*)RX_ADDRESS4,1); NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P5,(u8*)RX_ADDRESS5,1); NRF24L01_Write_Reg(WRITE_REG+EN_AA,0x3f); //使能通道0的自动应答 NRF24L01_Write_Reg(WRITE_REG+EN_RXADDR,0x3f);//使能通道0-5的接收地址 NRF24L01_Write_Reg(WRITE_REG+RF_CH,40); //设置RF通信频率

NRF24L01_Write_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);//选择通道0的有效数据宽度

NRF24L01_Write_Reg(WRITE_REG+RX_PW_P1,RX_PLOAD_WIDTH); NRF24L01_Write_Reg(WRITE_REG+RX_PW_P2,RX_PLOAD_WIDTH); NRF24L01_Write_Reg(WRITE_REG+RX_PW_P3,RX_PLOAD_WIDTH); NRF24L01_Write_Reg(WRITE_REG+RX_PW_P4,RX_PLOAD_WIDTH); NRF24L01_Write_Reg(WRITE_REG+RX_PW_P5,RX_PLOAD_WIDTH); NRF24L01_Write_Reg(WRITE_REG+RF_SETUP,0x0f);//设置TX发射参数,0db增益,2Mbps,低噪声增益开启

NRF24L01_Write_Reg(WRITE_REG+CONFIG, 0x0f);//配置基本工作模式的参数;PWR_UP,EN_CRC,16BIT_CRC,接收模式 NRF24L01_CE = 1; //CE为高,进入接收模式 }

25

天津理工大学2015届本科毕业设计说明书

4.5 软件简介

4.5.1 Keil软件

Keil是由德国的Keil Elektronik GmbH和美国的Keil Software组成的一家公司。Keil分为Keil MDK与Keil C51两种软件,目前流行的还是51的开发软件Keil C51,这个软件支持几种编程语言,操作简单。Keil提供了一个功能强大的仿真器,其中包含宏编译、连接器、C编译器等,通过一个集成开发环境组合起来,并且Keil能在Windows操作系统下运行,很方便。

Keil C51 强大的功能能够进行交叉编译、连接、调试、仿真等操作,此软件操作简单,非常受欢迎。开发人员可以用C语言或者汇编语言进行编程,接下来利用编译器生成文件(.obj),然后再将目标文件转换成绝对目标文件(.abs),最后绝对目标文件有OH51转换成hex文件,用来仿真或者是烧录。使用Keil仿真器应注意仿真器上的晶振可由用户的需求更换其他频率的晶振,仿真器上的复位按钮是复位芯片。

Keil C51的优点是它生产目标代码速度之快,在开发软件时高级语言在功能上、结构上、可读性上体现出了很大的优势。

下面介绍下该软件的使用方法:

第一步先在点击工程选项,选择新建工程,这时会弹出一个保存窗口,保存文件名自拟,然后点击保存在新建的文件夹中。保存完成后会弹出让你选择哪种CPU,这时选择自己需要的CPU点击确定,这时一个新的工程就建立完毕了。

第二步建立一个新的文件,打开文件新建文件后,点击保存按钮此时会出现对话框,这时在文件名后要加上.C后缀,点击保存。之后再右键点击工程组添加文件,点击确定,一个新的文件就建立完成了。如下面的图4.5所表达:

图4.5 建立一个工程

26

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机的车站自动报站系统设计(6)在线全文阅读。

基于单片机的车站自动报站系统设计(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/378638.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: