您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 单片机开发系统使用2
公选课《单片机应用系统设计与开发》电子技术锡焊技艺常用元器件及仪器单片机系统设计概述单片机开发系统的使用单片机系统设计实例单片机开发系统的使用一、Keil软件使用二、Proteus使用三、C51基础知识四、基于C51的一个设计实例一、Keil软件使用使用C语言肯定要使用到C编译器,以便把写好的C程序编译为机器码,这样单片机才能执行编写好的程序。KEIL是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。(1)新建工程点击Project菜单,选择NewProject,输入项目名称,扩展名为uv2,以后我们可以直接点击此文件以打开先前做的项目。(2)选择所要的单片机这里我们选择常用的Ateml公司的AT89C51。(3)创建新的程序文件或加入旧程序文件点击图中的新建文件的快捷按钮,出现一个新的文字编辑窗口,这个操作也可通过菜单File-New或快捷键Ctrl+N来实现。输入程序代码保存文件。这时你会发现程序有了不同的颜色,说明KEIL的C语法检查生效了。(4)将程序文件加入项目中右击SourceGroup1文件夹图标,可以在项目中增加减少文件等操作。选择AddFiletoGroup‘SourceGroup1‘,在弹出文件窗口选择需添加的文件。(5)编译运行程序图中1、2、3都是编译按钮1是用于编译单个文件2是编译当前项目3是重新编译在3右边的是停止编译按钮5是菜单中的相应项在4中可以看到编译的信息等,以后我们要查错就靠它了。6是”开启\关闭调试模式”的按钮,快捷键为Ctrl+F5。(6)进入调试模式1为运行,2为停止,3是复位,模拟芯片的复位按4可以打开的串行调试窗口(如5)。(7)生成HEX文件KEIL编译生成用于烧写芯片的HEX文件。右击项目文件夹,弹出项目功能菜单,选OptionsforTarget'Target1'(7)生成HEX文件转到Output选项页,1是选择编译输出的路径,2是设置生成的文件名,3是决定是否要创建HEX文件。二、Proteus的使用Proteus是来自英国Labcenter公司的嵌入式系统仿真开发软件,它包括原理图布图、混合模式仿真、VSM嵌入式仿真以及PCB制板功能。(一)Proteus概览(二)原理图设计(三)PROTEUS微处理器仿真(四)Proteus和Keil联合调试在传统的CAD功能中添加了嵌入式系统的仿真可以完整地仿真微控制器以及相连的模拟和数字电路(一)Proteus概览ProSPICE混合模式仿真器ISIS设计仿真平台VSM嵌入式仿真ARESPCB制版ProteusDesignSuiteProteus概览在Proteus中,从原理图设计、单片机编程、系统仿真到PCB布线一气呵成。完成了从概念到产品的整个过程。Proteus是一个虚拟实验室,提供了大量的虚拟仪器、仪表、激励源和分析工具:13类激励源直流、正弦、脉冲……13类曲线图表模拟、数字、频率……12类虚拟仪器示波器、逻辑分析仪、SPI/I2C调试器……电压/电流探针PROTEUS虚拟实验室-探针(Probe)电压探针(Voltageprobes)-既可在模拟仿真中使用,也可在数字仿真中使用。在模拟电路中记录真实的电压值,而在数字电路中,记录逻辑电平及其强度。探针即可用于基于图表的仿真,也可用于交互式仿真中。预览窗口挑选元件按钮库管理按钮模型选择工具栏元件列表仿真按钮原理图编辑窗口方位控制按钮(二)原理图设计1、原理图编辑窗口(TheEditingWindow)用来绘制原理图,蓝色方框内为可编辑区,元件要放到它里面。注意:这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。2、预览窗口(TheOverviewWindow)可显示两个内容.(1)当你在元件列表中选择一个元件时,它会显示该元件的预览图;(2)当你的鼠标焦点落在原理图编辑窗口时,会显示整张原理图的缩略图,可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。3、模型选择工具栏(ModeSelectorToolbar)主要模型(MainModes)1)选择元件(components)(默认选择的)2)放置连接点3)放置标签(用总线时会用到)4)放置文本5)用于绘制总线6)用于放置子电路7)用于即时编辑元件参数(先单击该图标再单击要修改的元件)方便快捷的元件查找、放置功能:模糊查找分类查找结果列表元件预览封装预览配件(Gadgets)1)终端接口:有VCC、地、输出、输入等接口2)器件引脚:用于绘制各种引脚3)仿真图表:用于各种分析,如NoiseAnalysis4)录音机5)信号发生器(generators)6)电压探针:使用仿真图表时要用到7)电流探针:使用仿真图表时要用到8)虚拟仪表:有示波器等2D图形(2DGraphics)1*画各种直线2*画各种方框3*画各种圆4*画各种圆弧5*画各种多边形6*画各种文本7*画符号8*画原点等4、元件列表(TheObjectSelector)用于挑选元件(components)、终端接口(terminals)、仿真图表(graph)、信号发生器(generators)等。举例:当你选择“元件”,单击“P”按钮会打开挑选元件对话框,选择了一个元件后,单击“OK”(或双击元件),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。5、方向工具栏(OrientationToolbar)旋转:旋转角度只能是90的整数倍。翻转:完成水平翻转和垂直翻转。使用方法:先右键单击元件,再点击(左击)相应的旋转图标。6、仿真工具栏仿真控制按钮1*运行2*单步运行3*暂停4*停止原理图绘制操作简介绘制原理图要在原理图编辑窗口中的蓝色方框内完成。其操作不同于WINDOWS应用程序。正确的操作是:用左键放置元件;右键选择元件;双击右键删除元件;右键拖选多个元件;先右键后左键编辑元件属性;先右键后左键拖动元件;连线用左键,删除用右键;改连接线:先右击连线,再左键拖动;中键放缩原理图。(三)PROTEUS微处理器仿真ProteusVSM是一个基于ProSPICE混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真平台。单片机系统的仿真是PROTEUSVSM的主要特色。用户可在Proteus中直接编辑、编译、调试代码,并直观地看到仿真结果。CPU模型有ARM7(LPC21xx)、PIC、AtmelAVR、MotorolaHCXX以及8051/8052系列。同时模型库中包含了LED/LCD显示、键盘、按钮、开关、常用电机等通用外围设备。PROTEUSVSM仿真与分析示例1:PWM电机控制——动态效果动态器件使仿真直观生动CPU可加载程序运行51单片机仿真过程1.绘制原理图2.选择软件设计语言(汇编、C)编写源代码3.编译代码,生成目标文件。4.装载HEX或OMF文件,仿真调试。第三方工具的应用直接使用第三方IDE(IntegratedDevelopmentEnvironment)如:Keil’suVision2、WAVE6)开发源代码,并进行编辑,生成HEX文件后,切换到ProteusVSM,再进行仿真。1、使用第三方IDE建立工程,编写C程序2、编译生成HEX代码,加载到CPU当中。(无源码调试信息)3、编译生成OMF格式代码,加载到CPU当中。装载HEX或OMF文件,仿真调试。程序加载到CPU仿真调试实时显示系统输出结果实时显示元器件引脚电平说明:红色代表高电平,兰色代表低电平,灰色代表不确定电平(floating)。(四)Proteus和Keil联合调试联调过程:1.运行驱动程序vdmagdi.exe2.在Proteus中设计电路原理图,并选中Debug-useremotedebugmonitor3.在Keil环境下创建项目,编辑源程序(C或ASM)并编译为hex文件;(四)Proteus和Keil联合调试4.在Keil中,设置Target-targetoption-debug,选用ProteusVSMSimulator;5.在Proteus中将Keil生成的hex文件加载给CPU;6.在Keil中运行、调试程序,同时在Proteus中观察运行结果。PROTEUS与Keil联调Keil处于运行状态PROTEUS同时进入运行状态三、C51基础知识1、标识符标识符是用来标识源程序中某个对象的名字,这些对象可以是函数、变量、数组等。C语言对大小些敏感,如“Timer1”、“TIMER1”是完全不同定义的标识符。标识符由字符串、数字和下划线等组成,注意的是第一个字符必须是字母或下划线。标识符在命名时应当简单,含义清晰,这样有助于阅读理解程序。三、C51基础知识2、关键字关键字则是编程语言保留的特殊标识符,它们具有固定名称和含义,在程序编写中不允许标识符与关键字亦同。在KEILuVision2中的关键字除了有ANSIC标准的32个关键字外还根据51单片机的特点扩展了相关的关键字。数据类型长度值域unsignedchar单字节0~255signedchar单字节-128~+127unsignedint双字节0~65535signedint双字节-32768~+32767unsignedlong四字节0~4294967295signedlong四字节-2147483648~+2147483647float四字节±1.175494E-38~±3.402823E+38*1~3字节对象的地址bit位0或1sfr单字节0~255sfr16双字节0~65535sbit位0或13、KEILC51编译器所支持的数据类型1)char字符类型char类型的长度是一个字节,通常用于定义处理字符数据的变量或常量。unsignedchar:0~255。signedchar:字节中最高位字节表示数据的符号,“0”表示正数,“1”表示负数,负数用补码表示。所能表示的数值范围是-128~+127。unsignedchar常用于处理ASCII字符或用于处理小于或等于255的整型数。2)int整型int整型长度为两个字节,用于存放一个双字节数据。signedint:-32768~+32767unsignedint:0~655353)long长整型long长整型长度为四个字节,用于存放一个四字节数据。分有signedlong和unsignedlong4)float浮点型float浮点型在十进制中具有7位有效数字,是符合IEEE-754标准的单精度浮点型数据,占用四个字节。5)*指针型指针型本身就是一个变量,在这个变量中存放的指向另一个数据的地址。6)bit位标量bit位标量是C51编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0就是1,类似高级语言中的Boolean类型中的True和False。7)sfr特殊功能寄存器sfr也是一种扩充数据类型,点用一个内存单元,值域为0~255。利用它可以访问51单片机内部的所有特殊功能寄存器。如用sfrP1=0x90这一句定P1为P1端口在片内的寄存器,在后面的语句中我们用以用P1=255(对P1端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。8)Sfr1616位特殊功能寄存器sfr16占用两个内存单元,值域为0~65535。sfr16和sfr一样用于操作特殊功能寄存器,所不同的是它用于操作占两个字节的寄存器,如定时器T0和T1。9)sbit可寻址位sbit是C51中的一种扩充数据类型,利用它可以访问芯片内部RAM中
本文标题:单片机开发系统使用2
链接地址:https://www.777doc.com/doc-3599765 .html