C51单片机技术应用与实践课件完整x.pptx

上传人(卖家):晟晟文业 文档编号:3704359 上传时间:2022-10-06 格式:PPTX 页数:568 大小:20.40MB
下载 相关 举报
C51单片机技术应用与实践课件完整x.pptx_第1页
第1页 / 共568页
C51单片机技术应用与实践课件完整x.pptx_第2页
第2页 / 共568页
C51单片机技术应用与实践课件完整x.pptx_第3页
第3页 / 共568页
C51单片机技术应用与实践课件完整x.pptx_第4页
第4页 / 共568页
C51单片机技术应用与实践课件完整x.pptx_第5页
第5页 / 共568页
点击查看更多>>
资源描述

1、第一篇 单片机入门课程内容理论理论实践任务1 认识51单片机理论认知1 学习目标【知技要点】(1)掌握单片机中CPU、存储器、三总线的关系;(2)掌握单片机常用封装;(3)认识单片机芯片各引脚位名称和功能;(4)掌握复位电路和振荡电路的参数选择;(5)构建单片机最小系统。理论认知1【能力目标】(1)掌握单片机的结构;(2)了解单片机中CPU、存储器、三总线各自的作用和相互关系;(3)分析单片机复位电路的工作原理;(4)了解单片机的并行I/O接口。理论认知1 任务简介本次任务旨在了解单片机最小系统的构造,了解单片机最小系统外围电路工作原理,熟悉单片机内部存储器配置及I/O口情况。理论认知11.1

2、1.1微型计算机的概念微型计算机的概念微型处理器又称中央处理单元,由运算器(ALU)、控制器(CU)两部分组成。(1)运算器(ALU):数据的算术和逻辑运算。(2)控制器(CU):使微型计算机各组成部分按命令以一定的节拍进行工作。1.1.1微处理器(CPU)理论认知11.1.2微型计算机组成微处理器(运算器、控制器)、存储器、输入设备、输出设备。具有数据处理、程序存储和外设设备进行信息交换的功能。理论认知11.1.3微型计算机系统微型计算机加上系统软件和必要的外设就构成了微型计算机系统。CPU、微型计算机、微型计算机系统三者关系,可以用下列等式来表示:CPU+输入输出接口+内部存储器=微型计算

3、机。微型计算机+系统软件=微型计算机系统。理论认知11.1.4单片微型计算机(SCM)单片微型计算机英文全称Single Chip Microcomputer,它将微处理器(运算器、控制器)、存储器、I/O(Input/Output)接口和中断系统集成在同一块芯片上,具有完整功能的微型计算机,这块芯片就是其硬件。理论认知11.2了解单片机硬件组成1.2.1微处理器在微型机上使用的微处理器,即CPU,是利用大规模集成电路技术把运算器和控制器制作在一块集成电路中的芯片。理论认知11.2.2存储器 存储器的分类见表1-1。表1-1 存储器的分类分类方式分类特点及区别根据存储器与微处理的关系内部存储器

4、存储当前要运行的程序和运算数据,运行速度较快,容量较小外部存储器存放大量的当前暂时不直接参与运行的程序和运算的数据,运行速度较慢,容量较大根据存储器的读写功能随机存储器(RAM)能写入或读出只读存储器(ROM)只能读出,不能写入理论认知11.2.3输入输出接口 输入输出接口的主要功能是实现外设与微机的数据传输、电平转换。理论认知11.2.4三总线三总线与CPU、存储器、I/O口之间连接关系如图1-2所示。理论认知1数据总线(DB):用来实现CPU、存储器、I/O口之间的数据双向传送,数据为8位。地址总线(AB):由CPU发出的存储器或I/O的地址,以选择相应的存储单元和I/O接口。控制总线(C

5、B):它给出微机中各个部分协调工作的定时信号和控制信号,保证正确执行程序指令时所需要的各种操作不至于发生冲突。控制总线的宽度(根数)因机型而异。理论认知11.3认识单片机最小系统1.3.1单片机应用系统及组成理论认知11.3.2单片机的引脚及封装介绍1.单片机引脚介绍(1)电源连接01p.71p.SSV1XTAL2XTALRD73p/.WR63p/.1T53p/.0T43p/.1INT33p/.0INT23p/.TXD13p/.RXD03p/.RST02p.72p.CCV00p.70p.PSENPROGALE/EAVpp/182018191716151413121110921284039322

