基于单片机的红外无线控制_第1页
基于单片机的红外无线控制_第2页
基于单片机的红外无线控制_第3页
基于单片机的红外无线控制_第4页
基于单片机的红外无线控制_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中国矿业大学徐海学院技能考核培训姓 名: 学 号: 专 业: 信息11-2班 题 目: 基于单片机的红外无线控制 专 题: 音乐播放器 指导教师: 老师 老师 设计地点: 电工电子实验室 时 间: 月 通信系统综合设计训练任务书学生姓名 专业年级 信息 班 学号 设计日期: 设计题目:基于单片机的红外无线控制设计专题题目: 音乐播放器设计主要内容和要求:1. 主要内容:单片机内部结构红外遥控解码C语言程序设2. 功能扩展要求实现音乐播放器的功能指导教师签字:摘要:近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入。红外线技术也被广泛应用于各个电子领域,先设计一种基于单片机的红外遥

2、控的简易音乐播放器。通信蜂鸣器来发声,来完成音乐播放器的功能。该系统可实现对音乐播放的远距离遥控,且结构简单,速度快,抗干扰能力强。通过本次课程设计,我对单片机中断系统等知识有了进一步的了解,对单片机的相关知识做到理论联系实际。关键词:单片机,中断系统,红外遥控,音乐播放 目 录1 绪论41.1概述41.2功能42 硬件电路52.1总体设计方52.2单片机最小系统52.3红外遥控收发电路52.3.1 红外遥控发射电路62.3.2 红外遥控接收电路72.4蜂鸣器电路72.5 LED指示灯电路83软件编程93.1 C语言实现系统设计93.2乐谱的改编10参考文献11附录121 绪论1.1概述本设计

3、采用红外线来遥控蜂鸣器使其播放音乐,红外遥控是如今广泛使用的一种通信和遥控手段;红外线遥控利用红外线来传输数据,这种情况下不需要实体连线,体积小,成本低,功能强;因此红外遥控设备已经广泛的应用在如今的电气设备的数据交互和设备控制中。利用单片机演奏时音乐爱好者的兴趣之一,应用的范围也比较广泛。所谓音乐播放器由单片机进行信息处理,再经过信号放大,由蜂鸣器发出乐曲声。详细说来,演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。众所周知,周期为频率的倒数,可以通过音符的频率计算出周期;因此演奏时,要根据音符的不同,把对应

4、的、半个周期的定时时间初始值,送入定时器,再由定时器按时输出高低电平。本文比较详细地介绍了音乐播放器的工作原理、设计思路、硬件的选择及相关作用、软件的实现方法以及详细的程序清单。1.2功能本设计以单片机为核心实现红外遥控音乐播放器功能,主要完成功能为四首歌曲的选择播放、暂停、暂停后断点播放,播放下一曲,播放上一曲以及流水灯显示音符等功能。本设计中使用常见的红外遥控器进行控制,使用其中的1、2、3、4四个数字键(对应功能选择1、2、3、4四首歌曲),频道加、减两个按键(对应功能上一曲、下一曲),静音键(对应功能暂停),以及确定键(对应功能播放歌曲)2 硬件电路2.1总体设计方AT89S52单片机

5、音乐播放遥控器图1系统组成框图本系统以AT89S52单片机为控制核心,以遥控器作为控制元件,以蜂鸣器作为执行器件。通过按下遥控器相应按键向单片机发送控制信息(红外信号),单片机红外接收器收到该红外信号后进行解码然后通过P3.2口将解码后的控制信息送入单片机,单片机通过P2.5口控制蜂鸣器播放音乐2.2单片机最小系统2.3红外遥控收发电路红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采

6、用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 常用的红外遥控系统一般分发射和接收两个部分。应用编/解码专用集成电路芯片来进行控制操作,如下图所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。图2红外线遥控系统框图2.3.1 红外遥控发射电路发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量的使用的红外发光二极管发出的红外线波长为940nm左右。遥控器的基本组成如图所示。它主要由形成遥控信号的微处理器芯片、晶体振荡器、

7、放大晶体管、红外发光二极管以及键盘矩阵组成。图4遥控器电路图工作原理:微处理器芯片IC1内部的振荡器通过2、3脚与外部的振荡晶体X组成一个高频振荡器,产生高频振荡信号。此信号送入定时信号发生器后进行分频产生正弦信号和定时脉冲信号。正弦信号送入编码调制器作为载波信号;定时脉冲信号送致扫描信号发生器、键控输入编码器和指令编码器作为这些电路的时间标准信号。IC1内部的扫描信号发生器产生五种不同时间的扫描脉冲信号,由59脚输出送至键盘矩阵电路。当按下某一键时,相应于该功能按键的控制信号分别由1014脚输入到键控编码器,输出相应功能的数码信号。然后由指编码器输出指令码信号,经过调制器调制在载波信号上,形

8、成包含有功能信息的高频脉冲串,由17脚输出经过晶体管BG放大,推动红外线发光二极管D发射出脉冲调制信号2.3.2 红外遥控接收电路红外线遥控接收器的作用是将接收到的红外线遥控信号,经过放大、解调和整形后输出功能指令信号,送至微处理器进行识别和处理。2.4蜂鸣器电路蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。2.5 LED指示灯电路3软件编程3.1 C语言实现系统设计单片机应用系统的程序设计有两种方法:一种是基于汇编语言的,另一种是基于C语言的。汇编语言程序的机器代码生成效率高,但可

9、读性较差,而C语言程序的可读性和可移植性远超过汇编语言。 用C语言编写单片机应用程序,不用具体组织、分配存储器资源和处理端口数据,但对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。C语言具有以下主要特点:语言简洁,使用方便灵活。它是程序设计语言中规模最小的语言之一。ANSI标准C语言只有32个关键字,9种流程控制语句。程序可移植性好。表达能力强。 具有丰富的数据结构类型和多种运算符。用户可灵活采用多种数据类型和使用各种运算符,实现复杂运算。表达方式灵活。利用 C语言的多种运算符可组成各种表达式,还可采用多种方法来获得表达式的值,使程序设计具有更大的灵活性。

10、可进行结构化程序设计。 C语言以函数作为程序设计的基本单位,非常适合结构化程序设计。可直接操作计算机硬件。 C语言具有直接访问机器物理地址的能力,C51的编译器都可直接对单片机内部的SFR和I/O端口进行操作,可以直接访问片内、片外存储器,还可以进行各种为操作。生成的目标代码质量较高。3.2乐谱的改编单片机演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。众所周知,周期为频率的倒数,可以通过音符的频率计算出周期;演奏时,要根据音符的不同,把对应的、半个周期的定时时间初始值,送入定时器,再由定时器按时输出高低电平。

11、在此程序中,通过两个数据表存放了事先算好的、各种音符频率所对应的、半周期的定时时间初始值。低音、中音、高音和超高音,四个八度共28个音符。演奏乐曲时,就根据音符的不同数值,从表中找到定时时间初始值,送入定时器即可控制音调。 参考文献1 华成英.童诗白.模拟电子技术基础M北京:高等教育出版社,2006:12-3 2 赵亮.单片机C语言编程与实例M.北京:人民邮电出版社,2003:3-4323 瞿贵荣.15通道红外遥控电路J.实用电子制作,2005,(7):10. 4 陈燕春.学习型14路红外遥控开关J.单片机开发与应用,2005,(6):22-255 胡汉才.单片机原理及其接口技术M.北京:清华

12、大学出版社,2006:3:1-12 附录附录1:程序#include #include #include delay.h#include decode.h#define uchar unsigned char#define uint unsigned int#define Font_code P0 /字符码写地址#define reg_code P2 /字位码写地址sbit speaker=P25;#define LED P1code unsigned char shuzu=0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F; unsigned char timer

13、0h,timer0l,time; /世上只有妈妈好数据表 6,2,3, code unsigned char sszymmh= 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0

14、 ;code unsigned char sszymmh1 = 5, 2, 2, 3, 2, 1, 5, 2, 1, 1, 3, 4, 6, 2, 2, 1, 3, 1, 6, 2, 1, 5, 2, 4,5,2,2, 1,2,1,2,2,1,3,2,2,2,2,1,1,2,1,2,2,4,5,2,2,3,2,1,5,2,1,1,3,3,7,2,1,6,2,2,1,3,2,5,2,4,5,2,2,2,2,1,3,2,1,4,2,3,7,1,1,1,2,4,6,2,2,1,3,2,1,3,4,7,2,2,6,2,1,7,2,1,1,3,4,6,2,1,7,2,1,1,3,1,6,2,1,6,2,

15、1,5,2,1,3,2,1,1,2,1,2,2,4,5,2,2,3,2,1,5,2,1,1,3,3,7,2,1,6,2,2,1,3,2,5,2,4,5,2,2,2,2,1,3,2,1,4,2,3,7,1,1,1,2,4,0, 0, 0;code unsigned char sszymmh2=6,2,1,7,2,1,1,3,3,7,2,1,1,3,2,3,3,2,7,2,6,3,2,1,6,2,3,5,2,1,6,2,2,1,3,2,5,2,6,3,2,2,4,2,3,3,2,1,4,2,2,1,3,2,3,2,4,1,3,1,7,2,1,6,2,1,5,3,2,6,2,1,7,2,2,5,2,

16、2,6,2,6,1,3,1,2,3,1,3,3,3,2,3,1,3,3,2,2,3,6,5,2,1,5,2,1,1,3,3,7,2,1,1,3,2,3,3,2,3,3,8,6,2,1,7,2,1,1,3,2,7,2,2,2,3,1,2,3,1,1,3,3,5,2,1,5,2,4,4,3,2,3,3,2,2,3,2,;code unsigned char sszymmh3=6,2,2,1,3,2,2,3,2,1,3,1,7,2,1,6,2,2,1,3,2,2,3,3,1,3,1/2,6,2,1/2,6,2,2,1,3,2,1,3,2,7,2,2,6,2,4,6,2,2,1,3,2,2,3,2,1

17、,3,1,6,2,1,5,2,2,6,2,1,5,2,1,4,2,2,5,2,2,6,2,2,1,3,2,4,2,2,5,2,2,6,2,2,5,2,1,4,2,1,2,2,6,6,2,2,1,3,2,2,3,2,1,3,1,7,2,1,6,2,2,1,3,2,2,3,3,1,3,1/2,6,2,1/2,6,2,2,1,3,2,1,3,2,7,2,2,6,2,4,6,2,2,1,3,2,2,3,2,1,3,1,6,2,1,5,2,2,6,2,1,5,2,1,4,2,2,5,2,2,6,2,2,1,3,2,4,2,2,5,2,2,6,2,2,5,2,1,4,2,1,2,2,6,0,0,0; /

18、音阶频率表 高八位code unsigned char FREQH= 0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, 0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, /1,2,3,4,5,6,7,8,i 0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, ; / 音阶频率表 低八位code unsigned char FREQL= 0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, 0x21,0xE1,0x8C,0xD8,0x68,0x

19、E9,0x5B,0x8F, /1,2,3,4,5,6,7,8,i 0xEE,0x44, 0x6B,0xB4,0xF4,0x2D, 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16, ;code uchar Show_Tab= 0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0x88,/*A*/ 0x83,/*b*/ 0xC6,/*C*/ 0xA1,/*d*/ 0x86,/*E*/ 0x8E /*F*/;c

20、ode uchar S_Tab8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char Display_Buffer8; /显示缓冲区uchar bit_con; /字位码扫描计数器extern unsigned char key_value;/键值extern bit key_flg; /按钮按下标志extern bit cycle_flg; /循环标志 void delay(unsigned char t) unsigned char t1; unsigned long t2; for(t1=0;t1t;t1+) for(t2=0;t2

21、8000;t2+) ; TR1=0; void t0int() interrupt 3 TR1=0; speaker=!speaker; TH1=timer0h; TL1=timer0l; TR1=1; void song() TH1=timer0h; TL1=timer0l; TR1=1; delay(time); void main()unsigned char k,i,j,z;TMOD=0x10; /置CT0定时工作方式1 EA=1; ET1=1;/IE=0x82 /CPU开中断,CT0开中断 delay_nus(1); delay_nms(1); reg_code = 0xff;/关闭

22、显示 for(bit_con=0;bit_con 4; Display_Buffer1 = Show_Tabkey_value & 0x0f; switch(z) case 0: lop: i=0; while(i10000) /音乐数组长度 ,唱完从头再来 k=sszymmhi+7*sszymmhi+1-1; if (i%3=0) j=sszymmhi; LED=shuzuj-1; if (key_value=0x47) while(1) if (key_value=0x44)break; if (key_value=0x19) goto lop;break; timer0h=FREQHk;

23、 timer0l=FREQLk; time=sszymmhi+2; i=i+3; song(); if (key_value=0x0c) key_value=0; z=0;break; if (key_value=0x18) key_value=0; z=1;break;if (key_value=0x5e) key_value=0; z=2;break; if (key_value=0x08) key_value=0; z=3;break; if (key_value=0x40) key_value=0; z=3;break;if (key_value=0x43) key_value=0;

24、z=1; break; ;break; case 1: lop1: i=0; while(i1000) /音乐数组长度 ,唱完从头再来 k=sszymmh1i+7*sszymmh1i+1-1; if (i%3=0) j=sszymmhi; LED=shuzuj-1; if (key_value=0x47) while(1) if (key_value=0x44)break; if (key_value=0x19) goto lop1; break; timer0h=FREQHk; timer0l=FREQLk; time=sszymmh1i+2; i=i+3; song(); if (key_

25、value=0x0c) key_value=0; z=0;break; if (key_value=0x18) key_value=0; z=1;break;if (key_value=0x5e) key_value=0; z=2;break; if (key_value=0x08) key_value=0; z=3;break; if (key_value=0x40) key_value=0; z=0;break;if (key_value=0x43) key_value=0; z=2; break; ;break; case 2: lop2: i=0; while(i1000) /音乐数组长度 ,唱完从头再来 k=sszymmh2i+7*sszymmh2i+1-1; if (i%3=0) j=sszymmh2i; LED=shuzuj-1; if (key_value=0x47) while(1) if (key_value=0x44)break; if (key_value=0x19) goto lop2; break; timer0h=FREQHk; timer0l=FREQLk;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论