【TB作品】MSP430 G2553 单片机口袋板,读取单片机P1.4电压显示,ADC

2024-06-03 00:28

本文主要是介绍【TB作品】MSP430 G2553 单片机口袋板,读取单片机P1.4电压显示,ADC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

功能

读取P1.4电压,显示到口袋板显示屏,电压越高亮灯越多。

部分程序

while (1){ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion startLPM0;adcvalue = ADC10MEM;             //原始数据 0到1023adtest = (float) adcvalue / 1024.0 * 3.3;dis_num_6(adtest);             //显示电压//电压最大值最小值限制if (adcvalue <= min_YIN)adcvalue = min_YIN;if (adcvalue > max_YIN)adcvalue = max_YIN;//偏差值adcvalue = adcvalue - min_YIN;//总体范围temp1 = max_YIN - min_YIN;//每一段多少duan = temp1 / 8;//控制小灯怎么点亮if (adcvalue > duan * 7)             //0就是点亮 1就是不亮  这里表示8个灯全部亮{PinOUT(0, 0); /* 指定0号管脚输出为0 */PinOUT(1, 0); /* 指定1号管脚输出为0 */PinOUT(2, 0); /* 指定0号管脚输出为0 */PinOUT(3, 0); /* 指定1号管脚输出为0 */PinOUT(4, 0); /* 指定0号管脚输出为0 */PinOUT(5, 0); /* 指定1号管脚输出为0 */PinOUT(6, 0); /* 指定0号管脚输出为0 */PinOUT(7, 0); /* 指定1号管脚输出为0 */}else if (adcvalue > duan * 6)             //0就是点亮 1就是不亮  这里表示7个灯全部亮{PinOUT(0, 0); /* 指定0号管脚输出为0 */PinOUT(1, 0); /* 指定1号管脚输出为0 */PinOUT(2, 0); /* 指定0号管脚输出为0 */PinOUT(3, 0); /* 指定1号管脚输出为0 */PinOUT(4, 0); /* 指定0号管脚输出为0 */PinOUT(5, 0); /* 指定1号管脚输出为0 */PinOUT(6, 0); /* 指定0号管脚输出为0 */PinOUT(7, 1); /* 指定1号管脚输出为0 */}else if (adcvalue > duan * 5)             //0就是点亮 1就是不亮  这里表示6个灯全部亮{PinOUT(0, 0); /* 指定0号管脚输出为0 */PinOUT(1, 0); /* 指定1号管脚输出为0 */PinOUT(2, 0); /* 指定0号管脚输出为0 */PinOUT(3, 0); /* 指定1号管脚输出为0 */PinOUT(4, 0); /* 指定0号管脚输出为0 */PinOUT(5, 0); /* 指定1号管脚输出为0 */PinOUT(6, 1); /* 指定0号管脚输出为0 */PinOUT(7, 1); /* 指定1号管脚输出为0 */}else if (adcvalue > duan * 4)             //0就是点亮 1就是不亮  这里表示5个灯全部亮{PinOUT(0, 0); /* 指定0号管脚输出为0 */PinOUT(1, 0); /* 指定1号管脚输出为0 */PinOUT(2, 0); /* 指定0号管脚输出为0 */PinOUT(3, 0); /* 指定1号管脚输出为0 */PinOUT(4, 0); /* 指定0号管脚输出为0 */PinOUT(5, 1); /* 指定1号管脚输出为0 */PinOUT(6, 1); /* 指定0号管脚输出为0 */PinOUT(7, 1); /* 指定1号管脚输出为0 */}else if (adcvalue > duan * 3)             //0就是点亮 1就是不亮  这里表示4个灯全部亮{PinOUT(0, 0); /* 指定0号管脚输出为0 */PinOUT(1, 0); /* 指定1号管脚输出为0 */PinOUT(2, 0); /* 指定0号管脚输出为0 */PinOUT(3, 0); /* 指定1号管脚输出为0 */PinOUT(4, 1); /* 指定0号管脚输出为0 */PinOUT(5, 1); /* 指定1号管脚输出为0 */PinOUT(6, 1); /* 指定0号管脚输出为0 */PinOUT(7, 1); /* 指定1号管脚输出为0 */}else if (adcvalue > duan * 2)             //0就是点亮 1就是不亮  这里表示3个灯全部亮{PinOUT(0, 0); /* 指定0号管脚输出为0 */PinOUT(1, 0); /* 指定1号管脚输出为0 */PinOUT(2, 0); /* 指定0号管脚输出为0 */PinOUT(3, 1); /* 指定1号管脚输出为0 */PinOUT(4, 1); /* 指定0号管脚输出为0 */PinOUT(5, 1); /* 指定1号管脚输出为0 */PinOUT(6, 1); /* 指定0号管脚输出为0 */PinOUT(7, 1); /* 指定1号管脚输出为0 */}else if (adcvalue > duan * 1)             //0就是点亮 1就是不亮  这里表示2个灯全部亮{PinOUT(0, 0); /* 指定0号管脚输出为0 */PinOUT(1, 0); /* 指定1号管脚输出为0 */PinOUT(2, 1); /* 指定0号管脚输出为0 */PinOUT(3, 1); /* 指定1号管脚输出为0 */PinOUT(4, 1); /* 指定0号管脚输出为0 */PinOUT(5, 1); /* 指定1号管脚输出为0 */PinOUT(6, 1); /* 指定0号管脚输出为0 */PinOUT(7, 1); /* 指定1号管脚输出为0 */}else if (adcvalue > 50)             //0就是点亮 1就是不亮  这里表示1个灯全部亮{PinOUT(0, 0); /* 指定0号管脚输出为0 */PinOUT(1, 1); /* 指定1号管脚输出为0 */PinOUT(2, 1); /* 指定0号管脚输出为0 */PinOUT(3, 1); /* 指定1号管脚输出为0 */PinOUT(4, 1); /* 指定0号管脚输出为0 */PinOUT(5, 1); /* 指定1号管脚输出为0 */PinOUT(6, 1); /* 指定0号管脚输出为0 */PinOUT(7, 1); /* 指定1号管脚输出为0 */}else             //0就是点亮 1就是不亮  这里表示0个灯全部亮{PinOUT(0, 1); /* 指定0号管脚输出为0 */PinOUT(1, 1); /* 指定1号管脚输出为0 */PinOUT(2, 1); /* 指定0号管脚输出为0 */PinOUT(3, 1); /* 指定1号管脚输出为0 */PinOUT(4, 1); /* 指定0号管脚输出为0 */PinOUT(5, 1); /* 指定1号管脚输出为0 */PinOUT(6, 1); /* 指定0号管脚输出为0 */PinOUT(7, 1); /* 指定1号管脚输出为0 */}}
}// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{LPM0_EXIT;
}

