嵌入式课程设计

合集下载

嵌入式课程设计

嵌入式课程设计

嵌入式课程设计
嵌入式课程设计是指在大学或研究生教育阶段,学生通过嵌入式系统设计的课程,进行实践性的学习和探索,提高学生的嵌入式系统设计能力以及软硬件开发和应用技能。

嵌入式课程设计包括理论学习、实验设计和开发工程三个阶段。

在理论学习阶段,学生需要学习相关的计算机科学和电子学知识,了解嵌入式系统的组成、结构和工作原理。

在实验设计阶段,学生需要设计和实现嵌入式系统的硬件和软件,并进行调试和测试。

开发工程阶段,学生需要应用所学知识,设计和开发复杂的嵌入式系统,实现实际应用场景的功能需求。

嵌入式课程设计不仅可以有效提高学生的实践能力,还可以培养学生的团队协作精神和创新思维能力。

针对不同的学科和专业,嵌入式课程设计可以涵盖多个领域,比如电子、计算机、通信、自动化等多个领域,为学生未来的职业发展提供有力的支持和保障。

嵌入式课程设计

嵌入式课程设计

嵌入式课程设计一、课程目标知识目标:1. 理解嵌入式系统的基本概念,掌握其组成、原理和应用领域;2. 学习嵌入式编程的基本语法和技巧,能够阅读和分析简单的嵌入式程序;3. 了解嵌入式系统在不同行业中的应用案例,理解其对社会发展的意义。

技能目标:1. 能够运用所学知识设计简单的嵌入式系统电路,并进行调试;2. 掌握使用至少一种嵌入式编程语言进行程序设计,实现基本功能;3. 学会使用嵌入式系统的调试工具,具备初步的问题分析和解决能力。

情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣,激发其探索精神和创新意识;2. 增强学生的团队合作意识,培养其在嵌入式项目中的沟通和协作能力;3. 引导学生关注嵌入式技术在国家战略和社会发展中的作用,树立正确的价值观。

课程性质:本课程为嵌入式系统入门课程,结合学生年级特点和教学要求,注重理论与实践相结合,强调知识的应用性和实践性。

学生特点:学生处于初中阶段,具有一定的电子技术和计算机基础,好奇心强,喜欢动手实践。

教学要求:通过本课程的学习,使学生掌握嵌入式系统的基础知识,培养其编程和动手能力,提高学生在实际项目中解决问题的能力。

同时,注重培养学生的团队合作精神和正确的价值观。

课程目标分解为具体学习成果,以便于教学设计和评估。

二、教学内容1. 嵌入式系统概述- 嵌入式系统的定义与组成- 嵌入式系统的应用领域及发展趋势2. 嵌入式系统硬件基础- 微控制器原理与结构- 常用传感器及其接口技术- 嵌入式系统电路设计基础3. 嵌入式编程语言- C语言基础及其在嵌入式系统中的应用- 汇编语言基础- 嵌入式编程技巧及编程规范4. 嵌入式系统软件开发- 嵌入式系统软件开发流程- 常用开发工具及环境配置- 调试与优化方法5. 嵌入式系统应用案例- 智能家居系统设计- 物联网应用案例分析- 嵌入式系统在机器人领域的应用6. 课程项目实践- 项目需求分析- 硬件电路设计与调试- 软件编程与功能实现- 项目展示与总结教学内容安排与进度:第一周:嵌入式系统概述第二周:嵌入式系统硬件基础第三周:嵌入式编程语言第四周:嵌入式系统软件开发第五周:嵌入式系统应用案例第六周:课程项目实践本教学内容根据课程目标,结合课本内容进行科学性和系统性地组织,注重理论与实践相结合,以培养学生的嵌入式系统设计与开发能力。

嵌入式课程设计报告

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

嵌入式简单课程设计教案

嵌入式简单课程设计教案

嵌入式简单课程设计教案一、课程目标知识目标:1. 理解嵌入式系统的基本概念,掌握其组成和功能。

2. 学习嵌入式编程的基本语法和常用指令。

3. 了解嵌入式系统的应用领域和发展趋势。

技能目标:1. 能够使用嵌入式开发环境,进行简单的程序编写和调试。

2. 学会使用嵌入式系统的输入输出接口,实现基本的功能控制。

3. 培养学生动手操作、问题解决和团队协作的能力。

情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣,激发其探索精神和创新意识。

2. 增强学生的责任心和自信心,使其在嵌入式学习过程中保持积极态度。

3. 培养学生遵守实验规程,养成良好的实验习惯,注重团队合作。

课程性质:本课程为实践性较强的学科,结合理论教学和实验操作,培养学生对嵌入式系统的认识和实际操作能力。

学生特点:六年级学生,具备一定的计算机基础,好奇心强,喜欢动手实践,但注意力集中时间较短。

教学要求:注重理论与实践相结合,以学生为主体,引导他们主动探索、实践,提高解决问题的能力。

将课程目标分解为具体的学习成果,以便在教学过程中进行有效评估。

二、教学内容1. 嵌入式系统基本概念:介绍嵌入式系统的定义、组成、特点和应用领域,对应教材第一章内容。

2. 嵌入式编程基础:讲解嵌入式编程的基本语法、数据类型、运算符和常用指令,对应教材第二章内容。

3. 嵌入式系统开发环境:介绍嵌入式开发环境搭建、编译器使用和程序下载,对应教材第三章内容。

4. 嵌入式系统输入输出接口:学习嵌入式系统的GPIO、中断、定时器等接口的使用,对应教材第四章内容。

5. 嵌入式系统应用实例:分析典型的嵌入式系统应用案例,如温度控制、智能家居等,对应教材第五章内容。

教学安排和进度:第一周:嵌入式系统基本概念第二周:嵌入式编程基础第三周:嵌入式系统开发环境第四周:嵌入式系统输入输出接口第五周:嵌入式系统应用实例及实验操作教学内容注重科学性和系统性,结合教材章节安排,确保学生能够逐步掌握嵌入式系统的相关知识。

嵌入式开发系统课程设计

嵌入式开发系统课程设计

嵌入式开发系统课程设计一、课程目标知识目标:1. 理解嵌入式系统的基本概念、组成和分类;2. 掌握嵌入式开发环境搭建及编程基础;3. 学习嵌入式系统设计与实现的基本方法;4. 了解嵌入式系统在实际应用中的发展及其在各领域的应用。

技能目标:1. 能够独立搭建嵌入式开发环境,进行基本的程序编写和调试;2. 学会使用常见的嵌入式系统设计工具和软件;3. 掌握嵌入式系统硬件与软件的协同设计方法;4. 能够运用所学知识解决实际问题,完成一个小型嵌入式项目的设计与实现。

情感态度价值观目标:1. 培养学生对嵌入式系统开发的兴趣,激发其探究精神和创新意识;2. 培养学生的团队协作和沟通能力,使其能够在项目实践中相互学习、共同进步;3. 增强学生的社会责任感,使其认识到嵌入式技术在国家战略和民生领域的重大意义;4. 引导学生树立正确的价值观,关注技术发展对社会和环境的影响,培养其良好的职业道德。

二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的基本概念、发展历程、特点及应用领域,对应教材第一章内容。

- 嵌入式系统定义与分类- 嵌入式系统的历史与发展趋势- 嵌入式系统的应用领域2. 嵌入式系统硬件平台:讲解嵌入式硬件系统的组成、结构与原理,对应教材第二章内容。

- 嵌入式处理器- 存储器与I/O接口- 嵌入式系统硬件设计方法3. 嵌入式系统软件平台:介绍嵌入式操作系统、编程语言及软件开发工具,对应教材第三章内容。

- 嵌入式操作系统原理与应用- 嵌入式编程语言(C、汇编等)- 软件开发工具与调试方法4. 嵌入式系统设计与实现:阐述嵌入式系统设计与实现的方法与步骤,对应教材第四章内容。

- 系统需求分析- 硬件与软件协同设计- 系统测试与优化5. 嵌入式项目实践:结合实际案例,让学生动手实践嵌入式项目设计与开发,对应教材第五章内容。

- 项目选题与需求分析- 硬件系统设计与搭建- 软件编程与调试- 系统测试与总结教学内容安排与进度根据学生实际情况进行调整,确保学生能够循序渐进地掌握嵌入式系统的基本知识和技能。

