《单片机原理与接口技术 教学课件 ppt 作者 朱玉红单元3》由会员分享,可在线阅读,更多相关《单片机原理与接口技术 教学课件 ppt 作者 朱玉红单元3(20页珍藏版)》请在金锄头文库上搜索。
1、单元3 单片机开发平台的建立,学习目的:掌握单片机开发过程和开发环境的建立,掌握Keil C51的使用方法。 重点难点:Keil C51的使用。 外语词汇:Integrated Develop Environment(集成开发环境)、Compile(编译)、Assembly(汇编)、Project(工程)。 学习单片机时,首先要建立一个单片机开发平台。只有在开发平台下动手练习,才能建立对单片机学习的兴趣,理解并掌握单片机的开发技巧。单片机开发平台由硬件平台和软件平台组成。,3.1单片机开发过程,单片机开发的一般过程是首先进行硬件设计, 然后根据硬件和系统的要求在开发环境中编写软件程序,程序调试
2、成功后,再通过烧录器把程序写到单片机里。单片机开发流程如图3-1所示。,3.2硬件平台建立,学单片机第一步是建立自己的硬件学习条件。需要一台电脑用于编程和学习,还需要一套单片机实验板,简易实验板如图3-2所示。再就是买几块单片机芯片就可以了。 实验板用来进行单片机开发设计实践和验证程序的正确性,实验板一般配套程序下载电缆,现在很多单片机通过串口就可以下载,没有串口的电脑可以采用USB转接串口的线缆来进行程序的下载,很方便。这样通过串口或USB转接口下载线将电脑与实验板连接成了一个系统。实验板和计算机连接示意图如图3-3所示。,图3-1单片机开发流程图,图 3-2 简易实验板,图 3-3 实验板
3、和计算机连接示意图,3.3 软件平台建立,IDE是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具,集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件。 Keil C51(Vision)是美国Keil software公司专门为80C51系列单片机开发的第三方软件,它的免费测试版可在上下载,也可以在各种单片机网站上下载,虽然有2KB代码的限制,但足以满足初学者的需要。,3.3.1 Keil 集成开发环境安装方法,Keil C51是由Keil Software公司出品的51系列兼容单片机C语言软件开发系统,是目前最流行的开发80C51系列单片机
4、的软件。Keil C51提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部份组合在一起。,3.3.2 Keil 工程的建立、设置与编译、连接,如果已正确安装了该软件,桌面上出现Keil Vision图标,如图3-4所示,可以直接双击Vision的图标以启动该软件。Keil Vision启动画面如图3-5所示。 Vision启动后,程序窗口的左边有一个工程管理窗口,如图3-6所示,该窗口有5个标签,分别是Files、Regs、Books、Functions和Templates,这5个标签页分别显示当前项目的文件结
5、构、CPU 的寄存器及部份特殊功能寄存器的值(调试时才出现)、所选CPU 的附加说明文件、函数和模板,如果是第一次启动Keil,那么这5个标签页全是空的。,图3-4 Keil Vision图标,图3-5 Keil Vision启动画面,图3-6 工程管理窗口,单击“Project-New Project”菜单,出现建立新工程对话框,如图3-7所示,要求给将要建立的工程起一个名字。可以在编缉框中输入一个名字(如为exam1),不需要扩展名。,图3-7 建立新工程对话框,单击“保存”按钮,出现CPU选择对话框如图3-8所示,这个对话框要求选择目标CPU(即你所用芯片的型号)。单击ATMEL 前面的
6、“+”号,展开该层,单击其中的89C51,然后再单击“确定”按钮。,1. 建立工程,在Vision中进行单片机程序开发,要建立工程、对工程进行设置、软件编写、编译、连接等步骤。,图3-8 CPU选择对话框,其后,会出现8051启动代码加载确认框,如图3-9所示。,图3-9 8051启动代码加载确认框,选择“否”不添加8051启动代码。 此时,在工程窗口的文件页中,出现了建立的工程界面如图3-10所示,“Target1”前面有“+”号,单击“+”号展开,可以看到下一层的“Source Group 1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动加入源程序。,图3-10 建立的工程界
7、面,2. 源程序的添加,使用菜单“File-New”或者单击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入以下汇编语言源程序: ORG 0000H MOV A, #01H MOV B, #02H ADD A, B SJMP $ END 保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm或a51为扩展名),这里将文件保存为exam1.a51。 双击“Source Group 1”出现工程添加源文件对话框如图3-11a所示,单击“Add Files to Source Group 1”,出现图3-11b所示的源文件添加对话框。注意,该对话框下面的“文件类
8、型”默认为“C source file(*.c)”,也就是以c为扩展名的文件,而汇编语言文件是以asm为扩展名的,所以在列表框中找不到exam1.asm,要将文件类型改掉,单击对话框中“文件类型”后的下拉列表,找到并选中“Asm Source File(*.a51,*.asm)”。这样,在列表框中就可以找到exam1.asm文件了。,a)工程添加源文件对话框,b)源文件添加对话框,图3-11向工程添加源文件对话框,双击exam1.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其他文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现如图3-12所
9、示的对话框,提示你所选文件已在列表中,此时应单击“确定”,返回前一对话框,然后单击“Close”即可返回主界面。,图3-12 文件加载完成对话框,返回后,单击“Source Group 1”前的“+”,会发现exam1.asm 文件已在其中。双击文件名,即可打开该源程序。,3. 工程的设置,工程建立好以后,还要对工程进行进一步的设置,以满足要求。 首先单击左边Project 窗口的“Target 1”,然后使用菜单“Project-Option for Target target 1”即出现对工程设置的对话框,这个对话框共有10个页面,一般不用全部设置,绝大部份设置项取默认值即可。 (1)设置
10、对话框中的Target 页面 Target页面设置对话框如图3-13所示,Xtal后面的数值是晶振频率值,默认值是所选目标CPU 的最高可用频率值。,图3-13 Target页面设置对话框,(2)设置对话框中的Output 页面 Output 页面设置对话框如图3-14所示,其中Creat Hex file用于生成可执行代码文件(可以用编程器写入单片机芯片的Hex格式文件,文件的扩展名为.Hex),默认情况下该项未被选中,如果要写片做硬件实验,就必须选中该项。选中“Debug information”将会产生调试信息,这些信息用于调试,如果需要对程序进行调试,应当选中该项。“Browse in
11、formation”是产生浏览信息,该信息可以用菜单“view-Browse”来查看,这里取默认值。按钮“Select Folder for objects”是用来选择最终的目标文件所在的文件夹,默认是与工程文件在同一个文件夹中。“Name of Executable”用于指定最终生成的目标文件的名字,默认与工程的名字相同,这两项一般不需要更改。,图3-14 Output 页面设置对话框,3.3.3 Keil 的调试命令与方法,在对工程成功地进行汇编、连接以后,按“Ctrl+F5”或者使用菜单“Debug-Start/Stop Debug Session”即可进入调试状态,Keil内建了一个仿
12、真CPU用来模拟执行程序,该仿真CPU功能强大,可以在没有硬件和仿真机的情况下进行程序的调试。 进入调试状态后,Debug菜单项中原来不能用的命令现在已可以使用了,工具栏会多出一个用于运行和调试的工具条。 学习程序调试,必须明确两个重要的概念,即单步执行与全速运行。 另外,用鼠标在程序的某一行点一下,把光标定位于该行,然后用菜单“Debug-Run to Cursor line”,即可全速执行完当前位置与光标之间的程序行。 在全速运行方式下,遇到设置的断点处则也会停止运行。 在进入Keil的调试环境以后,如果发现程序有错,可以直接对源程序进行修改,但是要使修改后的代码起作用,必须先退出调试环境
13、,重新进行编译、连接后再次进入调试。 注意应当灵活应用多种调试方法,可以大大提高查错的效率。,1. 调试命令,断点设置的方法有多种,常用的是在某一程序行设置断点,设置好断点后可以全速运行程序,一旦执行到该程序行即停止,可在此观察有关变量值,以确定问题所在。在程序行设置/移除断点的方法是将光标定位于需要设置断点的程序行,使用菜单“Debug-Insert/Remove Breakpoint”设置或移除断点(也可以用鼠标在该行双击实现同样的功能);“Debug-Enable/Disable Breakpoint”是开启或暂停光标所在行的断点功能;“Debug-Disable All Breakpo
14、int”暂停所有断点;“Debug-Kill All Breakpoint”清除所有的断点设置。这些功能也可以用工具条上的快捷按钮进行设置。,2. 断点设置,Keil 软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Window)、观察窗口(Watch&Call Stack Window)、存储器窗口(Memory Window)、反汇编窗口(Dissambly Window)串行窗口(Serial Window)等。进入调试模式后,可以通过菜单“View”下的相应命令打开或关闭这些窗口。 (1)查看存储器 查看存储器窗口中可以显示系统中各种内存中的值,通过在“Address”
15、后的编缉框内输入“字母:数字”即可显示相应内存值,其中字母是代表查看的地址空间类型,地址空间类型表见表3-1,数字代表想要查看的地址。例如输入D:0 即可观察到地址0 开始的片内RAM 单元值,键入C:30H 即可显示从30H 开始的ROM 单元中的值,即查看程序的二进制代码。,3. 调试窗口,表3-1 地址空间类型,如要修改某个内存单元的值,在其单元上单击右键,弹出菜单的第三部分Modify Memory at X:xx 用于更改鼠标处的内存单元值,选中该项即出现如图3-15所示的内存单元修改对话框,可以在对话框内输入要修改的内容。 (2)查看寄存器 工程窗口寄存器页包括了当前的工作寄存器组
16、和系统寄存器,工作寄存器组包含R0到R7,系统寄存器组有一些是实际存在的寄存器如A、B、DPTR、SP、PSW 等,有一些是实际中并不存在或虽然存在却不能对其操作的如PC、Status等。,图3-15 内存单元修改对话框,3.4 程序下载方法,软件开发首先在集成开发环境的编辑器中编写程序,编写好后用编译器对源程序文件编译,查错,直到没有语法错误,程序运行正确。在源程序被编译后,生成了扩展名为Hex的目标文件,运行前述实验板下载程序stc_isp_3.1,将编译生成的Hex文件下载到单片机的程序存储器,实验板(开发系统)上电后程序即可运行。 将编写好的程序下载到单片机程序存储器是单片机开发极为重要的一步。实验板使用前需连接好电源线与串口线,并保证此时单片机开发板上的单片机为STC89C52RC单片机。检查电源板上电源指示灯是否亮起,如果没亮则检查USB电源线,如果已亮则关掉电源看后面的步骤。 首先安装购买实验板所带光盘目录下的stc_isp_3.1到个人计算机。启动软件后,就可将程序通过USB口下载到单片机中。程序下载过程如图3-1