嵌入式操作系统课程设计报告

合集下载

嵌入式课程设计

嵌入式课程设计

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

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

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

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

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

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

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

嵌入式课程设计

嵌入式课程设计

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

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

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

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

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

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

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

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

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

基于嵌入式的课程设计

基于嵌入式的课程设计

基于嵌入式的课程设计一、课程目标知识目标:1. 学生能理解嵌入式的概念及其在现实生活中的应用。

2. 学生能掌握嵌入式系统的基本组成部分及工作原理。

3. 学生能了解嵌入式编程的基本方法和技巧。

技能目标:1. 学生能运用所学知识,设计简单的嵌入式系统电路。

2. 学生能编写简单的嵌入式程序,实现特定功能。

3. 学生能通过实际操作,培养动手能力和团队协作能力。

情感态度价值观目标:1. 学生对嵌入式技术产生浓厚的兴趣,提高学习的积极性和主动性。

2. 学生在课程学习中,培养良好的学习习惯和探究精神。

3. 学生通过嵌入式课程的学习,认识到科技对社会发展的推动作用,增强社会责任感和创新意识。

课程性质:本课程为实践性较强的学科,旨在让学生在实际操作中掌握嵌入式技术的基本知识和技能。

学生特点:六年级学生具备一定的逻辑思维能力和动手操作能力,对新鲜事物充满好奇心。

教学要求:结合学生特点,采用项目驱动的教学方法,引导学生主动探究,注重培养学生的实践能力和团队协作精神。

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

二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的定义、发展历程和应用领域,结合课本第一章内容,让学生对嵌入式系统有一个全面的认识。

2. 嵌入式系统硬件:讲解嵌入式系统的基本硬件组成,如微控制器、传感器、执行器等,结合课本第二章,分析各部分功能及相互关系。

3. 嵌入式系统软件:介绍嵌入式编程的基本知识,如C语言编程、汇编语言编程等,依据课本第三章,让学生掌握嵌入式程序设计的方法。

4. 嵌入式系统设计与实践:结合项目案例,引导学生进行嵌入式系统电路设计、编程和调试,参考课本第四章,培养学生动手能力和实际问题解决能力。

5. 嵌入式系统应用:分析嵌入式系统在实际应用中的案例,如智能家居、物联网等,结合课本第五章,让学生了解嵌入式技术的广泛应用。

教学安排和进度:第一周:嵌入式系统概述第二周:嵌入式系统硬件第三周:嵌入式系统软件第四周:嵌入式系统设计与实践第五周:嵌入式系统应用教学内容与课本紧密关联,确保科学性和系统性。

嵌入式系统stm32课程设计

嵌入式系统stm32课程设计

嵌入式系统stm32课程设计一、课程目标知识目标:1. 理解嵌入式系统基本概念,掌握STM32的硬件结构和编程环境。

2. 学会使用C语言进行STM32程序设计,理解中断、定时器等基本原理和应用。

3. 掌握嵌入式系统外围设备的使用,如LED、按键、串口等,并能进行简单的系统集成。

技能目标:1. 能够运用所学知识,设计并实现具有实际功能的嵌入式系统项目。

2. 培养学生的动手实践能力,提高问题解决能力和程序调试技巧。

3. 增强团队协作能力,通过项目实践,学会分工合作和沟通交流。

情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣,激发学习热情,形成自主学习的习惯。

2. 树立正确的工程观念,注重实际应用,关注技术发展,提高创新意识。

3. 培养学生的责任心,使其认识到所学知识对社会和国家的贡献,树立远大理想。

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

学生特点:学生具备一定的电子技术基础和编程能力,对嵌入式系统有一定了解,但缺乏实际项目经验。

教学要求:结合课程特点和学生学习情况,注重理论与实践相结合,通过项目驱动,引导学生主动探究,提高解决问题的能力。

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

