实验一MPLAB IDE集成开发环境
一、实验目的
1.熟悉MPLAB IDE集成开发环境,学习MPLAB软件的使用。
2.熟悉汇编语言的程序结构及使用方法。
3.熟悉MPLAB IDE的调试方法。
二、实验仪器设备
MPLAB IDE8.0 PC机APP009实验开发板ICD2调试器
三、实验原理
MPLAB 集成开发环境(IDE)是综合的编辑器、项目管理器和设计平台,适用于使用Microchip 的PIC系列单片机和数字信号控制器进行嵌入式设计的应用开发。用户界面上的某些部分可能会在将来的版本中有所变化,当新的器件推出时,新的功能也会添加进来。
MPLAB IDE 是适用于PIC系列单片机和dsPIC数字信号控制器,基于Windows操作系统的集成开发环境。MPLAB IDE 提供以下功能:
(1)使用内置编辑器创建和编辑源代码。
(2)汇编、编译和链接源代码。
(3)通过使用内置模拟器观察程序流程调试可执行逻辑;或者使用MPLABICE 2000和MPLAB ICE4000 仿真器或MPLABICD 2 在线调试器实时调试可执行逻辑。
(4)用模拟器或仿真器测量时间。
(5)在观察窗口中查看变量。
(6)使用MPLAB ICD 2、PICSTART? Plus 或PRO MATE? II 器件编程器烧写固件。(7)使用MPLAB IDE 丰富的在线帮助快速找出问题的答案。
四、实验内容
创建项目与调试,MPLAB IDE的入门使用学习。汇编语言的程序结构及使用方法的学习。
五、实验操作步骤
1.运行MPLAB IDE
要启动IDE,双击桌面上的图标,或者选择Start>Programs>Microchip MPLABIDE>MPLAB IDE。屏幕上首先会显示MPLAB IDE 的商标图案,然后出现MPLAB IDE的主窗口。
为了生成可由目标PIC 单片机或dsPIC数字信号控制器执行的代码,需要将源文件放入同一个项目中,然后用所选择的语言工具(汇编器、编译器和链接器等)编译代码。在MPLAB IDE 中,项目管理器负责管理这一过程。
第一步是写一个源代码文件。然后,创建一个项目,将源代码加入此项目,并且为此项目指定语言工具。最后,编译和测试代码。
2.编写源代码
首先使用MPLAB IDE 编辑器为应用编写代码。选择File>New,在工作区中打开一个空
白的编辑窗口。输入汇编代码。把文件保存在一个名为examples 目录下,取名为shiyan1.s 。
在编写汇编程序时,可以使用汇编源程序的模板文件,把模板源文件复制到自己创建的工程文件夹下,重新命名。打开重新命名后的模板文件,在里面编写自己的代码,把模板中不需要的代码和内容可以用(;)号进行屏蔽(例如中断程序的屏蔽)。模板源文件在
C:\Program Files\Microchip\MPLAB ASM30 Suite\Support\templates\assembly文件夹内,使用tmp6010.s模板文件。要对模板文件进行修改,以适应自己的工程。
.text ;Start of Code section
__reset:
; MOV #__SP_init, W15 ;Initalize the Stack Pointer
; MOV #__SPLIM_init, W0 ;Initialize the Stack Pointer Limit Register
; MOV W0, SPLIM
; NOP ;Add NOP to follow SPLIM initialization
; CALL _wreg_init ;Call _wreg_init subroutine
MOV.B #0xf0, W0
MOV #0x1000, W0
MOV #0x0001, W6
MOV.B W0, W1
; CLR W6
SUB.B W0, #0x10, W1
ADD.B W0, W1, W2
MOV #0x30, W0
MOV #0x1000, W0
MOV W0, W1
MOV #0x5A5A, W0 ; 将0x5A5A 装载至W0
MOV #0x3636, W1 ; 将0x3636 装载至W1
PUSH W0 ; 将W0 中内容压入TOS
PUSH W1 ; 将W1 中内容压入TOS
POP W3 ; 将W3 中内容压入TOS
;<
done:
BRA done ;Place holder for last line of executed code
3.使用项目向导创建工程
(1)选择Start>Programs>Microchip MPLABIDE>MPLAB IDE。打开MPLAB IDE,然后出现MPLAB IDE的主窗口。
(2)选择Project>Project Wizard来创建新项目。将出现一个欢迎页面。点击Next>继续。
(3)在“Step One:Select a Device”中,通过下拉菜单选择dsPIC304011 芯片,点击Next>继续。
(4)在“Step Two:Select a language toolsuite”中,选择“Microchip ASM30 Toolsuite”作为“Active Toolsuite”。然后点击工具包中(在“Toolsuite Contents”之下)的每个语言工具并检查或设置与其相关的可执行文件的路径(图1-1)。
图1-1 项目向导— 选择语言工具
MPLAB ASM30 汇编器应指向“LOCATION”下的汇编程序可执行文件pic30-as.exe。如果没有这个文件,应键入或浏览到可执行文件的位置,通常默认为:C:\Program Files\MPLAB IDE\dsPIC_Tools\Bin\pic30-as.exe。
MPLAB C30 编译器应指向“LOCATION”下的编译程序可执行文件pic30-gcc.exe。如果没有这个文件,应键入或浏览到可执行文件的位置,通常默认为:C:\pic30_tools\bin\pic30-gcc.exe。
MPLAB LINK30 目标链接器应指向“LOCATION”下的链接程序可执行文件pic30-ld.exe。如果没有这个文件,应键入或浏览到可执行文件的位置,通常默认为:C:\Program Files\MPLAB IDE\dsPIC_Tools\Bin\pic30-ld.exe。
点击Next>继续。
(5)在“Step Three:Name your project”中,键入项目名shiyan1 并点击BROWSE 进入examples 文件夹。然后点击NEXT > 继续。
图1-2 项目向导— 项目名称和目录
(6)在“Step Four:Add any existing files to your project”中,将添加两个文件到项目中。
首先,选择先前在工程文件夹中生成的源文件shiyan1.s。点击ADD>> 将它添加到项目要使用的文件列表中(出现在右边)。
图1-3 项目向导— 添加汇编源文件
其次,必须添加链接描述文件,告知链接器关于dsPIC30F4011 的存储器构成。链接描述文件位于MPLAB ASM30 安装目录下的\support\gld 文件夹中。向下找到p30f4011.gld 文件,选中它并点击ADD>> 将它添加到项目中。点击Next> 继续。
图1-4 项目向导— 添加链接器脚本
(7)在Summary (摘要)窗口中重新检查“项目参数”,验证芯片、工具包和项目文件的位置是否正确。如果想修改某一项,可以点击Back 返回上一个对话框。点击Finish 生成新的项目和工作区。
4.使用项目窗口
项目窗口在MPLAB IDE 的工作区内。工作区的文件名应出现在项目窗口顶部的标题栏中,shiyan1.mcw,项目文件名shiyan1.mcp 作为项目的顶部“节点”。
图1-5 项目窗口
在项目窗口的文件夹图标上点右键,可以把头文件、库文件等添加到工程中,以便编译时调用。头文件、库文件等一般位于安装的编译器安装目录下的\support文件夹中,找到对应的文件,加入到工程中。
5.设置编译选项
(1)选择Project>Build Options 并点击“Project”显示整个项目的Build Options(编译选项)对话框。
(2)选择General (常规)选项卡。在本教程中,不需要为“Include Path”添加路径,但对于你自己将来的项目可能需要添加路径。“Library Path”必须是MPLAB ASM30 安装目录下的\lib 目录。在特定工具的选项卡中可以对传递到dsPIC 工具的命令行选项进行设置。
图1-6 编译选项对话框
(3)择MPLAB LINK30 选项卡。MPLAB LINK30 有三个选项对话框:General、Diagnostics (诊断)和Symbols & Output (符号和输出)。这三个选项对话框可在“Categories”下拉菜单中选择,出现在对话框中的内容也将相应发生改变。为了运行本指南后面的教程3,需要在General 类中设置一个堆。堆大小设置为512。
图1-7 链接器编译选项— GENERAL
(4)选择MPLAB ASM30选项卡。MPLAB ASM30 有两个选项对话框:General 和Diagnostics。这两个选项对话框可在“Categories”下拉菜单中选择,出现在对话框中的内容也将相应发生改变。在这个例子中,将保持MPLAB ASM30 默认的命令行选项不变。
6.编译项目
选择Project>Build All对项目进行编译、汇编和链接。如果有任何错误或警告消息,会显示在输出窗口中。于本例来说,Output (输出)窗口不应显示错误消息,而应显示表明项目“BUILD SUCCEEDED”(编译成功)的消息。如果有错误,应检查源文件的内容与例中shiyan1.s文件的内容是否一致。
图1-9 编译Output窗口
如果在项目编译后出现错误,可双击显示错误消息的行直接进入导致该错误的源代码行。如果您使用的是例子中的代码,那么最常见的错误就是拼写错误、漏掉了分号或大括号不匹配等。
7.用MPLAB SIM软件模拟器进行调试
要调试应用代码,需要调试工具的帮助。我们使用MPLAB SIM 软件模拟器进行调试。在这个模拟器中可以在源代码中设置断点,并可以在Watch (观察)窗中对变量的值进行观察。
(1)通过选择Debugger>Select Tool>MPLAB SIM将MPLAB SIM 软件模拟器作为调试工具。
(2)通过双击项目窗口的项目树中的文件名(shiyan1.s)来打开源文件。在源文件中,将光标移动到下面的行上:MOV #0x30, W0;然后通过鼠标右键选择“Set Breakpoint”(设置断点)。
图1-10 设置断点
在源代码窗口左边的空白处出现的红色符号表明断点已经设置并激活。
(3)选择View>Watch打开Watch 窗口。从Add SFR旁边的下拉扩展菜单中选择特殊功能寄存器进行观察。或点击Add Symbol 旁边的下拉扩展菜单中选择符号或变量进行观察。(4)点击工具栏中的RUN运行程序。程序将在执行设置了断点的语句之前停下。源代码窗口左边空白处的绿色箭头指向下一个要执行的语句。
图1-12 添加观察变量
图1-13 运行到断点
(5)点击RUN继续运行程序。观察Watch窗口的寄存器的值。
(6)要单步执行源代码,即每次执行一条语句,可以使用工具栏中的Step Into按钮。每执行一个语句,源代码窗口左边空白处的绿色箭头都会指向下一个将执行的语句。
(7)将光标移动到设置了断点的行上,用鼠标右键选择“Remove Breakpoint (删除断点)”。现在按Run 按钮。状态栏的左下方将出现“Running...”消息,在它的旁边,一个移动条表明程序正在运行。Run 图标右边的Step 图标将变成灰色。如果调试器菜单是下拉的,在列表中的Step 选项也将灰掉。在运行模式下,这些操作都是禁止的。要中断运行的程序,使用工具栏中的Halt按钮。一旦程序运行停止,Step 图标将不再是灰色的。
8.生成映射文件
映射文件可提供在调试时有用的附加信息,如存储器分配的详细信息。这个文件可通过设置合适的链接器编译选项来生成。
(1)选择Project>Build Options>Project,然后点击MPLAB LINK30选项卡。
(2)从“Categories”中选择“Diagnostics”并勾选“Generate map file”复选框。
(3)点击OK保存设置。
(4)重新编译项目(Project>Build Al)生成映射文件。
图1-14 生成映射文件
映射文件(MyProject.map)出现在项目目录中,可通过选择File>Open,然后浏览至项目目录来打开。选择文件类型为“All files(*.)”以便可以看见映射文件。下面这段MyProject.map 文件的摘录说明了在MyProject.C 编译后程序存储器和数据存储器的使用。
六、实验报告要求
要写实验目的、实验仪器设备、实验原理、实验内容、实验操作的主要步骤。
要写实验源代码。
七、实验代码
代码1.
MOV #0x1000, W0
MOV #0x0001, W6
MOV.B W0, W1
SUB.B W0, #0x10, W1
ADD.B W0, W1, W2
MOV #0x30, W0
MOV #0x1000, W0
MOV W0, W1
MOV #0x5A5A, W0 ; 将0x5A5A 装载至W0
MOV #0x3636, W1 ; 将0x3636 装载至W1
PUSH W0 ; 将W0 中内容压入TOS
PUSH W1 ; 将W1 中内容压入TOS
POP W3 ; 将W3 中内容压入TOS
done:
BRA done
代码2.
MOV.B #0xf0, W0
done: CLR TRISE
CLR LATE
CLR PORTE
CLR TRISB
SETM LATB
SETM PORTB
CLR TRISE
SETM LATE
SETM PORTE
CLR TRISB
CLR LATB
CLR PORTB
BRA done
注意:本实验代码需要添加入汇编模板文件中使用。
软件开发实验报告 篇一:软件开发实验报告 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:CASE工具PowerDesigner的使用 实验地点:专业班级: 指导教师: XX年10月22日 本科实验报告 课程名称:软件开发环境与工具实验报告 实验项目:搭建Visual Studio开发环境,设计实验地点:致远楼B303指导教师:崔秀娟XX年9月28日 篇二:软件开发平台实验报告 课程设计报告 课程名称: 软件开发平台与工具任课教师: 姓名: 学号: 1. 引言 1.1. 课程设计项目 1.2. 背景简介从编程之初,便免不了和方法,类,接口之类的东西打交道。久而久之,自然会对此进行总结,
由此而产生了开发平台。而今中国的程序员之中,有很大一部分都是编一些企业MIS、政府MIS之类的程序。其主要工作就是对数据进行一下增删改查的操作,对MIS系统做一些基础的管理而已。软件开发平台有两种平台模式:一种是传统的C/S架构模式,一种是现在流行的B/S架构模式。B/S 架构模式是随着互联网的流行,自然又要求以互联网为基础,把这些都网络化,以实现网络资源共享,而不是传统的单机模式。这便激发了软件开发者的创造力,形成了软件开发平台的B/S架构模式(web开发平台)。对于web开发平台,我的个人理解是: 1.以web 2.0为基础,基于互联网的B/S架构的软件。它本身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。 2.用于实现各类业务系统,如CRM、MIS、ERP、HIS、OA 等等的开发。web开发平台本身就是一个二次开发平台,他不同于诸如eclipse等这样的开发工具,需要写大量的代码来完成各个业务模块,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等操作就可以完成业务系统的开发。 3.能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。
所有填空题 1、VB6.0是运行于______操作系统环境下的一个快速可视化程序开发工具,用它进行程序设计,有两个基本的特点,即______和______。 答案:1:Windows9x/NT#Windows9x/NT#Windows9x\NT#Windows9x\NT#Windows9x#Windows NT#Windows9x#WindowsNT#windows9x/NT#windows9x/NT#windows9x\NT#windows9x\NT#windows9x#windows NT#windows9x#windowsNT 2:事件驱动编程#可视化设计 3:可视化设计#事件驱动编程 等级:1难度:1 知识点:VB知识点/VB简介 2、VB是一种面向______的可视化编程语言,它采用______的编程机制。 答案:1:对象 2:事件驱动 等级:1难度:1 知识点:VB知识点/VB的编程环境 3、在VB集成开发环境中,运行应用程序的方法有两种:______或______。 答案:1:编译运行模式#解释运行模式#编译运行#解释运行 2:解释运行模式#编译运行模式#解释运行#编译运行 等级:1难度:1 知识点:VB知识点/VB简介 4、VB的对象主要分为______和______两大类。 答案:1:窗体#控件 2:控件#窗体 等级:1难度:1 知识点:VB知识点/VB的对象、属性、方法和事件 5、VB中,用来描述一个对象的状态或特征的量称之为对象的______。 答案:1:属性 等级:1难度:1 知识点:VB知识点/VB的对象、属性、方法和事件 6、在VB中,最基本的对象是______。 答案:1:窗体 等级:1难度:1 知识点:VB知识点/VB的对象、属性、方法和事件 7、一个对象响应某个事件后所执行的操作是通过一段程序代码来实现,这段程序代码称______。 答案:1:事件过程 等级:1难度:1
电子科技大学软件开发 环境实验报告 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】
本实验总体目的是,通过使用huffman编码算法从而实现文件的压缩和解压,以达到使学生掌握并灵活运用分割函数的三项原则。 五、实验内容: 本实验要求实现一个exe程序。这个程序按照huffman编码方式,同时包含了压缩功能和解压功能。用户通过以下命令进行压缩: C:\> –c uncompress_filename compress_filename 上述命令中,是程序名,-c表示要进行压缩。uncompress_filename是要压缩的文件名,可以包含路径信息,而compress_filename是压缩之后的文件名,同样可以包含路径信息。用户可以通过如下命令进行解压: C:\> –u compress_filename uncompress_filename 上述命令中,-u表示要执行解压命令。compress_filename是要解压的文件名,可以包含路径信息;uncompress_filename就是解压后所得到的文件,同样可以包含路径信息。 提示:在实现程序时,需要考虑如何存储huffman树或者编码表或者词频表等等。 本实验要求实现两个版本的程序,一是C语言版本的,二是C++版本的。对这两个版本的要求如下: 对于每一个版本的程序,需要在实验报告中给出函数调用关系图、流程处理关系 图以及它们的文字说明等内容; 对于每一个版本的程序,都需要在实验报告中给出源代码。为了便于查重,代码 中注释的比例要占到总行数的20%; C++版本的程序,需要给出类关系图。 实验报告的评分标准,包括以下几个方面: 实验报告是否规范
自学考试计算机系列课程实践性环节实验报告本 课程名称互联网软件开发及应用 实验学期 1 至 2 学年第 1 学期 年级 10级专业计算机网络及应用 学生姓名邓希良考号 010********* 指导教师 实验最终成绩 重庆大学计算机学院制
一、实验目的 锻炼和培养学生的实际操作技能和动手能力,使学生通过上机实验,加深对课堂所学理论的理解,最终达到综合锻炼和提高的目的。 二、实验内容 a) 建立一个表单,包含多个对象(文本框、密码框、单选、多选、下拉选择、多行文本输入域等),表单提交时对数据进行验证; b)建立与a)中表单对象对应的数据库和表 c)表单提交的数据在另外的页面中显示并用Session保存 d)通过Session把数据传送到下一个页面后写入到数据库中; e)从数据库中读取信息并在网页中显示出来 三、实验步骤(设计) 步骤 1 创建一个包含文本框、密码框、单选、多选、下拉选择、多行文本输入域的表单。