嵌入式系统设计基础总结报告

合集下载

嵌入式实训总结报告总结

嵌入式实训总结报告总结

一、实训背景随着物联网、智能家居等领域的快速发展,嵌入式系统在各个行业中的应用越来越广泛。

为了提高我们的嵌入式系统开发能力,我们学院特组织了一次为期两周的嵌入式实训。

本次实训旨在通过实际操作,让我们掌握嵌入式系统的开发流程、常用开发工具和编程技巧,为今后的工作打下坚实的基础。

二、实训内容1. 嵌入式系统基础知识实训的第一阶段,我们学习了嵌入式系统的基本概念、组成、分类以及发展历程。

通过学习,我们对嵌入式系统有了更深入的了解,为后续实训奠定了理论基础。

2. 嵌入式开发环境搭建在熟悉嵌入式系统基础知识的基础上,我们开始搭建开发环境。

实训过程中,我们学习了如何使用Keil、IAR等集成开发环境,掌握了代码编写、编译、调试等基本操作。

3. 嵌入式编程语言实训过程中,我们学习了C语言、汇编语言等嵌入式编程语言。

通过实际编程,我们掌握了嵌入式编程的基本技巧,如寄存器操作、中断处理、定时器等。

4. 嵌入式硬件开发为了提高我们的硬件开发能力,实训中我们学习了如何使用单片机、传感器等硬件设备。

通过实际操作,我们掌握了电路设计、PCB制作、硬件调试等技能。

5. 嵌入式系统项目实践实训的最后阶段,我们进行了嵌入式系统项目实践。

我们选择了智能家居项目,通过团队协作,实现了环境监测、设备控制等功能。

三、实训收获1. 理论与实践相结合通过本次实训,我们深刻体会到理论与实践相结合的重要性。

理论知识为我们提供了坚实的基石,而实践操作则让我们将所学知识应用于实际项目中。

2. 团队协作能力在项目实践过程中,我们学会了如何与团队成员沟通、协作,共同完成项目。

这为我们今后在工作中与同事合作打下了基础。

3. 编程能力提升通过学习C语言、汇编语言等编程语言,我们的编程能力得到了显著提升。

我们掌握了嵌入式编程的基本技巧,为今后从事相关工作打下了基础。

4. 硬件开发能力实训过程中,我们学习了电路设计、PCB制作、硬件调试等技能,提高了我们的硬件开发能力。

嵌入式系统实训报告总结

嵌入式系统实训报告总结

一、实训背景随着科技的不断发展,嵌入式系统在各个领域得到了广泛的应用。

为了使同学们更好地了解嵌入式系统,提高实践能力,我们开展了为期一个月的嵌入式系统实训课程。

本次实训课程以ARM7微控制器为核心,旨在让学生掌握嵌入式系统的基本原理、开发工具以及实际应用。

二、实训目标1. 理解嵌入式系统的基本概念、组成和特点;2. 掌握ARM7微控制器的原理和编程方法;3. 熟悉嵌入式系统开发工具的使用;4. 能够进行简单的嵌入式系统设计和开发。

三、实训内容1. 嵌入式系统基本原理(1)嵌入式系统概述:介绍了嵌入式系统的定义、特点、应用领域等;(2)嵌入式系统组成:包括硬件和软件两部分,硬件包括微控制器、存储器、输入输出接口等,软件包括操作系统、驱动程序、应用程序等;(3)嵌入式系统开发流程:从需求分析、硬件设计、软件开发、测试到产品发布的全过程。

2. ARM7微控制器原理与编程(1)ARM7微控制器概述:介绍了ARM7微控制器的结构、特点、指令系统等;(2)ARM7微控制器编程:包括汇编语言和C语言编程,重点讲解了寄存器、中断、定时器等编程方法;(3)Keil Vision3集成开发环境:介绍了Keil Vision3的安装、配置和使用方法。