嵌入式基础课程设计

嵌入式基础课程设计

嵌入式基础课程设计一、课程目标知识目标:1. 理解嵌入式系统的基本概念、组成和分类。

2. 掌握嵌入式系统的设计流程、开发环境和编程语言。

3. 学习嵌入式系统的硬件接口和软件模块。

技能目标:1. 能够运用所学知识进行简单的嵌入式系统设计。

2. 能够编写嵌入式程序,实现基础功能。

3. 能够分析并解决嵌入式系统开发过程中遇到的问题。

情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣和热情,提高其学习主动性和积极性。

2. 培养学生的团队协作能力,使其能够在团队中发挥积极作用。

3. 培养学生的创新意识和实践能力,使其敢于尝试,勇于探索。

本课程针对高中年级学生,结合学科特点和教学要求,旨在帮助学生掌握嵌入式系统的基础知识,培养其编程能力和实际问题解决能力。

课程目标具体、可衡量,以确保学生和教师能够清晰地了解课程的预期成果,并为后续的教学设计和评估提供依据。

通过本课程的学习,学生将能够独立完成简单的嵌入式系统设计,为今后进一步学习相关专业知识和技能打下坚实基础。

二、教学内容1. 嵌入式系统概述- 嵌入式系统的基本概念- 嵌入式系统的组成与分类- 嵌入式系统的应用领域2. 嵌入式系统设计流程- 需求分析- 系统设计- 硬件选型与接口设计- 软件开发与调试3. 嵌入式开发环境- 开发板介绍- 集成开发环境(IDE)的使用- 编程语言的选用与基础语法4. 嵌入式系统编程- 硬件抽象层(HAL)编程- 嵌入式操作系统基础- 常用软件模块及应用5. 嵌入式系统实践- 简单嵌入式系统设计案例- 程序编写与调试- 系统测试与优化本教学内容根据课程目标制定,涵盖嵌入式系统的基本知识、设计流程、开发环境、编程技巧和实践案例。

教学内容与课本紧密关联,系统性地安排了教学大纲,明确了教学内容的安排和进度。

通过本章节的学习,学生将全面了解嵌入式系统的基础知识,掌握基本的编程技能,并具备实际操作能力。

三、教学方法1. 讲授法:- 对于嵌入式系统的基本概念、组成、分类及设计流程等理论知识,采用讲授法进行教学,使学生在短时间内掌握基础知识点。

大学嵌入式方向课程设计

大学嵌入式方向课程设计

大学嵌入式方向课程设计一、课程目标知识目标:1. 理解嵌入式系统的基础知识,掌握其硬件和软件的基本组成、工作原理及相互关系。

2. 学会使用至少一种嵌入式编程语言,如C或Python,编写简单的嵌入式程序。

3. 了解嵌入式系统在不同领域的应用,如物联网、智能家居、自动化控制等。

技能目标:1. 能够运用所学知识,设计并实现简单的嵌入式项目,具备基本的嵌入式系统开发能力。

2. 掌握使用常见的嵌入式开发工具和调试方法,如Keil、IAR等。

3. 能够分析嵌入式系统的性能,针对实际问题提出合理的解决方案。

情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣,激发他们探索新技术、新领域的热情。

2. 培养学生的团队协作精神,让他们在项目实践中学会沟通、分享和合作。

3. 培养学生的创新意识,鼓励他们勇于尝试,不断挑战自我,为我国嵌入式技术的发展贡献力量。

课程性质:本课程为大学嵌入式方向的课程,旨在使学生掌握嵌入式系统的基础知识和技能,培养具备实际开发能力的人才。

学生特点:大学嵌入式方向的学生具备一定的电子技术、计算机技术和编程基础,对新技术充满好奇,喜欢动手实践。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,强化项目实践,培养学生具备实际开发能力。

在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。

二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的定义、发展历程、应用领域及发展趋势,对应教材第一章内容。

- 嵌入式系统的基本概念- 嵌入式系统的历史与发展- 嵌入式系统的应用领域及前景2. 嵌入式硬件基础:讲解嵌入式系统的硬件组成、原理及性能指标,对应教材第二章内容。

