IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 基于单片机的可编程乐曲演奏器课设论文 -> 正文阅读

[嵌入式]基于单片机的可编程乐曲演奏器课设论文

在这里插入图片描述
在这里插入图片描述

void main()
{
 while(key3==1);
 led1=0;
 led2=1;
 InitTimer();
 while(1)
 {
  Musics_Play();
  if(key1==0)
  {
   delay1ms(10);
   while(key1==0);
   music_value++;
   if(music_value>7) music_value=1;
  }
  if(key2==0)
  {
   delay1ms(10);
   while(key2==0);
   music_value--;
   if(music_value==0) music_value=7;
  } 		  
 }
}
3.4定时器初始函数的设计
void InitTimer(void)
{
  TMOD=0x01;   //定时器0置于方式一,X=65536-N=

  IT0=1;
 
  ET0=1;

  EA=1;        //打开总中断

}
3.5延时函数的设计
void delay150ms(void)  /*延时1/4拍时间即150ms*/
{ 
  unsigned char a,b,c;

    for(c=3;c>0;c--)
        for(b=80;b>0;b--)
		   {
		    if(P3!=0xff) {break;}	
            for(a=214;a>0;a--);
			}
         
}


void Musics_Play()
{
 unsigned int j=0,i=0,k=0;
//------------------------音乐选择
 switch(music_value)	
 {
  case 1 :song=song1;
   led3=1;
   P0=tab[1]; 
   delay(50);
   break;
     .
     .
     .
//---------------------------节拍音调读取

 while(*(song+j)!=0xFF&&cycle_flag)
 { 
  beat=*(song+j)&0x0F;        //取出节拍
  sound=*(song+j)>>4;       //取出音
  TH0=tones[2*sound];
  TL0=tones[2*sound+1];
  TR0=1;
  if ((tones[2*sound]==0xFF)&&(tones[2*sound+1]==0xFF)) TR0=0;
  for(i=beat;i>0;i--){delay150ms();} 
  TR0=0;
  if(sound>=8) sound=7; 
  led1=!led1;
  led2=!led2;
  j++;
  k++;
  if(k==7) k=0;
 }
}
3.7定时器0中断函数的设计
void Timer0Interrupt(void) interrupt 1
{
  
  TH0=tones[2*sound];

  TL0=tones[2*sound+1];

  speaker = !speaker;

}

链接:https://pan.baidu.com/s/150lid1U2jKpAtDhnf1whPg
提取码:rtup

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-11 12:35:13  更:2021-08-11 12:36:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 7:52:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码