程序源码
/* 包含头文件 */
#include "ioCC2530.h"
#include #define LED1 P1_0 // P1_0定义为P1_0 led灯端口 #define uint16 unsigned short #define uint32 unsigned long #define uint unsigned int unsigned int flag,counter=0; //统计溢出次数 unsigned char s[8];//定义一个数组大小为8 void InitLED() { P1SEL&=~0X01; //P1_0设置为普通的IO口 1111 1110 P1DIR |= 0x01; //配置P1_0的方向为输出 LED1=0; } void adc_Init(void) { APCFG |=1; P0SEL |= 0x01; P0DIR &= ~0x01; } /************************************************************ * 名称 get_adc * 功能 读取ADC通道0电压值 * 入口参数 无 * 出口参数 16位电压值,分辨率为10mV ***************获取ADC通道0电压值************************/ uint16 get_adc(void) { uint32 value; ADCIF = 0; //清ADC 中断标志 //采用基准电压avdd5:3.3V,通道0,启动AD转化 ADCCON3 = (0x80 | 0x10 | 0x00); while ( !ADCIF ) { ; //等待AD转化结束 } value = ADCH; value = value<< 8; value |= ADCL; // AD值转化成电压值 // 0 表示 0V ,32768 表示 3.3V // 电压值 = (value*3.3)/32768 (V) value = (value * 330); value = value >> 15; // 除以32768 // 返回分辨率为0.01V的电压值 return (uint16)value; } /**********串口通信初始化************************/ void initUART0(void) { PERCFG = 0x00; P0SEL = 0x3c; U0CSR |= 0x80; U0BAUD = 216; U0GCR = 10; U0UCR |= 0x80; UTX0IF = 0; // 清零UART0 TX中断标志 EA = 1; //使能全局中断 } /************************************************* * 函数名称:inittTimer1 * 功 能:初始化定时器T1控制状态寄存器 ******************定时器初始化*****************************/ void inittTimer1() { CLKCONCMD &= 0x80; //时钟速度设置为32MHz T1CTL = 0x0E; // 配置128分频,模比较计数工作模式,并开始运行 T1CCTL0 |= 0x04; //设定timer1通道0比较模式 T1CC0L =50000 & 0xFF; // 把50000的低8位写入T1CC0L T1CC0H = ((50000 & 0xFF00) >> 8); //把50000的高8位写入T1CC0H T1IF=0; //清除timer1中断标志(同IRCON &= ~0x02) T1STAT &= ~0x01; //清除通道0中断标志 TIMIF &= ~0x40; //不产生定时器1的溢出中断 //定时器1的通道0的中断使能T1CCTL0.IM默认使能 IEN1 |= 0x02; //使能定时器1的中断 EA = 1; //使能全局中断 } /*********************************************************** * 函数名称:UART0SendByte * 功 能:UART0发送一个字节 * 入口参数:c * 出口参数:无 * 返 回 值:无 ************************************************************/ void UART0SendByte(unsigned char c) { U0DBUF = c; // 将要发送的1字节数据写入U0DBUF while (!UTX0IF) ; // 等待TX中断标志,即U0DBUF就绪 UTX0IF = 0; // 清零TX中断标志 } /************************************************************** * 函数名称:UART0SendString * 功 能:UART0发送一个字符串 * 入口参数:*str * 出口参数:无 * 返 回 值:无 **********************************************************/ void UART0SendString(unsigned char *str) { while(*str != '