当前位置: 首页 > news >正文

如何做网站服务器映射景安怎么把网站做别名

如何做网站服务器映射,景安怎么把网站做别名,百度官网认证多少钱,如何速发布wordpress题目 7 :玩具电子琴 基于单片机设计一能够发出中音八个音阶的音乐信号的电子琴,能够实现弹奏和音符显示功 能。 具有 8 个音阶按键,每按下一个按键时,所对应的 LED 点亮,音符进行显示。 具体要求如下: &…

题目 7 :玩具电子琴
基于单片机设计一能够发出中音八个音阶的音乐信号的电子琴,能够实现弹奏和音符显示功
能。
具有 8 个音阶按键,每按下一个按键时,所对应的 LED 点亮,音符进行显示。
具体要求如下:
(1)具有 8 个音阶按键,每按下一个按键时,扬声器发声,所对应的 LED 点亮。
(2)数码管显示当前的音符(用数字表示,简谱)。
(3)可通过单片机控制音量大小,并进行音量显示。
(4)音阶频率信号由单片机产生。
表 2 音阶/频率对照表
音阶 1 2 3 4 5 6 7 1
频率/Hz 262 294 330 349 392 440 494 523
可添加符合题目背景的其它合理功能。

在这里插入图片描述

玩具电子琴设计与实现

本文介绍了一款基于单片机的玩具电子琴的设计与实现。该电子琴能够发出中音八个音阶的音乐信号,具备弹奏和音符显示功能,同时能够通过按键控制音量大小,并显示当前音量。

1. 功能介绍

  1. 具有8个音阶按键,每按下一个按键时,扬声器发声,并点亮对应的LED。
  2. 数码管显示当前音符(用数字表示,简谱)。
  3. 通过按键控制音量大小,并在数码管上显示当前音量。
  4. 音阶频率信号由单片机产生。

2. 硬件设计

2.1 按键扫描

按键扫描采用PINE端口的8个输入,每个按键对应一个输入引脚。当按键按下时,扫描函数keyscan返回对应按键的编号。

unsigned char keyscan( void )
{if ( (PINE & 0x01) == 0 )return(1);if ( (PINE & 0x02) == 0 )return(2);if ( (PINE & 0x04) == 0 )return(3);if ( (PINE & 0x08) == 0 )return(4);if ( (PINE & 0x10) == 0 )return(5);if ( (PINE & 0x20) == 0 )return(6);if ( (PINE & 0x40) == 0 )return(7);if ( (PINE & 0x80) == 0 )return(8);return(0);
}
2.2 数码管显示

数码管采用共阴极数码管,通过端口PD和PG控制显示。xianshi数组用于存储需要显示的数字,LEDData数组用于存储对应段选的数据。

unsigned char xianshi[2];
unsigned char LEDData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

定时器0用于数码管的动态扫描,每隔一段时间切换显示。

char i=0;
#pragma interrupt_handler  TIMER0_ISR:17
void TIMER0_ISR(void)
{TCNT0 = 10;i++;if(i==2)i=0;PORTD = 0XFF;  if(i==0){PORTG &= ~0x08;PORTG |= 0x04;PORTD = ~xianshi[0];}if(i==1){PORTG &= ~0x04;PORTG |= 0x08;PORTD = ~xianshi[1];}
}
2.3 PWM信号产生

PWM信号用于控制扬声器发声,通过设置定时器1的输出比较寄存器OCR1A和周期寄存器ICR1来生成不同频率的音阶。

void Set_waveform_parameters( unsigned int mu_volume, unsigned int fre_t )
{if ( mu_volume == 0 || fre_t == 0 ){OCR1A = 0;ICR1 = 0;return;}ICR1 = 57600 / fre_t;OCR1A = mu_volume * 5060 / fre_t;
}

3. 软件设计

在主程序中,首先进行初始化设置,包括按键端口、数码管端口、LED端口、PWM端口的配置。然后进入主循环,不断扫描按键,更新音量和数码管显示。

void main( void )
{unsigned char key;delay_nms( 100 );DDRE = 0x00;PORTE = 0xff;DDRG &= ~0x03;PORTG |= 0x03;DDRF = 0XFF;PORTF = 0XFF;DDRD = 0XFF;   PORTD = 0XFF;  DDRG |= 0x0C;PORTG |= 0x0C;xianshi[0]=0x00;xianshi[1]=LEDData[mu_volume];while ( 1 ){key = keyscan();if ( key != 0 ){Set_waveform_parameters( mu_volume, tone_freq[key - 1] );xianshi[0] = LEDData[key];PORTF = ~(0x01 << (key - 1));while ( keyscan() != 0 );PORTF = 0XFF;Set_waveform_parameters( 0, 0 );xianshi[0] = 0x00;}if ( (PING & 0x01) == 0 ){if ( mu_volume < 9 )mu_volume++;xianshi[1] = LEDData[mu_volume];while ( (PING & 0x01) == 0 );}if ( (PING & 0x02) == 0 ){if ( mu_volume > 1 )mu_volume--;xianshi[1] = LEDData[mu_volume];while ( (PING & 0x02) == 0 );}}
}

4. 总结

本文介绍的玩具电子琴通过单片机实现了音阶发声、音符显示和音量控制功能。硬件设计包括按键扫描、数码管显示和PWM信号产生,软件设计则包括按键处理、音量控制和定时器中断处理。该设计不仅实现了基本功能,还具有较好的扩展性,可以根据需要添加更多功能。

资源:

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?u=bdf8eeb84961492ba2b62f7bfee641ea&tab=BB08J2
http://www.yayakq.cn/news/100514/

相关文章:

  • 网站建设讠金手指科杰动漫制作专业就业方向和前景
  • 金华大奇网站建设公众号快速涨10000粉丝方法
  • 网站门户建设方案网站如何做区域屏蔽代码
  • 网站建设费用贵不贵dz门户网站模板下载
  • 网站规划建设实训报告音乐网站开发需要什么语言工具
  • 建设项目自主验收公示网站怎么申请订阅号
  • 建设网站存在的问题手机网站开发公司
  • 用手机怎么申请免费自助网站网页传奇游戏攻略
  • mooc网站开发流程图邢台建网站找谁
  • 保定网站建设优化注册个人网站的方法
  • 英德市建设及城乡管理局网站做枸杞的网站
  • 哪些网站是营销型网站html静态网站怎么放在网站上
  • 要做一个网站需要准备什么本周的最新新闻
  • 视频网站开发研究背景莞城网站仿做
  • 东莞专业网站设计专业服务做pc网站会连带手机版
  • 嘉兴网站开发与制作网站怎么做丰富的tag标签页
  • 小说网站防盗做的好处天津网站开发制作
  • 黄岛建设局网站虚拟主机怎么建网站
  • 手机网站源文件网站后台不显示
  • 建设银行广州分行网站网站 别名
  • 有什么做视频的素材网站百度网盘资源搜索入口
  • 做h的动漫在线观看网站个人微信管理系统
  • 企业产品网站源码企业查询信息平台官网
  • 那个可以做棋牌网站深圳网站制作联系兴田德润
  • 网站建设的原理淘宝网商城
  • 打造对外宣传工作平台网站建设wordpress文章标题后显示栏目标题
  • 湛江赤坎孵化器网站建设招聘wap网站开发需要多少钱
  • 网站建设推广ppt义乌本地网站开发
  • 中国建设网站下载安装wordpress 列表摘要
  • 在线企业建站模板工作纪律生活纪律研讨发言