6、930318051单片机使用的是+5V电源,其中电源正极接单片机40引脚(VCC),电源负极接20引脚(GND)。理论认知1(2)振蒎电路(XTAL1XTAL2)连接第1918引脚。C1和C2取20PF左右,晶体的振荡频率取6 MHz或12MHz。当采用石英晶体振荡时,该两脚通过微调电容C1和C2接地,当CPU采用外部时钟时,从18脚引入,19脚接地。理论认知1(3)控制总线RST:第9引脚。复位信号。复位产生的效果:复位后,P0 P3 输出高电平;SP寄存器为07H;PC 0000H其它寄存器全部清0;不影响RAM状态。理论认知1EA/Vpp:第31脚,外部寻址使能/编程电压。为高电平,从内

7、部 程序寄存器开始访问;EA为低电平时,则跳过内部程序存储器,从外部程序存储 器开始访问。ALE/PROG:第30引脚。地址锁存允许信号 第一功能:访问外部存储器时:ALE用来锁存扩展地址 的低8位(P0口)的地址信号。当不访问外部存储器时:ALE将输出1/6的振荡 频率,可用来对外部提供定时和时钟信号。第二功能:单片机编程时,此脚接编程脉冲。理论认知1/8KB8052/803252子系子系列列4KB/8751/4KB8051/803151子系子系列列MCS-51 EPROM 掩膜掩膜MOS 存储器存储器类类单片机系列单片机系列型号型号8751 有内部存储器 访问内部存储器 EA=18051

8、无内部存储器 访问外部存储器 EA=08031 无内部存储器,必须外接外部存储器,EA=0理论认知1PSEN:第29引脚。外部程序存储器读选通信号。当访问外部 存储器时,此脚将定时输出负脉冲作为读取外部存储器 的选题信号。理论认知1(1)P0口:第3239引脚。1)作为I/O口。2)作为单片机8位准双向数据总线。作为低8位地址总线,低8 位地址的选通由ALE控制线决定。理论认知1P0口使用时要采用上拉电阻,这是P0口区别于P1、P2、P3口 的一个地方。(2)P1口:第18引脚。作为I/O口(3)P2口:第2128引脚。1)作为I/O口。2)是当系统外扩存储器时,P2口输出高8位的地址 A7A

9、15,与P0口第二功能输出的低8位地址相配合。理论认知1(4)P3口:第1017引脚。1)作为I/O口。(同P1)2)作控制和特殊功能口使用。理论认知11.4MCS-51单片机的内存结构RAM内内部部 数据存储器数据存储器低128位高128位007FH0000H0080H00FFH能寄存器特殊功理论认知1(1)位寻址的概念对数据的描述:位 1 字节 8 字 16单元地址位地址HL765432102FH7F7E7D7C7B7A7978所谓位寻址就是指可以对数据的某一位进行单独的读写和运算,每一位有自己独立的地址。以2FH单元为例说明位地址和单元地址关系:理论认知1(2)内部数据存储器低128位组

10、组通通用用寄寄存存器器区区第第0组组通通用用寄寄存存器器区区第第1组组通通用用寄寄存存器器区区第第2组组通通用用寄寄存存器器区区第第3)(位位地地址址位位寻寻址址区区FH7H00区区用用户户 RAMH00H08/H07H10/FH0H18/H17H20/FH1H30/FH2FH7R0R0、R1R1、R2R2、R3R3、R4R4、R5R5、R6R6、R7R7即可位寻址,又可字节即可位寻址,又可字节寻址寻址数据缓冲区、堆栈区、数据缓冲区、堆栈区、工作单元工作单元理论认知11)通用寄存器区。四组通用寄存器,每组8个寄存器单元,每组都以 R0R7为寄存器单元编号。RS1 RS00 0 第0组的R0R7

11、(00H07H)0 1 第1组的R0R7(08H0FH)1 0 第2组的R0R7(10H17H)1 1 第3组的R0R7(18H1FH)2)位寻址区。既可位寻址,又可字节寻找。3)用户RAM。其单元地址30H7FH,一般常将堆栈数据放在用户RAM区。理论认知1(3)内部数据存储器高128单元 8051共有22个特殊功能寄存器 B、ACC、PSW、IP、P0、P1、P2、P3、IE、SUBF、SCON、TH1、TL1、TH0、TL0、TMOD、TCON、PCON、DPH、DPL、SP、(PC)1)程序计数器PC PC是一个16位的计数器,PC没有地址,所以是不可寻址的。理论认知12)累加器ACC

