⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc12内部模块演示程序之外部输入.c

📁 包含了msp430单片机上的ADC、定时器A、定时器B、基础时钟、看门狗的初始化及中断程序。基本示例程序
💻 C
字号:
/**********************************************************/
//MSP430 Advanced Developping Components - [BaseComponents_03.C]
////ADC12, Sample A6, Set P1.0 if A6 nearly equal AVcc
////->>> http://www.dutzm.cn
////->>> tel :(0)13130044096
/**********************************************************/
//MSP430高级实验开发组件 - ADC12内部模块演示程序之外部输入
//时钟设置:
////ACLK = N/A,MCLK = SMCLK = default(DCO~800k)
//当前演示程序功能描述:
////利用MSP430F14X的AD6,采集通道6(P66)输入,以AVCC作为参考电压进行AD转换
////当输入电压接近AVCC时,P10连接的LED点亮
/*********************************************************/

#include <msp430x14x.h>

void main(void) {
	WDTCTL = WDTPW + WDTHOLD;		//关闭看门狗
	
	ADC12CTL0 = SHT0_8 + ADC12ON;		//设置采样保持定时器
	ADC12CTL1 = SHP;			//使用采样定时器
	ADC12IE = BIT1;				//允许中断
	ADC12CTL0 |= ENC;			//允许进行AD转换
	P6SEL |= BIT6;				//选择端口第二功能
	P1DIR |= BIT0;				//设置LED控制端口(低电平时LED点亮)
	P1OUT |= BIT0;				//初始化高电平
	
	while(1) {
		ADC12CTL0 |= ADC12SC;		//允许采样,启动转换
		_BIS_SR(GIE);			//允许系统中断
	}
}

#pragma vector=ADC_VECTOR
__interrupt void ADC12_ISR (void) {
	if (ADC12MEM0 > 0x0FF0)
		P1OUT &= ~BIT0;			//接近AVCC,点量LED
	else
		P1OUT |= 0x01;			//关闭LED
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -