北邮通信工程小学期-电路综合实验-电子工艺实习-红外遥控音乐播放器-实验报告

上传人:龙*** 文档编号:995013 上传时间:2017-05-24 格式:DOCX 页数:59 大小:342.45KB
返回 下载 相关 举报
北邮通信工程小学期-电路综合实验-电子工艺实习-红外遥控音乐播放器-实验报告_第1页
第1页 / 共59页
北邮通信工程小学期-电路综合实验-电子工艺实习-红外遥控音乐播放器-实验报告_第2页
第2页 / 共59页
北邮通信工程小学期-电路综合实验-电子工艺实习-红外遥控音乐播放器-实验报告_第3页
第3页 / 共59页
北邮通信工程小学期-电路综合实验-电子工艺实习-红外遥控音乐播放器-实验报告_第4页
第4页 / 共59页
北邮通信工程小学期-电路综合实验-电子工艺实习-红外遥控音乐播放器-实验报告_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《北邮通信工程小学期-电路综合实验-电子工艺实习-红外遥控音乐播放器-实验报告》由会员分享,可在线阅读,更多相关《北邮通信工程小学期-电路综合实验-电子工艺实习-红外遥控音乐播放器-实验报告(59页珍藏版)》请在金锄头文库上搜索。

1、2016 年小学期单片机设计实验报告题目:红外遥控音乐播放器班 级: 班内序号: 实验组号: 学生姓名: 指导教师: 期中检查教师评语指导教师签字:年 月 日注:本实验报告为北京邮电大学 通信工程 2016 年小学期(电路综合实验 电子工艺实习)的实验报告。报告完全是自己写的;代码也是自己敲的,我负责的是整个红外模块和 MAIN程序的一部分,这些部分我都有非常详细的注释。LCD 显示屏是另外一个人负责。实验效果很好,最后得分也很高(90+,不透露了) ,但是实际上还有问题:这个程序读取并存储红外接收头的码字,和实际上的码字并不相符,通过示波器就可以很清楚地看到。例如我按下红外遥控器的 1,遥控

2、器发射码11010010,在这个程序控制下,单片机存储的码字不是这个。不过,我们得到的码字和遥控器上的按键一一对应,这样我只要全按照错的码字来就行了。当时时间紧迫,我查了好几遍也不知道自己代码错在哪儿,就将错就错了。另外要注意的是,我们是去外面随便买的遥控器,咱们遥控器不一样,对应的码字需要你们自己测量。本文虽然给了详尽的说明,不用再像我一样查 N 多资料了。不过课本必须好好看。老师对我们组印象很深刻,如果只是照抄这份报告,肯定拿不到好成绩。希望学弟学妹们能在这基础上把码字测量准确,并且加一些新功能吧,比如用盒子里的键盘、比如控制音长等等;认真完善这份报告,比如排版啥的。红外遥控音乐播放器 班

3、 组实验摘要本次我们制作的基于红外通信的音乐播放器。我们将红外遥控器发出的红外信号进行解码,并将解码后的信号发送至单片机进而使喇叭发声、LCD 显示屏显示相应界面。目前,红外光通信应用普遍,我们小组也充分利用这一模块增加实验的创新性。整个系统中,微控制器采用了 Microchip 公司的 PIC16F877A。本实验用单片机的红外接收模块接收来自红外遥控器信息,利用 PIC 单片机的中断,对红外码进行引导码检验、32 位码接收并解码、特征检验及数据检验的功能,实现了对不同的红外码的区分,并最后将所得的数据码存放到单片机的 RAM 中;然后,我们利用红外解码后的 8 位数据码,实现了在主程序中对

4、按键循环检并识别,进而播放对应歌曲或音符、存储所按音符、显示所按按键对应界面、并同时点亮对应彩灯。 AbstractIn this experiment, we made a music player based on infrared communication technology. We decoded the infrared signal from the infrared ray remote controller, then we transmitted the decoded signal to the PIC MCU to make the loudspeaker play

5、music and control the LCD to display the corresponding interface. Nowadays, the application of infrared communication is widespread, and our group has made full use of this module to increase the innovation of experiments.In the system, we used the Microchip PIC16F877A as the micro controller. We us

6、ed the infrared module to receive the signal from the remote controller. With the interrupt of PIC MCU, we checked the boot codes and decoded the useful data in order to distinguish different infrared signals. Afterwards, we saved the decoded data in the RAM of the MCU. Circularly detecting the data

7、 in main program makes the music playing, the song saving, LCD displaying and LED lightening possible.关键字单片机microcontroller 芯片CMOS chip红外探测infrared detector脉宽调制pulse width modulation一 .实验论证与比较1. 红外通信原理红外通信是利用 950nm 近红外波段的红外线作为传递信息的媒体,即通信信道。发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。接收端将接收到的光脉转换成电信号,再经过放大

8、、滤波等处理后送给解调电路进行解调,还原为二进制数字信号后输出。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。2. 红外接收模块使用一体化接收头,内部电路包括红外监测二极管,放大器,限副器,带通滤波器,积分电路,比较器等。红外监测二极管监测到红外信号, 然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。交流 信号进入带通滤波器,带通滤波器可以通过 30khz 到 60khz 的负载波,通过解调电路和积分电路进入比较器,比较器输出 高低电平,还原出发射端的信号波形。注意