12、 8位寄存器用的最多的专用寄存器:既可以存放操作数,也 可以用来存放运算的中间结果。3)B寄存器 8位寄存器主要用于乘除运算,乘法运算时,B是乘数。除 法运算时,B是除数,余数放于B中。理论认知14)程序状态字PSW 程序状态字是一个8位寄存器,用于寄存程序运行的状态信息状态寄存器PSW各位的意义位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OVPCY(PSW.7)-进位标志位AC(PSW.)-辅助进位标志位F0(PSW.)-用户标志位 OV(PSW.)-溢出标志位 P(PSW.)-奇偶标志位奇数个 “”时,P,偶数个“”时,

13、P理论认知1)数据指针(DPTR)按16位寄存器使用:DPTR也可以按两个8位寄存器分开使用:DPH和DPL。理论认知1理论认知1总结3 任务小结通过本次任务学习,掌握单片机最小系统的硬件结构,熟悉单片机内部存储器的作用,了解单片机的基本输入输出端口,掌握单片机系统的三总线结构,了解单片机对存储器、输入输出端口读写的过程中三总线各自起的作用。谢谢!课程内容理论理论实践任务2 学习单片机开发工具之一 Keil C软件 理论认知1硬件电路连接根据要求拟定总体设计方案(包括任务书、划分硬件和软件的任务分配等)硬件电路设计绘制程序总体框图、模块流程图编写主程序和各模块程序使用Keil C软件调试主程序

14、和各模块程序联机在线仿真调试,修改硬件电路和程序使用PROTEUS软件,执行系统模拟调试,修改硬件电路和程序连接电脑和编程器,运行编程器RF1800软件,执行程序烧写(固化)脱机,现场运行,完成单片机开发硬件电路调试和修改理论认知1一、启动Keil Vision 21、双击 ,Keil Vision 2 理论认知1 C语言的表达2、新建一个项目文件 理论认知1二、建立一个汇编程序文件 理论认知1添加文件到当前项目 理论认知1理论认知1理论认知1三、编译文件 生成HEX文件理论认知1 图1-25 编译成功信息理论认知1四、仿真调试 1、进入仿真环境 理论认知12、熟悉存储器结构(1)内部数据存储

15、器 图 存储器窗口 图 存储器内部数据存储器空间各单元中的内容 理论认知1(2)外部数据存储器 图 外部数据存储器区空间各单元中的内容 理论认知1(3)程序存储器区 图 程序存储器空间各单元中的内容 理论认知1(4)工作寄存器和专用寄存器区 图 工作寄存器和专用寄存器区 理论认知1(5)并行输入/输出口 图 并行输入/输出接口显示 理论认知13、检查存储器状态(1)单步运行单击单步运行按钮 ,或者单击“Debug”下拉菜单中的“Step”。单步运行中两种方式 和 的区别:前者单步运行进入子程序内部后者在调用子程序时,把子程序当成一条指令运行,它们在调试时不碰到子程序时是一样的。理论认知1图1-

16、37 单步运行理论认知1(2)全速运行 全速运行可点击工具栏中的 图标,如图1-33所示,点击全速运行意味着程序连续运行而不被打断。图 全速运行理论认知1(3)断点设置 方法是在这指令前双击鼠标左键,此时在该指令前出现红色的方块,此时全速运行程序的话,程序则会在红色方块时停下,如要取消断点可在同样的位置双击鼠标左键。如图1-33所示。图 断点设置理论认知1(4)复位设置 有时程序经修改,需要从头运行,可点击,目的是让程序从头开始运行,PC指针从0开始。五、统调并将程序烧录至单片机芯片中(1)将由Keil C调试生成的*.hex/文件,下载到用Proteus软件绘制的硬件仿真图的CPU后台,进行

17、软硬件的综合仿真调试,期间不断修改软件(也有些情况需要修改一下硬件),最后实现调试成功。谢谢!课程内容理论理论实践任务3 学习单片机开发工具之二 Proteus仿真软件理论认知1知识目标(1)了解Proteus仿真软件在单片机开发中的作用和意义;(2)了解Proteus软件的菜单功能;【能力目标】(1)能用Proteus构建单片机硬件系统;(2)选择正确的仿真测试仪器进行观察;(3)在程序加载到单片机CPU后台时,能选择正确的方式进行仿真调试;理论认知1Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史。该软件集成了高级原理布图、混

18、合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计系统。它是一种混合电路仿真工具,包括模拟电路仿真、数字电路仿真、单片机及其外围电路组成的仿真等。Proteus软件由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。理论认知1 本次任务以跑马灯项目为例介绍的Proteus使用,重点掌握和使用Proteus 软件的元件库使用及有关参数设置。实践训练2任务实施运行Proteus仿真软件点击桌面图标 ,如左图所示,或者点击电脑的“开始”,双击程序目录Proteus 7 Professional/ISIS 7 Prof

