武汉理工大学《无线传感网络》课程设计说明书
3、添加文件
(1)->File->New->File,如图3.4所示 (2) 新建文件另存为test.c,如图3.5所示。右键点击test-Debug->Add->Add Files:
(3)选择 test.c,点击打开:
图3.4 新建文件
图3.5 新建test.c
4、编译链接
(1) 右键点击 test-Debug->Rebuild All 进行编译
(2) 编译成功后,IAR 软件会在下方显示编译信息。如果编译失败,会有编
译错误的信息提示和说明。
(3) 编译成功后,右键点击 test-Debug->Make生成可供仿真器烧写的.hex
文件。
3.2 烧写文件
(1)打开SmartRFProg
(2)找到要烧写的hex文件。
(3)在Actions处选择要验证还是擦除等,一般选择:Erase program and verify;
(4)点击Perform actions,将开始第4步选择的项目; (5)点击writeIEEE
5
武汉理工大学《无线传感网络》课程设计说明书
3.3 串口调试助手
图3.6 串口调试
1. 选择串口号,第一个
2. 设置串口的波特率:57600
3. 数据位数、停止位数、校验方式、是否流控等默认即可; 4. 勾选HEX发送。 5. 点击“打开串口”,即可建立网关机和PC之间的连接。
3.4 压力传感器模块原理
1.压力传感器工作原理
压力传感器采集压力形变转化为数字信号。具体为当在压力传感器上施加压力时,该压力传感器发生形变,从而使阻抗发生变化,同时使激励电压发生变化,输出一个变化的模拟信号。该信号经放大电路放大输出到模数转换器。微处理器通过A/D采集口采集此模拟信号,并经过运算计算出压力值.
6
武汉理工大学《无线传感网络》课程设计说明书
4算法描述
4.1代码描述
#include \ #define uint8 unsigned char #define uint16 unsigned int #define uint32 unsigned long
extern void Sensor_PIN_INT(void);
extern uint16 ReadAdcValue(uint8 ChannelNum,uint8 DecimationRate,uint8 RefVoltage);
char uart_buffer;
void delay(void) {
unsigned int i; unsigned char j;
for(i=0;i<10000;i++) { for(j=0;j<200;j++) { asm(\ asm(\ asm(\ } } }
void UartTX_Send_String(unsigned char *Data,int len) //串口发送函数 {
int j;
for(j=0;j 7 武汉理工大学《无线传感网络》课程设计说明书 } void UartTX_Send_Data(unsigned char Data,int len) //串口发送函数 { int j; for(j=0;j #pragma vector=URX0_VECTOR //uart0中断函数 __interrupt void uart0(void){ URX0IF = 0; //清中断标志 P0_0=~P0_0; uart_buffer = U0DBUF; //UartTX_Send_String(\ UartTX_Send_Data(uart_buffer,1); } void main( void ) { uint16 AdValue; uint16 temp; unsigned char buf[8]; Sensor_PIN_INT(); while(1){ // P2_0=~P2_0; P0_0 = 1; // 熄灭LED P2_0 = 1; AdValue = ReadAdcValue(0x6,3,2); AdValue = AdValue>>6; temp = AdValue; if(temp > 0x24){ temp = (temp - 0x22) * 200 / 0x12; } else temp = 0; buf[0] = (uint8)temp;//压力 buf[1] = buf[0]/100; buf[2] = buf[0]0/10; buf[3] = buf[0]; 8 武汉理工大学《无线传感网络》课程设计说明书 if(buf[1] > 0x9) buf[1] = buf[1] - 0XA + 'A'; else buf[1] = buf[1] + '0'; if(buf[2] > 0x9) buf[2] = buf[2] -0XA + 'A'; else buf[2] = buf[2] + '0'; if(buf[3] > 0x9) buf[3] = buf[3] -0XA + 'A'; else buf[3] = buf[3] + '0'; UartTX_Send_String(\ UartTX_Send_String(&buf[1],3); UartTX_Send_String(\ UartTX_Send_String(\ if (buf[2]> 0x34) //当力大于50克时LED灯亮 { P0_0 = 0; // 点亮LED P2_0 = 0; }else {P0_0 = 1; // 熄灭LED P2_0 = 1; } delay(); }}// end of main() 图4.1 程序代码界面 9 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库压力传感器采集设计(2)在线全文阅读。
相关推荐: