嵌入式系统课程设计总结报告
嵌入式课程设计报告完整版

目录前言 (2)一、U-Boot分析 (3)1、引导程序U-Boot第一阶段分析 (3)2、引导过程 (4)3、程序流程图 (8)二、程序设计 (8)三、心得体会 (9)前言ARM嵌入式处理器已被广泛应用于消费电子厂品、无线通信、网络通信和工业控制等领域。
在嵌入式操作系统中,Linux、Vxworks、WinCE三足鼎立,其中Linux由于其开源性、稳定性、安全性、可裁剪性更是一支独秀。
在嵌入式系统中,如何实现在ARM平台下Linux操作系统的引导工作是嵌入式技术开发的重要环节。
BootLoader就是在操作系统内核运行之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader 来完成。
比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。
一、U-Boot分析嵌入式Linux系统中常用的Bootloader引导程序有U-Boot,redboot, blob 和vivii等,其中U-Boot遵循GPL条款的开放源码项目,功能最为强大,U-Boot 对PowerPC系列处理器支持最丰富,同时还支持MIPS,x86,ARM,XScale等诸多常用系列的处理器;U-Boot引导程序分为Stage1和Stage2量大部分,Stage1中主要包括设备初始化、中断设置、时间设置和储存器初始化等工作,并且采用汇编语言实现,而一些通用功能大多采用C语言实现,放在Stage2中。
1、引导程序U-Boot第一阶段分析Stage1的代码在CPU/arm920t/start.s中定义,它包括从系统上电后在0x00000000地址开始执行的部分。
嵌入式系统设计基础总结报告

嵌入式系统设计基础结题报告学生1:学生2:学生3:组长:组长电话:指导老师:完成时间:目录目录 (2)摘要 (3)一、课题概述 (4)二、课题实施方案 (4)2.1 方案说明 (4)2.1.1 LCD图像显示模块设计方案 (4)2.1.2 触摸屏模块设计方案 (5)2.1.3 音乐播放模块设计方案 (5)2.1.4 键盘模块设计方案 (6)2.2 工程规范 (6)三、课题实施过程详述 (6)四、系统测试方法 (8)五、结果分析 (8)六、总结 (9)参考文献 (9)附录 (9)摘要随着智能手机和平板电脑等便携式设备的兴起,ARM已经成为全球领先的半导体知识产权提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构。
ARM技术具有性能高、成本低和能耗省的特点。
本文旨在初步接触嵌入式ARM技术。
我们使用了天嵌TQ2440开发板以及ADS1.2来进行相关实验,主要制作了一个带背景音乐、可以使用触摸屏和键盘进行前后照片切换的数码相框。
通过这次实验,我们对ARM技术有了一个初步的认识和了解,同时也掌握了一些编程和调试技术。
关键词:嵌入式,LCD图像显示,触摸屏AbstractWith the development of the smartphone and tablet computer, ARM has already become a leading semiconductor intellectual property provider in global market. More than 95% of the smartphone and tablet computer use the ARM framework. ARM has the advantages in performance, cost and efficiency. This paper aim at having a rough contact with embedded ARM and we use TQ2440 and ADS1.2 to conduct relevant experiments. Generally, we have made a digital album which can be controlled by touch panel. Through this experiment, we have grown a general acknowledge of ARM technology and master some coding and debugging technology.Keywords:embedded system, LCD display, touchpanel一、课题概述本文展示了一个使用ARM技术制作而成的带有背景音乐并且可以通过触摸屏和键盘控制的数码相框。
嵌入式课程设计报告