19、essional的图标 ,出现如右图所示的启动界面。运行Proteus软件Proteus 7启动页面实践训练2Proteus ISIS的工作界面是一种标准的Windows界面,如图所示预览窗口挑选元件按钮库元件按钮模型选择 工具条原理图编辑窗口仿真按钮Proteus界面各工具栏实践训练2基本操作基本操作1、预览窗口的作用 该窗口通常显示整个电路图的缩略图。在预览窗口上点击鼠标左键,将会有一个矩形蓝绿框标示出在编辑窗口的中显示的区域,如下图预览窗口显示所示,他其他情况下,预览窗口显示将要放置的对象的预览。这种Place Preview特性在下列情况下被激活实践训练2 预览窗口显示实践训练2l 当

20、一个对象在选择器中被选中。l 当使用旋转或镜像按钮时。l 当为一个可以设定朝向的对象选择类型图标时(例如:Component icon,Device Pin icon等等)。l 当放置对象或者执行其他非以上操作时,place preview会自动消除。l 对象选择器(Object Selector)根据由图标决定的当前状态显示不同的内容。显示对象的类型包括:设备,终端,管脚,图形符号,标注和图形。l 在某些状态下,对象选择器有一个Pick切换按钮,点击该按钮可以弹出库元件选取窗体。通过该窗体可以选择元件并置入对象选择器,在今后绘图时使用实践训练22、编辑编辑区域的缩放区域的缩放 Proteus

21、的缩放操作多种多样,极大地方便了我们的设计。常见的几种方式有:完全显示(或者按“F8”)、放大按钮(或者按“F6”)和缩小按钮(或者按“F7”),拖放、取景、找中心(或者按“F5”)。也可以通过如下几种方式:实践训练2l 用鼠标左键点击预览窗口中想要显示的位置,这将使编辑窗口显示以鼠标点击处为中心的内容。l 在编辑窗口内移动鼠标,按下SHIFT键,用鼠标“撞击”边框,这会使显示平移。我们把这称为Shift-Pan。l 用鼠标指向编辑窗口并按缩放键或者操作鼠标的滚动键,会以鼠标指针位置为中心重新显示。实践训练23.3.基本工具介绍基本工具介绍(1)模型选择工具栏(Mode Selector To

22、olbar)主要模型(Main Modes):从左边开始:1、选择元件(components)(默认选择的)。2、放置连接点。3、放置标签(用总线时会用到)。4、放置文本。5、用于绘制总线。6、用于放置子电路。7、用于即时编辑元件参数(先单击该图标再单击要修改的元件)。实践训练2(2)配件(Gadgets):从左边开始:1、终端接口(terminals):有VCC、地、输出、输入等接口。2、器件引脚:用于绘制各种引脚。3、仿真图表(graph):用于各种分析,如Noise Analysis。4、录音机。5、信号发生器(generators)。6、电压探针:使用仿真图表时要用到。7、电流探针:使

23、用仿真图表时要用到。8、虚拟仪表:有示波器等。实践训练2(3)仿真控制按钮从左边开始:1、运行。2、单步运行。3、暂停。4、停止。实践训练2对象的放置和编辑对象的放置和编辑 1.对象的添加和放置 以跑马灯原理图为例,从元件的挑选添加和放置来介绍一般原理图绘制时的对象的添加和放置。点击工具箱的左侧元器件模式按钮,使其选中,再点击挑选元件按钮P,出现“Pick from libraries”对话框,如图1-53挑选元器件所示,出现Pick Devices对话框如图1-54设备选择页面所示。实践训练2挑选元器件挑选元器件实践训练2 设备选择页面实践训练2在这个对话框里我们可以选择元器件和一些虚拟仪器

24、。这里以添加单片机AT89C52为例来说明怎么把元器件添加到编辑窗口的。在“Keyword”下面输入AT89C52关键字,在“Gategory(器件种类)”下面,我们找到“MicoprocessorIC”选项,鼠标左键点击一下,在对话框的右侧,我们会发现这里有大量常见的各种型号的单片机。找到单片机AT89C52,双击“AT89C52”,如图选择器件所示:实践训练2挑选器件点击OK选择器件图实践训练2这样在左边的对象选择器就有了AT89C52这个元件了。点击一下这个元件,然后把鼠标指针移到右边的原理图编辑区的适当位置,点击鼠标的左键,就把80C51放到了原理图区,如图所示:将选择器件放到编辑区图

