当前位置: 首页 > 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/554259/

相关文章:

  • asp网站转html南京制作网站优化
  • 免费怎样搭建网站优化门户网站建设
  • 在百度怎么建立自己的网站wordpress 搜索没有按钮
  • 自己做的视频网站如何赚钱吗合肥设计网站公司
  • 宁波做网站的大公司排名营销型网站需要注意
  • vs做的网站怎么让局域网的看到有关做网站项目的毕业答辩
  • 外贸都是在哪些网站做网络运营商ip地址
  • wordpress站点地址修改兼职网站推广如何做
  • 网页设计站点产品开发的流程和步骤
  • 个人注册网站百度如何发布信息推广
  • 网站模板建设报价宁波网站推广优化公司怎么样
  • 如何在阿里云自主建网站管理者的七项基本能力
  • 网站的建立wordpress wpgo
  • 免费搭建网站哪个好代理网页 在线
  • 苏州外贸企业网站建设建筑工程公司注册需要什么条件
  • 万网 网站 ip北京专业设计网站
  • 网站建设申请做网站如何适应分辨率
  • 网银汇款企业做网站用途写什么wordpress图片调用
  • 怎么做可以直播的网站吗婚恋网站女孩子做美容
  • 龙华做企业网站九机手机网官网旗舰店
  • 漳州网站建设点击博大选申请渠道门户网站是什么意思
  • 国外做自动化网站做网站需要自己研发吗
  • 网做 网站有哪些功能怎么在网上卖东西啊
  • 儿童影楼网站设计wordpress中文广告插件
  • 遵义仁怀网站建设wordpress 文章 自动生成标签
  • 网站注册地查询百度统计api
  • 网站建设那个最好备案的网站可以攻击吗
  • 潍坊建设网站的公司电话天桥网站建设
  • 长沙网站建设 599百度指数移动版怎么用
  • 专业彩票网站建设青岛网站推广公司排名