二、教学内容1. 嵌入式系统概述- 嵌入式系统的定义、特点与应用领域- STM32微控制器简介2. STM32硬件结构与编程环境- STM32的内部结构、外设接口- Keil MDK集成开发环境的使用3. STM32编程基础- C语言基础回顾- STM32程序框架与编译过程- 中断、定时器等基本原理及应用4. 外围设备使用- LED、按键、串口等外设的原理与编程- ADC、PWM等模拟外设的使用5. 嵌入式系统项目实践- 设计并实现具有实际功能的嵌入式系统项目- 项目分析与需求分析- 硬件电路设计与软件编程6. 课程总结与拓展- 课程知识梳理与巩固- 探讨嵌入式系统发展趋势与前沿技术教学内容安排与进度:第1-2周:嵌入式系统概述、STM32硬件结构与编程环境第3-4周:STM32编程基础第5-6周:外围设备使用第7-8周:嵌入式系统项目实践第9-10周:课程总结与拓展教学内容与教材关联性:本教学内容紧密结合教材,按照教材章节顺序进行教学,确保学生能够系统地掌握嵌入式系统STM32的知识点和技能。

嵌入式系统设计课设报告范本

嵌入式系统设计课设报告范本

嵌入式系统设计课设报告福州大学《嵌入式系统设计课设》报告书题目:基于28027的虚拟系统姓名:学号:学院:电气工程与自动化学院专业:电气工程与自动化年级:起讫日期:指导教师:目录1、课程设计目的 (1)2、课程设计题目和实现目标 (1)3、设计方案 (1)4、程序流程图 (1)5、程序代码 (1)6、调试总结 (1)7、设计心得体会 (1)8、参考文献 (1)1、课程设计目的《嵌入式系统设计课设》是与《嵌入式系统设计》课程相配套的实践教学环节。

《嵌入式系统设计》是一门实践性很强的专业基础课,经过课程设计,达到进一步理解嵌入式芯片的硬件、软件和综合应用方面的知识,培养实践能力和综合应用能力,开拓学习积极性、主动性,学会灵活运用已经学过的知识,并能不断接受新的知识。

培养大胆创造创造的设计理念,为今后就业打下良好的基础。

经过课程设计,掌握以下知识和技能:1.嵌入式应用系统的总体方案的设计;2.嵌入式应用系统的硬件设计;3.嵌入式应用系统的软件程序设计;4.嵌入式开发系统的应用和调试能力2、课程设计题目和实现目标课程设计题目:基于28027的虚拟系统任务要求:A、利用28027的片上温度传感器,检测当前温度;B、经过PWM过零中断作为温度检测A/D的触发,在PWM中断时完成温度采样和下一周期PWM占空比的修正;PWM频率为1K;C、利用按键作为温度给定;温度给定变化从10度到40度。

D、当检测温度超过给定时,PWM占空比增减小(减小幅度自己设定);当检测温度小于给定时,PWM占空比增大(增大幅度自己设定);E、把PWM输出接到捕获口,利用捕获口测量当前PWM的占空比;F、把E测量的PWM占空比经过串口通信发送给上位机;3、设计方案-----介绍系统实现方案和系统原理图①系统实现方案:任务A:利用ADC模块通道A5获取当前环境温度。

任务B:PWM过零触发ADC模块,在PWM中断服务函数中,将当前环境温度和按键设定温度进行比较,并按照任务D的要求修订PWM占空比。

嵌入式课程设计2812

嵌入式课程设计2812

嵌入式课程设计2812一、课程目标知识目标:1. 学生能理解嵌入式系统的基础知识,掌握2812芯片的基本原理和功能。

2. 学生能描述嵌入式系统的开发流程,了解编程语言在嵌入式系统中的应用。

3. 学生能解释嵌入式系统中常见的数据通信方式,并掌握I2C、SPI等通信协议的使用。

技能目标:1. 学生能运用所学知识,设计简单的嵌入式系统电路,并完成程序的编写与烧录。

2. 学生能通过实践操作,学会使用调试工具对嵌入式系统进行调试和故障排查。

3. 学生能运用团队协作能力,共同完成一个嵌入式项目的设计与实施。

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

2. 学生通过课程学习,认识到嵌入式技术在现实生活中的应用,增强社会责任感。

3. 学生在团队协作中,学会相互尊重、沟通与协作,培养良好的团队合作精神和竞争意识。

本课程针对高年级学生,结合嵌入式系统2812芯片的相关知识,注重理论与实践相结合。

通过本课程的学习,使学生不仅掌握嵌入式系统的基础知识,还能提高实际操作能力和团队协作能力,为将来的学习和工作打下坚实基础。

二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的定义、发展历程、应用领域,使学生了解嵌入式系统的重要性。

教材章节:第一章 嵌入式系统概述2. 2812芯片原理与功能:讲解2812芯片的基本结构、工作原理、性能特点,使学生掌握2812芯片的使用方法。

