资源简介 (共47张PPT)单片机与C语言技术应用第四单元 任务24.2 CC2530单片机串口接收数据学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读08学习目标01掌握串口UART通信的物理层连接方式;掌握串口UART通信的数据帧格式及波特率计算;掌握扫描方式判断串口发送数据是否完成;掌握串口发送数据触发中断;掌握扫描方式判断串口接收数据;掌握串口接收数据触发中断;掌握串口命令控制交通信号灯系统。学习目标01能对与串口通信数据帧格式以及波特率相关的寄存器进行设置;能对扫描方式和中断方式完成串口发送数据的相关寄存器进行配置;能对扫描方式和中断方式完成串口接收数据的相关寄存器进行配置;能使用串口命令控制交通信号灯的开关。学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读084.2 CC2530单片机串口接收数据任务要求与任务分析02● 任务要求:①黑板通电后,D3绿色LED熄灭(黄灯灭),串口接收数据等待中;②PC机发送数据0xBF;③串口接收数据0xBF,D3绿色LED点亮(黄灯亮);串口接收效果仅上电一次,不可循环。任务要求与任务分析02● 任务分析:扫描方式串口接收数据。学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读084.2 CC2530单片机串口接收数据CC2530串口0接收过程1知识储备03CC2530串口0接收初始化203知识储备串口0从接收引脚RX0以波特率速度一位一位地接收数据,并传送到接收移位寄存器中,当接收到完整一个字节数据后,移位寄存器的数据将传送至U0DBUF寄存器中。03知识储备串口0接收数据原理:03知识储备当移位寄存器的数据传送至U0DBUF寄存器中时,硬件会自动将TCON寄存器的串口0接收中断标志位URX0IF置1,可以通过中断触发方式或扫描方式判断是否接收到完整字节数据。03知识储备TCON寄存器:位 位名称 复位值 操作 描述7 URX1IF 0 R/WH0 USART1 RX中断标志。当USART1 RX中断发生时设为1且当CPU指向中断向量服务例程时清除。0: 无中断未决;1: 中断未决6 - 0 R/W 没有使用03知识储备TCON寄存器:位 位名称 复位值 操作 描述5 ADCIF 0 R/WH0 ADC中断标志。ADC中断发生时设为1且CPU指向中断向量例程时清除。0: 无中断未决;1: 中断未决4 - 0 R/W 没有使用03知识储备位 位名称 复位值 操作 描述3 URX0IF 0 R/WH0 USART0 RX中断标志。当USART0中断发生时设为1且CPU指向中断向量例程时清除。0: 无中断未决;1: 中断未决2 IT1 1 R/W 保留。必须一直设为1。设置为零将使能低级别中断探测,几乎总是如此(启动中断请求时执行一次)。03知识储备位 位名称 复位值 操作 描述1 RFERRIF 0 R/WH0 RF TX/RX FIFO 中断标志。当RFERR中断发生时设为1且CPU指向中断向量例程时清除。0: 无中断未决;1: 中断未决0 IT0 1 R/W 保留。必须一直设为1。设置为零将使能低级别中断探测,几乎总是如此(启动中断请求时执行一次)。03知识储备本任务在初始化时将串口0接收中断标志位URX0IF置0,,然后采用扫描方式不断判断串口0接收中断标志位URX0IF。当串口0接收中断标志位URX0IF为1时,表示接收到一个字节的数据,软件操作将串口0接收中断标志位URX0IF置0,然后读取U0DBUF寄存器的内容,进入串口0接收逻辑分析处理。具体配置代码如下:03知识储备1.URX0IF = 0; //清除串口0接收中断标志位2. ……3. while( URX0IF ==0 ); //等待接收数据4. URX0IF = 0; //清除串口0接收中断标志位5. //进入串口0接收逻辑分析处理03知识储备通过扫描方式不断检测串口0接收中断标志位URX0IF是否为1,当检测到串口0接收中断标志位URX0IF为1时,表示接收到完整的一个字节数据。这时从U0DBUF寄存器读取接收数据,硬件上不会自动将串口0接收中断标志位URX0IF置0。因此从U0DBUF寄存器读取接收数据之前,需要通过软件操作将串口0接收中断标志位URX0IF置0,然后再读取U0DBUF寄存器的内容进行逻辑分析判断处理。CC2530串口0接收过程1知识储备03CC2530串口0接收初始化203知识储备CC2530串口0接收初始化与本单元任务1的“CC2530串口通信初始化”基本一致,也是完成时钟源选择、硬件I/O口选择与配置、串口模式及数据帧格式配置、通信波特率的计算及设置这四项任务。完成四项基本配置之后,除了在原有设置U0CSR寄存器,选择UART异步通信模式之外,还需在U0CSR寄存器原有配置基础上,将U0CSR寄存器中的RE位置1,使能UART接收器,具体配置代码如下:U0CSR |= 0x40; //允许串口0接收学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读084.2 CC2530单片机串口接收数据任务实施04● 任务实施前必须先准备好以下设备和资源:序号 设备/资源名称 数量 是否准备到位(√)1 计算机(已安装好IAR软件) 1台 2 NEWLab实训平台 1套 3 CC-Debugger 仿真器 1套 4 黑板 1块 12任务实施04打开工程编写代码3编译工程4仿真调试●打开本书配套源代码文件夹中的“单片机串口接收数据.ewp”工程。04任务实施12任务实施04打开工程编写代码3编译工程4仿真调试● 步骤1:头文件包含04任务实施#include ● 步骤2:I/O引脚宏定义04任务实施#define GREEN_RED P1_3 //将P1_3引脚宏定义为D5绿色LED控制引脚步骤3:编写串口初始化函数1.void InitUART(void)2.{3. PERCFG = 0x00; //串口0通信引脚选择备用位置14. P0SEL |= 0x0C; //P0_2和P0_3引脚用作外设功能5. P2DIR &= ~0xC0; //外设多功能复用引脚串口0优先级最高6. U0CSR |= 0x80; //选择串口UART异步通信模式7. U0GCR |= 9; //设置通信波特率为96008. U0BAUD |= 59; //设置通信波特率为96009. U0UCR |= 0x02; //配置起始位低电平、停止位高电平、8位数据通信、无奇偶校验10. U0CSR |= 0x40; //允许串口0接收11.}04任务实施04任务实施串口0初始化函数主要完成以下几项任务:(1)设置PERCFG寄存器进行备用位置选择。(2)设置P0SEL寄存器,将P0_2和P0_3两个I/O口配置作为外设功能。(3)设置P0SEL寄存器进行多功能复用引脚优先级配置,串口0的优先级设置为最高。(4)设置U0CSR寄存器,选择UART异步通信模式。(5)设置U0GCR寄存器和U0BAUD寄存器选择通信波特率9600bps。(6)设置U0UCR寄存器进行数据帧格式配置。在U0CSR寄存器原来的基础上将RE位置1,使能串口0接收。步骤4:编写main主函数04任务实施1.void main()2.{3. InitIO(); // I/O口初始化4. InitUART(); //串口初始化5. URX0IF = 0; //初始化之后,一般会将接收中断标志置06. while( URX0IF==0 ); //判断是否接收到,未接收到继续等待7. URX0IF=0; //URX0IF置0,清除接收中断标志04任务实施8. If( U0DBUF==0xBF )9. {10. GREEN_RED =1; //点亮绿色交通信号灯11. }12. while(1);13. }04任务实施12任务实施04打开工程编写代码3编译工程4仿真调试对工程进行编译,观察是否提示编译成功。如果出现错误或警告,需要认真检查修改,重新编译链接,直到没有错误和警告为止。04任务实施12任务实施04打开工程编写代码3编译工程4下载代码(1)用CC-Debugger仿真器的下载线连接黑板;(2)完成代码下载;(3)黑板上电,PC机上利用串口调试助手发送0xBF数据,观察板上的D5绿色LED是否打开,如果D5绿色LED点亮,表示CC2530单片机接收到0xBF数据。04任务实施学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读084.2 CC2530单片机串口接收数据05任务工单本次任务关键知识引导1. CC2530串口0从接收引脚( )以( )速度一位一位地接收数据,并传送到( )中,当接收到完整一个字节数据后,( )的数据将传送至( )寄存器中。2. 当移位寄存器的数据传送至U0DBUF寄存器中时,硬件会( )将( ) 寄存器的串口0接收中断标志位( )置( ),可以通过( )或( )判断是否接收到完整字节数据。3. 采用扫描方式判断是否接收到完整字节数据时, 首先将串口0接收中断标志位URX0IF置( ),然后( )检测串口0接收中断标志位URX0IF的状态;当检测到串口0接收中断标志位URX0IF为( )时,表示接收到完整的一个字节数据,需要软件操作将串口0接收中断标志位URX0IF置( ),然后读取( )寄存器的内容,进入串口0接收逻辑分析处理。4. CC2530串口0接收数据时,需要对( )寄存器进行配置,选择( )通信模式之外,还需将U0CSR寄存器中的( )位置1,( )UART接收器。任务工单05各组选派代表分析本组任务实施经验;01添加标题请参照评价标准完成自评;02完成对其他小组的评价。03互评经验分享自评评价方式 可采用自评、互评、老师评价等方式 说明 主要评价学生在项目学习过程中的操作技能、理论知识、学习态度、课堂表现、学习能力等。 序号 评价内容 评价标准 分值 得分1 知识运用(20%) 掌握相关理论知识,完成本次任务关键知识的作答准确率(20分) 20分2 专业技能(40%) 工程编译通过,串口调试助手发送0xBF数据,板上的D5绿色LED工作正常。(40分) 40分工程编译通过,串口调试助手发送0xBF数据,板上的D5绿色LED工作异常。(30分)完成代码的输入,工程没有编译通过。(15分)建立工程错误,或者部分输入代码。(5分)3 核心素养(20%) 具有良好的自主学习、分析解决问题、帮助他人的能力、整个任务过程中有指导他人并解决他人问题(20分) 20分具有较好的学习能力和分析解决问题的能力,任务过程中无指导他人(15分)具有主动学习并收集信息的能力,遇到问题有请教他人并得以解决(10分)不主动学习(0分)4 职业素养(20%) 实验完成后,设备无损坏、设备摆放整齐、工位区域内保持整洁、无干扰课堂秩序(20分) 20分实验完成后,设备无损坏、无干扰课堂秩序(15分)无干扰课堂秩序(10分)干扰课堂秩序(0分)总得分学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸阅读084.2 CC2530单片机串口接收数据任务小结06学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸练习084.2 CC2530单片机串口接收数据任务拓展07动动脑请思考下采用扫描方式进行串口0接收数据的缺点是什么?任务拓展07动动手请在本任务的基础上进行修改,要求CC2530单片机接收到十六进制数据为0xAA才打开D5绿色LED。学习目标01知识储备03任务工单05任务要求与任务分析02任务实施04任务小结06知识与技能提升07延伸练习084.2 CC2530单片机串口接收数据延伸练习08请在本任务代码基础上进行修改,实现CC2530单片机接收到的数据为0xFF时,打开D5绿色LED;接收到的数据为0x00时,关闭D5绿色LED。 展开更多...... 收起↑ 资源预览