MSP430流水灯蜂鸣器实验报告.docVIP

  • 44
  • 0
  • 约3.86千字
  • 约 6页
  • 2017-06-12 发布于北京
  • 举报
MSP430实验报告 水位报警器 姓名: 丁宇昊 学号: 021210508 一、实验目的: 掌握msp430单片机的程序编写和运行过程。 掌握IAR Embedded Workbench程序的编译和运行。 二、实验内容: 用继电器代替传感器输入模拟电压,用IED灯显示水位高度,当超过预定值时,蜂鸣器响,实现报警。 三、使用串口: P1口,P2口 四、电路实现: 把继电器作为的AD的输入,通过AD转换,把电压分成16小分,每一份信号控制1个led,通过改变led两端电平高低,控制led亮灭。当到达预定值时,把蜂鸣器的接口设置为高电平。 实验代码: #include msp430.h void delay(int j) { do j--; while (j != 0); } int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled ADC10CTL1 = INCH_1+SREF0; // input A1 ADC10AE0 |= BIT7; // PA.1 ADC option select P1DIR |= BIT0; // Set P1.0 to output direction P1DIR|=BIT4; P1DIR|=BIT5; P2DIR|= 0xff; P2OUT|=0xff; P2SEL=0x00; for (;;) { ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start __bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit if (ADC10MEM 960) { P1OUT |=BIT4; P1OUT = ~BIT5; P2OUT =0xFE; } else if(ADC10MEM 900) { P1OUT |=BIT4; P1OUT = ~BIT5; P2OUT = 0xfc; } else if(ADC10MEM 840) { P1OUT |=BIT4; P1OUT = ~BIT5; P2OUT=0xf8; } else if(ADC10MEM 780) { P1OUT |=BIT4; P1OUT = ~BIT5; P2OUT= 0xf0; } else if(ADC10MEM 660) { P1OUT |=BIT4; P1OUT = ~BIT5; P2OUT= 0xe0; } else if(ADC10MEM 600) { P1OUT |=BIT4; P1OUT = ~BIT5; P2OUT= 0xc0; } else if(ADC10MEM 540) { P1OUT |=BIT4; P1OUT = ~BIT5; P2OUT= 0x80; } else if(ADC10MEM 480) { P1OUT |=BIT4; P1OUT = ~BIT5; P2OUT= 0x00; } else if(ADC10MEM 420) { P1OUT=~BIT5; P2OUT=0x00; P1OUT|=BIT4; P2OUT=0x00; delay(20); P1OUT=~BIT4; P2OUT=0xfe; P1OUT|=BIT5; P2OUT=0xfe; }

文档评论(0)

1亿VIP精品文档

相关文档