3. 嵌入式系统开发工具(1)Keil Vision3:介绍了Keil Vision3的功能、界面和操作方法;(2)ST公司的STR71系列软件库函数:介绍了STR71系列软件库函数的功能和使用方法;(3)Proteus仿真软件:介绍了Proteus仿真软件的安装、配置和使用方法。

4. 嵌入式系统设计与开发实践(1)设计题目:设计一个基于ARM7微控制器的温度监测系统;(2)硬件设计:包括微控制器、温度传感器、显示模块等;(3)软件开发:包括初始化程序、温度采集程序、显示程序等;(4)系统测试:测试系统功能是否正常,包括温度采集、显示等。

四、实训收获1. 理论知识方面:通过本次实训,我们对嵌入式系统的基本原理、ARM7微控制器编程和开发工具有了更深入的了解;2. 实践能力方面:通过实际操作,我们掌握了嵌入式系统的设计、开发和调试方法,提高了动手能力;3. 团队协作方面:在实训过程中,我们学会了与他人合作,共同解决问题,提高了团队协作能力。

嵌入式系统实习报告

嵌入式系统实习报告

嵌入式系统实习报告首先,我要感谢实习单位给我提供了这次宝贵的实习机会,让我对嵌入式系统有了更深入的了解和实践。

在这段实习期间,我学到了很多关于嵌入式系统的知识和技能,也积累了宝贵的实践经验。

以下是我在实习期间的学习和实践总结。

一、实习单位简介实习单位是一家专注于嵌入式系统研发的高科技公司,主要业务涵盖了嵌入式系统设计、开发、测试和维护等领域。

公司拥有一支经验丰富的研发团队,为我提供了良好的学习环境和实践机会。

二、实习目的和意义此次实习旨在让我了解嵌入式系统的基本概念、原理和应用,掌握嵌入式系统设计方法和开发流程,提高我的实际动手能力和解决问题的能力。

通过实习,我能够将所学的理论知识与实际应用相结合,为将来的工作打下坚实的基础。

三、实习内容和过程1. 嵌入式系统基础学习在实习初期,我首先学习了嵌入式系统的基本概念、原理和常见硬件平台。

通过学习,我了解了嵌入式系统的发展历程、特点和应用领域,掌握了嵌入式系统的基本组成部分,如微处理器、存储器、输入输出接口等。

2. 嵌入式系统开发环境搭建为了进行嵌入式系统开发,我学习了如何搭建开发环境,包括交叉编译工具链、操作系统和编程语言等。

通过实践,我掌握了交叉编译工具链的使用方法,熟悉了嵌入式操作系统的基本操作,并学会了使用编程语言进行嵌入式系统开发。

3. 实际项目参与在实习过程中,我参与了一个实际项目,负责部分模块的设计和开发。

在项目中,我学会了如何分析需求、设计方案、编写代码和调试程序。

通过与团队成员的合作,我了解了团队协作的重要性,并提高了自己的沟通能力和解决问题的能力。

4. 嵌入式系统调试和优化在项目开发过程中,我遇到了一些调试和优化问题。

通过查阅资料、请教同事和不断实践,我学会了使用调试工具进行程序调试,掌握了嵌入式系统性能优化的方法,如内存管理、功耗优化等。

四、实习收获和反思通过这次实习,我收获了以下几点:1. 掌握了嵌入式系统的基本概念、原理和应用,了解了嵌入式系统的发展趋势。

嵌入式开发工作总结范文(3篇)

嵌入式开发工作总结范文(3篇)

第1篇一、前言嵌入式系统作为一种广泛应用于各个领域的计算机系统,具有专用性、实时性、资源受限、高可靠性以及成本效益等特点。

随着科技的飞速发展,嵌入式系统在各个行业中的应用越来越广泛,嵌入式开发工程师的需求也日益增加。

本文将从以下几个方面对自己在嵌入式开发工作中的经历进行总结,以期为同行提供借鉴。

二、嵌入式开发基础知识1. 嵌入式系统概述嵌入式系统是一种特殊的计算机系统,其主要特点包括:(1)专用性:针对特定应用进行优化,以满足特定功能需求。

