实验12 红外遥控MP3

实验目的及内容

1、实现开始播放、上一曲、下一曲、音量加、音量减、暂停、快进、快退等功能;通过遥控红外控制;

正确运用sd卡的功能;

了解串口通道与硬件引脚的对应关系;

正确配置串口;

二、实验原理图

三、实验步骤(补充完整)

1、利用原有工程Remote,添加各种文件,其中在HARDWARE中添加一个新的usart2文件夹新写入一个usart2.c

2、在usart2.c中写入一个串口2 的中断服务程序

把usart.c中的串口都写成usart2,引脚写成对应的pa2,pa3

4、主函数中在对应按键下用senddata发送指令,控制播放,暂停,下一曲,快进等

四、实验代码(要有详细的注释)

Usart2.c

void uart_init(u32 bound){

//GPIO????

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);              //使能USART2,GPIOA

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);

USART_DeInit(USART2);  //复位串口2

//USART2_TX   PA.2

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //PA.2

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_Init(GPIOA, &GPIO_InitStructure);

//USART2_RX                PA.3

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOA, &GPIO_InitStructure);

USART_InitStructure.USART_BaudRate = bound;//一般设置为9600;

USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式

USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位

USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制

USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;              //收发模式

USART_Init(USART2, &USART_InitStructure); //初始化串口

//USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

USART_Cmd(USART2, ENABLE);                    //使能串口

}

Main.c

int main(void)

{

u8 key;

u8 *str=0;

delay_init();

uart_init(9600);                            //串口初始化9600

Remote_Init();

while(1)

{

key=Remote_Scan();

if(key)

{

switch(key)

{

case 0:str="ERROR";break;

case 162:str="POWER";break;

case 98:str="UP";             //上一曲

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x04);

USART_SendData(USART2,0xEF);

delay_ms(1000);break;

case 2:str="PLAY";           //播放

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x01);

USART_SendData(USART2,0xEF);break;

case 226:str="ALIENTEK";break;

case 194:str="RIGHT";         //快进

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x0A);

USART_SendData(USART2,0xEF);break;

case 34:str="LEFT";           //快退

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x0B);

USART_SendData(USART2,0xEF);break;

case 224:str="VOL-";          //音量-

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x06);

USART_SendData(USART2,0xEF);

delay_ms(1000);break;

case 168:str="DOWN";         //

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x03);

USART_SendData(USART2,0xEF);

delay_ms(1000);break;

case 144:str="VOL+";

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x05);

USART_SendData(USART2,0xEF);

delay_ms(1000);break;

case 104:str="1";

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0xEF);break;

case 152:str="2";

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x09);

USART_SendData(USART2,0xEF);break;

case 176:str="3";

USART_SendData(USART2,0x7E);

USART_SendData(USART2,0x02);

USART_SendData(USART2,0x06);

USART_SendData(USART2,0xEF);

delay_ms(1000);break;

case 48:str="4";break;

case 24:str="5";break;

case 122:str="6";break;

case 16:str="7";break;

case 56:str="8";break;

case 90:str="9";break;

case 66:str="0";break;

case 82:str="DELETE";break;

}

}else delay_ms(10);

}

}

五、心得体会(不少于100字)

通过实验,实现了遥控控制MP3实现开始播放、上一曲、下一曲、音量加、音量减、暂停、快进、快退等功能;通过遥控红外控制;正确运用了sd卡的功能;了解串口通道与硬件引脚的对应关系;正确配置串口,通过新建一个中断子函数实现串口USART2的发送接收命令功能,通过PA2和PA3来连通sd卡和单片机,学到了很多关于单片机控制的知识很有帮助。

完整的实验报告下载地址word格式的(可编辑):

http://www.51hei.com/bbs/dpj-86578-1.html

stm32实验报告心得体会_STM32单片机红外遥控MP3实验报告相关推荐

  1. stm32实验报告心得体会_stm32实训心得体会.docx

    stm32实训心得体会 stm32实训心得体会 篇一:STM32 实验2报告 实验2MINI STM32按键控制LED灯实验 一. 实验目的 1. 掌握嵌入式程序设计流程. 2. 熟悉STM32固件库 ...

  2. stm32实验报告心得体会_STM32实验报告

    实验一:一个灯的闪烁 .实验要求 1. 熟悉使用 STM32F103ZET 开发板 2. 利用 C 语言程序实现一个灯闪烁 .电路原理图 三.软件分析 1. 本实验用到以下 3 个库函数 ( 省略了参 ...

  3. stm32实验报告心得体会_嵌入式第9次实验报告

    学号:140201218                姓名:杨昌航 组别:第7组                实验地点:D19 一.实验目的: 1.熟悉WWW技术中的SSI(Server Side ...

  4. 计算机ppt制作实验报告总结,ppt实验报告心得体会[工作范文](18页)-原创力文档...

    ppt实验报告心得体会 篇一:PPT实训报告总结 丽水学院计算机与信息工程学院实验 报告实 验报告 实验4用ppt制作演示型课件(设计性实验) 一.实验目的 熟悉office 软件的编辑制作环境:熟练 ...

  5. c语言银行系统个人心得,c,,银行管理实验报告心得体会.docx

    c,,银行管理实验报告心得体会 c,,银行管理实验报告心得体会 篇一:c++实验心得 刚拿到C++实验心得 c++书时发现,跟c语言有太多相似,觉得应该不是很难.上第一节课时,一时大意,等到教室时发现 ...

  6. python语言的实验心得体会范文_实验报告心得体会范文3篇_心得体会

    实验报告心得体会范文 3 篇 _ 心得体会 篇一:实验报告心得体会范文 这次实习, 我对该公司的一些情况有了一个基本的了解, 根据在实习期间的所见, 我对 公司的今后发展提出了以下的建议: 1. 公司 ...

  7. python实验心得体会范文大全_万能实验报告心得体会5篇范文

    --文章来源网,仅供分享学习参考 ~ 1 ~ 万能实验报告心得体会 5 篇范文 万能实验报告心得体会(一) : 本次实训,是对我本事的进一步锻炼,也是一种考验.从中获得 的诸多收获,也是很可贵的,是十 ...

  8. 计算机组成原理结果分析与实验体会,计算机组成原理实验报告心得体会.docx

    计算机组成原理实验报告心得体会 实验报告 实验课程名称:计 学院:计算算机机科组学成系原理 专业:计算机科学与技术 指导教师:张 报告人姓名: 学号: 同组人员名单: 学期: 本文 计算机科学系 注: ...

  9. python语言的实验心得体会范文_关于实验的心得体会范文5篇

    --文章来源网络,仅供参考 1 关于实验的心得体会范文 5 篇 心得体会是指一种读书. 实践后所写的感受性文字. 是指将学习的东西运用 到实践中去, 通过实践反思学习内容并记录下来的文字, 近似于经验 ...

  10. linux配置dns心得体会,dns实训报告心得体会.doc

    dns实训报告心得体会.doc dns实训报告心得体会 篇一:计算机网络实训心得体会 计算机网络实训心得 计算机网络课程实训已经结束几天了.实训期间,让我学到了很多东西,不仅使我在理论 上对网络有了全 ...

最新文章

  1. 【机器学习入门到精通系列】机器学习系统设计(Precision Recall)
  2. Android中自定义属性(attrs.xml,TypedArray的使用)
  3. 优化定制化abap代码必须遵守的经典黄金规则
  4. 《Adobe Illustrator CC 2014中文版经典教程(彩色版)》—第1课1.4节修改图稿的视图...
  5. DJ轮回舞曲网下载教程
  6. Java Secret:加载和卸载静态字段
  7. Spring Boot系列教程一:Eclipse安装spring-tool-suite插件
  8. 如何在IE浏览器播放RTSP或RTMP流
  9. 143_Power BIPower Pivot月度、季度、半年度、全年同维度展示
  10. bzoj1051 受欢迎的牛 结论+tarjan
  11. 这下真“火”了!为涨粉在红绿灯底座上跳舞 两女子被行拘...
  12. 微服务升级_SpringCloud Alibaba工作笔记0004---认识spring gateway理解新一代网关
  13. poj java 输入超时_Java:如何实现代码超时功能?
  14. java反编译 编译_5个最佳Java反编译器
  15. oracle orclpdb是什么,oracle cdb、pdb参考
  16. 硅原子重组纳米级芯片构想
  17. 力扣刷题篇之【字符串篇】(一)
  18. 使用canvas生成水印watermark,有详细注释,简单易懂
  19. Java程序设计实验(二):类的创建和封装实验
  20. python全套数据分析课程_B 站疯传,堪称最强,一整套Python数据分析课程,学完月薪30K+!...

热门文章

  1. 如何使用摸瓜快速查手机apk加壳
  2. “未来杯”第二届知识图谱锦标赛正式启动
  3. 一次完整的 RPC 流程
  4. Tesseract调用日文识别模型
  5. 航空公司客户价值数据的分析
  6. 图像插值-双三次插值(bicubic)
  7. EBSD Channel5软件
  8. java批量控制安卓手机_安卓手机屏幕投射到电脑以及一台电脑控制多台手机技术原理浅析...
  9. 浏览器iframe跨域
  10. vscode 搭建Vue项目及引入elementUI