25、实践训练2通常我们将原理图中需要用的元件依次通过图1-53挑选元器件的方法从元件库中先挑选出来,在跑马灯电路中所需的原件有:电容(CAP)、晶体振荡器(CRYSTAL)、电阻(RES)、电解电容(GENELECT22U16V)、按钮(BUTTON)、红色LED灯(LED-RED)、单片机AT89C52。符号分别如图所示。符号RESCAPGENELECT22U16VCRYSTALLED-REDBUTTONAT89C52 跑马灯元件名称与符号图实践训练2实践训练22.放置电源及接地符号我们会发现许多器件没有Vcc和GND引脚,其实他们隐藏了,在使用的时候可以不用加电源。如果需要加电源可以点击左侧工

26、具箱的 按钮,这时对象选择器将出现POWER、GROUND等,在对象选择器里点击GROUND,鼠标移到原理图编辑区,左键点击一下即可放置接地符号;同理也可以把电源符号POWER放到原理图编辑区。如图1-60放置电源及接地符号所示实践训练2图1-60 放置电源及接地符号实践训练23.3.对象的编辑对象的编辑调整对象的位置和放置方向以及改变元器件的属性等,有选中、删除、拖动等基本操作,其他操作还有拖动标签、对象的旋转、编辑对象的属性,这些操作只要用鼠标点击右键,如图对象操作所示中选择相应的功能进行操作。(1)拖动标签(Drag Object):许多类型的对象有一个或多个属性标签附着。可以很容易地移

27、动这些标签使电路图看起来更美观。移动标签的步骤如下:首先点击右键选中对象,然后用鼠标指向标签,按下鼠标左键。一直按着左键就可以拖动标签到你需要的位置,释放鼠标即可。实践训练2对象操作实践训练2(2)对象的旋转(Rotate Clockwise、Rotate Anti-Clockwise、Rotate 180 degrees、X-Mirror、Y-Mirror):许多类型的对象可以调整旋转为0。、90。、270。、360。或通过x轴y轴镜象旋转。当该类型对象被选中后,“旋转工具按钮”图标会从蓝色变为红色,然后就可以改变对象的放置方向。旋转的具体方法是:首先点击右键选中对象,然后根据你的要求用鼠标

28、左键点击旋转工具的4个按钮,如图旋转工具所示。旋转工具 选择实践训练2(3)编辑对象的属性(Edit Properties):对象一般都具有文本属性,这些属性可以通过一个对话框进行编辑。编辑单个对象的具体方法是:先用鼠标右键点击选中对象,然后用鼠标左键点击对象,此时出现属性编辑对话框。也可以点击工具箱的按钮,再点击对象,也会出现编辑对话框,对象属性对话框如图所示。实践训练2实践训练2Component Reference:元件的流水号,在Proteus工具软件中,在放置相同的元件时,元件流水号自动加1。Component Value:元件的值的大小,对于集成电路则是其元件型号。PCB Pack

29、age:元件在PCB的封装形式。Program File:这个属性只对CPU而言,其他元件属性没有这项栏目,点击文件夹后,添加单片机程序可执行文件*.hex,这个文件在这儿选择在任务2中应用Keil Vision 4编写并生产的跑马灯.hex文件。实践训练2绘制电路原理图绘制电路原理图1.画导线Proteus的智能化可以在你想要画线的时候进行自动检测。当鼠标的指针靠近一个对象的连接点时,跟着鼠标的指针就会出现一个红色小方框,鼠标左键点击元器件的连接点,移动鼠标出现了粉红色的连接线变成了深绿色。如果你想让软件自动定出线路径,只需左击另一个连接点即可。这就是Proteus的线路自动路径功能(简称W

30、AR),如果你只是在两个连接点用鼠标左击,WAR将选择一个合适的线径。实践训练2 画导线图跑马灯原理图实践训练22.画总线 为了简化原理图,我们可以用一条导线代表数条并行的导线,这就是所谓的总线。点击工具箱的总线按钮,使之处于选中状态,即可在编辑窗口画总线。将鼠标置于图形编辑窗口,单击鼠标左键,确定总线的起始位置;移动鼠标,找到总线的终了位置,单击鼠标左键,再单击鼠标右键,以表示确认并结束画总线操作。如图总线画法所示。实践训练23.画总线分支线点击工具的按钮,画总线分支线,它是用来连接总线和元器件管脚的。画总线的时候为了和一般的导线区分,我们一般采用画斜线来表示分支线,但是这时如果WAR功能如