(2)实时性:在规定的时间内迅速响应输入信号,保证实时性能。

(3)资源受限:有限的计算能力、内存和电源。

(4)高可靠性:在无人工干预的环境下稳定工作。

(5)成本效益:确保性价比的高效。

2. 嵌入式系统硬件嵌入式系统硬件主要包括微处理器、存储器、输入输出接口、电源等。

以下是一些常见的嵌入式系统硬件:(1)微处理器:如ARM、MIPS、AVR等。

(2)存储器:如SRAM、ROM、Flash等。

(3)输入输出接口:如GPIO、SPI、I2C、UART等。

(4)电源:如电池、线性电源、开关电源等。

3. 嵌入式系统软件嵌入式系统软件主要包括操作系统、中间件、应用软件等。

以下是一些常见的嵌入式系统软件:(1)操作系统:如RTOS、Linux、VxWorks等。

(2)中间件:如通信协议栈、图形界面库等。

(3)应用软件:如驱动程序、应用程序等。

三、嵌入式开发流程1. 需求分析在嵌入式开发过程中,首先需要对项目需求进行分析,明确项目的功能、性能、可靠性等方面的要求。

需求分析是嵌入式开发的基础,对后续的开发工作具有重要指导意义。

2. 硬件设计根据需求分析结果,进行硬件设计,包括选择合适的微处理器、存储器、输入输出接口等硬件设备,并进行电路设计、PCB设计等。

3. 软件设计根据硬件设计结果,进行软件设计,包括操作系统选择、中间件选择、应用软件设计等。

4. 编程实现根据软件设计结果,进行编程实现,包括编写驱动程序、应用程序等。

嵌入式系统实习报告总结

嵌入式系统实习报告总结

嵌入式系统实习报告总结首先,我要感谢实习期间给我提供帮助和指导的导师和同事们,是他们的支持和鼓励让我在嵌入式系统实习中取得了丰硕的成果。

在这段实习期间,我深入了解了嵌入式系统的基本概念、原理和应用,掌握了一系列实用技能,并且参与了实际项目的开发。

以下是我在实习期间的学习和实践总结。

首先,我系统学习了嵌入式系统的基础知识。

嵌入式系统是将计算机技术应用于特定领域的一种系统,具有体积小、性能强、功耗低、可靠性高等特点。

我了解到嵌入式系统广泛应用于军事国防、消费电子、信息家电、网络通信、工业控制等领域。

在学习过程中,我熟悉了嵌入式系统的硬件和软件结构,了解了各种嵌入式处理器和操作系统,为后续的实际应用打下了基础。

其次,我学习了嵌入式系统的开发工具和技能。

在实习过程中,我熟练掌握了交叉编译工具链的使用,包括GCC、GDB、Makefile等。

同时,我也熟悉了嵌入式系统的开发环境,如Keil、IAR等。

此外,我还掌握了版本控制工具Git的使用,以便更好地管理代码和协同开发。

在实际项目的开发中,我深入学习了C语言和C++编程。

C语言是嵌入式系统编程的核心语言,具有高效性能和与硬件紧密结合的特点。

通过实际编写代码,我掌握了C语言的基本语法、数据结构、内存管理等方面的知识。

同时,我也学习了C++编程,了解了面向对象编程的基本概念,为构建模块化和可扩展的嵌入式系统提供了帮助。

此外,我还了解了嵌入式系统中的通信协议、传感器和执行器等相关知识。

通信协议是嵌入式系统中设备之间进行数据交换的规则,我学习了TCP/IP、串口通信等协议的基本原理和应用。

在实际项目中,我使用了各种传感器和执行器,如温湿度传感器、电机、显示屏等,掌握了它们的工作原理和接口技术。

最后,在实习期间,我积极参与了团队的协作和交流。

与团队成员一起分析问题、讨论解决方案,提高了我的分析和解决问题的能力。

同时,我也参加了多次技术培训和讲座,拓宽了自己的技术视野。

嵌入式初级实训报告总结

嵌入式初级实训报告总结

一、实训背景随着科技的飞速发展,嵌入式系统在各个领域的应用越来越广泛。

为了提升自己的专业技能,我参加了为期一个月的嵌入式初级实训。

本次实训旨在通过实际操作,使我了解嵌入式系统的基本原理、开发流程以及在实际应用中的问题解决方法。

二、实训内容1. 嵌入式系统基础知识实训初期,我们学习了嵌入式系统的基本概念、发展历程、应用领域等。

通过对嵌入式系统的发展历程的了解,我认识到嵌入式系统在各个领域的广泛应用,如智能家居、工业控制、医疗设备等。

2. 单片机原理与编程实训中,我们重点学习了51单片机的原理和编程。

通过学习,我对单片机的内部结构、工作原理有了深入的了解。

同时,掌握了C语言编程,能够编写简单的单片机程序,实现基本的功能。

3. 嵌入式开发环境搭建为了更好地进行嵌入式开发,我们学习了Keil uVision、IAR EWARM等集成开发环境的使用。

通过实际操作,掌握了这些开发工具的基本操作,能够搭建嵌入式开发环境,进行代码编写和调试。

4. 嵌入式系统开发流程实训过程中,我们学习了嵌入式系统开发的基本流程,包括需求分析、系统设计、硬件选型、软件开发、系统测试等。

通过对开发流程的学习,我了解到嵌入式系统开发是一个复杂的过程,需要综合考虑硬件、软件、测试等多个方面。

5. 嵌入式系统项目实践为了将所学知识应用于实际,我们进行了嵌入式系统项目实践。

在项目实践中,我们学习了如何根据需求分析设计系统,如何选择合适的硬件和软件,如何编写程序实现功能,以及如何进行系统测试和优化。

三、实训收获1. 知识储备通过本次实训,我对嵌入式系统的基本原理、开发流程、项目实践等方面有了较为全面的认识。

在实训过程中,我学习了单片机原理、C语言编程、开发环境搭建、项目实践等知识,为今后从事嵌入式系统开发打下了坚实的基础。

2. 实践能力在实训过程中,我积极参与项目实践,动手能力得到了很大提升。

通过实际操作,我学会了如何解决开发过程中遇到的问题,提高了自己的实践能力。

嵌入式设计工作总结报告

嵌入式设计工作总结报告

嵌入式设计工作总结报告
在过去的一年里,我作为嵌入式设计工程师,在公司的项目中取得了一些显著的成就。

我认为这是一个很好的机会来总结一下我的工作,并分享一些我所学到的经验和教训。

首先,我要说的是,在嵌入式设计工作中,技术的更新换代是非常迅速的。

在这一年里,我不仅不断学习新的技术和工具,还不断调整自己的思维方式,以适应这些变化。

我发现,只有不断学习和更新自己的知识,才能跟上行业的发展步伐。

其次,我在工作中也遇到了一些挑战。

特别是在项目初期,由于需求不明确和技术难度较大,我曾一度感到困惑和焦虑。

但通过与团队成员的密切合作和不断的尝试,我最终克服了这些困难,完成了项目的设计和开发工作。

另外,我也意识到了团队合作的重要性。

在嵌入式设计工作中,很少有一个人能独自完成所有的工作。

因此,团队合作是至关重要的。

我学会了与团队成员进行有效的沟通和协作,共同解决问题,最终取得了项目的成功。

最后,我要谈谈对未来的展望。

在未来的工作中,我将继续不断学习和提升自己的技能,以适应行业的发展。

我也希望能够更多地参与到项目的规划和决策中,发挥自己的专业能力,为公司的发展做出更大的贡献。

总的来说,我认为这一年的嵌入式设计工作对我来说是非常宝贵的经历。

我不仅学到了很多专业知识和技能,也积累了丰富的工作经验。

我相信,在未来的工作中,我会更加成熟和自信,为公司的发展贡献自己的力量。

嵌入式实习报告总结

嵌入式实习报告总结

