news 2026/4/24 17:14:44

基于单片机控制的音乐盒

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机控制的音乐盒

第2章 系统硬件设计

2.1单片机内部结构
STC89C52 是一种耗能低、性能高CMOS8位微控制器,它基本都是51内核的种类,是新一代增强型单片机,具有8K在系统可编程Flash存储器,加密性好,抗干扰强。STC89C52具有的可编程的Flash是8k字节的,I/O 端口线为32位,内部RAM有256个字节,具有一个看门狗定时器,拥有的中断结构是6向量2级的,含有的数据指针为两个,内部含有的16位定时器/计数器有三个,并且是全双工串行口,单片片内部含有晶振电路以及时钟电路。拥有灵巧的8位cpu,这样能够使得单片机为很多的系统提供非常灵活非常高效的解决办法。
40引脚的VCC是电源电压,20引脚的VSS是接地。其中P0口是一个的双向I/O口并且拥有八位漏极开路。当他作为一个输出端口的时候,每一位都能够驱动8个逻辑电平。当该引脚被当作高阻抗用来输入的时候P0端口应该为高电平。并且P0端口也同样是可以被用作为低8位的地址/数据但使用的前提应该要是在访问外部程序和数据存储器的时候。P1.0和P1.2端口分别作定时器/计数器2的外部计数输入和时器/计数器2 的触发输入,具体可以看下表1。在flash编程和校验时,P1口接收低8位地址字节。
2.3复位电路
如图4为复位电路,他是STC89C52单片机最小系统中另外一个重要组成部分。它都是用比较简单的电容串联电阻所构成的,电阻的一端接地,另一端接入单片机RST引脚并且和电容的一端相连,另一端则接入EA引脚。再复杂点就有三极管等来配合这个程序。复位电路是首先给电容充电,RST引脚会出现一段时间的高电平一段时间后会通过电阻进行放电过程,在这一段过程中RST引脚会保持高电平从而进行了复位操作。复位电路的目的是用来使电路恢复到初始状态,它的启动方式一是在给电路通电时马上就可以自动的进行复位操作;二是在必要时可以由我们的人为的手动操作;三是根据程序或者电路运行的需要它会自动的进行。目前为止,单片机复位电路主要有四种类型:微分型复位电路;积分型复位电路;比较型复位电路;看门狗型复位电路。当RST脚的高电平持续两个机器周期以上就可以实现复位。

图4 复位电路图

2.4蜂鸣器电路
如图5是蜂鸣器电路图,我们得知蜂鸣器的一端接了一个电阻接到了地,另一端接到了三极管的一端再接入单片机的P1.0引脚。 加入电阻那端的目的是为了保护这个电路,而另一端接入三极管原因在于要驱动蜂鸣器让他工作需要比较大的电流,而单片机的内部提供电流无法满足这个电流需求 ,所以我们使用三极管进行电流的放大,从而满足这个使蜂鸣器正常工作的一个电流需求。

第3章 电路设计总图

图7电路设计总图

第4章 系统软件设计

4.1音乐设计程序
已知不同的音调有着不一样的频率。每个音调都有着不同的时间周期常数。用定时器T0对单片机进行定时,通过输出不同周期的方波给蜂鸣器来控制,发出需要的音调,从低音到高音每一个音调都有定时器T0对应的一个初值。由此当晶振为12MHz时可以列出音调与定时器T0初值的表3:
4.2 LCD显示程序设计
如图8为LCD显示程序初始化过程,它需要在工作显示之前完成初始化,对数字汉字的一个完整确认输入,之后再通过单片机对他进行写指令或者数据。
图8 LCD显示程序初始化
本设计中LCD初始化过程会利用8位数据并行方式,向LCD在当DL为高电平,RE为低电平时候写入0x30的指令,0x30写入功能设定中。向LCD在DBC指令都为高电平的时候写入0x0f指令,等待时间大于100us,这是我们的显示开关控制指令。当全部清除指令之后,把0x01指令写入LCD,等待时间大于10ms,把0x06指令写入LCD,这时就进入了模式设置。完成初始化设置,根据控制端使用单片机向LCD写入指令或者数据。

第5章 结语

本次设计中我们主要由单片机电路,时钟振荡电路,复位电路,蜂鸣器电路和LCD显示电路着几大模块组成。我们首先根据音调节拍频率初值得关系来把我们选定的音乐来转换成我们做能够输入到单片机中的编码。我们通过单片机的P1.0口来和蜂鸣器连接,以及把LCD显示电路,复位电路和时钟振荡电路和单片机相连接,首先要通过复位电路RST引脚为高电平实现一个初始化过程,我们还要对LCD显示电路进行初始化过程,把我们在显示屏中所要显示的汉字从他的汉字库中调出来,当我们开始工作把乐谱的信息转换为单片机可用数据,通过驱动蜂鸣器实现音乐的播放,同时在液晶屏上显示音乐的相关信息。

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 10:24:02

LCR测试仪与阻抗分析仪的区别分析

在电子元器件测试领域,LCR测试仪与阻抗分析仪是两种常用于测量电感(L)、电容(C)和电阻(R)等参数的精密仪器。尽管二者在功能上存在交集,但其设计定位、技术能力与应用场景存在显著差…

作者头像 李华
网站建设 2026/4/23 14:26:41

一文带你了解最吃香的金融类软件测试(附面试文档)

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、为什么做金融类软件测试举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没…

作者头像 李华
网站建设 2026/4/23 23:07:53

基于SpringBoot的智能旅游行程规划系统的设计与实现

背景分析随着旅游业的快速发展和个性化需求的增长,传统旅游行程规划方式存在信息碎片化、效率低下等问题。游客需要手动整合交通、住宿、景点等数据,耗时且难以优化。SpringBoot作为轻量级Java框架,具备快速开发、微服务支持等优势&#xff0…

作者头像 李华
网站建设 2026/4/18 5:43:07

Shell语言的基础知识介绍 - Git bash

Git Bash不是一个独立的编程语言,而是把Bash环境移植到Windows的工具。这意味着Git Bash使用的语言就是标准的Bash shell脚本语言,只是运行环境不同。 我打算先明确Git Bash的本质,然后按照要求的分类详细解释。虽然基础语言是Bash&#xff0…

作者头像 李华