- 嵌入式处理器- 存储器与I/O接口- 传感器与执行器3. 嵌入式软件基础:介绍嵌入式操作系统、编程语言及软件开发流程,对应教材第三章内容。

- 嵌入式操作系统原理- 嵌入式编程语言(C/Python)- 嵌入式软件开发流程4. 嵌入式系统设计与实践:通过项目实践,使学生掌握嵌入式系统的设计方法,对应教材第四章内容。

嵌入式软件课程设计

嵌入式软件课程设计

嵌入式软件课程设计一、课程目标知识目标:1. 理解嵌入式软件的基本概念、原理及开发流程;2. 掌握嵌入式系统硬件与软件的协同设计方法;3. 学会使用至少一种嵌入式编程语言(如C/C++)进行程序设计;4. 了解嵌入式操作系统的基本原理及其在嵌入式系统中的应用。

技能目标:1. 能够运用所学的嵌入式软件知识,独立完成简单的嵌入式项目设计;2. 培养学生具备分析、解决实际嵌入式系统问题的能力;3. 提高学生的编程实践能力,能够编写出高效、可靠的嵌入式程序;4. 培养学生团队协作、沟通表达的能力。

情感态度价值观目标:1. 培养学生对嵌入式软件领域的兴趣,激发其探索精神和创新意识;2. 增强学生自主学习、持续学习的意识,养成良好的学习习惯;3. 培养学生具备责任心,使其认识到嵌入式软件在国家安全、社会发展和人民生活中的重要作用;4. 培养学生遵守法律法规,遵循职业道德,树立正确的价值观。

本课程针对高年级学生,结合学科特点和教学要求,注重理论与实践相结合,以培养学生的嵌入式软件设计能力为核心,旨在提高学生的专业知识水平、实践技能和综合素质。

课程目标的设定旨在使学生在掌握基本理论知识的基础上,能够独立完成实际嵌入式项目,为将来从事相关领域工作打下坚实基础。

二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的基本概念、发展历程、应用领域及发展趋势;教材章节:第1章 嵌入式系统概述2. 嵌入式硬件基础:讲解嵌入式处理器、存储器、I/O接口、中断系统等硬件知识;教材章节:第2章 嵌入式硬件基础3. 嵌入式编程语言:学习C/C++语言在嵌入式系统中的应用,重点掌握指针、结构体、位操作等;教材章节:第3章 嵌入式编程语言4. 嵌入式系统软件设计:介绍嵌入式系统软件设计方法、开发流程及调试技巧;教材章节:第4章 嵌入式系统软件设计5. 嵌入式操作系统:讲解嵌入式操作系统的原理、架构及常见嵌入式操作系统(如FreeRTOS、UC/OS等);教材章节:第5章 嵌入式操作系统6. 嵌入式系统应用案例:分析典型嵌入式应用案例,使学生了解实际项目中嵌入式软件的设计方法;教材章节:第6章 嵌入式系统应用案例7. 课程实践:组织学生进行课程设计,完成具有实际应用价值的嵌入式项目;教材章节:第7章 课程实践教学内容安排与进度:按照教材章节顺序进行教学,每个章节安排2-4个学时,共计16周。

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

课程设计报告书题目: 基于stm32的步进电机控制系统课程:嵌入式系统课程设计专业:电子信息科学与技术2016年 4 月 15 日课程设计任务书信息工程学院课程设计成绩评定表摘要本文的主要工作是基于STM32步进电机控制系统的设计。

随着越来越多的高科技产品逐渐融入了日常生活中,步进电机控制系统发生了巨大的变化。

单片机、C语言等前沿学科的技术的日趋成熟与实用化,使得步进电机的控制系统有了新的的研究方向与意义。

本文描述了一个由STM32微处理器、步进电机、LCD显示器、键盘等模块构成的,提供基于STM32的PWM细分技术的步进电机控制系统。

该系统采用STM32微处理器为核心,在MDK的环境下进行编程,根据键盘的输入,使STM32产生周期性PWM信号,用此信号对步进电机的速度及转动方向进行控制,并且通过LCD显示出数据。

