传感器实验报告(第六次)
来源:互联网 发布:诺基亚n96软件下载 编辑:程序博客网 时间:2024/06/15 05:33
7.11烟雾传感器采集实验
一、实验目的
- 掌握烟雾传感器的操作方法;
- 掌握烟雾传感器采集程序的编程方法。
二、实验内容
- 在 IAR 集成开发环境中编写烟雾传感器采集程序。
三、基础知识
采用 MQ-2 可燃气体传感器,它可在工业或家庭设备上使用,适合于检测液化石油气、丁烷、甲烷、 酒精、氢气和烟雾。为了进行准确的检测,可燃气体传感器需要进行预热,当有可燃气体时,可燃气体传 感器输出电压将变小。
接口电路如下:
四、实验代码
#include "ioCC2530.h" #define uint8 unsigned char #define uint16 unsigned int#define uint32 unsigned longextern 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<1500;i++) { for(j=0;j<200;j++) { asm("NOP"); asm("NOP"); asm("NOP"); } }} void UartTX_Send_String(unsigned char *Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = *Data++; while(UTX0IF == 0); UTX0IF = 0; }}void UartTX_Send_Data(unsigned char Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = Data; while(UTX0IF == 0); UTX0IF = 0; }}#pragma vector=URX0_VECTOR //uart0中断函数__interrupt void uart0(void){ URX0IF = 0; //清中断标志 P0_0=~P0_0; uart_buffer = U0DBUF; //UartTX_Send_String("welcome",10); UartTX_Send_Data(uart_buffer,1);}void main( void ){ unsigned char buf[8]; uint16 temp; P0DIR |= 0x01; //设置P0.0为输出方式;P0.4和P0.5为输入方式 APCFG = (0x1<<1)|(0x1<<4)|(0x1<<6);//P01,P04,P06为ADC口 P2DIR |= 0x01; //设置P2.0为输出方式 P0_0 = 1; P2_0 = 1; //熄灭LED CLKCONCMD &= ~0x40; //选择32M晶振 while(!(SLEEPSTA & 0x40)); //等待XSOC稳定 CLKCONCMD = 0xb8; //TICHSPD 128分频,CLKSPD 不分频 SLEEPCMD |= 0x04; //关闭不用的RC 振荡器 PERCFG = 0x00; //位置1 P0 口 P0SEL = 0x3c; //P0 用作串口 U0CSR |= 0x80; //UART 方式 U0GCR |= 10; //baud_e = 10; U0BAUD |= 216; //波特率设为57600 UTX0IF = 1; U0CSR |= 0X40; //允许接收 IEN0 |= 0x84; //开总中断,接收中断 Sensor_PIN_INT(); UartTX_Send_String("Testing...\r\n",12); while(1){ P2_0=~P2_0; temp = ReadAdcValue(4,3,0x2);//P0.4采集烟雾告警值,12bit,AVDD5作为参考 temp = (temp>>4); buf[0] = (uint8)(temp&0xff); buf[1] = (buf[0]>>4)&0xf; buf[2] = buf[0]&0xf; 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'; UartTX_Send_String("Smog = ",7); UartTX_Send_String(&buf[1],1); UartTX_Send_String(&buf[2],1); UartTX_Send_String("\r\n",2); delay(); }} // end of main()
五、实验现象
烧写程序后,复位。连接串口精灵。可看到如下图所示的内容。
7.12 酒精传感器采集实验
一、实验目的
- 掌握酒精传感器的操作方法;
- 掌握酒精传感器采集程序的编程方法。
二、实验内容
- 在 IAR 集成开发环境中编写酒精传感器采集程序。
三、基础知识
采用 MQ-303A 酒精传感器,它是一种二氧化锡半导体型酒精气体传感器,对酒精具有高的灵敏度和快 速的响应性,适于便携式酒精探测器和汽车燃火系统等等。
半导体气体敏感部分是一个微型珠状小球,内嵌加热丝和金属电极,当有酒精存在时,输出电压变小。
接口电路如下:
四、实验代码
#include "ioCC2530.h" #define uint8 unsigned char #define uint16 unsigned int#define uint32 unsigned longextern 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<1500;i++) { for(j=0;j<200;j++) { asm("NOP"); asm("NOP"); asm("NOP"); } }} void UartTX_Send_String(unsigned char *Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = *Data++; while(UTX0IF == 0); UTX0IF = 0; }}void UartTX_Send_Data(unsigned char Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = Data; while(UTX0IF == 0); UTX0IF = 0; }}#pragma vector=URX0_VECTOR //uart0中断函数__interrupt void uart0(void){ URX0IF = 0; //清中断标志 P0_0=~P0_0; uart_buffer = U0DBUF; //UartTX_Send_String("welcome",10); UartTX_Send_Data(uart_buffer,1);}void main( void ){ unsigned char buf[8]; uint16 temp; P0DIR |= 0x01; //设置P0.0为输出方式;P0.4和P0.5为输入方式 APCFG = (0x1<<1)|(0x1<<4)|(0x1<<6);//P01,P04,P06为ADC口 P2DIR |= 0x01; //设置P2.0为输出方式 P0_0 = 1; P2_0 = 1; //熄灭LED CLKCONCMD &= ~0x40; //选择32M晶振 while(!(SLEEPSTA & 0x40)); //等待XSOC稳定 CLKCONCMD = 0xb8; //TICHSPD 128分频,CLKSPD 不分频 SLEEPCMD |= 0x04; //关闭不用的RC 振荡器 PERCFG = 0x00; //位置1 P0 口 P0SEL = 0x3c; //P0 用作串口 U0CSR |= 0x80; //UART 方式 U0GCR |= 10; //baud_e = 10; U0BAUD |= 216; //波特率设为57600 UTX0IF = 1; U0CSR |= 0X40; //允许接收 IEN0 |= 0x84; //开总中断,接收中断 Sensor_PIN_INT(); UartTX_Send_String("Testing...\r\n",12); while(1){ P2_0=~P2_0; temp = ReadAdcValue(5,3,0x2);//P0.5采集光照度,12bit,AVDD5作为参考 temp = (temp>>4); buf[0] = (uint8)(temp&0xff); buf[1] = (buf[0]>>4)&0xf; buf[2] = buf[0]&0xf; 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'; UartTX_Send_String("Alcohol = ",10); UartTX_Send_String(&buf[1],1); UartTX_Send_String(&buf[2],1); UartTX_Send_String("\r\n",2); delay(); }} // end of main()
五、实验现象
烧写程序后,复位。连接串口精灵,当酒精量发生变化时,可看到数据的不同。
7.13 气象气体气压传感器采集实验
一、实验目的
- 掌握气象气体气压传感器的操作方法;
- 掌握气象气体气压传感器采集程序的编程方法。
二、实验内容
- 在 IAR 集成开发环境中编写气象气体气压传感器采集程序。
三、基础知识
采用MPS-150A气象气体气压传感器,是一款低花费、小尺寸表面封装压力传感器,可用于气象气体气压的测量。可用于移动高度计/气压计,气象预报,手表,空气球,无扩散的血压测量等领域。
接口电路如下:
四、实验代码
#include "ioCC2530.h" #define uint8 unsigned char #define uint16 unsigned int#define uint32 unsigned longextern 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<1500;i++) { for(j=0;j<200;j++) { asm("NOP"); asm("NOP"); asm("NOP"); } }} void UartTX_Send_String(unsigned char *Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = *Data++; while(UTX0IF == 0); UTX0IF = 0; }}void UartTX_Send_Data(unsigned char Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = Data; while(UTX0IF == 0); UTX0IF = 0; }}#pragma vector=URX0_VECTOR //uart0中断函数__interrupt void uart0(void){ URX0IF = 0; //清中断标志 P0_0=~P0_0; uart_buffer = U0DBUF; //UartTX_Send_String("welcome",10); UartTX_Send_Data(uart_buffer,1);}void main( void ){ unsigned char buf[8]; uint16 temp; P0DIR |= 0x01; //设置P0.0为输出方式;P0.4和P0.5为输入方式 P2DIR |= 0x01; //设置P2.0为输出方式 P0_0 = 1; P2_0 = 1; //熄灭LED CLKCONCMD &= ~0x40; //选择32M晶振 while(!(SLEEPSTA & 0x40)); //等待XSOC稳定 CLKCONCMD = 0xb8; //TICHSPD 128分频,CLKSPD 不分频 SLEEPCMD |= 0x04; //关闭不用的RC 振荡器 PERCFG = 0x00; //位置1 P0 口 P0SEL = 0x3c; //P0 用作串口 U0CSR |= 0x80; //UART 方式 U0GCR |= 10; //baud_e = 10; U0BAUD |= 216; //波特率设为57600 UTX0IF = 1; U0CSR |= 0X40; //允许接收 IEN0 |= 0x84; //开总中断,接收中断 Sensor_PIN_INT(); UartTX_Send_String("Testing...\r\n",12); while(1){ P2_0=~P2_0; temp = ReadAdcValue(7,3,0x2);//P0.7采集气象或血压值,12bit,AVDD5作为参考 temp = (temp>>4); buf[0] = (uint8)(temp&0xff); buf[1] = (buf[0]>>4)&0xf; buf[2] = buf[0]&0xf; 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'; UartTX_Send_String("Pressure = ",11); UartTX_Send_String(&buf[1],1); UartTX_Send_String(&buf[2],1); UartTX_Send_String(" ",4); UartTX_Send_String("\r\n",2); delay(); }} // end of main()
五、实验现象
烧写程序后,复位。连接电脑,打开串口精灵,可看到如下图所示的数据。
7.14 超声波传感器采集实验
一、实验目的
- 掌握超声波传感器的操作方法;
- 掌握超声波传感器采集程序的编程方法。
二、实验内容
- 在 IAR 集成开发环境中编写超声波传感器采集程序。
三、基础知识
采用 DYP-ME007 超声波传感器,通过在触发端发送一个 10uS 以上的高电平脉冲,在回升端就可以接收到一个高电平脉冲,通过此高电平脉冲的高电平长度,就可以计算出障碍物离超声波传感器的距离。
接口电路如下:
四、实验代码
#include "ioCC2530.h" unsigned char counter;unsigned char buf[3];void SendASignal(void){ unsigned char i; P1_6 = 0; for(i=0;i<50;i++){ asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP"); } P1_6 = 1; } void delay(void){ unsigned int i; unsigned char j; for(i=0;i<5000;i++) { for(j=0;j<200;j++) { asm("NOP"); asm("NOP"); asm("NOP"); } }} void UartTX_Send_String(unsigned char *Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = *Data++; while(UTX0IF == 0); UTX0IF = 0; }}void UartTX_Send_Data(unsigned char Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = Data; while(UTX0IF == 0); UTX0IF = 0; }}#pragma vector=URX0_VECTOR //uart0中断函数__interrupt void uart0(void){ URX0IF = 0; //清中断标志}#pragma vector=T1_VECTOR //定时器1中断函数 50us__interrupt void Timer1(void){ counter++; P0_0=~P0_0; }void main( void ){ P0DIR |= 0x01; //设置P0.0为输出方式;P0.4和P0.5为输入方式 P2DIR |= 0x01; //设置P2.0为输出方式 P1DIR = (0x01<<6); //设置P1.6为输出方式;P1.7为输入方式 P0_0 = 1; P2_0 = 1; //熄灭LED counter = 0; CLKCONCMD &= ~0x40; //选择32M晶振 while(!(SLEEPSTA & 0x40)); //等待XSOC稳定 CLKCONCMD = 0xb8; //TICHSPD 128分频,CLKSPD 不分频 SLEEPCMD |= 0x04; //关闭不用的RC 振荡器 T1CC0L = 6; T1CC0H = 0x00; //比较值 T1CTL = 0x33; //通道0,不分频,up/down模式 PERCFG = 0x00; //位置1 P0 口 P0SEL = 0x3c; //P0 用作串口 U0CSR |= 0x80; //UART 方式 U0GCR |= 10; //baud_e = 10; U0BAUD |= 216; //波特率设为57600 UTX0IF = 1; U0CSR |= 0X40; //允许接收 IEN0 |= 0x84; //开总中断,接收中断 EA = 1; //开总中断 T1IE = 1; //开定时器T1中断 while(1){ P2_0=~P2_0; SendASignal(); while(1){ if(P1_7==1) break; } counter = 0; while(1){ if(P1_7==0) break; } //counter保存高电平长度,单位为50us buf[0] = counter/100; buf[1] = (counter%100)/10; buf[2] = (counter%10); if(buf[0] > 0x9) buf[0] = buf[0] - 0XA + 'A'; else buf[0] = buf[0] + '0'; 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'; UartTX_Send_String("Ultrasonic = ",13); UartTX_Send_String(&buf[0],1); UartTX_Send_String(&buf[1],1); UartTX_Send_String(&buf[2],1); UartTX_Send_String("cm",2); UartTX_Send_String("\r\n",2); delay(); }} // end of main()
五、实验现象
烧写程序后,复位。连接电脑,打开串口精灵。当障碍物距离发生变化时,可看到显示的数据变化。
7.15 水流量传感器采集实验
一、实验目的
- 掌握水流量传感器的操作方法;
- 掌握水流量传感器采集程序的编程方法。
二、实验内容
- 在 IAR 集成开发环境中编写水流量传感器采集程序。
三、基础知识
采用 MR168 水流量传感器。它由外壳和霍尔元件组成,当液体通过传感器时,驱动内部转子 转动,输出脉冲信号。
接口电路如下:
四、实验代码
#include "ioCC2530.h" #define uint8 unsigned char #define uint16 unsigned int#define uint32 unsigned longextern void Sensor_PIN_INT(void);extern uint16 ReadAdcValue(uint8 ChannelNum,uint8 DecimationRate,uint8 RefVoltage);char uart_buffer;uint16 WaterFlowCount = 0;uint16 Count1ms = 0;uint8 f1s = 0;#pragma vector = 0x007B __interrupt void P1_ISR(void){ if(P1IFG & (0x1<<6)) WaterFlowCount++; P1IFG = 0; P1IF = 0;}void delay(void){ unsigned int i; unsigned char j; for(i=0;i<1500;i++) { for(j=0;j<200;j++) { asm("NOP"); asm("NOP"); asm("NOP"); } }} void UartTX_Send_String(unsigned char *Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = *Data++; while(UTX0IF == 0); UTX0IF = 0; }}void UartTX_Send_Data(unsigned char Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = Data; while(UTX0IF == 0); UTX0IF = 0; }}#pragma vector=T1_VECTOR //定时器1中断函数 1ms__interrupt void Timer1(void){ if(++Count1ms > 1000){ Count1ms = 0; f1s = 1; }}#pragma vector=URX0_VECTOR //uart0中断函数__interrupt void uart0(void){ URX0IF = 0; //清中断标志 P0_0=~P0_0; uart_buffer = U0DBUF; //UartTX_Send_String("welcome",10); UartTX_Send_Data(uart_buffer,1);}void main( void ){ unsigned char buf[8]; P0DIR |= 0x01; //设置P0.0为输出方式;P0.4和P0.5为输入方式 APCFG = (0x1<<1)|(0x1<<4)|(0x1<<6);//P01,P04,P06为ADC口 P1DIR = (0x01<<3)|(0x01<<4); //设置P1.3,P1_4为输出方式; P2DIR |= 0x01; //设置P2.0为输出方式 P0_0 = 1; P2_0 = 1; //熄灭LED CLKCONCMD &= ~0x40; //选择32M晶振 while(!(SLEEPSTA & 0x40)); //等待XSOC稳定 CLKCONCMD = 0xb8; //TICHSPD 128分频,CLKSPD 不分频 P1SEL |= (1<<6);//P16为外设功能 PICTL &= ~(1<<2); //P14~P17上升沿触发 P1IEN |= (1<<6);//P16中断使能 IEN2 |= (1<<4);//P1口中断使能 P1 &= ~((1<<3)|(1<<4));//00:正,负管均不通 T1CC0L = 125; T1CC0H = 0x00; //比较值 T1CTL = 0x33; //通道0,不分频,up/down模式 PERCFG = 0x00; //位置1 P0 口 P0SEL = 0x3c; //P0 用作串口 U0CSR |= 0x80; //UART 方式 U0GCR |= 10; //baud_e = 10; U0BAUD |= 216; //波特率设为57600 UTX0IF = 1; U0CSR |= 0X40; //允许接收 IEN0 |= 0x84; //开总中断,接收中断 EA = 1; //开总中断 T1IE = 1; //开定时器T1中断 UartTX_Send_String("Testing...\r\n",12); while(1){ P2_0=~P2_0; Count1ms = 0; f1s = 0; WaterFlowCount = 0; while(1){ if(f1s == 1){ WaterFlowCount = (WaterFlowCount) * 30 / 4; buf[0] = (uint8)(WaterFlowCount/10000); buf[1] = (uint8)((WaterFlowCount%10000)/1000); buf[2] = (uint8)((WaterFlowCount%1000)/100); buf[3] = (uint8)((WaterFlowCount%100)/10); buf[4] = (uint8)(WaterFlowCount%10); if(buf[0] > 0x9) buf[0] = buf[0] - 0XA + 'A'; else buf[0] = buf[0] + '0'; 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'; if(buf[4] > 0x9) buf[4] = buf[4] - 0XA + 'A'; else buf[4] = buf[4] + '0'; break; } } UartTX_Send_String("WaterFlow = ",12); UartTX_Send_String(&buf[0],1); UartTX_Send_String(&buf[1],1); UartTX_Send_String(&buf[2],1); UartTX_Send_String(&buf[3],1); UartTX_Send_String(&buf[4],1); UartTX_Send_String("L/MIN",5); UartTX_Send_String("\r\n",2); }} // end of main()
五、实验现象
烧写程序后,复位。连接到电脑,打开串口精灵。可看到如下如所示的数据。
7.16 雨滴传感器采集实验
一、实验目的
- 掌握雨滴传感器的操作方法;
- 掌握雨滴传感器采集程序的编程方法。
二、实验内容
- 在 IAR 集成开发环境中编写雨滴传感器采集程序。
三、基础知识
- 雨滴传感器介绍 雨滴传感器是利用水的导电特性而设计的,采用梳状结构的两个导电体,当无雨时,此两个导电体是隔离的,阻值很大;有雨时,此两个导电体之间的阻值变小。
接口电路如下:
四、实验代码
#include "ioCC2530.h" #define uint8 unsigned char #define uint16 unsigned int#define uint32 unsigned longextern 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<1500;i++) { for(j=0;j<200;j++) { asm("NOP"); asm("NOP"); asm("NOP"); } }} void UartTX_Send_String(unsigned char *Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = *Data++; while(UTX0IF == 0); UTX0IF = 0; }}void UartTX_Send_Data(unsigned char Data,int len) //串口发送函数{ int j; for(j=0;j<len;j++) { U0DBUF = Data; while(UTX0IF == 0); UTX0IF = 0; }}#pragma vector=URX0_VECTOR //uart0中断函数__interrupt void uart0(void){ URX0IF = 0; //清中断标志 P0_0=~P0_0; uart_buffer = U0DBUF; //UartTX_Send_String("welcome",10); UartTX_Send_Data(uart_buffer,1);}void main( void ){ uint16 AdValue; unsigned char buf[8]; Sensor_PIN_INT(); P1_3 = 0; P1_4 = 0; UartTX_Send_String("Testing...\r\n",12); while(1){ AdValue = ReadAdcValue(0x6,3,2); AdValue = AdValue >> 6; buf[0] = (uint8)(AdValue/100); buf[1] = (uint8)(AdValue%100/10); buf[2] = (uint8)(AdValue%10); if(buf[0] > 0x9) buf[0] = buf[0] - 0XA + 'A'; else buf[0] = buf[0] + '0'; 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(AdValue > 128){//未下雨 P0_0 = 1; P2_0 = 1; //熄灭LED } else{//已下雨 P0_0 = 0; P2_0 = 0; //熄灭LED } UartTX_Send_String("Rain = ",7); UartTX_Send_String(&buf[0],1); UartTX_Send_String(&buf[1],1); UartTX_Send_String(&buf[2],1); UartTX_Send_String(" ",4); UartTX_Send_String("\r\n",2); delay(); }} // end of main()
五、实验现象
烧写程序后,复位。连接电脑,打开串口精灵,当有水落在检测板上时,可看到数据的变化。
7.17 霍尔传感器采集实验
一、实验目的
- 掌握霍尔传感器的操作方法;
- 掌握霍尔传感器采集程序的编程方法。
二、实验内容
- 在 IAR 集成开发环境中编写霍尔传感器采集程序。
三、基础知识
- 霍尔传感器介绍
采用 AH3144E 霍尔传感器。它是由电压调整器,霍尔电压发生器,差分放大器,史密特触发器和集电 极开路的输出级组成的磁敏传感电路,其输入为磁感应强度,输出是一个数字电压讯号。它是一种单磁极 工作的磁敏电路,适合于矩形或者柱形磁体下工作。
可用于无触点开关、位置控制、转速检测、隔离检测、直流无刷电机、电流传感器、汽车点火 器、安全报警装置等领域。
接口电路如下:
四、实验代码
#include "ioCC2530.h" void delay(void) //延时时间约10ms{ unsigned int i; unsigned char j; for(i=0;i<1500;i++) { for(j=0;j<20;j++) { asm("NOP"); } }} void main( void ){ P0DIR |= 0x01; //设置P0.0为输出方式;P0.4为输入方式 P1DIR = (0x01<<3)|(0x01<<4); //设置P1.3,P1_4为输出方式; P2DIR |= 0x01; //设置P2.0为输出方式 P1_3 = 0; P1_4 = 0; while(1) { if(P1_7 == 0){//有霍尔感应 P0_0 = 0; P2_0 = 0; } else{//无霍尔感应 P0_0 = 1; P2_0 = 1; } }} // end of main()
五、实验现象
烧写程序后,复位。可看到,当有磁体靠经传感器是,LED点亮。磁体离开后,LED熄灭。
- 传感器实验报告(第六次)
- 传感器实验报告(第五次)
- C++第六次实验报告
- 第六次实验报告(1)--学生成绩管理
- 第六次实验报告(3)---电话薄程序
- 传感器实验报告(第二次)
- 传感器实验报告(第三次)
- c++第四次实验(实验报告)
- 第六次实验代码(其他班)
- C++第六次实验(数组操作)
- 第六次c++实验
- 第六次实验
- 第六次上机实验
- 第六次上机实验
- C++第六次实验
- 第六次上机实验
- C++第六次实验
- 第六次c++实验
- oracle使用java操作clob类型的字段
- java2---java环境---jdk,jre(2):深入理解JDK、JRE
- ilbc编解码在android实现
- 深入分析JavaWeb Item39 -- 监听器(Listener)学习进阶
- Linux 脚本 的 if 判断
- 传感器实验报告(第六次)
- 如何动态设置ExtJS Form控件文字显示的颜色
- linux下用dd命令拷贝硬盘,复制克隆及还原硬盘
- Silk编解码在android实现
- 【详解】JS中JSON对象的使用解析
- android studio添加第三方.os库
- 田蕴章书法讲座《每日一题,每日一字》(1) 文字整理 ——永字八法
- SublimeText3 安装和配置,以及配置 Python 环境
- 转:树莓派 wifi