一、前言随着我国信息化技术的飞速发展,嵌入式系统作为信息技术的核心,已经广泛应用于各个领域。

为了更好地了解嵌入式技术,提高自己的实践能力,我参加了为期一个月的嵌入式实习。

在这段时间里,我通过理论学习和实践操作,对嵌入式系统有了更加深入的认识,以下是我对这次实习的总结。

二、实习内容1. 理论学习实习期间,我主要学习了以下理论知识:(1)嵌入式系统概述:了解了嵌入式系统的定义、特点、分类以及发展趋势。

(2)嵌入式处理器:学习了ARM、AVR、MSP430等常用嵌入式处理器的原理、性能以及应用。

(3)嵌入式操作系统:掌握了Linux、FreeRTOS等嵌入式操作系统的基本概念、架构以及开发方法。

(4)嵌入式编程:学习了C语言、汇编语言等编程语言在嵌入式系统中的应用,掌握了Keil、IAR等集成开发环境的使用。

(5)硬件电路设计:了解了嵌入式系统硬件电路的基本原理,学习了电子元器件的选用、电路设计与仿真。

2. 实践操作在理论学习的基础上,我进行了以下实践操作:(1)基于ARM处理器的嵌入式系统开发:使用Keil集成开发环境,编写C语言程序,实现LED灯控制、按键扫描等功能。

(2)基于Linux操作系统的嵌入式系统开发:使用GCC编译器,编写C语言程序,实现文件操作、进程管理等功能。

(3)硬件电路设计与仿真:使用Altium Designer等软件,设计嵌入式系统硬件电路,并进行仿真验证。

(4)嵌入式系统调试与优化:使用示波器、逻辑分析仪等工具,对嵌入式系统进行调试,提高系统性能。

三、实习收获1. 提高了理论水平:通过实习,我对嵌入式系统的理论知识有了更加深入的理解,为今后的学习和工作打下了坚实的基础。

2. 增强了实践能力:在实践操作中,我学会了如何使用嵌入式开发工具和调试设备,提高了自己的动手能力。

3. 拓宽了知识面:实习期间,我接触到了多个嵌入式处理器、操作系统和编程语言,拓宽了自己的知识面。

4. 培养了团队协作精神:在实习过程中,我与同学们互相学习、共同进步,培养了良好的团队协作精神。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式系统设计基础结题报告学生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技术制作而成的带有背景音乐并且可以通过触摸屏和键盘控制的数码相框。

数码相框在当今市面上也有销售,其功能主要是放映照片,绝大部分能够通过无线或蓝牙与移动设备进行连接,以达到实时放映的效果。

我们所制作的数码相框总体而言功能并不是很强大,但也符合数码相框的基本原理并且实现了基本功能。

本课题的核心问题是如何实现触摸屏精确地点击、图像切换显示还有音乐播放功能。

二、课题实施方案本课题的基本设计方案分为四个模块,LCD图像显示模块、触摸屏模块、音乐播放模块以及键盘模块。

整体的设计流程为首先完成在TQ2440开发板液晶显示屏上显示出六张自定义图像;然后实现按键控制图像的切换;再加入对触摸屏的操作,使得能够使用触摸屏切换图像;最后加上PWM蜂鸣器播放音乐的功能。

2.1 方案说明2.1.1 LCD图像显示模块设计方案为了实现带有背景音乐并且能够使用触摸屏控制的数码相框,我们首先要能够在开发板的显示屏上显示用户自定义的照片。

由于我们所使用的开发板配备的是4.3寸的显示屏,所以图片尺寸要设定为480*272才能完美适应屏幕大小。

在程序代码中,显示图片的功能由Paing_Bmp定义,具体为Paint_Bmp (0, 0, 480, 272, TQ_LOGO),其中,480、272对应的是要显示的照片的尺寸,因为我们用的是4.3寸屏,所以设定为480、272;而TQ_LOGO是图片的名称,名称由用户自己定义,这里的TQ_LOGO对应的是开发板开机显示的第一张LOGO照片。

照片的显示本质上是对屏幕上每一个像素点赋值的过程,不断赋值的一个过程其实就是实现了对LCD的每个像素点进行逐行扫描写入不同像素点对应图片的不同位置的颜色值的过程。

图 1. 像素扫描原理因此,只要将图片的每一个像素点的值写入程序,就能够实现照片显示的功能。

这里我们使用了天嵌科技光盘附带的bmp2h程序,将一个BMP图片文件转换为带有每行像素值的C文件,然后将C文件中的代码复制到LCD显示程序代码下,即可实现照片显示功能。

另外,由于480*272照片文件容量较大,缺省的内存设置无法满足显示6张照片的功能,会导致显示花屏。

针对这个问题,我们是在nand.c文件中修改RdNF2SDRAM( )函数中的U32 size = 0x100000,我们改成U32 size = 0x800000,这样就满足了照片显示的内存需求。

2.1.2 触摸屏模块设计方案四线电阻式触摸屏硬件工作原理按照工作原理和传输信息的介质不同,触摸屏分为电阻式、电容感应式、红外线式以及表面声波式。

由于电阻式触摸屏具有工作面与外界完全隔离,受环境影响较小,具有不怕灰尘和水汽、稳定性高、不漂移等优点,特别适合工业现场使用。

因此我们选择了四线电阻式触摸屏。

我们使用触摸屏进行相册的前进和后退,具体来说,就是触摸屏幕上半部分,就跳转到前一张照片;反之,触摸下半部分,就跳转到下一张照片。

实现该功能的关键在于设置一个标志位来判断当前放映的是6张照片中的哪一张,当xdata>500时,判断为下半部分;xdata<500时,判断为上半部分,然后一旦触摸屏幕,在判断触摸的是哪一个部分后就会进行加一或减一,以此循环。

具体实现就是在LCD代码的while(1)中,加入一段判断选择程序,其中xdata对应的是屏幕的竖轴,ydata对应横轴。

另外,由于触控比较灵敏,会出现轻轻按一下却切换了好几张照片的情况,为了解决这个问题,就需要加入一段中断以及判断按下和松开状态。

图 2. 状态转换图2.1.3 音乐播放模块设计方案S3C2440A 有五个十六位计时器。

计时器0, 1, 2, 和3有Pulse Width Modulation (PWM) 功能. 计时器4 只有一个内部计时器,没有外部输出管脚。

定时器0 有一个死区发生器,这可以给大电流设备使用。

定时器0和1共用一个8位预分频器,而定时器2、3和4共用其他一个8位预分频器。

每个定时器有一个时钟分频器,可以生成5种不同的信号(1 / 2,1 / 4,1/ 8,1 / 16,和TCLK)。

每个定时器模块,接收从其自己的时钟分频器发出的信号,收到相应的8位预分频器的时钟的时钟信号的时候。

8位预分频器是可编程的,并且可以根据存储在TCFG0和TCFG1寄存器中的装载值细分(确定)像素时钟PCLK。

当计时器时使能的时候,该计时器的计数缓冲寄存器(TCNTBn)初始化,同时装载初始值到向下计数器当中。

计时器的比较缓冲寄存器(TCMPBn)初始化的时候,自动装载一个初始值,用来和向下计数器的值进行比较。

这种双重缓冲寄存器的机构,TCNTBn和TCMPBn,使计时器可以在PWM频率和占空比改变的时候保持稳定的PWM输出。

每一个定时器都有自己的有机器时钟驱动的十六位向下计数器。

当向下计数器到达零的时候,定时器中断请求产生并通知CPU,定时器操作已经完成。

当定时器向下计数器达零的时候,相应的TCNTBn将会自动为下一次操作装载相应的计数值。

然而,当计时器被停止的时候,例如,当定时器控制寄存器TCONn的使能位被清零的时候,TCNBn的值就不会被重新装载进计数器。

TCMPBn的值是用于控制脉宽调制(PWM)的。

定时器控制当向下计数器的值等于compare的值时,输出电平逻辑改变。

因此,compare寄存器的值决定了PWM的占空比。

我们要调整PWM 的占空比进行电机控制或者电源控制的时候,只需要在程序中不断修改rTCNTB0 的值就可以了;而如果我们要改变PWM 的频率,我们只要通过不断的修改rTCNTB0 的值就可以了(当然也可以通过修改rTCNTB0 = (PCLK>>7)/freq 中的freq 的值来间接实现修改rTCNTB0 的值)。

2.1.4 键盘模块设计方案我们知道有时触摸屏会不太好用,比如手湿了或者戴手套的时候,这时有了按键功能,就能起到很好的替换效果。

我们主要用按键功能实现照片的前后切换,其原理和之前触摸屏切换类似,这里不多撰述。

2.2 工程规范在本次课题实施中我们就TQ2440开发板实际开发操作方面总结出规范如下:(1)不要着急写代码,首先要将设计思路、功能模块等规划完成,然后才能进行下一步的工作。

这样做有助于实际操作过程中的条理性,并且可以使项目处于可控、可实现的状态。

(2)在编写代码的时候一定要添加上相应的注释,增加代码的可读性,方便自己以后的修改和别人的理解。

(3)硬件上,接线时一定要仔细。

注意串口线连接的位置,因为这涉及到烧录程序时端口的选择。

(4)从直观上看问题。

每次修改程序之后先录入开发板,从显示屏实际显示效果上看是否实现功能而不是纠结于程序是否修改正确。

三、课题实施过程详述1、实现六张图像的键盘控制切换;在keyscan.c的static void __irq Key_ISR(void)中加入以下代码:if( key == 0xff ){flag3=0;Uart_Printf( "Interrupt occur... Key is released!\n") ;}else{flag3++;if(flag3 == 8)flag3 = 2;if(flag3 == 1){if(key == 2 && flag4<=6){flag4++; if(flag4==7)flag4=1;}else if(key == 1 && flag4<=6){flag4--;if(flag4==-1)flag4=6;}else if(key == 3){flag5=1;Main();}}Uart_Printf( "Interrupt occur... K%d is pressed!\n", key) ;ExitCritical(&r);}switch(flag4){case 1:Paint_Bmp(0, 0, 480, 272, tu1_320240);break;case 2:Paint_Bmp(0, 0, 480, 272, tu2_320240);break;case 3:Paint_Bmp(0, 0, 480, 272, tu3_320240);break;case 4:Paint_Bmp(0, 0, 480, 272, tu4_320240);break;case 5:Paint_Bmp(0, 0, 480, 272, tu5_320240);break;case 6:Paint_Bmp(0, 0, 480, 272, tu6_320240);break;}2、实现触摸屏控制图片切换功能;(1)在while(1)中来实现:通过使用对触摸屏进行触摸操作时返回的xdata 和ydata 的数值对我们要显示的图片进行控制选择,如下:while(1) //to check Pen-up state{ if(rSUBSRCPND & (BIT_SUB_TC)) //check if ADC is finished with interrupt bit { flag = 0;break; //if Stylus is up(1) state}flag++;if(flag == 8)flag = 2;if(flag == 1){if (xdata>500 && flag1<=6){flag1++; if(flag1==7)flag1=1;}else if (xdata<500 && flag1<=6){flag1--;if(flag1==-1)flag1=6;}elseflag1=0;switch(flag1){case 1:Paint_Bmp(0, 0, 480, 272, tu1_320240);break;case 2:Paint_Bmp(0, 0, 480, 272, tu2_320240);break;case 3:Paint_Bmp(0, 0, 480, 272, tu3_320240);break;case 4:Paint_Bmp(0, 0, 480, 272, tu4_320240);break;case 5:Paint_Bmp(0, 0, 480, 272, tu5_320240);break;case 6:Paint_Bmp(0, 0, 480, 272, tu6_320240);break;}}}(2)编译修改好的程序生成所需要的bin文件,录入开发板并观测图像显示。

相关文档
最新文档