调试工具
使用GDB等调试工具进行程序调试, 可实现断点设置、变量查看、堆栈跟
踪等功能。
版本控制工具
使用Git等版本控制工具进行代码管理 ,实现多人协作开发、版本回溯等功 能。
性能分析工具
使用Valgrind等性能分析工具进行程 序性能分析,可实现内存泄漏检测、 函数调用关系分析等功能。
课程设计总结与展望
总结本次课程设计的经验教训和收 获,展望嵌入式系统未来的发展趋 势和应用前景。
02
硬件平台选择与搭建
常见嵌入式硬件平台比较
ARM平台
高性能、低功耗,广泛应用于智能手机、 平板电脑等移动设备。
PowerPC平台
高性能、高可靠性,适用于工业控制、航 空航天等高端应用设备、 数字电视等领域。
07
总结与展望
本次课程设计收获总结
理论与实践结合
通过本次课程设计,深入理解了 嵌入式系统的基本原理,同时将 理论知识应用于实际项目中,实 现了理论与实践的有机结合。
技能提升
在课程设计过程中,掌握了嵌入 式系统开发的基本技能,包括硬 件设计、软件编程和调试技术等 。
团队合作
与团队成员紧密合作,共同完成 了课程设计的任务,提高了团队 协作和沟通能力。
05
系统实现过程与代码展示
关键模块代码实现技巧分享
模块化设计
将系统划分为多个独立的功能模块,每个模块具有明 确的接口和功能,便于代码的管理和复用。
高效算法选择
针对系统需求,选择合适的算法和数据结构,以提高 代码执行效率。
代码优化
通过减少冗余代码、提高代码可读性和可维护性,降 低系统资源消耗。
系统集成测试方法论述
嵌入式课程设计报告
嵌入式系统课程设计报告

嵌入式系统课程设计报告一、教学目标本课程的教学目标是使学生掌握嵌入式系统的基本概念、原理和设计方法,能够运用嵌入式系统进行实际项目的开发和实现。
具体来说,知识目标包括了解嵌入式系统的定义、特点、分类和应用领域;掌握嵌入式系统的硬件和软件组成及工作原理;熟悉嵌入式操作系统的基本概念和常用操作系统。
技能目标包括能够使用嵌入式系统开发工具和平台进行程序设计和调试;具备嵌入式系统硬件电路的设计和调试能力;能够运用嵌入式系统进行实际项目的开发和实现。
情感态度价值观目标包括培养学生的创新意识和团队合作精神,提高学生解决实际问题的能力和责任感。
二、教学内容根据课程目标,本课程的教学内容主要包括嵌入式系统的基本概念、原理和设计方法。
具体包括以下几个方面:1. 嵌入式系统的定义、特点、分类和应用领域;2. 嵌入式系统的硬件组成,如处理器、存储器、输入输出接口等;3. 嵌入式系统的软件组成,如固件、操作系统、应用程序等;4. 嵌入式操作系统的基本概念和常用操作系统;5. 嵌入式系统的设计方法和开发流程;6. 嵌入式系统硬件电路的设计和调试方法;7. 嵌入式系统在实际项目中的应用和案例分析。
三、教学方法为了实现课程目标,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
通过多样化的教学方法,激发学生的学习兴趣和主动性。
具体教学方法如下:1. 讲授法:通过讲解嵌入式系统的基本概念、原理和设计方法,使学生掌握相关知识;2. 讨论法:通过分组讨论和课堂讨论,培养学生的思考能力和团队合作精神;3. 案例分析法:通过分析实际项目案例,使学生了解嵌入式系统在实际中的应用和设计方法;4. 实验法:通过实验操作和调试,锻炼学生的动手能力和实际问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将选择和准备以下教学资源:1.教材:选用权威、实用的嵌入式系统教材,为学生提供系统的学习资料;2. 参考书:推荐学生阅读相关参考书籍,丰富学生的知识体系;3. 多媒体资料:制作课件、教案等多媒体教学资料,提高课堂教学效果;4. 实验设备:准备嵌入式系统开发板、仿真器等实验设备,为学生提供实践操作的机会。
嵌入式课程设计实验小结

嵌入式课程设计实验小结一、教学目标本课程的教学目标是使学生掌握嵌入式系统的基本原理和设计方法,能够独立完成简单的嵌入式系统设计与实现。
具体目标如下:1.知识目标:使学生了解嵌入式系统的概念、特点和应用领域;掌握嵌入式系统的基本组成原理,包括处理器、存储器、输入输出接口等;熟悉嵌入式操作系统的基本原理和常见嵌入式操作系统。
2.技能目标:培养学生运用嵌入式系统设计方法,独立完成嵌入式系统软硬件设计和调试的能力;使学生掌握使用嵌入式开发工具和平台进行程序开发和系统集成的方法。
3.情感态度价值观目标:培养学生对嵌入式系统技术的兴趣和好奇心,认识嵌入式系统技术在现代社会中的重要性,培养学生团队合作和自主学习的精神。
二、教学内容根据课程目标,教学内容主要包括嵌入式系统的基本原理、设计方法和实践应用。
具体安排如下:1.嵌入式系统概述:介绍嵌入式系统的概念、特点和应用领域,使学生了解嵌入式系统与传统计算机系统的区别。
2.嵌入式系统组成原理:讲解嵌入式处理器、存储器、输入输出接口等基本组成原理,使学生掌握嵌入式系统硬件结构。
3.嵌入式操作系统:介绍嵌入式操作系统的基本原理和常见嵌入式操作系统,如uc/os、linux等,使学生了解嵌入式操作系统的功能和应用。
4.嵌入式系统设计与实践:通过实际案例,使学生掌握嵌入式系统设计的方法和步骤,培养学生独立完成嵌入式系统设计与实现的能力。
三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:通过讲解嵌入式系统的基本原理和概念,使学生掌握相关理论知识。
2.案例分析法:通过分析实际案例,使学生了解嵌入式系统的应用和设计方法。
3.实验法:安排实验室实践环节,使学生动手实践,培养实际操作能力。
4.讨论法:学生进行课堂讨论,激发学生的学习兴趣和主动性,提高学生的沟通能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的嵌入式系统教材,为学生提供系统、全面的学习资料。
嵌入式课程设计实验总结

嵌入式课程设计实验总结一、教学目标本课程的教学目标是使学生掌握嵌入式系统的基本概念、原理和设计方法,培养学生运用嵌入式技术解决实际问题的能力。
具体目标如下:1.知识目标:(1)了解嵌入式系统的定义、发展历程和应用领域;(2)掌握嵌入式系统的硬件组成和软件结构;(3)熟悉嵌入式操作系统的基本原理和常用操作系统;(4)学习嵌入式系统设计的方法和步骤。
2.技能目标:(1)能够使用嵌入式开发工具,如编译器、调试器等;(2)具备嵌入式系统程序设计与调试的能力;(3)学会使用嵌入式操作系统进行系统开发;(4)能够独立完成简单的嵌入式项目设计。
3.情感态度价值观目标:(1)培养学生对嵌入式技术的兴趣,激发学生创新意识;(2)培养学生团队合作精神,提高学生沟通与协作能力;(3)使学生认识到嵌入式技术在我国经济社会发展中的重要性,增强学生的社会责任感和使命感。
二、教学内容本课程的教学内容主要包括以下几个方面:1.嵌入式系统概述:嵌入式系统的定义、发展历程、应用领域和前景;2.嵌入式系统硬件:微处理器、存储器、输入输出接口等;3.嵌入式系统软件:嵌入式操作系统、嵌入式软件设计方法等;4.嵌入式系统设计流程:需求分析、系统设计、硬件选型、软件开发等;5.嵌入式系统实例分析:典型嵌入式系统的案例分析,如智能家居、智能交通等。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:系统地传授嵌入式系统的基本概念、原理和设计方法;2.案例分析法:通过分析典型嵌入式系统案例,使学生更好地理解嵌入式技术的应用;3.实验法:让学生动手实践,培养学生的实际操作能力和创新能力;4.讨论法:学生进行小组讨论,提高学生的沟通与协作能力。
四、教学资源为了支持本课程的教学,我们将采用以下教学资源:1.教材:《嵌入式系统设计与实践》;2.参考书:《嵌入式操作系统教程》、《嵌入式系统硬件设计》;3.多媒体资料:教学PPT、视频教程等;4.实验设备:嵌入式开发板、编程器、调试器等。
嵌入式系统课程设计总结

嵌入式系统课程设计总结
在完成了嵌入式系统的课程设计后,我有了更深入的理解关于嵌入式系统设计和开发的各个方面。
这个过程不仅增强了我的技术能力,也提升了我解决实际问题的能力。
在设计过程中,我首先学习了嵌入式系统的基本概念和组成,理解了硬件和软件在嵌入式系统中的重要性和相互依赖关系。
我明白了选择合适的微控制器和其他硬件组件是至关重要的,这直接影响到系统的性能和功能。
在软件方面,我学习了实时操作系统的原理和使用,以及嵌入式C语言编程。
我了解到,由于嵌入式系统的资源限制,高效的代码编写和内存管理是必要的。
此外,我还学习了如何使用仿真器和调试器进行系统调试,这对于确保系统正常运行是至关重要的。
在项目实施阶段,我面临了许多挑战。
例如,我在硬件和软件的协同设计中遇到了困难,我花了大量的时间去理解和解决硬件和软件之间的冲突和优化问题。
我也在学习和实践中不断反思和修正自己的错误,这是一个宝贵的经验。
在这次课程设计中,我也收获了许多有价值的经验教训。
我明白了在项目开始阶段进行充分的计划和设计的重要性。
提前考虑系统的大小、功耗、可靠性和成本等因
素是非常关键的。
此外,我还认识到持续学习和不断更新自己的知识和技能的重要性。
随着技术的不断发展,嵌入式系统设计和开发也在不断演变,我需要保持敏锐的洞察力,以便跟上这些变化。
总的来说,这次嵌入式系统课程设计是一次非常宝贵的学习经验。
它不仅提高了我的技术能力,也提升了我的问题解决和团队合作能力。
我相信这次经验将对我未来的学习和职业生涯产生积极的影响。
嵌入式课设总结

嵌入式课设总结
《嵌入式课程设计总结》
在本次嵌入式课程设计中,我深入了解和掌握了嵌入式系统的相关知识和技能。
通过理论学习和实践操作,我对嵌入式系统的架构、编程、硬件设计等方面有了更全面的理解。
在课程设计过程中,我遇到了一些挑战和困难,但通过不断地学习和探索,我成功地解决了这些问题。
我学会了如何使用开发工具进行编程和调试,掌握了基本的嵌入式系统开发流程。
通过实际的项目实践,我还提高了自己的编程能力和问题解决能力。
此外,我也深刻体会到团队合作的重要性。
在课程设计中,我与同学们相互协作、交流和分享经验,共同完成了项目的开发。
这种团队合作的经历不仅增强了我的团队意识,还提高了我的沟通和协作能力。
通过这次嵌入式课程设计,我不仅学到了专业知识和技能,还培养了自己的实践能力和创新精神。
我相信这些收获将会对我未来的学习和职业发展产生积极的影响。
然而,我也意识到自己在某些方面还有不足之处。
我希望在今后的学习和实践中,能够进一步提升自己的技能水平,不断完善自己的知识体系。
总之,这次嵌入式课程设计是一次宝贵的学习经历,让我收获颇丰。
我感谢老师的指导和同学们的帮助,让我能够顺利完成课程设计并取得了良好的成绩。
以上是一个嵌入式课程设计总结的示例,你可以根据自己的实际情况进行修改和完善。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统课程设计报告课程名称:嵌入式系统课程设计项目名称:基于ARM实现MP3音乐盒专业:一、设计内容基本功能:预存四首歌曲,实现循环播放;每个按键对应一首歌曲。
拓展功能:通过按键简单演奏音乐,类似钢琴;实现两个模式的切换,切歌模式和音量加减模式。
二、设计思路基础功能:将音频数据存储在SD卡中,使用FATFS文件系统进行数据的读写,通过SPI2总线将数据传到内核。
内核再将数据通过SPI1总线传送到音频解码模块VS1053,输入的数据(即比特流数据)被解码后送到DAC发出声音。
将音乐存储在SD卡内,通过文件的地址来判别将要播放哪一首音乐,通过地址的递增和循环来实现音乐的自动循环播放。
按键对曲目的控制,可通过键盘扫描函数,判断哪一个键被按下,使键盘扫描函数返回不同的返回值,实现对文件地址的控制。
将此返回值设置为全局变量,可实现在音乐播放中曲目的切换。
另外,我们还利用解码模块实现对音量的控制,使用按键控制音量的提高或降低。
使用SPI1总线将TFT显示屏连接到内核,显示按键功能、当前曲目、当前模式等信息。
由于开发板只有5个按键,按键数量有限,需要对按键实现曲目切换和音量功能的复用。
我们小组设置了两种模式,切歌模式和音量模式,并定义左键为模式切换键,实现不同模式的选择和按键的复用。
拓展功能:基本思路是通过定时器中断来产生一定频率的50% 空占比的脉宽调制波,用此脉宽调制波激励扬声器,从而使扬声器发出一定频率的声音。
所以只要将不同按键的中断子程序设置为对定时器进行不同数据的配置,即可实现不同按键与不同扬声器发生频率的对应。
然后使一个按键的按下与松开均进入中断,且分别实现开启(扬声器发声)与关闭(扬声器不发声)定时器的功能,从而使课题的附加功能表现地更自然。
三、硬件配置基础功能:(1)SD卡:存储音频数据配置方法:根据开发板原理图,配置方法如下图所示(2)VS1053解码芯片:将输入的比特流解码后送入DAC配置方法:音频解码模块与开发板接线方式://5V---5V//GND--GND//XRST--PG8//MISO--PA6//MOSI--PA7//SCLK--PA5//DREQ--PG7//XCS--PE6//XDCS--PG6(3)TFT显示屏(4)外放音响拓展功能:PC机一台;P4 2.06CPU/40GHD/512M RAM以上配置,STM32F103 开发板一套;外接扬声器一个四、设计步骤或流程图基础功能:1.初始化包括单片机本身的初始化和VS1053的初始化(1)初始化STM32 的IO 口和SPI;(2)VS1053 进行存储器测试;(3)初始化设置音频输出,设置音频输入要设置成VS1053;(4)VS1053 进行正弦波测试;(5)VS1053 进行一些基本设置,包括音效模式等。
2.输入音频文件数据(1)通过 FATFS 打开音频文件;(2)VS1053 进行软件复位;(3)使用 FATFS 读取音频文件数据;(4)发送文件件,每次发送 32 个字节,直到音频文件发送完成。
3.对TFT显示屏进行基础设置拓展功能:1. 按键初始配置:对所用到的按键进行相应的IO口配置,且完成按键中断的中断通道配置。
2. 中断通道的中断子程序:由于会不只一个键配置在同一个中断通道中,所以中断通道的中断子程序首先进行对按下按键的识别。
然后读取与按键相对应的IO口电平,若为低电平(=下降沿=按下键),则对定时器进行数据配置,并打开定时器;若为高电平(=上升沿=松开键),则关闭定时器。
3. 定时器的中断子程序:定时器产生中断时,定时器继续工作,且翻转与扬声器相连的IO口的输出电平。
五、采用的技术、技巧、功能模块介绍基础功能:(1)技术和技巧音乐播放模块的过程中,我们分为两个功能,其中有切歌功能,即四个按键对应于四首歌,另外一个就是可以实现模式切换的功能,该功能包括两种模式,即切歌模式和音量加减模式,其中有一个按键来实现两个功能之间的切换,在切歌模式中,另外的三个按键对应三首歌曲,音量加减模式中,两个键分别对应于音量加和音量减。
播放歌曲的主要步骤为,首先对模块进行一系列的初始化,并在显示屏上显示每个按键对应的歌曲或音量加减的功能,设置初始音量为230,然后对SD 卡进行读取数据的操作,并找到对应的存放歌曲的文件夹MUSIC,对文件中MP3文件名称读取并存储,同时记录文件的地址,然后跳转到音乐播放的函数,该函数中对按键进行扫描并跳转到所按下按键对应的功能,从而实现音乐的播放和音量的加减。
在切歌功能中,我们通过对所扫描的歌曲文件进行排序,并将四个按键对应到所排的序号中,所以当我们扫描到哪个按键按下的时候,就在其后面赋予一个返回值,返回该按键对应音乐的序号,通过返回值我们可以在主函数中得到该序号所对应歌曲的地址,通过该地址我们可以实现对音乐文件名称的读取,以及音乐数据的解码,从而实现在LCD显示屏上显示音乐的名称和播放音乐这些功能。
(2)功能模块1)解码模块本次实验音乐的播放主要是通过读取SD卡的中的mp3文件,再将其输送至VS1053解码器中进行解码,从而实现音乐的播放。
其中VS1053通过串行数据接口SDI和串行控制接口SCI进行通信。
VS1053引脚分配图 VS1053封装图VS1053中重要的几个引脚如下:1)VS_MISO:SPI 输入线2) VS_MOSI:SPI 输出线3) VS_SCK:SPI 时钟线4) VS_XCS:器件片选5) VS_XDCS:数据片选和字节同步6) VS_DREQ:数据请求,输入总线。
7) VS_RST:复位端实验中VS1053主要实现播放一个完整的音乐文件和取消播放这两个功能(一)播放一个完整文件1、发送音频文件到VS1053;2、读取附加参数endFillByte的值;3、发送endFillByte[7:0]中的值最少2052个字节;4、设置SCI_MODE的SM_CANCEL位;5、发送endFillByte[7:0]中的值最少32个字节;6、读取SCI_MODE,如果SM_CANCEL位依然是设置的,则跳到步骤5;如果SM_CANCEL始终没有被清除,在发送2048个字节之后,执行软件复位;7、这首歌曲现在已经成功被发送了。
HDAT0和HDAT1都应该包含0来表明现在已经没有正在解码的格式了。
现在返回步骤1。
(二)取消播放在播放音乐时,当用户想跳到下一首,可通过取消当前的歌曲播放来实现,它用下列步骤来实现:1、发送一个音频文件的部分到VS1053;2、设置SCI_MODE的SM_CANCEL位;3、继续发送音频文件,但要在发送32字节的数据之后检查SM_CANCEL,如果它还是被设置,则重新进行步骤3。
如果SM_CANCEL始终没有被除,在发送2048个字节之后,执行软件复位;4、当SM_CANCEL被清除,读取附加的参数值endFillByte;5、发送 endFillByte[7:0]中的值,共计2052个字节;6、HDATO和HDAT1都应该包含0来表明现在已经没有正在解码的格式了,你现在可以开始发送下一个音频文件了。
2)SD卡SD卡中用于存放我们需要播放的mp3文件,音乐文件放在一个叫MUSIC 的文件夹,在播放时通过对SD卡中的文件夹进行扫描匹配,来得到播放音乐的正确路径。
本次实验SD卡的操作模式为SD卡模式,即通过SDIO进行通信,允许4线的高速数据传输。
SD卡的引脚排序如下:SD卡模块引脚图以下为SD卡在正常工作时的三个过程,包括初始化和读写数据。
(一)SD卡初始化过程:1、初始化与SD卡连接的硬件条件(MCU的SPI配置,I0口配置);2、上电延时(大于74个CLK);3、复位卡(CMD0),进入IDLE状态;4、发送CMD8,检查是否支持2.0协议;5、根据不同协议检查SD卡(命令包括:CMD55、CMD41、CMD58和CMD1等);6、取消片选,发送8个CLK,结束初始化在完成了初始化之后,就可以开始读写数据了(二)从SD卡中读取数据SD卡读取数据,这里通过CMD17来实现,具体过程如下:1、发送CMD17;2、接收卡响应R1;3、接收数据起始令牌0XFE;4、接收数据;5、接收2个字节的CRC,如果不使用CRC,这两个字节在读取后可以丢掉;6、禁止片选之后,发多8个CLK;(三)向SD卡中写数据1、发送CMD24;2、接收卡响应R1;3、发送写数据起始令牌OXFE;4、发送数据;5、发送2字节的伪CRC;6、禁止片选之后,发多8个CLK3)LCD显示屏本次实验中我们用的是TFTLCD显示屏,该模块主要用来显示当前播放的歌曲,切歌时每个按键对应的歌曲,以及音量增减时加减音量所对应的按键。
LCD模块原理图实验中对TFTLCD模块的使用主要有以下几个过程(一)设置STM32F103与TFTLCD模块相连接的I0口要让TFTLCD模块显示,首先得初始化TFTLCD模块与STM32F103相连的I0以便控制TFTLCD,这里我们用使用的是STM32F103的FSMC(二)初始化 TFTLCD模块初始化I0口,接着就是对 TFTLCD进行配置,首先就是要对LCD复位,由于模块的复位引脚是接在SI32F103复位上的,所以直接按下开发板复位键即可,然后就是初始化序列,即向LCD控制器写入一系列的设置值,初始化完成之后,LCD即可正常使用。
(三)将要显示的内容写到TFTLCD模块内这一步需要对照:设置坐标→写GRAM指令→写GRA来实现,但是这个步骤,只是一个点的处理,如果我们想要显示字符或数字,就必须要多次使用这个步骤,从而达到显示字符或数字的目的,因此我们设计一个函数来封装这些过程(实现字符或数字的显示),之后只调用该函数,就可以实现字符或数字的显示。
4)按键模块本次实验通过按键来实现切歌和音量的加减拓展功能:(1)技术和技巧通过读取与按键相对应的IO口电平,来判别按键是按下还是松开。
(2)功能模块1.按键初始配置:第一部分,对IOC8口(8号按键)初始化;第二部分,将中断分配在8号中断通道,且是下降沿与上升沿均触发中断;第三部分,将5至9号中断通道优先级均设为0。
类似的还有IOC9口,IOC10口,IOC11口,10至15号中断通道。
2.中断通道的中断子程序:if(EXTI_GetITStatus(EXTI_Line8)==1),判别是否是8号键触发中断。
if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8)==0),判别8号键是否是按下触发中断。
TIM_TimeBaseStructure.TIM_Period=1915;TIM_TimeBaseStructure.TIM_Pre scaler=71;,对定时器进行数据配置,数字根据所需扬声器发声频率来定。