MSP430实验报告
水位报警器
姓名: 丁宇昊
学号: 021210508
一、实验目的:
掌握msp430单片机的程序编写和运行过程。
掌握IAR Embedded Workbench程序的编译和运行。
二、实验内容:
用继电器代替传感器输入模拟电压,用IED灯显示水位高度,当超过预定值时,蜂鸣器响,实现报警。
三、使用串口:
P1口,P2口
四、电路实现:
把继电器作为的AD的输入,通过AD转换,把电压分成16小分,每一份信号控制1个led,通过改变led两端电平高低,控制led亮灭。当到达预定值时,把蜂鸣器的接口设置为高电平。
实验代码:
#include <>
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; // ADC option select
P1DIR |= BIT0; // Set 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
MSP430流水灯蜂鸣器实验报告 来自淘豆网www.taodocs.com转载请标明出处.