31、果是自动连线模式是不行的,需要把WAR功能关闭,在主菜单Tools下鼠标左键点击WAR,画线恢复自由模式。画好分支线我们还需要给分支线起个名字。右键点击分支线选中它,接着左键点击选中的分支线就会出现分支线编辑对话框,如左图放置线标所示,选中Place Wire Lable或者选中左侧工具栏 按钮,出现Edit Wire Lable对话框,如右图编辑线标所示。实践训练2放置线标编辑线标实践训练2在总线与支线的绘图中,连接在一起的同端它们的Wire Lable是一样的,在图总线支线画法中,成对出现的Wire Lable它们都是同端。放置网络标号放置支线实践训练2特别提示特别提示放置元件时要注意所放

32、置的元件应放到蓝色方框内,如果不小心放到外面,由于在外面鼠标用不了,要用到菜单“Edit”的“Tidy”清除,方法很简单只需单击“Tidy”即可。实践训练2注入和调试程序右键点击CPU,程序注入如图左边所示,点击Progam File的文件夹,出现如图右所示,选择跑马灯.hex文件,点击打开,此时将跑马灯程序注入到了单片机的CPU中了。注入程序实践训练2点击程序执行按钮 ,跑马灯跑起来了,程序运行前后的状态如图左所示为程序运行前的状态,如图右所示为程序运行后的状态。实践训练2 在图中可以看到当点击程序运行按钮时,发光二极管的左侧为红色小方块,电阻R1右侧为兰色的小方块,此时灯已处于点亮状态,调

33、整R1的值可以调整发光二极管的亮度。在运行中红色小方块代表高电平,兰色小方块代表低电平,灰色代表不确定电平(floating)。实践训练2ProteusProteus与与KeilKeil的联合进行的联合进行C C语言调试语言调试 相关知识Proteus除了可以直接进行汇编语言源代码调试之外,还可以与Keil等第三方集成开发环境无缝连接,利用Keil环境进行C语言程序源代码跟踪调试。为此要在计算机上分别安装Keil和Proteus软件,另外还需要从Labcenter公司网站下载一个名为vdmagdi.exe的文件并安装,该文件安装后会在KeilC51BIN目录下生成一个VDM51.DLL文件,同

34、时在Keil目录下的Tools.ini文件中增加一个目标驱动项:TDRV8=BINVDM51.DLL(Proteus VSM Simulator),这样就可以将Proteus与Keil联合进行C语言程序源代码跟踪调试了。先启动Proteus并选中Debug下拉菜单中的“Use Remote Debug Monitor”选项,再打开Keil工程项目,单击Project菜单中的“Option for target”选项,在DEBUG 选项卡右栏上部的下拉菜单选中“Use Proteus VSM Simulator”,如下图所示。这时启动Keil工程项目,将自动与Proteus进行连接,并且可以在K

35、eil环境中采用单步、断点等调试手段,同时在Proteus环境下看到程序调试运行的结果。实践训练2采用Keil还可以进行两台机器连调,一台机器运行Proteus,另一台机器运行Keil,并单击图4右上角的“setings”按钮,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一 台的IP 地址,端口号一定为8000。实践训练2 采用Keil与Proteus进行连调,非常类似于硬件仿真,在Proteus中专心致力于硬件系统设计,在Keil中用C语言编程,在系统硬件设计的同时进行系统软件设计,并且在真实硬件系统还没有做出来之前,就可以进行软件系统的虚拟仿真调试,由于从Proteus环

36、境下可以直观地看到软件程序的运行结果,保证了软件程序设计的可靠性,从而极大地提高了单片机应用系统的设计效率。如图采用Keil与Proteus进行连调的万年历运行效果图。实践训练2Proteus下的51单片机C源码调试1.Proteus下的51单片机C源码调试Proteus除了可以直接进行汇编语言源码调试之外,若源码使用高级语言,可以借用Proteus之外的第三方代码生成工具(汇编器编译器),Proteus装载器支持的51系列单片机调试文件格式主要有0MF51(Keil编译器生成)、UBROF(IAR编译器生成)若要用Proteus VSM 的源码调试功能,就需要汇编器编译器提供DDX或输出Pr

37、oteus支持的调试格式文件(带调试信息的目标代码),装载器从这些调试文件中提取调试信息以实现源码调试在使用以上格式时,首先在编译器中设置相应的输出格式,然后将生成的带调试信息的代码文件作为单片机窗口的“程序文件”,启动仿真,则可进行源码调试实践训练22.在Keil中生成OMF51格式文件在Keil中打开相应的工程项目,左击选中“Targetl”,然后右击,在打开的快捷菜单中选择“Options for TargetTargetl”,在新打开的对话框中选择“Output”选项卡,将Name of Executable中的文件扩展名设置成OMF格式,勾选Create Executable下的De