教材章节:第二章 2812芯片原理与功能3. 嵌入式编程语言:介绍嵌入式编程语言(如C语言)的基本语法、编程规范,分析其在嵌入式系统中的应用。

教材章节:第三章 嵌入式编程语言4. 嵌入式系统开发流程:讲解嵌入式系统开发的各个阶段,包括需求分析、硬件设计、软件编程、系统调试等。

教材章节:第四章 嵌入式系统开发流程5. 数据通信协议:介绍I2C、SPI等常见数据通信协议的工作原理、接口设计,使学生能够运用这些协议进行数据通信。

教材章节:第五章 数据通信协议6. 嵌入式系统实践:通过实际操作,教授学生如何设计嵌入式系统电路、编写程序、烧录与调试,提高学生的动手能力。

嵌入式系统课课程设计

嵌入式系统课课程设计

嵌入式系统课课程设计一、教学目标本课程的教学目标是让学生掌握嵌入式系统的基本概念、原理和应用,培养学生运用嵌入式系统解决实际问题的能力。

具体分为以下三个部分:1.知识目标:(1)了解嵌入式系统的基本概念、特点和分类;(2)掌握嵌入式处理器、外围设备及其接口技术;(3)熟悉嵌入式操作系统的基本原理和常用操作系统;(4)了解嵌入式系统的设计方法和开发流程。

2.技能目标:(1)能够使用嵌入式处理器和外围设备搭建简单的嵌入式系统;(2)能够编写嵌入式系统的基本程序,实现常见的功能;(3)具备嵌入式操作系统的基本编程能力;(4)能够运用嵌入式系统解决实际问题,开展创新设计。

3.情感态度价值观目标:(1)培养学生对嵌入式系统的兴趣,激发学习热情;(2)培养学生团队合作精神,提高沟通与协作能力;(3)培养学生创新意识,培育勇于探索的精神;(4)培养学生责任感,强化安全意识。

二、教学内容本课程的教学内容主要包括以下几个部分:1.嵌入式系统概述:嵌入式系统的概念、特点、分类和应用领域;2.嵌入式处理器:嵌入式处理器的结构、工作原理和性能评估;3.嵌入式外围设备:存储器、输入输出接口、定时器等;4.嵌入式操作系统:嵌入式操作系统的原理、结构和常用操作系统;5.嵌入式系统设计方法:需求分析、系统架构设计、软件设计等;6.嵌入式系统开发流程:项目立项、系统设计、编程调试、测试等;7.嵌入式系统应用案例:常见嵌入式系统的应用案例分析。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:通过讲解嵌入式系统的基本概念、原理和应用,使学生掌握相关知识;2.讨论法:学生针对嵌入式系统的某个主题进行讨论,提高学生的思考和表达能力;3.案例分析法:分析实际案例,使学生了解嵌入式系统在实际应用中的工作原理和设计方法;4.实验法:让学生动手搭建嵌入式系统,亲身体验嵌入式程序的编写和调试过程。

四、教学资源本课程的教学资源包括:1.教材:选用国内权威、实用的嵌入式系统教材;2.参考书:提供相关的嵌入式系统著作,供学生拓展阅读;3.多媒体资料:制作课件、教学视频等,丰富教学手段;4.实验设备:提供嵌入式系统实验平台,让学生动手实践。

嵌入式课程设计实验分析

嵌入式课程设计实验分析

嵌入式课程设计实验分析一、教学目标本课程的教学目标是使学生掌握嵌入式系统的基本原理和设计方法,能够独立完成简单的嵌入式系统设计任务。

具体来说,知识目标包括:了解嵌入式系统的概念、组成和分类;掌握嵌入式处理器的基本原理和选用方法;熟悉嵌入式操作系统的基本原理和应用。

技能目标包括:能够使用嵌入式处理器和开发工具进行嵌入式系统的设计和开发;能够运用嵌入式操作系统进行应用程序的开发。

情感态度价值观目标包括:培养学生的创新意识和团队合作精神,提高学生解决实际问题的能力。

二、教学内容根据课程目标,教学内容主要包括嵌入式系统的概念、组成和分类,嵌入式处理器的基本原理和选用方法,嵌入式操作系统的基本原理和应用。

具体安排如下:1.嵌入式系统的概念、组成和分类:介绍嵌入式系统的定义、特点和应用领域,分析嵌入式系统的组成和分类。

