实训二 压力传感器实验
1. 实验环境
? 硬件:ZIGBEE(CC2431)模块,ZIGBEE 下载调试板,配套压力传感器,USB 仿真器,PC 机
l 软件:IAR Embedded Workbench for MCS-51
2. 实验内容
? 阅读 UP-CUP IOT-6410 系统 ZIGBEE 模块硬件部分文档,熟悉 ZIGBEE 模块相关硬件接口。
? 阅读 CC2431 芯片文档,熟悉 A/D 转换的使用及操作。
? 使用 IAR 开发环境
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
程序,利用 CC2431 的 IO 中断来监测压力传感器的状态。
3. 实验原理
3.1 硬件接口原理
l
ZIGBEE(CC2431)模块 LED 硬件接口
图 4.8.1 LED 硬件接口
ZIGBEE(CC2431)模块硬件上设计有 2 个 LED 灯,用来编程调试使用。分别连接 CC2431 的 P1_0、P、1_1 两个 IO 引脚。从原理图上可以看出,2 个 LED 灯共阳极,当 P1_0、P1_1 引脚为低电平时候,LED 灯点亮。
? 压力传感器模块硬件接口
图 4.8.2 压力传感器硬件接口
图 4.8.3 ZIGBEE 模块主板 J5 接口
系统配套的压力传感器,与 ZIGBEE 模块的 J5 排线相连,这样我们可以知道,压力传感器模块的输出与 ZIGBEE 模块的 P0_0 IO 引脚相连。因此我们需要在代码中将相应输出 IO 作为 A/D 输入引脚进行设置,即 可来监测压力传感器状态。
? CC2431 相关寄存器
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
4.8.1 P1 寄存器
表 4.8.2 P1DIR 寄存器
以上图表列出了关于 CC2431 处理器的 P1 IO 相关寄存器,其中只用到了 P1 和 P1DIR 两个寄存器的设 置,P1 寄存器为可读写的数据寄存器,P1DIR 为 IO 输入输出选择寄存器,其他 IO 寄存器的功能,使用默 认配置。详情请用户参考 CC2431 的芯片手册。
表 4.8.3 CLKCON 寄存器
表 4.8.4 SLEEP 控制寄存器
表 4.8.5 PERCFG 寄存器
表 4.8.6 U0CSR 寄存器
表 4.8.7 U0GCR 寄存器
表 4.8.8 U0BUF 寄存器
表 4.8.9 U0BAUD 寄存器
表 4.8.10 ADCCON1 寄存器
表 4.8.11 ADCCON3 寄存器
以上图表列举了和 CC2431 处理器 A/D 转换操作定相关的寄存器,其中包括 CLKCON 控制寄存器,用来 控制系统时钟源,SLEEP 寄存器用来控制各种时钟源的开关和状态。PERCFG 寄存器为外设功能控制寄存器, 用来控制外设功能模式。U0CSR、U0GCR、U0BUF、U0BAUD 等位串口相关寄存器。ADCCON1 和 ADCCON3 分别 为 AD 转换控制器和 AD 转换设置寄存器。
3.2 软件设计
关键源码
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
:
设置 CC2430 A/D 输入源 IO 为 P0_0,即压力传感器的输出 IO:
/****************************************************************
*函数功能 :初始化 ADC *
*入口参数 :无 *
*返 回 值 :无 *
*说 明 :参考电压 AVDD,转换对象是 P0_0 *
****************************************************************/ void InitialAD(void)
{
//P1 out
P1DIR = 0x03; //P1 控制 LED
LED1 = 1;
LED2 = 1; //关 LED
P0DIR &= ~0x01; // P0_0 输入模式 ADCCFG |= 0x01<<0; // P0_0 A/D 输入源 ADCCON1 &= ~0x80; //清 EOC 标志
ADCCON3=0xb0; //单次转换,参考电压为电源电压,CHANNEL1 进行 A/D 转换
//14 位分辨率 ADCCON1 |= 0X30; //手动启动 A/D 转换 ADCCON1 |= 0X40; //启动 A/D
}
主函数如下:
/****************************************************************
*函数功能 :主函数 *
*入口参数 :无 *
*返 回 值 :无 *
*说 明 :无 *
****************************************************************/ void main(void)
{
char temp[2];
float num;
initUART(); //初始化串口
InitialAD(); //初始化 ADC
LED1 = 1;
while(1)
{
if(ADCCON1&(0x80))//EOC==1 A/D 转换结束
{
LED1 = 1; //转换完毕指示
temp[1] = ADCL; temp[0] = ADCH;
ADCCON3=0xb0; //每次读取后,该位清除,需手动重新设置!!! ADCCON1 |= 0x40; //开始下一转换
temp[1] = temp[1]>>2; //数据处理 temp[1] |= temp[0]<<6;
temp[0] = temp[0]>>2; temp[0] &= 0x3f;
num = ((temp[0]<<8)|temp[1])*3.3/8191;// 14bit 精度,一位符号位,2^13
//定参考电压为 3.3V。14 位精确度
adcdata[1] = (char)(num)%10+48;
//adcdata[2] = '.';
adcdata[3] = (char)(num*10)%10+48;
UartTX_Send_String(adcdata,6); //串口送数
UartTX_Send_word(0x0A); UartTX_Send_word(0x0D);
Delay(30000);
LED1 = 0; //完成数据处理
Delay(30000);
}
}
}
程序通过配置 CC2431 处理器的 A/D 控制器来转换压力传感器的压力值,进而取得传感器的状态,如果顺 利采集到压力状态,则在串口输出相应的压力电压数据。
4. 实验步骤
? 使用 USB 仿真器连接 PC 机和 ZIGBEE(CC2431)模块,将 ZIGBEE 调试板的电源拨到 3.3V 段,打开 ZIEBEE 模块开关供电。将系统配套串口线一端连接 PC 机,一端连接 ZIGBEE 调试板的串口上。 将系统配套压力传感器连接到 ZIGBEE 模块的主板上,连接 J5 线排端,且保证 RJ1 电阻跳线跳至 3.3V 供电端。勿要连接错!。
? 启动 IAR 开发环境,新建
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
,将 Exp8 实验工程中代码拷贝到新建工程中。
? 在 IAR 开发环境中编译、运行、调试程序。
? 使用 PC 机自带的超级终端连接串口,将超级终端设置为串口波特率 57600、8 位、无奇偶奇校验、无 硬件流模式。运行程序观察串口数据输出。
? 备注:所有传感器实验,在运行测试时候,请使用 5V 电源给 ZIGBEE 供电,否则传感器供电将不足。 即使用仿真器下载万程序后,将 ZIGBEE 调试板电源开关拨至 5V 供电,下载调试时候再改回 3.3V 供 电。
? 备注
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
:压力传感器,可以用手指按压传感器电阻,传感器电阻产生形变,输出放大后的电压值, 在串口终端中可以观察数据变化。