9、输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度。此时输出的为解调好的信号,通过串口通信 rb0 接入到单片机,存储,送显。3. 音乐播放器和电子琴对红外解码后的数据码进行循环检测,直到检测到某一按键。通过预设定时器 TMR0初值改变音符的频率,预设定时器循环的次数改变音长,并将所得固定音符存储。用简谱将音符录入曲目。当用户按下遥控器相应按键,分别将所需的曲目的音符信息送入扩音器,达到音乐播放。4.发光二极管用八个发光二极管模拟钢琴上的八个琴键,播放某一音符的同时点亮对应琴键。二 .系统总体设计1.系统模块总体框图红外遥控器红外信号接收模块 单片机解码并处理LCD显示屏喇叭发光

10、二极管2.软件流程图2.1 整体流程图开始定义寄存器、参数初始化进入主程序 MAIN调用 LCD 显示子程序调用音乐播放器子程序或EEPROM 子程序发生中断,检测红外信号并编码,结束后返回主程序循环检测按键是否2.2 整体流程图START UP设置分频比、INT触发沿设置端口输入输出设置中断初始值ADCON1调用 LCD 初始化、开机子程序所有通用 RAM 地址初始化开启总中断和 INT中断MAIN调用 LCD 显示子程序MAIN给 W 赋对应按键解码后的 TEMP 值关闭总中断W 寄存器与 TEMP 异或开启总中断设置分频比、INT 触发沿调用此段函数对应的播放歌曲或音符子程序(SONG1

11、23,DODO_H)是状态位 Z 是否为 1?否检测状态位 Z是否为 1是否给 W 赋值,对应按键解码 SAVE_STARTW 寄存器与 TEMP 异或状态位 Z 是否为 1?调用 SAVE_START 子程序是否GOTO MAIN给 W 赋值,对应按键解码SAVE_PLAY按键是否为SAVE_PLAY是CALL SAVE_PLAY否W 寄存器与 TEMP 异或2.2 中断程序流程图当按键检测为SAVE_START 或SAVE_PLAY 时,按顺序继续运行此部分下图中的*为标注,后面会详细解释其思路。中断服务子程序现场保护(W、STATUS)是否是由 INT 端引起的中断?屏蔽所有中断(GIE

12、 )这 13.5ms 内的信号是否是引导码?顺序记录系统码、数据码、数据反 码系统码正确吗(即是否是由该遥控器发出的信号)?信号接收是否出 现错误(即数据码与数据反 码是否相反)?另存数据码,供其它部分使用1清除 INT标志位,开启总中断(GIE)中断返回现场还原是是是是否否否否*1*2*3*4注:此 1 没有实际意义,是为了使之后的框图更容易表示而加上的当前电平是低 电平吗?延时 0.3ms检查完 10 次了 吗?等待低电平过去继续1否否是是检测 4.5ms 高电平:当前电平是高 电平吗?延时 0.8ms检查完 9 次了 吗?等待高电平过去继续1否否是是检测 9ms 低电平:注*1 的思路:

13、抽样检测,若每次检测均为低电平/高电平,则认为这段时间内全为低电平/高电平;若有一次不同则认为是错误信号,退出中断。若 13.5ms 内检测通过,则认为是正确的红外信号,进入之后的 32 位码接收并存储的阶段。框图:注*2 的思路:因为 0 和 1 的区别仅体现在高电平的长度,所以首先等待前面的低电平过去,然后延时 0.9ms,根据此时的高低电平判断是 0 还是 1,然后存入 RAM 中。循环此过程即可得到 32 位码。流程图以记录系统码前 8 位为例,记录系统码后 8 位、数据码、数据反码均与此类似。另外,为防止误操作,在存储完数据后随即将其另存到另外四个内存单元中,之后的检验过程使用的是这

14、里的 4 个内存单元。0.565ms 0.56ms 0.565ms 1.685ms“0” “1”框图:计 数器 COUNT8=8等待低电平 过去延时 0.9ms当前电平是高 电平吗?存储单元带 1 循环左移(RLF)存储单 元带 0 循环左移(RLF)计数器-1 送回计数器=0?延时 1.0ms 等高电平过去更改存储单元,准备记录系统码后 8 位否否是是注*3 的思路:经过调取 View-File Registers 窗口,我们确定遥控器的系统码为1000000001111110,因此只需要对比接收到的数据的前 16 位是否与之相等即可,若不相等则回到,若相等则继续。注*4 的思路:对比数据码

15、和数据反码,若不相反则认为收到的信号有误,回到,若相等则继续。2.2 EEPROM 音符存储子程序流程图SAVE_START地址、数据寄存器ADDR2、DATA3 清零检测是否是音符是调用音符子程序(DO,RE)继续检测是否是音符调用音符存储子程序SAVE_WRITE是 SAVE_STOP按键吗?返回 MAIN否是否SAVE_WRITE将对应音符的 TEMP 赋值给 DATA3分别输送地址、数据到地址寄存器EEADR 和数据寄存器 EEDATA检测 WR 写控制位是否为 0是否指定写操作对象、开放写操作位开放总中断,启动写操作关闭总中断和写操作位三 .硬件连接1单片机端口 连接至RB0 红外接

16、收模块RB7 喇叭RE0 LCD_RSRE1 LCD_RWRE2 LCD_ERD0RE7 LCD_D0LCD_D7RC4RC7 LED_L0LED_L3RB1RB4 LED_L4LED_L72硬件模块连接图单片机PIC16F877A外部中断输入端LCD12864 液晶显示器发光二极管喇叭 RB7RD&RERC47、RB15RB03芯片的底层电路连接图3.1 单片机3.2 红外模块3.3 电源D11BH62VregU1LM7805CTIN OUTC5100nFC1100uF C2 100uF C3100nF3.4 发光二极管LED1LED2LED3LED4LED5LED6LED7LED8R147Ohm_5%R247Ohm

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 大学论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号