2.嵌入式处理器的基本原理和选用方法:介绍嵌入式处理器的基本原理,包括指令集、架构和工作原理等,讲解如何根据应用需求选用合适的嵌入式处理器。

3.嵌入式操作系统的基本原理和应用:介绍嵌入式操作系统的基本原理,包括进程管理、内存管理、文件系统等,讲解嵌入式操作系统在实际应用中的案例。

三、教学方法为了实现课程目标,我们将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过讲解嵌入式系统的概念、原理和应用,使学生掌握基本知识。

2.讨论法:学生针对嵌入式系统设计中的实际问题进行讨论,培养学生的创新意识和团队合作精神。

3.案例分析法:分析嵌入式操作系统在实际应用中的案例,使学生了解嵌入式操作系统的基本原理和应用。

4.实验法:引导学生动手实践,完成嵌入式系统的设计和开发,提高学生的实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用国内外优秀的嵌入式系统教材,为学生提供系统的学习资料。

2.参考书:推荐学生阅读嵌入式系统相关的参考书籍,丰富学生的知识体系。

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

嵌入式系统设计报告系(院):计算机科学学院专业班级:计科11201 *名:**学号: ********* 指导教师:**设计时间:2015.6.22 - 2015.7.3设计地点:4教硬件实验室目录一、课程设计的目的 (2)1.1设计目的 (2)1.2任务介绍 (2)二、实验及开发环境 (3)2.1 实验室环境 (3)2.2 个人计算机课后开发环境 (3)三、总体设计 (3)四、详细设计 (4)4.1 Windows CE系统编译与安装 (4)4.2 编程驱动LED和数码管显示正确的信息 (7)4.3 编程驱动电机运转 (8)4.4 个人设计小程序 (10)五、课程设计小结 (17)5.1 设计小结 (17)一、课程设计的目的1.1设计目的本次课程设计的目的是了解嵌入式系统、嵌入式操作系统,掌握基于嵌入式系统的应用开发基本知识。

了解嵌入式操作系统Windows CE的特点,Windows CE的主要模块及各自的功能。

掌握嵌入式操作系统Windows CE 的配置、编译、移植方法。

了解Visual Studio .NET开发环境,掌握基于Windows CE平台的应用程序设计方法。

1.2任务介绍以下任务需基于实验室的XSBase270开发平台完成1.嵌入式操作系统Windows CE平台的搭建使用Platform Builder编译出自己的Windows CE 5.0操作系统,然后根据实验提供的EBOOT引导程序将编译出的Windows CE 5.0系统安装(刷入)到实验平台。

2.IO接口控制-七段数码管的LED显示控制程序了解Windows CE下I/O访问机制的原理。

了解LED和七段数码管的显示和控制原理。

掌握Windows CE下访问硬件I/O寄存器的方法。

3.IO接口控制-点击控制设计了解Window CE下I/O访问机制和原理。

掌握Windows CE下访问硬件I/O寄存器的方法,以及使用Visual Studio .NET对硬件设备编程的一般方法。

4.编写实用小程序并在指定的Windows CE平台上运行调试(选做)这一部分我选择的是在Windows CE平台上使用Visual Studio 2005基于.NET利用C#语言编写一个简易计算器小程序。

从而体验对嵌入式设备编程与普通PC编程的区别。

二、实验及开发环境2.1 实验室环境硬件环境:PC机:X86构架Pentium D处理器、1G内存开发板:XSBase270开发平台、ARM处理器、PXA270软件环境:PC机:Windows XP SP3、Visual Studio 2005 SP1、Platform Builder 6.0 for Windows CE 5.0、jflashmm2.2 个人计算机课后开发环境软件环境:Windows 8.1、Visual Studio 2005 + SP1 Package、Windows CE SDK、Windows CE SDK .NET 、DevEmulator for Windows CE 5.0 由于个人开发环境缺乏外部硬件支持,所以采用模拟器仿真环境。

三、总体设计本次课程设计的第一个任务也是后续设计的前提条件,第一个任务要求在实验平台上安装Windows CE 5.0嵌入式操作系统,大致步骤如下,首先像平时做实验一样将EBOOT引导程序EBOOT.nb0烧录到实验平台,此时PC 机端使用“终端”工具与装有EBOOT的实验平台进行通讯,然后在终端上控制实验平台设置其网络环境,使得实验平台与PC机能够联网;然后,使用Platform Builder编译出指定的Windows CE 5.0系统镜像nk.bin文件,并且通过连通的网络将nk.bin下载到实验平台;重启实验平台,正常加载Windows CE操作系统,则第一步正常完成。

