版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目2彩灯控制电路学习目标通过本项目的学习,能够熟练编程平台CodeWarriorr软件的开发环境;能够阐述文件菜单、编辑菜单、视图菜单、查找菜单、工程菜单、调试菜单、窗口菜单和帮助菜单中各个选项的作用;能够理解工程的含义并熟练掌握创建工程和管理工程;熟悉并能识别窗口工程下的各个图标的含义;能够熟悉阐述编译器及链接器的概念及用途。能够根据上述知识创建工程、编辑源文件并进行程序调试。学习要求能够熟练编程平台CodeWarriorr软件的开发环境能够阐述文件菜单、编辑菜单、视图菜单、查找菜单、工程菜单、调试菜单、窗口菜单和帮助菜单中各个选项的作用能够理解工程的含义并熟练掌握创建工程和管理工程熟悉并能识别窗口工程下的各个图标的含义能够熟悉阐述编译器及链接器的概念及用途能够根据上述知识创建工程、编辑源文件并进行程序调试项目导入彩灯阵列具有很好的装饰效果,广泛应用于广告宣传、店铺装饰、舞台灯光等场合。本实训内容是采用单片机控制彩灯阵列,实现多种动态变化效果。具体要求:有单片机控制16个彩灯阵列,实现彩灯的左移、右移、从左向右逐个点亮不熄灭、从右向左逐个熄灭等多种变化。如图1-8所示。
项目分析1.用最少的元器件构成一个单片机的最小应用系统。2.LED灯点亮和熄灭是通过控制其导通和截止来实现的,而单片机的通用输入输出(I/O)端口有足够的电流驱动LED灯亮灭的能力,因此,图1-8所示的电路是采用端口A和端口D来驱动LED灯。实现LED灯的多种动态变化效果,需要设计单片机的最小应用系统硬件(硬件设计已在项目1介绍)和控制程序软件,为此我们应先学习单片机集成开发环境(IDE)------CodeWarriorr软件包。(编写程序所需的相关寻址方式和汇编指令将在项目3介绍。)相关知识
2.1编程平台CodeWarrior的开发环境2.2工程和文件
2.3编译器2.4链接器
2.5综合应用实例2.1编程平台CodeWarrior的开发环境当用户启动CodeWarrior软件时,系统将进入开发界面,如图2-1所示。整个界面是由标题栏、菜单栏、工具栏、工作区组成2.1编程平台CodeWarrior的开发环境2.1编程平台CodeWarrior的开发环境2.1编程平台CodeWarrior的开发环境2.1.1菜单栏菜单栏是由文件菜单、编辑菜单、视图菜单、查找菜单、工程菜单、调试菜单、窗口菜单和帮助菜单组成。如图2-3所示。下面分别介绍各个菜单的功能。2.1编程平台CodeWarrior的开发环境2.1.2工具栏如图2-3所示,工具栏的各个图标的解释依次如下:新建文本文件、新建工程、找开文件、保存文件、撤销、重做、剪切、复制、粘贴、查找、查找下一个、替代、编译、Make、停止构建、调试、错误、优选项、标准设置、切换至外部编辑器。2.2工程和文件
为了使用CodeWarrior来创建一个应用程序,必须创建许多文件来构成一个工程(Project)。该工程的设置和所有这些文件的指针都被存放在一个工程文件中。这个工程文件保存了所有文件相互依存的关系,并且可将它们组合成为一个可用的应用程序。而这些设置包括编译和链接设置、源文件、库文件以及它们之间产生相互关系。工程窗口依次显示了这些程序和该程序所包含的文件的信息,并且通过点击就可以轻松地修改这个工程。2.2工程和文件2.2.1使用Startup(启动)对话框(1)单击CreateNewProject
按钮,打开新工程向导。如图2-12所示。(2)选择DeviceandConnection
对话框中正在使用的芯片系列。如图2-13所示。(3)单击Next。(4)在ProjectName
区域内输入工程名称,并为新工程设置文件路径Location。(5)单击Next,并继续为工程选择相应的选项。(6)在最后一个窗口中,单击Finish来完成创建一个新的工程。2.2工程和文件2.2工程和文件使用Startup对话框来加载实例工程(1)单击LoadExampleProject,打开实例工程向导。如图2-12所示。(2)选择实例工程。(3)在
ProjectName区域内输入工程名称,并使用Set按钮来浏览工程的Location。(4)单击CreateProject。应用软件将会创建一个带有源文件的实例工程,它包括文件、库文件和连接文件。2.2工程和文件2.2.2管理工程使用以下任务来管理工程:•创建一个新工程;•打开现有工程;•保存工程;•关闭工程;•检查已打开的工程;•打印已打开的工程。2.2工程和文件2.2.3窗口工程Project窗口在计算机程序中的作用是组织文件。使用这一窗口控制每一文件的各个属性。窗口工程的窗口包含以下几项:·Project窗口工具栏;·制表符;·栏目。图2-15显示一个样例Project窗口。表2-8说明了Project窗口中的项目。2.2工程和文件2.2工程和文件2.2工程和文件2.3编译器2.3.1编译器的概述源程序输入完之后的工作就是要编译它,编译就是计算机把你所写(通常是用C或汇编等高级语言编写的)的源代码进行分解、分析,然后转化为机器语言。编译器就是将这些“高级语言”翻译为“机器语言(低级语言)”的程序。而机器语言是一种计算机能够理解的语言,它的优点就是运行速度比其它语言快。一个编译器的主要工作流程:源代码(sourcecode)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标代码(objectcode)→链接器(Linker)→可执行程序(executables)。在正式开始编译源代码之前,CodeWarrior还要对其做预处理。预处理就是要把这些宏转换为它们实际表示的代码,此外还要替换一些定义符号(比如#defineTHREE3)为实际的源代码。在这个阶段,是对C或C++代码进行编译前的一些准备工作。在编写程序的过程中,往往会有很多相同的代码输入,把这些相同的代码用宏(macros)来代替,这样,在用到这些代码时,输入宏就可以了。例如,可以使用APPNAME作为一个宏,来表示“MetrowerksCodeWarrior”,以此来减少输入的工作量。2.3编译器一个编译器的主要工作流程:源代码(sourcecode)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标代码(objectcode)→链接器(Linker)→可执行程序(executables)。在正式开始编译源代码之前,CodeWarrior还要对其做预处理。预处理就是要把这些宏转换为它们实际表示的代码,此外还要替换一些定义符号(比如#defineTHREE3)为实际的源代码。在这个阶段,是对C或C++代码进行编译前的一些准备工作。在编写程序的过程中,往往会有很多相同的代码输入,把这些相同的代码用宏(macros)来代替,这样,在用到这些代码时,输入宏就可以了。例如,可以使用APPNAME作为一个宏,来表示“MetrowerksCodeWarrior”,以此来减少输入的工作量。2.3编译器2.3.2编译工程编译工程的作用是处理由程序组成的源文件和生成目标代码,并在源文件中标记语法错误。下面具体介绍编译工程的步骤:·编译源文件;·设置构建顺序和连接顺序;·更新工程或其文件;·为工程创建可执行文件;·为工程运行被创建的应用程序;·移除目标代码2.4链接器当程序编译完毕以后,接着就要使用链接器来把程序的各个文件连接起来。链接器(Linker)是一个程序,将一个或多个由编译器或汇编器生成的目标文件外加库链接为一个可执行文件。目标文件是包括机器码和链接器可用信息的程序模块。简单的讲,链接器的工作就是解析未定义的符号引用,将目标文件中的占位符替换为符号的地址。为了构造可执行文件,2.4链接器链接器必须完成两个主要的任务:
1、符号解析(symbolresolution)。符号解析的目的是将每个符号引用和相应的一个符号定义联系起来。
2、重定位(relocation)。编译器和汇编器生成从地址0开始的代码和数据。链接器通过把每个符号定义和一个存储器位置联系起来,然后,修改所有对这些符号的引用,并使他们指向这个存储器位置,从而重定位这些数据。2.5综合应用实例
2.5.1新建工程(1)执行文件(File)菜单的新建工程(NewProject)选项。(2)在弹出的新建工程窗口(MicrocontrollersNewProject)中选择单片机的型号和链接工具。(如图2-16)(3)点击下一步,在弹出的对话框中选择要使用的编程语言,如汇编语言、C语言、C++语言等,输入新建工程的名称和保存的路径。(如图2-17)(4)单击下一步,在弹出的对话框中把已建立的文件加入到工程中去,先点击要加入的文件,再按增加(Add)按钮即可。(5)单击下一步,在弹出的对话框中选择开发选项,None选项为建立空白文件,DeviceInitialization选项为建立带有初始启动代码的文件,ProcessorExpert选项为专业处理文件。(6)单击下一步,在弹出的对话框中可选择启动代码的优化和内存的优化。(7)单击下一步,在弹出的对话框中可选择是否使用PC-Lint链接器,按完成即可新建工程。2.5综合应用实例2.5综合应用实例2.5综合应用实例2.5.2源程序的编写在文件标签页中的Sources组中双击Main.c文件则可打开源程序的工作区,在此工作区内可以编写应用程序。例如:2.5综合应用实例#include<hidef.h> #include"derivative.h"#include"DEMO908GZ60.h" /*//------------------------------------------//PeripheralInitializationRoutine//------------------------------------------*/voidPeriphInit(void){DDRF=0xFF; /*PortF[0..7]equalsoutput*/LED1=OFF; /*TurnOffLEDs*/LED2=OFF;LED3=OFF;LED4=OFF;LED5=OFF;LED6=OFF;LED7=OFF;LED8=OFF;
DDRC_DDRC5=0; /*PortC_5andC_6equalsinput*/DDRC_DDRC6=0;PTC_PTC5=0; /*ClearsPortC_5andC_6*/PTC_PTC6=0;}/*//-------------------------------------------2.5综合应用实例//Main//-------------------------------------------*/voidmain(void){ PeriphInit(); /*Microcontrollerinitialization*/
for(;;){
__RESET_WATCHDOG();/*Kicksthedog*/ LED1=SW1; /*TurnsonoroffLED1*/ LED2=SW2; /*TurnsonoroffLED2*/
}/*Loopforever*/
}/*endmain(void)*/2.5综合应用实例2.5.3源程序的编译步骤:单击工程菜单(Project)中的编译选项(Compile)即可对源程序进行编译。2.5综合应用实例2.5.4源程序的连接步骤:单击工程菜单(Project)中的链接选项(Make)即可对源程序和各个库文件进行链接。2.5综合应用实例2.5.5源程序的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拍摄人员合同范本
- 广告季度合同范本
- 2024年度租赁合同标的复杂描述
- 制鞋业生产成本控制与效益提升考核试卷
- 出国职业规划服务2024年度合同内容
- 塔吊操作合同范本
- 单位解除职工劳动合同
- 长沙检测合同范本
- 机械安装合同范本
- 塑料制品的应用于化学工程考核试卷
- 微电子技术专业教学资源库申报书
- JTG-QB-003-2003公路桥涵标准图钢筋混凝土盖板涵
- 园艺植物组织培养-形考作业3-国开-参考资料
- 荷花淀公开课省公开课一等奖全国示范课微课金奖课件
- 环境艺术设计发展现状分析报告
- 企业微信指导手册管理员版
- 2024年公路交通运输技能考试-公交车笔试参考题库含答案
- 咯血介入治疗护理查房
- 监控维保服务方案
- 乳腺癌一病一品
- 酒精戒断综合症的护理
评论
0/150
提交评论