38、bug Informatio和Browse Inforrnati选项,确定退出后对整个工程进行编译就可以得到OMF51格式文件。如下图所示,设置输出ofm51格式文件所示。实践训练2 设置输出ofm51格式文件图实践训练23.OMF51UBROF格式文件的使用在Proteus软件中打开单片机仿真文件,将程序文件设置成OMF51或UBROF文件,然后就可以在Proteus环境中调试系统,当需要调出C源代码窗口时,先单击仿真工具中的暂停按钮,然后单击“Debug”菜单,将8051 CPU Source CodeU1选中,即可见到C源程序调试窗口。实践训练24.源码调试单击仿真工具中的暂停按钮,调出

39、源码调试窗口,窗口右上角提供多个调试按钮,其意义如下:全速运行(Run):启动程序全速运行。单步运行(Step Over):执行子程序调用指令时,将整个子程序一次执行完。跟踪运行(Step Into):遇到子程序调用指令时,跟踪进入子程序内部运行。跳出运行(Step Out):将整个子程序运行完成,并返回到主程序。运行到光标处(Run To):从当前指令运行到光标所在位置。设置断点(Toggle Breakpoint):在光标所在位置设置一个断点。实践训练2跑马灯在Proteus下的51单片机C源码调试效果图如下图所示。实践训练2 用Proteus自带汇编器或第三方汇编编译器对源码汇编编译生成

40、的调试格式文件进行源码调试,与VC+等系统相似,提供全速、跳过函数、进入函数、跳出函数、执行到光标处、设置取消断点、单步等方式,可方便、灵活、高效地进行源代码跟踪调试,实现Proteus与单片机实时动态仿真。总结3任务小结Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。独特的单片机协同仿真功能(VSM),将电路仿真和微处理器仿真协同进行,直接在基于原理图的虚拟原型上与Keil 联调实现处理器的软硬件调试,并进行功能效果验证。它最大的优势是可以提

41、高开发效率,降低开发成本,提升开发速度,通过对仿真结果进行分析,可验证整个控制系统的程序与外围电路的正确性,提高了调试效率,可以在没有单片机实际硬件的条件下,利用PC机以虚拟仿真方式实现单片机系统的软、硬件同步仿真调试,使单片机应用系统设计变得简单容易,大大节约单片机教学实践活动中的经费,减少了浪费,缩短了单片机开发的周期,节约了课时,增强了学生对单片机开发的体验活动,虚拟仿真界面良好的人机互动激发了学生学习单片机的兴趣,对单片机课程教学的有效性提供了保障。总结3课后习题跑马灯原理图如下图所示,采用Proteus 7 Professional/ISIS 7 Professional软件正确绘制

42、原理图。其中跑马灯原理图中各元器件参数见下表。总结3元器件序号元器名(值)单片机U1AT89C52晶振CRYSTAL(12MHZ)振荡电容C1C2CAP(15P30P)复位按钮BUTTON上电复位电解电容C3GENELECT2216V电阻R1R8R9RES(二极管限流电阻510,复位电阻1k)发光二极管D1D8LED-RED跑马灯原理图中各元器件参数在上图跑马灯原理图将本篇中任务2中生成的“跑马灯.hex”加载到CPU(U1),点击运行,观察八个二极管的变化情况。谢谢!单片机入门单片机C语言课程内容理论理论实践任务4 学习单片机c语言理论认知1【知技目标】(1)了解单片机c语言在单片机开发的作

43、用;(2)了解基础单片机c语言的架构;【能力目标】(1)熟悉变量名称以及用法 (2)了解单片机c语言基础架构,循环架构等总体目标理论认知1 同人类语言一样,C语言也要遵循一定的语法规则并采用一定的词汇,我们可以先看一段C语言是如何描述的。理论认知1 C语言的表达理论认知1指定头文件1头文件的作用一般,我们人类在描述一个事情的时候是需要一定的语境的,不同的语境下,语言表达的含义是不一样的。同样的道理,头文件也可以指定语言使用的语句特定意义。“头文件”是一种将预先定义好的基本数据或函数等。在51单片机中头文件reg51.h或者reg52.h是定义内部寄存器地址的数据。我们自己也可以定义函数,然后加

44、入头文件。理论认知1从reg51.h文件中可以看到,这里将单片机常用的资源全部用我们熟悉的字符进行了表示,这样我们可以不用像汇编语言那样关注硬件底层,而只需要关心我们的控制任务。如在主函数中,我们写出P0=0 x0f,等语句,只要程序中添加了#include,那么编译器就会自动认出P0这一字符是表示硬件中0 x80这一地址单元的缓存,就会将数据0 x0f送入0 x80这一地址中。理论认知12C51常用的头文件常用的有reg51.h、reg52.h、intrinsic.h、math.h等,只要用到相应的函数和资源时,就必须在程序开头添加相应的头文件,具体什么情况下添加什么头文件将根据具体的情况在