结果表明该系统具有结构简单、工作可靠、精度高等特点.关键词:STM32微处理器;步进电机;LCD显示;PWM信号;目录1 任务提出与方案论证 (5)1.1 任务提出 (5)1.2 方案论证 (5)2 总体设计 (6)2.1系统的硬件设计 (6)2.2控制系统软件设计 (6)3 详细设计及仿真 (8)3.1设计主要程序部分 (8)3.2调试与仿真 (9)4 总结 (10)5 实物图和仿真图 (11)1 任务提出与方案论证步进电机控制系统的整个设计中最重要的部分是利用PWM细分实现步进电机调速的处理,虽然PWM调速很早就开始研究应用,但如何用PWM细分调速的快速性和准确性至今仍是生产和科研的课题。

随着微电子技术的发展与普及,更多高性能的单片机应用使得PWM细分实现步进电机PWM调速的快速性和准确性都有了极大的提高。

1.1 任务提出总体方案根据课题要求,本设计采用STM32cortex-M3处理器,由SPGT62C19B 电机控制模块作为直流电机的驱动芯片,由ADC输入电位器产生调速命令,用TFT彩色LCD作为显示模块。

1.2 方案论证步进电机控制系统硬件方案本系统主要由一块STM32平台、SPGT62C19B型步进电机驱动模块构成,以STM32为核心,包括电机驱动、电机、A/D转换、LCD显示等模块。

系统的结构框图如图 2.1所示。

STM32作为主控芯片,通过I/O端口来控制SPGT62C19B型步进电机驱动芯片,从而实现对步进电机的控制。

通过ADC输入电位器产生调速命令反馈给STM32,STM32调节SPGT62C19B型步进电机驱动模块的状态,从而使电机改变转速和方向。

同时,电机转速可由彩色液晶LCD显示出来,用ADC输入电位器来对步进电机的转动方向和转速等进行设定。

步进电机控制系统软件方案硬件功能的实现离不开软件的设计与完成。

软件设计是步进电机控制系统设计中最重要、最关键的部分,也是本次毕业设计的难点之处。

由于本系统使用STM32平台,运用Keil for ARM开发环境,在Keil u Vision软件平台进行开发。

本课题软件设计的思想主要是自顶向下,模块化设计,逐一设计各个子模块,分别进行调试,最后的连调整个程序,判断是否达到预期的要求,做出结论。

各个部分函数都可相互调用又相对独立可调,保证调试的便利与程序的可读性。

2 总体设计第一部分具体介绍了步进电机控制系统的硬件设计,包括SPGT62C19B电机控制模块电路的设计;第二部分阐述了步进电机控制系统的软件设计;2.1系统的硬件设计本系统采用STM32作为主控制器,采用ADC输入电位器作为输入部分,步进电机及其驱动电路采用SPGT62C19B型步进电机驱动模块。

下面分别对STM32以及相关模块的特性进行具体介绍。

(1)步进电机模块本设计选用专用的电机驱动芯片SPGT62C19B。

SPGT62C19B电机控制模组是为学生以及单片机爱好者学习步进电机和直流电机控制而设计的学习套件。

模组采用凌阳SPGT62C19B电机驱动芯片,配置两相步进电机和直流电机各一台,并提供4位LED数码管用来显示电机转速等信息。

模组配备的步进电机为35BYJ26型永磁步进电机,工作方式为双极性两相四拍。

步进电机是一种将电脉冲转化为角位移的执行机构。

当步进电机接收到一个脉冲信号,它就按设定的方向转动一个固定的角度(称为“步距角”)。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率实现步进电机的调速。

(2)LCD显示模块显示电路是本设计硬件的主要构成部分,STM32外接TFT模块,MzT24彩色TFT模块是一个2.8英寸的TFT模块,内置TFT控制器,对外连接直接通过8位的8080总线进行指令和数据的传输。

MzT24有像素点数为240×320,色彩深度为16位色,也就是每一个像素点需要用16位的数据来表示其显示的内容。

MzT24模块的显示操作非常简便,需要改变某一个像素点的颜色时,只需要对该点所对应的2个字节的显存进行操作即可。

这部分电路连接时主要是把数据准确稳定的显示出来,因此连接电路时需注意端口对应的准确连接,否则严重影响数据显示的稳定,甚至出现显示不出来数据。