全部的代码

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

这篇关于【TB作品】MSP430 G2553 单片机口袋板,读取单片机P1.4电压显示,ADC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1025519

相关文章

解决Java中基于GeoTools的Shapefile读取乱码的问题

《解决Java中基于GeoTools的Shapefile读取乱码的问题》本文主要讨论了在使用Java编程语言进行地理信息数据解析时遇到的Shapefile属性信息乱码问题,以及根据不同的编码设置进行属... 目录前言1、Shapefile属性字段编码的情况:一、Shp文件常见的字符集编码1、System编码

利用Python实现添加或读取Excel公式

《利用Python实现添加或读取Excel公式》Excel公式是数据处理的核心工具,从简单的加减运算到复杂的逻辑判断,掌握基础语法是高效工作的起点,下面我们就来看看如何使用Python进行Excel公... 目录python Excel 库安装Python 在 Excel 中添加公式/函数Python 读取

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li

Java读取InfluxDB数据库的方法详解

《Java读取InfluxDB数据库的方法详解》本文介绍基于Java语言,读取InfluxDB数据库的方法,包括读取InfluxDB的所有数据库,以及指定数据库中的measurement、field、... 首先,创建一个Java项目,用于撰写代码。接下来,配置所需要的依赖;这里我们就选择可用于与Infl

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输