【TB作品】MSP430F149 单片机 音乐喷泉

功能

声音越大,亮的灯越多。
oled显示出当前的声音大小。

硬件接线

//OLED----MSP430
//VCC-----3.3V
//GND-----GND
//D0------P3.2
//D1------P3.0
//RES-----P2.0
//DC------P2.2
//CS------P8.1

led
P4八个引脚

adc
P6.0

部分代码

_EINT();while (1){adok_ifg = 1; /* 转换结束后变成0 */ADC12CTL0 |= ADC12SC;                   // Sampling opendelay_ms(500);while (adok_ifg == 1); /* 等待装换结束 */fute = adcvalue * 0.00805;xianshi[0] = fute % 100 / 10 + '0';xianshi[1] = '.';xianshi[2] = fute % 10 + '0';xianshi[3] = 'V';xianshi[4] = 0;OLED_ShowString(0, 0, xianshi);xianshi[0] = adcvalue % 10000 / 1000 + '0';xianshi[1] = adcvalue % 1000 / 100 + '0';xianshi[2] = adcvalue % 100 / 10 + '0';xianshi[3] = adcvalue % 10 + '0';xianshi[4] = 'X';xianshi[5] = 0;OLED_ShowString(0, 2, xianshi);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){P4OUT = 0X00;}else if (adcvalue > duan * 6){P4OUT = BIT7;}else if (adcvalue > duan * 5){P4OUT = BIT7 + BIT6;}else if (adcvalue > duan * 4){P4OUT = BIT7 + BIT6 + BIT5;}else if (adcvalue > duan * 3){P4OUT = BIT7 + BIT6 + BIT5 + BIT4;}else if (adcvalue > duan * 2){P4OUT = BIT7 + BIT6 + BIT5 + BIT4 + BIT3;}else if (adcvalue > duan * 1){P4OUT = BIT7 + BIT6 + BIT5 + BIT4 + BIT3 + BIT2;}else if (adcvalue > 50){P4OUT = BIT7 + BIT6 + BIT5 + BIT4 + BIT3 + BIT2 + BIT1;}else{P4OUT = 0XFF;}temp1 = max_YIN - min_YIN;temp2 = (float) adcvalue / (float) temp1 * 300;temp3 = temp2;temp1 = 210 + temp3;CCR1 = temp1; //设置为210到510xianshi[0] = 'P';xianshi[1] = 'W';xianshi[2] = 'M';xianshi[3] = temp1 % 10000 / 1000 + '0';xianshi[4] = temp1 % 1000 / 100 + '0';xianshi[5] = temp1 % 100 / 10 + '0';xianshi[6] = temp1 % 10 + '0';xianshi[7] = 0;OLED_ShowString(0, 4, xianshi);}
}// ADC12 interrupt service routine
#pragma vector=ADC12_VECTOR
__interrupt void ADC12_ISR(void)
{adcvalue = ADC12MEM0;adok_ifg = 0;}

全部代码

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

函数柯里化:Python中的高级编程技巧

函数柯里化&#xff1a;Python中的高级编程技巧 在Python编程中&#xff0c;柯里化&#xff08;Currying&#xff09;是一种将一个多参数的函数转换成多个单参数函数的技术。这种技术起源于数学逻辑学&#xff0c;由数学家Haskell Curry提出&#xff0c;因此得名。在函数式编程…

ES6+-函数的双重用途,语法层面上判断函数的调用方式

函数可以被当作普通函数使用&#xff0c;也可以当作构造函数使用new关键字调用&#xff0c;有时候我们编写一个函数明确就是用来当做构造函数的&#xff0c;可无法限制其他人对此函数的调用方式。如下&#xff1a; function Person (name, age) {this.name namethis.age age…

上位机图像处理和嵌入式模块部署(f407 mcu中的项目开发特点)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 和soc相比较&#xff0c;mcu的项目规模一般不算大。因为&#xff0c;soc项目中&#xff0c;从规划、硬件开发、驱动、应用端、服务器端到测试&…

举个栗子!Quick BI 技巧(8):柱形图的制作及应用

众所周知&#xff0c;在数据分析中&#xff0c;柱形图是利用率非常高的一种图&#xff0c;主要是用于比较各组数据之间的差别&#xff0c;并且可以显示一段时间内的数据变化情况。那么在 Quick BI 中要如何来制作柱形图呢&#xff1f; 今天的栗子&#xff0c;我们就来分享如何…

RocketMq生产常见问题及解决方案(三) 顺序消息和消息堆积的解决法方式

1.rocketmq中的顺序消息 1.1 rocketmq顺序消息的使用场景 顺序消息分为全局顺序消息和局部顺序消息&#xff0c;在增量同步日志的时候&#xff0c;需要保证消息全局有序&#xff0c;这个时候&#xff0c;我们需要全局顺序消息。而在订单业务常见的一个场景是&#xff0c;每个…

【Redis】Redis事务详解

