主函数

#include"ioCC2530.h"
#include"hal_ADC/hal_adc.h"
#include"hal_ADC/hal_types.h"
#include"hal_ADC/LcdControl.h"
#include "stdio.h"#define uint unsigned int
#define uchar unsigned char#define master_node#ifdef master_node
#define LED1 P1_0
#define LED2 P1_1
#else
#define LED1 P1_1
#define LED2 P1_0
#endif
#define ON 1
#define OFF 0
#ifdef master_node
#define K1 P1_3
#define K2 P0_1
#else
#define K1 P0_1
#define K2 P0_7
#endif
enum SYSCLK_SRC{XOSC_32MHz,RC_16MHz};void Delay(uint);
void InitLed(void);
void InitKey(void);
uchar KeyScan(void);char i=0;
uchar Keyvalue=0;
uint temperature = 0;
uint volt=0,voltagevalue=0;
uint16 avgTemp;
uint16 avgVcc3;
double v3;void Delay(uint n){uint t;for(t=0;t<n;t++);for(t=0;t<n;t++);for(t=0;t<n;t++);for(t=0;t<n;t++);for(t=0;t<n;t++);
}void SystemClockSourceSelect(enum SYSCLK_SRC source)
{unsigned char osc32k_bm=CLKCONCMD & 0x80;unsigned char __clkconcmd,__clkconsta;if(source==RC_16MHz)CLKCONCMD=((osc32k_bm)|\(0x01<<6)|\(0x01<<3)|\(0x01<<0));else if(source==XOSC_32MHz){CLKCONCMD=(osc32k_bm);}__clkconcmd=CLKCONCMD;do{__clkconsta=CLKCONSTA;}while(__clkconsta!=__clkconcmd);
}
void InitKey(void)
{#ifdef master_nodeP0SEL&=~0X02;P0DIR&=~0X02;P0INP|=0x02;P1SEL&=~0X08;P1DIR&=~0X08;P1INP|=0x08;
#elseP0SEL&=~0X82;P0DIR&=~0X82;P0INP|=0x82;
#endif
}void InitLed(void)
{P1SEL&=~0x03;P1DIR|=0x03;LED1=ON;LED2=OFF;
}uchar KeyScan(void)
{if(K1==0){Delay(100);if(K1==0){while(!K1);return(1);}}else if(K2==0){Delay(100);if(K2==0){while(!K2);return(2);}}else;return(Keyvalue);
}
void main(void)
{char i;double v;double temperature;uint8 temperature1,temperature2,temperature3;uint8 avgV0,avgV1,avgV2,avgV3;uint8 avgvcc0,avgvcc1,avgvcc2,avgvcc3;SystemClockSourceSelect(XOSC_32MHz);InitLed();HalLcd_HW_Init(pic2);IEN0=IEN1=IEN2=0X00;HalAdcInit();Delay(60000);Delay(60000);Delay(60000);Display_Picture(pic3);while(1){avgTemp = 0;avgVcc3 =0;TR0=0X01;//连接温度传感器到SOP-ADCATEST=0X01;//使能温度传感器for(i = 0 ; i < 4 ; i++)//取四次值求和{avgVcc3 += HalAdcRead (HAL_ADC_CHN_VDD3, HAL_ADC_RESOLUTION_12);//获取电源电压avgTemp += HalAdcRead (HAL_ADC_CHN_TEMP, HAL_ADC_RESOLUTION_12);}TR0=0X00;//断开温度传感器到SOP-ADCATEST=0X00;//使能温度传感器无效avgTemp >>= 2;//avgTemp右移2位相当于除以4,取平均temperature=(avgTemp-(1480-4.5*25))/4.5;//计算出温度值avgVcc3 >>= 2;//avgVcc3右移2位相当于除以4,取平均v3=1.15*avgVcc3/2047;//1/3电压v=v3*3.0;//电源电压Delay(20000);temperature = temperature*10;//将温度先乘10temperature1 = (uint16)temperature/100;//将温度十位赋值给temperature1temperature2 = (uint16)temperature%100/10;//将温度个位赋值给temperature2temperature3 = (uint16)temperature%10;//将温度十分位赋值给temperature3v3 = v3*1000;//将1/3电压先乘1000avgV0 = (uint16)v3/1000;//将1/3电压个位赋值给avgV0avgV1 = (uint16)v3%1000/100;//将1/3电压十分位赋值给avgV1avgV2 = (uint16)v3%1000/10%10;//将1/3电压百分位赋值给avgV2avgV3 = (uint16)v3%1000%100%10;//将1/3电压千分位赋值给avgV3v = v*1000;//将电源压先乘1000avgvcc0 = (uint16)v/1000;//将电源电压个位赋值给avgvcc0avgvcc1 = (uint16)v%1000/100;//将电源电压十分位赋值给avgvcc1avgvcc2 = (uint16)v%1000/10%10;//将电源电压百分位赋值给avgvcc2avgvcc3 = (uint16)v%1000%100%10;//将电源电压千分位赋值给avgvcc3LCDDataShow(temperature1,2,3,82,89);//显示温度LCDDataShow(temperature2,2,3,90,97);LCDDataShow(temperature3,2,3,99,106);LCDDataShow(avgV0,4,5,75,82);//显示1/3电源电压LCDDataShow(avgV1,4,5,83,90);LCDDataShow(avgV2,4,5,91,98);LCDDataShow(avgV3,4,5,99,106);LCDDataShow(avgvcc0,6,7,73,80);//显示电源电压LCDDataShow(avgvcc1,6,7,83,90);LCDDataShow(avgvcc2,6,7,91,98);LCDDataShow(avgvcc3,6,7,99,106);Delay(60000);}
}

完整代码下载

cc2530设计性实验代码五相关推荐

  1. 用C语言编程实现矩形波信号,信号与系统综合设计性实验

    信号与系统综合设计性实验 傅立叶变换性质 实验设备 硬件 电脑软件 MATLAB 实验目的 掌握MATLAB的基本使用方法 掌握MATLAB环境下信号表示及产生方法 掌握MATLAB环境下傅立叶变换方 ...

  2. 文学研究助手(设计性实验)

    文学研究助手(设计性实验) 1. 需求分析 需求: 英文小说存于一个文本文件中.待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成.程序的输出结果是每个词的出现次数和出现位置 ...

  3. 【操作系统】内存管理设计性实验报告

    操作系统#内存管理设计性实验报告 正文 一. 实验目的 1.通过本次试验体会操作系统中内存的分配模式: 2.掌握内存分配的方法(首次适应(FF),最佳适应(BF),最差适应(WF)): 3.学会进程的 ...

  4. 计算机组成原理设计性实验,《计算机组成原理》设计性实验报告.doc

    <计算机组成原理>设计性实验报告 华北科技学院计算机学院设计性实验 实 验 报 告 课程名称 计算机组成原理B 实验学期 2013 至 2014 学年 第 一 学期 学生所在院部 计算机学 ...

  5. 大物设计性实验:电容、电感量的测量

    这是最后一次大物实验,仅以此文作为纪念. 下面是华南某大学的设计性实验: 一. 实验内容和要求 1.根据实验室所提供的仪器拟定测量电容量.电感量的实验电路.各构思3种以上的测量方法,写出实验步骤及运算 ...

  6. JAVA第二次验证设计性实验报告

    [实验任务一]:素数输出 (3)实验报告中要求包括程序设计思想.程序流程图.源代码.运行结果截图.编译错误分析等内容. 1.   实验内容 (1)计算并输出3~100之间的素数. (2)编程满足下列要 ...

  7. 大物实验计算弹性模量_大学物理设计性实验用拉伸法测定金属丝的杨氏弹性模量...

    教学章节:实验7 用拉伸法测定金属丝的杨氏弹性模量 教学内容:1.讲述"用拉伸法测定金属丝的杨氏弹性模量"实验的实验原理 2.介绍实验的操作要领.数据处理等 3.指导学生进行实验操 ...

  8. 设计性实验-循环结构:搬砖问题。36块砖,36人搬;男搬4,女搬3,两个小孩抬一砖。要求一次全搬完,问男、女、小孩各需若干?

    #include<stdio.h> int main() {int x,y,z; //定义循环变量for (x=0; x<36; x++){for (y= 0; y<36; y ...

  9. 第二次网页设计实验报告(设计性实验)(表格+表单)

    第一个: <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...

  10. 8位数控分频器的设计_实验五 数控分频器的设计

    实验五 数控分频器的设计 一.设计目的 1 . 学习数控分频器的设计.分析.测试方法: 2 . 牢固掌握用 VHDL 语言编写程序的方法和技巧. 二.设计要求 1 .编写数控分频器的 VHDL 源程序 ...

最新文章

  1. 病从口入:土壤菌群如何影响肠道健康
  2. 大规模web服务开发技能
  3. 用 C 语言开发一门编程语言 — 抽象语法树
  4. 1.13 总结-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  5. 数据中心运维总监应具备哪些技能
  6. NetBeans IDE 6.10 M1 发布
  7. python删除列表中字符串_python - 删除字符串中的字符列表
  8. winpe装双系统linux_使用syslinux在u盘安装pubbylinux和winpe双系统
  9. ssm启动不报错_解决idea导入ssm项目启动tomcat报错404的问题
  10. Net泛型类的学习总结
  11. 针对ArcGIS Server 跨域问题的解释
  12. 【Kafka】kafka Current offset xxx for partition xxx out range
  13. 30岁学编程python_我30岁了,转行学编程可以吗? 排除法告诉你答案
  14. 问题1、图像分割预测时原始图片大小与预测图片大小不一致
  15. stl_algorithm算法之排序算法
  16. SVM支持向量分类器原理及OpenCV实现
  17. Microsoft Press免费电子书地址
  18. 系统辨识理论及应用_液压系统故障智能诊断方法(2)
  19. 百度文库的所有内容都可以不用财富值下载
  20. Android studio 菜单栏搞不见了

热门文章

  1. iocomp iPlot使用说明6 轴属性设置
  2. 第一次c语言课程设计——学生选课管理系统
  3. MySQL数据库主键与外键
  4. C语言函数的递归调用
  5. 重置Winsock2
  6. python 代码命令大全-Python常用命令最全合集
  7. interlib系统服务器,Interlib图书馆集群管理系统
  8. java unicode编码转换中文_Java实现 中文转换成Unicode编码 和 Unicode编码转换成中文...
  9. python画散点图、折线图
  10. myeclipse svn 删除文件或者文件夹