历史上的今天
今天是:2025年01月13日(星期一)
2021年01月13日 | MSP430F249ADC
2021-01-13 来源:eefocus
/******************************************************************
**
** File : ADC.c | Analog to Digital converter |
** Version : 1.0
** Description : led 7 segment display Analog to Digital converter
** Author : LightWu
** Date : 2013-4-9
**
*******************************************************************/
#include "MSP430x24x.h"
#define uint unsigned int
#define uchar unsigned char
/***设置数码管显示****/
#define L1_OFF P4OUT|=BIT0 //关L1
#define L1_NO P4OUT&=~BIT0 //点亮L1
#define L2_OFF P4OUT|=BIT1 //关L2
#define L2_NO P4OUT&=~BIT1 //点亮L2
#define L3_OFF P4OUT|=BIT2 //关L3
#define L3_NO P4OUT&=~BIT2 //点亮L3
uchar const Segment1[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; //不带小数点编码
uchar const Segment2[]={0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10}; //带小数点编码
uchar AdcFlag = 0;
uchar TempNum1;
uchar TempNum2;
uchar TempNum3;
void Display( uchar num1, uchar num2, uchar num3 );
void Delay(void)
{
uint m;
for(m=1000;m>0;m--);
}
void main(void)
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD; //关狗
P4DIR = 0XFF; //P4设置为输出,位码控制
P4SEL = 0;
P5DIR = 0XFF; //P5设置为输出,断码控制
P5SEL = 0;
P4OUT = 0XFF; //关闭数码管,共阳极数码管
ADC12CTL0 = SHT0_2 + ADC12ON; // Set sampling time, turn on ADC12
ADC12CTL1 = SHP; // Use sampling timer
ADC12IE = 0x01; // Enable interrupt
ADC12CTL0 |= ENC; // Conversion enabled
P6DIR &= ~0x01; // P6.0, i/p
P6SEL |= 0x01; // P6.0-ADC option select
ADC12CTL0 |= ADC12SC; // 软件启动转换
_BIS_SR(GIE); //打开中断,需要注意,不打开不进入中断。
while(1)
{
if( 1 == AdcFlag )
{
AdcFlag = 0;
ADC12CTL0 |= ADC12SC; // Start convn, software controlledc,软件启动转换
Display(TempNum1,TempNum2,TempNum3); //显示转换值
}
}
}
//中断服务子程序
#pragma vector=ADC12_VECTOR
__interrupt void ADC12_ISR(void)
{
ADC12MEM0 = ADC12MEM0/16;
TempNum1 = ADC12MEM0/100; //百位
TempNum2 = ADC12MEM0/10%10; //十位
TempNum3 = ADC12MEM0%10; //个位
AdcFlag=1;
}
void Display( uchar num1, uchar num2, uchar num3 )
{
P5OUT = Segment1[ num1 ];//
L1_NO;
Delay();
L1_OFF;
P5OUT = Segment1[ num2 ];//
L2_NO;
Delay();
L2_OFF;
P5OUT = Segment1[ num3 ];//
L3_NO;
Delay();
L3_OFF;
//P4OUT = 0XF8; //关闭其余数码管
}
史海拾趣
|
0.引 言 目前,我国对于大部分供电电力设备的监控和管理上基本还停留在人工巡查这种比较原始的管理方式下(例如铁路道口的信号电源),不但管理效率低下,而且供电质量和水平都得不到有效的保证。本文以实时操作系统small RTOS51为基础,主要探 ...… 查看全部问答> |
|
目录: 上册: 第1章 电路元件的电路定律 1.1 电路和电路模型 1.2 电流、电压、电动势 1.3 电路元件的功率 1.4 电阻元件 1.5 电感元件 1.6 电容元件 1.7 电源元件 1.8 受控电源 1.9 基尔霍夫定律 习题 第2章 简单电阻电路 ...… 查看全部问答> |
|
本人最近正在用VeriLog HDL语言编写一个异步FIFO,我采用的是二进制转换为格雷码来判空判满。但能力有限,两天下来都没有结果,希望得到高人指点。… 查看全部问答> |
|
近来公司网络很不稳定,时不时出现所有人不能上网的现象,我在其中一台电脑上装上了赛门铁克的网络安全特警NIS2007,马上2007就发现了一个ARP病毒,我把所有的电脑都装上了NIS2007,老大很高兴,当即批准购买8套正版NIS2007。… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:21 编辑 问题描述写在附件的图片上。望高人指点迷津。谢谢! 实际测量一个样品,Vp=2.84V。 [ 本帖最后由 y651848590 于 2011-7-14 21:42 编辑 ] … 查看全部问答> |
|
#ifndef __YIWEI595_H__#define __YIWEI595_H__#include \"msp430x14x.h\"#include \"delay.h\" #define LCK_OUT P3DIR|=BIT3 #define LCK_IN P3DIR&=~BIT3 #define LCK_H P3OUT|=BIT3 #def ...… 查看全部问答> |




