仿真设计|17-基于51单片机的遥控音乐系统仿真

 具体实现功能

(1)仿真分为接收器(播放器)和发射器(遥控)。接收器由一个可以播放音乐的电子琴构成;
(2)发射器通过按键遥控接收器上电子琴的启动;
(3)启动时播放的是《同一首歌》的旋律,数码管显示“b”,表示播放,按下接收器的停止按键后停止播放音乐;
(4)按下复位按键后回到初始状态。

仿真演示视频:

17-基于51单片机的遥控音乐系统仿真—仿真视频

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

发射器主函数如下:

void main() 
{ 
    intCon();
    while(1)  
    { 
	                                                                                                
            panduan_01();
			RI = 0;
			SBUF=qhao;		//数字发送到缓存中	
			while(!TI);   	//若一帧数据发送完毕,则TI=1,在将 TI置为0,让其处于接收状态
			TI=0;			
	   } 	   
}

发射器程序运行结果如图:

接收器主函数如下:

void main() 	//主函数入口
{
	intCon();
	Speak=1;		//蜂鸣器端口置1 (让蜂鸣器处于与电源5V断电状态)
	qhao=0;
	while(1)	//无限循环	
	{
		qhao=SBUF;//数字从接收存储器中取得 
		RI=0; 
		if(qhao==1)
		{
			SMG=table[11];	//数码管显示"B"
			for(i=0;Music_tyshg[i]!=0xff;i++)	//for循环语句			
			{				//Music_hzcb[]=0ff时,跳出for循环语句,停止播放音乐
				Time0_Init();	//定时器T0初始化
				sth=yinfu1[(Music_tyshg[i]%100)/10-1][((Music_tyshg[i]%10)-1)*2];	 //定时器高八位赋值
				stl=yinfu1[(Music_tyshg[i]%100)/10-1][((Music_tyshg[i]%10)-1)*2+1];//定时器低八位赋值
				i++;		//i加1
				TR0=1;		//启动定时器T0
				delay_ms(4*500/length[Music_tyshg[i]%10]);	//确定几分音符(节拍)		
				TR0=0;		//节拍结束,关闭定时器T0				 
			}
		}
		if(qhao==0)
		{
			TR0=0;		//节拍结束,关闭定时器T0	
			Speak=0;		//蜂鸣器端口置1 (让蜂鸣器处于与电源5V断电状态)
		}
	}
}

接收器程序运行结果如图:

全部内容

全部资料包括程序(keil5)、protues仿真(protues8.7)、课设报告(仅供参考)、软硬件设计框图、开发资料、资料使用介绍、仿真视频、程序讲解视频、原理图讲解视频、仿真讲解视频、最小系统介绍视频等。

资料获取

【腾讯文档】17-基于51单片机的遥控音乐系统仿真
https://docs.qq.com/doc/DT1lhREpoSHFIY3lC

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值