2.2控制系统软件设计控制系统软件设计步骤:对于一个完整的嵌入式应用系统的开发,硬件的设计与调试工作仅占整个工作量的一半,应用系统的程序设计也是嵌入式系统设计一个非常重要的方面,程序的质量直接影响整个系统功能的实现,好的程序设计可以克服系统硬件设计的不足,提高应用系统的性能,反之,会使整个应用系统无法正常工作。

不同于基于PC平台的程序开发,嵌入式系统的程序设计具有其自身的特点,在编写嵌入式系统应用程序时,可采取如下几个步骤:(1) 明确所要解决的问题:根据问题的要求,将软件分成若干个相对独立的部分,并合理设计软件的总体结构(2) 合理配置系统的资源:与基于8位或16位微控制器的系统相比较,基于32位微控制器的系统资源要丰富得多,但合理的资源配置可最大的限度发挥系统的硬件潜能,提高系统的性能。

对于一个特定的系统来说,其系统资源,如Flash、EEPROM、SDRAM、中断控制等,都是有限的,应合理配置系统资源。

(3) 程序的设计、调试与优化:根据软件的总体结构编写程序,同时采用各种调试手段,找出程序的各种语法和逻辑错误,最后应使各功能程序模块化,缩短代码长度以节省存储空间并减少程序的执行时间。

此外,由于嵌入式系统一般都应用在环境比较恶劣的场合,易受各种干扰,从而影响到系统的可靠性,因此,应用程序的抗干扰技术也是必须考虑的,这也是嵌入式系统应用程序不同于其他应用程序的一个重要特点。

Keil for ARM软件开发环境本次设计的软件部分采用模块化的设计思想,将各个功能都编成了相应的子程序。

程序运行时,通过主程序的调用及相应模块之间的嵌套调用,实现系统的整体功能。

本设计所需的STM32的外设包括PA口、PB口、PC口和定时器端口,所以也要对外设的时钟进行设置。

由于PA口、PB口、PC口在APB1系统总线外设上,定时器TIM2和TIM3在APB2系统总线外设上,所以要对APB1和APB2总线的时钟频率进行设置。

经过APB1与APB2的分频,将SYSCLK转换成可以进行外设及TIM可以接收的系统时钟。

在时钟初始化子程序中先对系统时钟的模式进行选择,即将系统时钟设置为HSE模式(外部时钟模式),然后设置AHB时钟等于系统时钟,且设置了低速或高速AHB,最后使能的时钟,时钟初始化子程序的流程。

3 程序设计及仿真3.1设计主要程序部分(主函数)#include "led.h"#include "delay.h"#include "key.h"#include "sys.h"#include "lcd.h"#include "usart.h"#include"drive.h"#include "chinese.h" //ÖÐÎÄÏÔʾ#include "image2lcd.h"//ͼƬÏÔʾextern const u8 gImage_jiemian[];float t1;u16t,t11,t12,t13,t14,result;unsigned char beatcode2[8]={0x0e,0x0c,0x0 d,0x09,0x0b,0x03,0x07,0x06} ;unsigned char beatcode1[8]={0x06,0x07,0x0 3,0x0b,0x09,0x0d,0x0c,0x0e} ;int main(void){unsigned char temp=0,angle=0,index=0,flag 1;unsigned long beat=0;int key=2;Drive_Init();uart_init(9600); //´®¿Ú³õʼ»¯Îª9600delay_init();KEY_Init();LCD_Init();LED_Init();while(1){key=KEY_Scan(0);if(key==1){temp++;if(temp>2)temp=0;}if(key==2){angle+=15;if(angle>=360)angle=0;flag1=1;}if(temp==2){for(index=0;index<8;index++){GPIOA->ODR=beatcode2[index];delay_ms(2);}}else if(temp==1){for(index=0;index<8;index++){GPIOA->ODR=beatcode1[index];delay_ms(2);}}else if(temp==0)GPIOA->ODR=0;while(flag1){beat=(angle*4076)/360;while(beat--){GPIOA->ODR=beatcode1[index];index++;index=index&0x07;delay_ms(2);}flag1=0;}LED0=!LED0;}delay_ms(10);}3.2调试与仿真调试包括硬件调试、软件调试和整体联调。

相关文档
最新文档