- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
生产实习报告
——基于 STM32的播放器设计
一.概述
1)使用 STM32编写代码送至蜂鸣器中,实现简易的播放器功能
2)通过使用时钟芯片,可以显示出当前的时间日期
3)可以通过重力感应完成上下一曲。
4)开机时有开机动画。
5)完成完整的电路设计原理图及软件源代码。
二.总体设计框图
液
晶
显
示
MCU
蜂
鸣
器
小组分工:
总体设计:由组长郑健师完成。
时间模块:张春蕾、张宁、张道永。
重力感应模块:宗瑞、张正阳、金以俊、司良振。
开机动画模块:王丹阳、张金凤、宋加伟。
三、关键模块设计
1、重力模块设计:
在播放音乐时,可以通过改变 ARM板的重心来进行歌曲的前一首和后一首的切换 . 实现方法:
在每次播放音符的时候检测是否有重力偏转的大幅度改变, 如果有,则停止播放当前歌曲,进去上下曲的播放。
此外软件还设有重力感应锁定模块,只需要将开关 1 打上就可以实现
2、时间显示 :
这个模块主要是通过例程实验代码实现的。具体的就是读取时钟芯片的数据,然后显示在 OLED上面。
3、开机显示:
读取汉字“欢迎光临“程序没执行一次,改变显示的位置,从而实现了文字在动的效果
四.测试结果
通过我们这两个星期的努力, 我们的任务基本实现了, 我们通过蜂鸣器来实
现播放,通过重力感应来完成下一曲上一曲的播放和功能选择, 还有就是开机动画也完成了预期的效果。
五.总结
我们经过了两个星期的共同合作, 我们从一点也不懂, 到对基板有了比较理性的认识,再到完成了基本的设计,实现了基本的功能,团队协作精神也得到了提高。我们从中收获了很多。
六.关健程序代码
主程序的菜单显示模块:
重力感应实现上下曲的代码 :
时间显示模块的部分代码:
七 相关问题:
重力感应实现的基本原理:
重力传感器是将运动或重力转换为电信号的传感器,主要用于倾斜角、惯性力、冲击及
震动等参数的测量。在测量平台倾斜角时,将重力传感器垂直放置于在所测平台上,重力
传感器的敏感轴应与倾斜平台的轴向一致,在水平状态下应与水平面平行。其
中 α 为平台沿某一方向的倾斜角。重力传感器的质量块由于受到重力加速度 g
在倾斜方向上的分量 g : g = g sin 的作用产生偏移,使重力传感器的输出电压发生变化。若重力传感器在水平状态下的输出为 0 V ,倾角为 α 时的输出
为 α V ,且在 1g 加速度作用下的输出为 V ,则有:
0 V =V / g ×sin α ×1g +V α 即:α = arcsin[(V α - V0 ) /V ]
利用上式可以方便求得平面某一方向上的倾斜角。如果将两个重力传感器正交
放置在平台中心,则平台在 x 方向上倾 斜角 x α 和平台在 y 方向上倾
斜角 y α 为:
x arcsin[V( x V) /V] α = - , arcsin[(V V ) /V ] y y α = -
根据这两个方向上的倾斜角可以确定出平台的横向倾角和纵向倾角。
时间模块是如何实现:实现原理图
八 关健程序代码
主程序 main:#include include.h
#include uart.h
#include stm32f10x_spi.h
#include OLED.h
#include MEMS.h
#include string.h
#include TWI.h
acc_3d mems;
extern u8 DisplayBuff[20];
int LI35_out(void);
extern void beep(void);
extern void time_test(void);
unsigned char hanzi[][32]={
/*-- 文字 : 欢 --*/
/*-- 宋体 12; 此字体下对应的点阵为:宽 x 高 =16x16 --*/
{0x04,0x24,0x44,0x84,0x64,0x9C,0x40,0x30,0x0F,0xC8,0x08,0x08,0x28,0x18,0x00,
0x00,
0x10,0x08,0x06,0x01,0x82,0x4C,0x20,0x18,0x06,0x01,0x06,0x18,0x20,0x40,0x80,0
x00},
/*-- 文字 : 迎 --*/
/*-- 宋体 12; 此字体下对应的点阵为:宽 x 高 =16x16 --*/
{0x40,0x40,0x42,0xCC,0x00,0x00,0xFC,0x04,0x02,0x00,0xFC,0x04,0x04,0xFC,0x0 0,0x00,
0x00,0x40,0x20,0x1F,0x20,0x40,0x4F,0x44,0x42,0x40,0x7F,0x42,0x44,0x43,0x40,0
x00},
/*--
文档评论(0)