45、相应的程序中进行解释。理论认知1reg51.h、reg52.h的头文件的不同在于,52单片机比51单片机多一个定时器T2。在程序中添加头文件时有两种书写方法,分别为#include和#include“reg51.h”,使用包含头文件时,编译码进入C:KeilC51INC这个文件夹(默认路径,如果Keil不是安装在C盘,路径略有不同)查找,找不到就报错。使用“”包含头文件时,编译器先进入到当前工程所在文件夹搜索,若找不到,就报错。理论认知1声明区在指定头文件之后,可声明程序中所用的常数、变量、函数等,其作用域将扩展整个程序,包括主程序与所有函数。函数可以放置在程序之前或之后,但是函数使用之前必须

46、预先声明,一般函数放置在程序之前的情况下,函数的声明和定义一并完成,函数放置在程序之后,则在程序之前必须对函数进行声明,在程序之后进行定义,从程序的简练方面来看,将函数放置在程序前比较好,这时对函数的声明和定义同时完成,在程序中调用到这些函数感觉也就很自然,程序的可读性也比较好。理论认知1主程序主程序或者称为主函数,是以main()为开头,整个内容放置在一堆大括号内,如图所示,主程序中分为声明区和程序区,在声明区内所声明的常数、变量等仅适用于主程序之中,而不影响其他函数,当然主程序也可以在声明区中定义变量,两者所不同的是前者是局部变量,只在某个区域有效,后者是全局变量,全范围内都可以用。把变量

47、定义成局部变量比全局变量更有效率,编译器为局部变量在内部存储区中分配存储空间,而为全局变量在外部存储区中分配存储空间,这会降低你的访问速度,另一个避免使用全局变量的原因是你必须在你系统的处理过程中调节使用全局变量,因为在中断系统和多任务系统中不止一个过程会使用全局变量。理论认知1函数定义返回值 数据类型 函数名称(数据类型形式参数)例如,要将一个无符号字符实参(unsigned char)传递给函数,函数执行完毕要返回一个整型(int),此时函数名称定义为My_func,则其函数对照上述通用格式写法如下:int My_func(unsigned char x)若不用传入函数,则可在小括号内指定

48、为void。同样若不需要返回值,则可在函数名称左边指定为void或根本不指定。另外,函数的内部结构形式同主程序一样。在一个C语言的程序里可以使用多个函数,并且函数中也可以调用函数。理论认知1注释 “注释”其实就是对程序进行相应的说明,养成对程序进行注释的好习惯将便于程序的可读性。C语言的注释一般有两种,一种是以“/*”开始,以“*/”结束,作为独立的一行对某个函数功能进行描述,另一种则是放置在语句完成之后,以“/”开始,对当前语句功能的一种说明。理论认知1变量、常数与数据类型 C语言中,常数与变量都是为某个数据指定存储器空间,其中常数是固定不变的,而变量是可变的。声明常数或变量的格式如下:数据

49、类型 常数/变量名称=默认值;在上述格式中,“=默认值”为非必要项目,而最后的分号是结束符号,不能省去。例如:int x=40;则是声明了一个整型类的x变量,其默认值为40。例如:int x;则是声明了一个整型类的x变量。也可以对几个相同数据类型的变量一起进行声明,各变量之间用逗号分开。例如:int x,y,z;则是声明了三个整型类变量x、y、z。理论认知1控制要求数据的位数是不尽相同的,比如控制电动机或者电磁阀只需要位数据,进行数据通信的时候数据往往又需要8位数据,进行模拟量控制时,数据可以是10位,12位或者16位的。这时,我们需要根据控制要求定义数据变量。当然,我们定义数据变量时,是受到

50、单片机RAM以及ROM的大小限制的。目前,单片机的RAM和ROM越来越大,因此我们在定义变量时,可以考虑自己的使用习惯同时要方便其他人阅读,在不影响运行效率的前提下一般不考虑位数资源的浪费。理论认知1数据类型1通用数据类型 通用数据类型见表。型态名称位数范围char字符 8-128+127unsigned char无符号字符 80255enum枚举 8/16-128+127/-32768+32767short短整型 16-32768+32767unsigned short无符号整型 16065535int整型 16-32768+32767unsigned int无符号整型 16065535lo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(C51单片机技术应用与实践课件完整x.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|