第二步,编写I/O接口控制的程序用来控制LED和七段数码管正常显示,编译成功并且下载到目标机(实验平台)成功正确运行则完成第二步。

第三步,编写I/O接口控制的程序用来控制实验平台上的两个电机正常运转,编译成功并且下载到目标机(实验平台)成功正确运行则完成第三步。

最后一步,自己编写一个小程序在目标机上成功运行或者是使用自己以前编写的程序移植到目标机上成功运行,则完成任务。

四、详细设计4.1 Windows CE系统编译与安装本次课设所用到的Windows CE 5.0操作系统是一中嵌入式操作系统,该系统是由微软提供的闭源商业软件,但是它将各功能模块编译为静态库文件(lib),用户可以通过配置编译选项对系统做裁剪,从而得到用户所需要的Windows CE系统。

在Platform Builder中新建系统,有配置选项如下:上面是询问系统平台,由于我们用的是XBase PXA270,选择最后一项,下一步;后续步骤中将会出现系统的类型,此时选择Internet Application,这是由于我们的后续任务中需要使用到网络连接进行同步。

待所有选项配置完毕后,执行Compiler & Sysgen操作进行系统编译,并且生成系统镜像bk.bin。

接下来,找到实验室提供的系统引导程序EBOOT.nb0,这个程序能够提供系统的引导以及未安装系统时通过网络下载并安装系统的功能。

使用下载工具jflashmm.exe将EBOOT.nb0下载到目标机,注意,下载过程中将会有询问“是否为了节省时间而不编程指定区域”,初次下载建议选择否(N),将目标机中的原有内容全部覆盖。

整个下载有两个过程,编程(Programming)过程和验证(Verify)过程,两个过程进度正确完成并且最后没有任何的报错表示下载成功,若有报错建议完全重新下载,不要为了偷懒而就此略过,因为即使后面终端能够正常通讯也无法保证后续步骤能够正确进行。

下一步是启动Windows XP系统附件中的“终端”程序,将波特率设置为38400,重启目标机,终端与目标机通讯成功,如下图:待其询问是“继续载入存在的镜像还是取消”,此时按空格键选择取消,接下来EBOOT会自动进入主菜单,选择0,设置IP为192.168.0.5(只需要设置前3段位192.168.0保证在同一网段即可),然后选择1,设置子网掩码(Subnet mask)为255.255.255.0。

然后,设置PC机的IP为192.168.0.2,与目标机同一网段,以及子网掩码255.255.255.0,与目标机一致。

最后输入D,进入等待镜像下载状态。

接下来设置PC机上的Platform Builder的Connectivity Option设置如下:点击“应用”(Apply),是设置生效,关闭,在菜单栏Target选择Attach,开始下载镜像,镜像通过网络传输,如下:此时,终端显示如下:下载完毕后不要立即重启目标机,等待终端显示的三个步骤结束后才能重启,中断点线进度条显示擦除(FlashErase)过程,写入过程(Writting),验证过程(Verify),三个过程结束,目标机会自动重启,重启后会听到Windows CE的开机声音,以及屏幕上显示Windows CE 的界面,至此,Windows CE 5.0系统安装成功。

第一个任务完成。

4.2 编程驱动LED和数码管显示正确的信息实验室提供了参考代码,此处程序设计的关键部分是对硬件设备的控制,即I/O 控制。