Redis的事务&#xff08;transaction&#xff09;允许在一个单独的操作序列中执行多个命令&#xff0c;并保证这些命令在其他客户端无法中断的情况下执行。Redis通过MULTI、EXEC、DISCARD和WATCH命令来实现事务管理。 Redis事务的基本命令 MULTI&#xff1a;开启一个事务块。…

【Android面试八股文】String s= new string(“xxx“); 创建了几个String对象?

String s= new string(“xxx”);创建了几个String对象? 这道题想考察什么 ? 这个问题旨在考察对于 Java 中字符串 String 的理解。 考察的知识点 Java基础,JM常量池与对象内存分配 考生应该如何回答 首先让我们来分析代码 String s = new String("xxx")。 …

DP:子序列模型

子数组vs子数列 1、子数组&#xff08;n^2&#xff09; 子序列(2^n) 2、子数组是子序列的一个子集 3、子数组必须连续&#xff0c;子序列可以不连续 一、最长递增子序列 . - 力扣&#xff08;LeetCode&#xff09; 算法原理&#xff1a; 1、状态表示&#xff…

数据管理积重难返?这有一个新药方丨直播预告

大数据产业创新服务媒体 ——聚焦数据 改变商业 在数智化转型的浪潮中&#xff0c;数据管理领域正面临着前所未有的挑战和机遇。企业在数据管理过程中&#xff0c;普遍遭遇数据孤岛、数据质量不佳、存储和处理成本高昂、数据安全与隐私保护压力以及多源异构数据整合困难等诸多…

【MMU】——MMU 页命中/缺页

文章目录 MMU 页命中/缺页MMU 命中MMU 缺页 MMU 页命中/缺页 MMU 命中 处理器产生一个虚拟地址。MMU生成 PTE 地址&#xff0c;并从高速缓存/主存请求得到它。高速缓存/主存向 MMU 返回 PTE。MMU 构造物理地址&#xff0c;并把它传送给高速缓存/主存。高速缓存/主存返回所请求…

GIT仓库发布提交

git config --global user.name "test" git config --global user.email "testqq.com" 创建 git 仓库:mkdir php_tuisong cd php_tuisong git init touch README.md git add README.md git commit -m "first commit" git remote add origin htt…

SpringBoot引入WebSocket依赖报ServerContainer no avaliable

1、WebSocketConfig 文件报错 Configuration EnableWebSocket public class WebSocketConfig {Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}2、报错内容 Exception encountered during context initialization - canc…

SpringBoot+Vue校园管理系统(前后端分离)

技术栈 JavaSpringBootMavenMyBatisMySQLVueElement-UIShiro 系统角色 管理员用户院系管理员 系统功能截图

如何编辑 sudoers 文件

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 特权分离是 Linux 和类 Unix 操作系统中实施的基本安全范例之一。普通用户以有限权限操作,以减少其影响范围仅限于其自身环境,而不是更广泛的操作系统。 一个名…

《互联网政务应用安全管理规定》电子邮件安全如何整改?

继上篇文章&#xff08;解读《互联网政务应用安全管理规定》网络和数据安全中的身份认证和审计合规&#xff09;之后&#xff0c;本篇文章继续解读第五章“电子邮件安全”&#xff0c;为党政机关事业单位提供电子邮件系统整改思路。 “电子邮件安全”内容从第三十一条到第三十…

检验周转率

select 项目, sum(中位数时间差) as 中位数时间差, sum(百分之九十时间差) as 百分之九十时间差,sum(标本数) as 标本数 from ( select 项目, sum(中位数时间差) 中位数时间差,null 百分之九十时间差, null 标本数 from ( select distinct 项目,中位数,(sum(中位数时间差)/2) …

VirtualBox 虚拟机中的 centos7 系统拉取 docker 镜像常见报错及解决方法

一、拉取镜像时报错&#xff1a;Error response from daemon: Get "https://registry-1.docker.io/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority 原因&#xff1a;&#xff08;文心一言给出的原因&#xff09; 这个错误…

基于百度翻译API的火车头PHP翻译插件,可以翻译HTML片段

关于火车头的百度翻译插件&#xff0c;相信大家在火车头官网或网上都能找到相关代码&#xff0c;百度翻译插件是PHP写的&#xff0c;就一个PHP文件&#xff0c;简单灵活&#xff0c;不受火车头软件版本限制&#xff0c;任何有PHP插件权限的火车头版本都可以使用。但是百度API翻…

深度学习中的弱监督学习

深度学习中的弱监督学习 弱监督学习&#xff08;Weakly Supervised Learning&#xff09;是一种介于监督学习和无监督学习之间的机器学习方法。它在有限、部分或不完全标注的数据上进行训练&#xff0c;旨在利用这些不完美的标签信息来学习有效的模型。弱监督学习在深度学习中…

如何通过 4 种方式备份和恢复Android联系人

毫无疑问&#xff0c;联系人是Android手机上存储的最重要的信息之一。为了保护这些重要数据&#xff0c;明智的做法是对Android手机进行联系人备份。如果您的手机发生任何情况导致数据丢失&#xff0c;例如被盗、系统崩溃或物理损坏&#xff0c;您可以再次将备份中的联系人恢复…