各端口设置代码如下:#define LED_BASEADDR1 0x10200000#define LED_BASEADDR2 0x10300000#define LED_BASEADDR3 0x10400000#define pLightIoBaseAddress 0x10500000BYTE NumData[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};设定LED:void CLedDlg::SetLedValue(unsigned int indata){USHORT Data;UINT buf;buf=indata;buf=buf%1000000;Data=NumData[buf/100000];buf=buf%100000;Data|=NumData[buf/10000]<<8;WRITE_PORT_USHORT(v_pLEDBaseAddr1,~(Data|BIT7|BIT15));buf=buf%10000;Data=NumData[buf/1000];buf=buf%1000;Data|=NumData[buf/100]<<8;WRITE_PORT_USHORT(v_pLEDBaseAddr2,~(Data|BIT7|BIT15));buf=buf%100;Data=NumData[buf/10];buf=buf%10;Data|=NumData[buf]<<8;WRITE_PORT_USHORT(v_pLEDBaseAddr3,~(Data|BIT7|BIT15));}定时器:void CLedDlg::OnTimer(UINT_PTR nIDEvent){switch(nIDEvent){case 1:count++;if(count<8){if(m_LeftShift.GetCheck())outdata=outdata>>1;elseoutdata=outdata<<1;}else{count=0;if(m_LeftShift.GetCheck())outdata=0x80;elseoutdata=0x01;}*pLightReg=~outdata;break;case 2:m_LedValue++;SetLedValue(m_LedValue);UpdateData(FALSE);break;} // TODO: Add your message handler code here and/or call defaultCDialog::OnTimer(nIDEvent);}4.3 编程驱动电机运转实验室提供了参考代码,程序的关键部分是对硬件设备的控制。

步进参数及端口设置:volatile GPIO_REGS *v_pGPIOReg = NULL;#define StepBaseTime 2500#define GPIO_81_PullHigh() v_pGPIOReg->GPSR_z|=GPIO_81 //用于直流电机#define GPIO_81_PullLow() v_pGPIOReg->GPCR_z|=GPIO_81#define GPIO_82_PullHigh() v_pGPIOReg->GPSR_z|=GPIO_82 //用于直流电机#define GPIO_82_PullLow() v_pGPIOReg->GPCR_z|=GPIO_82#define GPIO_83_PullHigh() v_pGPIOReg->GPSR_z|=GPIO_83 //用于产生步进电机脉冲#define GPIO_83_PullLow() v_pGPIOReg->GPCR_z|=GPIO_83#define GPIO_84_PullHigh() v_pGPIOReg->GPSR_z|=GPIO_84 //用于控制步进电机方向#define GPIO_84_PullLow() v_pGPIOReg->GPCR_z|=GPIO_84#define GPIO_53_PullHigh() v_pGPIOReg->GPSR_y|=GPIO_53//用于步进电机输出使能#define GPIO_53_PullLow() v_pGPIOReg->GPCR_y|=GPIO_53步进电机运行线程:UINT StepMotorThread(LPVOID lpParam) //步进电机运行线程{CMotorDlg *pDlg=(CMotorDlg*)lpParam;CWait waitTime;WaitForSingleObject(pDlg->StepThreadBegin.m_hObject,INFINITE);GPIO_53_PullLow();while(1){if(pDlg->m_StepMotorPositive.GetCheck())GPIO_84_PullLow();elseGPIO_84_PullHigh();if(!pDlg->m_StepContinue.GetCheck()){pDlg->m_StepRunTime--;if(pDlg->m_StepRunTime <=0)break;}int result=::WaitForSingleObject(pDlg->StepThreadEnd.m_hObject,0);if(result==WAIT_OBJECT_0)break;GPIO_83_PullHigh();Wait(pDlg->g_HighTimeA);GPIO_83_PullLow();Wait(pDlg->g_LowTimeA);}GPIO_53_PullHigh();return 0;}直流电机运行线程:UINT DCMotorThread(LPVOID param)//直流电机运行线程{CMotorDlg *pDlg=(CMotorDlg*)param;::WaitForSingleObject(pDlg->DCThreadBegin.m_hObject ,INFINITE);while(1){int result=::WaitForSingleObject(pDlg->DCThreadEnd.m_hObject ,0);if(result==WAIT_OBJECT_0){GPIO_82_PullHigh();GPIO_81_PullHigh();break;}if(pDlg->m_DCMotorPositive.GetCheck()){GPIO_82_PullLow();GPIO_81_PullHigh();}else{GPIO_81_PullLow();GPIO_82_PullHigh();}if(!pDlg->m_DCContinue.GetCheck()){Sleep(pDlg->m_DCRunTime);GPIO_82_PullHigh();GPIO_81_PullHigh();break;}}return 0;}4.4 个人设计小程序小程序介绍:本次课程设计中的小程序,我们组设计的是一个Windows CE平台上的简易计算器,Windows CE 5.0中运行的界面如下:上图是在Windows CE 5.0模拟器中运行的结果,在实体机上的Windows CE中运行的结果一样,都能够正常运行。

相关文档
最新文档